Adding WSDL to XMLExtras if MOZ_WSDL is defined. Also added REQUIRES macros to schema and wsdl makefiles (thanks to jonsmirl@mediaone.net). This not yet part of the build. r=heikki, rs=jst.

This commit is contained in:
vidur%netscape.com 2001-10-03 21:03:02 +00:00
Родитель 46bae57c92
Коммит 92c582e3ff
17 изменённых файлов: 318 добавлений и 47 удалений

Просмотреть файл

@ -36,7 +36,8 @@ interface nsIWSDLLoader : nsISupports {
void loadAsync(in AString wsdlURI, in AString portName,
in nsIWSDLLoadListener listener);
nsISupports createPortProxy(in nsIWSDLPort service,
in AString nameSpace);
in AString nameSpace,
in boolean sync);
};
[scriptable, function, uuid(0458dac6-65de-11d5-9b42-00104bdf5339)]

Просмотреть файл

@ -28,13 +28,18 @@ include $(DEPTH)/config/autoconf.mk
MODULE = xmlextras
LIBRARY_NAME = xmlextrasschema_s
REQUIRES = xpcom \
string \
dom \
caps \
necko \
xpconnect \
$(NULL)
REQUIRES = xpcom \
string \
dom \
xpconnect \
caps \
layout \
widget \
content \
js \
necko \
$(NULL)
CPPSRCS = \
nsSchema.cpp \

Просмотреть файл

@ -28,13 +28,17 @@ include $(DEPTH)/config/autoconf.mk
MODULE = xmlextras
LIBRARY_NAME = xmlextraswsdl_s
REQUIRES = xpcom \
string \
dom \
caps \
necko \
xpconnect \
$(NULL)
REQUIRES = xpcom \
string \
dom \
xpconnect \
caps \
layout \
widget \
content \
js \
necko \
$(NULL)
CPPSRCS = \
nsWSDLLoader.cpp \

Просмотреть файл

@ -257,7 +257,8 @@ nsWSDLLoader::LoadAsync(const nsAReadableString& wsdlURI,
/* nsISupports createPortProxy(in nsIWSDLPort service, in AString nameSpace); */
NS_IMETHODIMP
nsWSDLLoader::CreatePortProxy(nsIWSDLPort *port,
const nsAReadableString& nameSpace,
const nsAReadableString& nameSpace,
PRBool sync,
nsISupports **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;

Просмотреть файл

@ -38,6 +38,14 @@
#include "nsVoidArray.h"
#include "nsSupportsArray.h"
#include "nsString.h"
#include "nsWeakReference.h"
// Typelib includes
#include "nsIInterfaceInfo.h"
#include "nsIInterfaceInfoManager.h"
#include "xpt_struct.h"
#include "xptcall.h"
#define NS_WSDL_SCHEMA_NAMESPACE "http://www.w3.org/2001/XMLSchema"
#define NS_WSDL_NAMESPACE "http://schemas.xmlsoap.org/wsdl/"
@ -184,6 +192,83 @@ protected:
nsCOMPtr<nsIWSDLBinding> mBinding;
};
#define NS_WSDLINTERFACEINFOID_ISUPPORTS 0
// The boundary number should be incremented as reserved
// ids are added.
#define NS_WSDLINTERFACEINFOID_RESERVED_BOUNDARY 1
class nsWSDLInterfaceSet : public nsIInterfaceInfoManager,
public nsSupportsWeakReference
{
public:
nsWSDLInterfaceSet();
virtual ~nsWSDLInterfaceSet();
NS_DECL_ISUPPORTS
NS_DECL_NSIINTERFACEINFOMANAGER
nsresult AppendInterface(nsIInterfaceInfo* aInfo, PRUint16* aIndex);
nsresult GetInterfaceAt(PRUint16 aIndex, nsIInterfaceInfo** aInfo);
PRUint16 Count();
XPTArena* GetArena() { return mArena; }
private:
nsSupportsArray mInterfaces;
XPTArena* mArena;
};
class nsWSDLInterfaceInfo : public nsIInterfaceInfo,
public nsSupportsWeakReference
{
public:
nsWSDLInterfaceInfo(nsAReadableCString& aName,
const nsIID& aIID,
nsWSDLInterfaceSet* aInterfaceSet);
virtual ~nsWSDLInterfaceInfo();
NS_DECL_ISUPPORTS
NS_DECL_NSIINTERFACEINFO
void AddMethod(XPTMethodDescriptor* aMethod);
void AddAdditionalType(XPTTypeDescriptor* aType);
private:
nsresult GetTypeInArray(const nsXPTParamInfo* param,
uint16 dimension,
const XPTTypeDescriptor** type);
private:
nsCString mName;
nsIID mIID;
nsVoidArray mMethodDescriptors;
nsVoidArray mAdditionalTypes;
nsWSDLInterfaceSet* mInterfaceSet;
};
#if 0
class nsWSDLServiceProxy : public nsXPTCStubBase,
public nsIWSDLServiceProxy,
public nsIClassInfo
{
public:
nsWSDLServiceProxy();
virtual ~nsWSDLServiceProxy();
NS_DECL_ISUPPORTS
NS_DECL_NSIWSDLSERVICEPROXY
NS_DECL_NSICLASSINFO
NS_IMETHOD GetInterfaceInfo(nsIInterfaceInfo** info);
NS_IMETHOD CallMethod(PRUint16 methodIndex,
const nsXPTMethodInfo* info,
nsXPTCMiniVariant* params);
private:
nsWSDLInterfaceSet* mInterfaceSet;
nsCOMPtr<nsIInterfaceInfo> mInterfaceInfo;
nsCOMPtr<nsIWSDLPort> mPort;
};
#endif
#define NS_WSDLPORT_CID \
{ /* c1dfb250-0c19-4339-8211-24eabc0103e5 */ \

Просмотреть файл

@ -32,8 +32,8 @@ ifdef MOZ_SOAP
DIRS += soap
endif
ifdef MOZ_SCHEMA
DIRS += schema
ifdef MOZ_WSDL
DIRS += schema wsdl
endif
DIRS += build

Просмотреть файл

@ -56,15 +56,16 @@ SHARED_LIBRARY_LIBS += $(DIST)/lib/libxmlextrassoap_s.$(LIB_SUFFIX)
DEFINES = -DMOZ_SOAP
endif
ifdef MOZ_SCHEMA
SHARED_LIBRARY_LIBS += $(DIST)/lib/libxmlextrasschema_s.$(LIB_SUFFIX)
DEFINES = -DMOZ_SCHEMA
ifdef MOZ_WSDL
SHARED_LIBRARY_LIBS += $(DIST)/lib/libxmlextrasschema_s.$(LIB_SUFFIX) $(DIST)/lib/libxmlextraswsdl_s.$(LIB_SUFFIX)
DEFINES = -DMOZ_SCHEMA -DMOZ_WSDL
endif
LOCAL_INCLUDES = \
-I$(srcdir)/../../base/src \
-I$(srcdir)/../../soap/src \
-I$(srcdir)/../../schema/src \
-I$(srcdir)/../../wsdl/src
$(NULL)
EXTRA_DSO_LDOPTS = \

Просмотреть файл

@ -37,7 +37,7 @@ MODULE_NAME=nsXMLExtrasModule
################################################################################
## library
LINCS=-I..\..\base\src -I..\..\soap\src -I..\..\schema\src
LINCS=-I..\..\base\src -I..\..\soap\src -I..\..\schema\src -I..\..\wsdl\src
CPP_OBJS= \
.\$(OBJDIR)\nsXMLExtrasModule.obj \
@ -48,8 +48,9 @@ SUB_LIBRARIES= \
!if defined(MOZ_SOAP)
$(DIST)\lib\xmlextrassoap_s.lib \
!endif
!if defined(MOZ_SCHEMA)
!if defined(MOZ_WSDL)
$(DIST)\lib\xmlextrasschema_s.lib \
$(DIST)\lib\xmlextraswsdl_s.lib \
!endif
$(NULL)
@ -62,8 +63,8 @@ LLIBS= \
!if defined(MOZ_SOAP)
DEFINES = -DMOZ_SOAP
!endif
!if defined(MOZ_SCHEMA)
DEFINES =$(DEFINES) -DMOZ_SCHEMA
!if defined(MOZ_WSDL)
DEFINES =$(DEFINES) -DMOZ_SCHEMA -DMOZ_WSDL
!endif
LCFLAGS = \

Просмотреть файл

@ -57,9 +57,11 @@
#include "nsHTTPSOAPTransport.h"
#endif
#ifdef MOZ_SCHEMA
#ifdef MOZ_WSDL
#include "nsSchemaLoader.h"
#include "nsSchemaPrivate.h"
#include "nsWSDLLoader.h"
#include "nsWSDLPrivate.h"
#endif
#include "nsString.h"
@ -82,7 +84,7 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsDefaultSOAPEncoder)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTTPSOAPTransport)
#endif
#ifdef MOZ_SCHEMA
#ifdef MOZ_WSDL
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSchemaLoader)
NS_DECL_CLASSINFO(nsSchemaLoader)
NS_DECL_CLASSINFO(nsSchema)
@ -103,6 +105,16 @@ NS_DECL_CLASSINFO(nsSchemaAttributeGroup)
NS_DECL_CLASSINFO(nsSchemaAttributeGroupRef)
NS_DECL_CLASSINFO(nsSchemaAnyAttribute)
NS_DECL_CLASSINFO(nsSchemaFacet)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWSDLLoader)
NS_DECL_CLASSINFO(nsWSDLLoader)
NS_DECL_CLASSINFO(nsWSDLPort)
NS_DECL_CLASSINFO(nsWSDLOperation)
NS_DECL_CLASSINFO(nsWSDLMessage)
NS_DECL_CLASSINFO(nsWSDLPart)
NS_DECL_CLASSINFO(nsSOAPPortBinding)
NS_DECL_CLASSINFO(nsSOAPOperationBinding)
NS_DECL_CLASSINFO(nsSOAPPartBinding)
#endif
class nsXMLExtrasNameset : public nsISupports
@ -216,12 +228,17 @@ RegisterXMLExtras(nsIComponentManager *aCompMgr,
NS_ENSURE_SUCCESS(rv, rv);
#endif
#ifdef MOZ_SCHEMA
#ifdef MOZ_WSDL
rv = catman->AddCategoryEntry(JAVASCRIPT_GLOBAL_CONSTRUCTOR_CATEGORY,
"SchemaLoader",
NS_SCHEMALOADER_CONTRACTID,
PR_TRUE, PR_TRUE, getter_Copies(previous));
NS_ENSURE_SUCCESS(rv, rv);
rv = catman->AddCategoryEntry(JAVASCRIPT_GLOBAL_CONSTRUCTOR_CATEGORY,
"WSDLLoader",
NS_WSDLLOADER_CONTRACTID,
PR_TRUE, PR_TRUE, getter_Copies(previous));
NS_ENSURE_SUCCESS(rv, rv);
#endif
return rv;
@ -251,7 +268,7 @@ static nsModuleComponentInfo components[] = {
{ "HTTP SOAP Transport", NS_HTTPSOAPTRANSPORT_CID,
NS_HTTPSOAPTRANSPORT_CONTRACTID, nsHTTPSOAPTransportConstructor },
#endif
#ifdef MOZ_SCHEMA
#ifdef MOZ_WSDL
{ "SchemaLoader", NS_SCHEMALOADER_CID, NS_SCHEMALOADER_CONTRACTID,
nsSchemaLoaderConstructor, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsSchemaLoader), nsnull,
@ -337,14 +354,47 @@ static nsModuleComponentInfo components[] = {
nsnull, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsSchemaFacet), nsnull,
&NS_CLASSINFO_NAME(nsSchemaFacet), nsIClassInfo::DOM_OBJECT },
{ "WSDLLoader", NS_WSDLLOADER_CID, NS_WSDLLOADER_CONTRACTID,
nsWSDLLoaderConstructor, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsWSDLLoader), nsnull,
&NS_CLASSINFO_NAME(nsWSDLLoader), nsIClassInfo::DOM_OBJECT },
{ "WSDLPort", NS_WSDLPORT_CID, NS_WSDLPORT_CONTRACTID,
nsnull, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsWSDLPort), nsnull,
&NS_CLASSINFO_NAME(nsWSDLPort), nsIClassInfo::DOM_OBJECT },
{ "WSDLOperation", NS_WSDLOPERATION_CID, NS_WSDLOPERATION_CONTRACTID,
nsnull, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsWSDLOperation), nsnull,
&NS_CLASSINFO_NAME(nsWSDLOperation), nsIClassInfo::DOM_OBJECT },
{ "WSDLMessage", NS_WSDLMESSAGE_CID, NS_WSDLMESSAGE_CONTRACTID,
nsnull, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsWSDLMessage), nsnull,
&NS_CLASSINFO_NAME(nsWSDLMessage), nsIClassInfo::DOM_OBJECT },
{ "WSDLPart", NS_WSDLPART_CID, NS_WSDLPART_CONTRACTID,
nsnull, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsWSDLPart), nsnull,
&NS_CLASSINFO_NAME(nsWSDLPart), nsIClassInfo::DOM_OBJECT },
{ "SOAPPortBinding", NS_SOAPPORTBINDING_CID, NS_SOAPPORTBINDING_CONTRACTID,
nsnull, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsSOAPPortBinding), nsnull,
&NS_CLASSINFO_NAME(nsSOAPPortBinding), nsIClassInfo::DOM_OBJECT },
{ "SOAPOperationBinding", NS_SOAPOPERATIONBINDING_CID,
NS_SOAPOPERATIONBINDING_CONTRACTID, nsnull, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsSOAPOperationBinding), nsnull,
&NS_CLASSINFO_NAME(nsSOAPOperationBinding), nsIClassInfo::DOM_OBJECT },
{ "SOAPPartBinding", NS_SOAPPARTBINDING_CID, NS_SOAPPARTBINDING_CONTRACTID,
nsnull, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsSOAPPartBinding), nsnull,
&NS_CLASSINFO_NAME(nsSOAPPartBinding), nsIClassInfo::DOM_OBJECT },
#endif
};
void PR_CALLBACK
XMLExtrasModuleDestructor(nsIModule* self)
{
#ifdef MOZ_SCHEMA
#ifdef MOZ_WSDL
nsSchemaAtoms::DestroySchemaAtoms();
nsWSDLAtoms::DestroyWSDLAtoms();
#endif
}

Просмотреть файл

@ -26,8 +26,9 @@ DIRS= \
!if defined(MOZ_SOAP)
soap \
!endif
!if defined(MOZ_SCHEMA)
!if defined(MOZ_WSDL)
schema \
wsdl \
!endif
build \
!if !defined(DISABLE_TESTS)

Просмотреть файл

@ -28,13 +28,18 @@ include $(DEPTH)/config/autoconf.mk
MODULE = xmlextras
LIBRARY_NAME = xmlextrasschema_s
REQUIRES = xpcom \
string \
dom \
caps \
necko \
xpconnect \
$(NULL)
REQUIRES = xpcom \
string \
dom \
xpconnect \
caps \
layout \
widget \
content \
js \
necko \
$(NULL)
CPPSRCS = \
nsSchema.cpp \

Просмотреть файл

@ -24,6 +24,18 @@ DEPTH=..\..\..\..
LIBRARY_NAME=xmlextrasschema_s
MODULE=xmlextras
REQUIRES = xpcom \
string \
dom \
xpconnect \
caps \
layout \
widget \
content \
js \
necko \
$(NULL)
DEFINES=-D_IMPL_NS_HTML -DWIN32_LEAN_AND_MEAN
CPPSRCS= \

Просмотреть файл

@ -36,7 +36,8 @@ interface nsIWSDLLoader : nsISupports {
void loadAsync(in AString wsdlURI, in AString portName,
in nsIWSDLLoadListener listener);
nsISupports createPortProxy(in nsIWSDLPort service,
in AString nameSpace);
in AString nameSpace,
in boolean sync);
};
[scriptable, function, uuid(0458dac6-65de-11d5-9b42-00104bdf5339)]

Просмотреть файл

@ -28,13 +28,17 @@ include $(DEPTH)/config/autoconf.mk
MODULE = xmlextras
LIBRARY_NAME = xmlextraswsdl_s
REQUIRES = xpcom \
string \
dom \
caps \
necko \
xpconnect \
$(NULL)
REQUIRES = xpcom \
string \
dom \
xpconnect \
caps \
layout \
widget \
content \
js \
necko \
$(NULL)
CPPSRCS = \
nsWSDLLoader.cpp \

Просмотреть файл

@ -26,14 +26,28 @@ MODULE=xmlextras
DEFINES=-D_IMPL_NS_HTML -DWIN32_LEAN_AND_MEAN
REQUIRES = xpcom \
string \
dom \
xpconnect \
caps \
layout \
widget \
content \
js \
necko \
$(NULL)
CPPSRCS= \
nsWSDLLoader.cpp \
nsWSDLDefinitions.cpp \
nsWSDLInterfaceInfo.cpp \
$(NULL)
CPP_OBJS= \
.\$(OBJDIR)\nsWSDLLoader.obj \
.\$(OBJDIR)\nsWSDLDefinitions.obj \
.\$(OBJDIR)\nsWSDLInterfaceInfo.obj \
$(NULL)
EXPORTS = \

Просмотреть файл

@ -257,7 +257,8 @@ nsWSDLLoader::LoadAsync(const nsAReadableString& wsdlURI,
/* nsISupports createPortProxy(in nsIWSDLPort service, in AString nameSpace); */
NS_IMETHODIMP
nsWSDLLoader::CreatePortProxy(nsIWSDLPort *port,
const nsAReadableString& nameSpace,
const nsAReadableString& nameSpace,
PRBool sync,
nsISupports **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;

Просмотреть файл

@ -38,6 +38,14 @@
#include "nsVoidArray.h"
#include "nsSupportsArray.h"
#include "nsString.h"
#include "nsWeakReference.h"
// Typelib includes
#include "nsIInterfaceInfo.h"
#include "nsIInterfaceInfoManager.h"
#include "xpt_struct.h"
#include "xptcall.h"
#define NS_WSDL_SCHEMA_NAMESPACE "http://www.w3.org/2001/XMLSchema"
#define NS_WSDL_NAMESPACE "http://schemas.xmlsoap.org/wsdl/"
@ -184,6 +192,83 @@ protected:
nsCOMPtr<nsIWSDLBinding> mBinding;
};
#define NS_WSDLINTERFACEINFOID_ISUPPORTS 0
// The boundary number should be incremented as reserved
// ids are added.
#define NS_WSDLINTERFACEINFOID_RESERVED_BOUNDARY 1
class nsWSDLInterfaceSet : public nsIInterfaceInfoManager,
public nsSupportsWeakReference
{
public:
nsWSDLInterfaceSet();
virtual ~nsWSDLInterfaceSet();
NS_DECL_ISUPPORTS
NS_DECL_NSIINTERFACEINFOMANAGER
nsresult AppendInterface(nsIInterfaceInfo* aInfo, PRUint16* aIndex);
nsresult GetInterfaceAt(PRUint16 aIndex, nsIInterfaceInfo** aInfo);
PRUint16 Count();
XPTArena* GetArena() { return mArena; }
private:
nsSupportsArray mInterfaces;
XPTArena* mArena;
};
class nsWSDLInterfaceInfo : public nsIInterfaceInfo,
public nsSupportsWeakReference
{
public:
nsWSDLInterfaceInfo(nsAReadableCString& aName,
const nsIID& aIID,
nsWSDLInterfaceSet* aInterfaceSet);
virtual ~nsWSDLInterfaceInfo();
NS_DECL_ISUPPORTS
NS_DECL_NSIINTERFACEINFO
void AddMethod(XPTMethodDescriptor* aMethod);
void AddAdditionalType(XPTTypeDescriptor* aType);
private:
nsresult GetTypeInArray(const nsXPTParamInfo* param,
uint16 dimension,
const XPTTypeDescriptor** type);
private:
nsCString mName;
nsIID mIID;
nsVoidArray mMethodDescriptors;
nsVoidArray mAdditionalTypes;
nsWSDLInterfaceSet* mInterfaceSet;
};
#if 0
class nsWSDLServiceProxy : public nsXPTCStubBase,
public nsIWSDLServiceProxy,
public nsIClassInfo
{
public:
nsWSDLServiceProxy();
virtual ~nsWSDLServiceProxy();
NS_DECL_ISUPPORTS
NS_DECL_NSIWSDLSERVICEPROXY
NS_DECL_NSICLASSINFO
NS_IMETHOD GetInterfaceInfo(nsIInterfaceInfo** info);
NS_IMETHOD CallMethod(PRUint16 methodIndex,
const nsXPTMethodInfo* info,
nsXPTCMiniVariant* params);
private:
nsWSDLInterfaceSet* mInterfaceSet;
nsCOMPtr<nsIInterfaceInfo> mInterfaceInfo;
nsCOMPtr<nsIWSDLPort> mPort;
};
#endif
#define NS_WSDLPORT_CID \
{ /* c1dfb250-0c19-4339-8211-24eabc0103e5 */ \