Enabling WSDL support. b=196102, r=leaf@netscape.com, sr=heikki@netscape.com ( build changes ), sr=jst@netscape.com ( wsdl changes ), a=drivers@mozilla.org

This commit is contained in:
harishd%netscape.com 2003-03-21 00:29:35 +00:00
parent 810930b853
commit 9ec92e494b
14 changed files with 35 additions and 110 deletions

View File

@ -1161,6 +1161,9 @@ for extension in $MOZ_EXTENSIONS; do
extensions/xmlextras/base/public/Makefile
extensions/xmlextras/build/Makefile
extensions/xmlextras/build/src/Makefile
extensions/xmlextras/interfaceinfo/Makefile
extensions/xmlextras/interfaceinfo/public/Makefile
extensions/xmlextras/interfaceinfo/src/Makefile
extensions/xmlextras/proxy/Makefile
extensions/xmlextras/proxy/public/Makefile
extensions/xmlextras/proxy/src/Makefile
@ -1189,11 +1192,6 @@ for extension in $MOZ_EXTENSIONS; do
extensions/xmlterm/tests/Makefile
extensions/xmlterm/ui/Makefile
" ;;
interfaceinfo ) MAKEFILES_extensions="$MAKEFILES_extensions
extensions/interfaceinfo/Makefile
extensions/interfaceinfo/public/Makefile
extensions/interfaceinfo/src/Makefile
" ;;
sql ) MAKEFILES_extensions="$MAKEFILES_extensions
$MAKEFILES_sql"
;;
@ -1369,7 +1367,7 @@ MAKEFILES_htmlparser="js/src/fdlibm/Makefile js/src/Makefile modules/libreg/Make
MAKEFILES_i18n="js/src/fdlibm/Makefile js/src/Makefile modules/libreg/Makefile string/Makefile xpcom/Makefile expat/Makefile intl/Makefile embedding/components/windowwatcher/Makefile intl/lwbrk/Makefile sun-java/stubs/Makefile js/jsd/classes/Makefile js/src/liveconnect/Makefile modules/zlib/Makefile modules/libjar/Makefile modules/libimg/png/Makefile jpeg/Makefile netwerk/cache/Makefile modules/libpr0n/public/Makefile modules/libpr0n/src/Makefile webshell/Makefile embedding/components/ui/helperAppDlg/Makefile rdf/util/Makefile rdf/Makefile gfx/src/xlibrgb/Makefile widget/src/gtkxtbin/Makefile modules/plugin/Makefile uriloader/exthandler/Makefile view/Makefile editor/composer/Makefile editor/txtsvc/Makefile content/xul/content/Makefile content/xul/templates/Makefile profile/pref-migrator/Makefile profile/Makefile embedding/components/jsconsole/Makefile embedding/components/commandhandler/Makefile xpfe/components/find/Makefile embedding/components/find/Makefile embedding/components/appstartup/Makefile embedding/components/windowwatcher/Makefile embedding/components/printingui/Makefile embedding/components/build/Makefile embedding/base/Makefile xpfe/appshell/Makefile rdf/chrome/Makefile content/xul/document/Makefile editor/txmgr/Makefile editor/Makefile intl/chardet/Makefile modules/libutil/Makefile content/Makefile embedding/components/webbrowserpersist/Makefile embedding/browser/webBrowser/Makefile embedding/browser/build/Makefile modules/oji/Makefile accessible/Makefile layout/Makefile xpfe/components/shistory/Makefile xpfe/browser/Makefile embedding/components/ui/progressDlg/Makefile xpfe/components/download-manager/Makefile db/mork/Makefile db/mdb/Makefile directory/xpcom/base/Makefile xpfe/components/Makefile docshell/Makefile uriloader/Makefile xpfe/components/xremote/Makefile widget/Makefile gfx/Makefile intl/locale/Makefile intl/uconv/Makefile intl/unicharutil/Makefile htmlparser/Makefile xpfe/components/sidebar/Makefile dom/Makefile caps/Makefile js/src/xpconnect/Makefile modules/libpref/Makefile netwerk/mime/Makefile netwerk/protocol/ftp/Makefile netwerk/protocol/gopher/Makefile netwerk/protocol/viewsource/Makefile netwerk/build2/Makefile netwerk/base/Makefile netwerk/protocol/about/Makefile netwerk/protocol/data/Makefile netwerk/protocol/file/Makefile netwerk/protocol/http/Makefile netwerk/protocol/jar/Makefile netwerk/protocol/keyword/Makefile netwerk/protocol/res/Makefile netwerk/dns/Makefile netwerk/socket/Makefile netwerk/streamconv/Makefile netwerk/cookie/Makefile netwerk/build/Makefile"
MAKEFILES_iiextras="modules/libreg/Makefile string/Makefile xpcom/Makefile extensions/interfaceinfo/Makefile"
MAKEFILES_iiextras="modules/libreg/Makefile string/Makefile xpcom/Makefile"
MAKEFILES_imgbmp="js/src/fdlibm/Makefile js/src/Makefile modules/libreg/Makefile string/Makefile xpcom/Makefile expat/Makefile intl/Makefile netwerk/cache/Makefile intl/lwbrk/Makefile sun-java/stubs/Makefile js/jsd/classes/Makefile js/src/liveconnect/Makefile modules/zlib/Makefile modules/libjar/Makefile xpfe/components/shistory/Makefile embedding/components/windowwatcher/Makefile webshell/Makefile embedding/components/ui/helperAppDlg/Makefile rdf/util/Makefile modules/libimg/png/Makefile jpeg/Makefile modules/libpr0n/public/Makefile modules/libpr0n/src/Makefile view/Makefile editor/composer/Makefile editor/txtsvc/Makefile embedding/components/webbrowserpersist/Makefile embedding/browser/webBrowser/Makefile embedding/browser/build/Makefile content/xul/content/Makefile content/xul/templates/Makefile profile/pref-migrator/Makefile profile/Makefile embedding/components/jsconsole/Makefile embedding/components/commandhandler/Makefile xpfe/components/find/Makefile embedding/components/find/Makefile embedding/components/appstartup/Makefile embedding/components/windowwatcher/Makefile embedding/components/printingui/Makefile embedding/components/build/Makefile embedding/base/Makefile xpfe/appshell/Makefile rdf/chrome/Makefile content/xul/document/Makefile editor/txmgr/Makefile editor/Makefile modules/libutil/Makefile content/Makefile rdf/Makefile gfx/src/xlibrgb/Makefile widget/src/gtkxtbin/Makefile modules/plugin/Makefile uriloader/exthandler/Makefile uriloader/Makefile xpfe/browser/Makefile embedding/components/ui/progressDlg/Makefile xpfe/components/download-manager/Makefile db/mork/Makefile db/mdb/Makefile directory/xpcom/base/Makefile xpfe/components/Makefile docshell/Makefile modules/oji/Makefile accessible/Makefile layout/Makefile htmlparser/Makefile intl/chardet/Makefile intl/uconv/Makefile intl/unicharutil/Makefile intl/locale/Makefile xpfe/components/xremote/Makefile widget/Makefile caps/Makefile js/src/xpconnect/Makefile modules/libpref/Makefile netwerk/mime/Makefile netwerk/protocol/ftp/Makefile netwerk/protocol/gopher/Makefile netwerk/protocol/viewsource/Makefile netwerk/build2/Makefile netwerk/base/Makefile netwerk/protocol/about/Makefile netwerk/protocol/data/Makefile netwerk/protocol/file/Makefile netwerk/protocol/http/Makefile netwerk/protocol/jar/Makefile netwerk/protocol/keyword/Makefile netwerk/protocol/res/Makefile netwerk/dns/Makefile netwerk/socket/Makefile netwerk/streamconv/Makefile netwerk/cookie/Makefile netwerk/build/Makefile xpfe/components/sidebar/Makefile dom/Makefile gfx/Makefile modules/libpr0n/decoders/bmp/Makefile"

View File

@ -3480,7 +3480,7 @@ dnl ========================================================
MOZ_EXTENSIONS_DEFAULT=" cookie wallet content-packs xml-rpc xmlextras help pref transformiix venkman inspector irc universalchardet typeaheadfind"
MOZ_EXTENSIONS_ALL="$MOZ_EXTENSIONS_DEFAULT xmlterm access-builtin p3p interfaceinfo datetime finger cview"
MOZ_EXTENSIONS_ALL="$MOZ_EXTENSIONS_DEFAULT xmlterm access-builtin p3p datetime finger cview"
MOZ_ARG_ENABLE_STRING(extensions,
[ --enable-extensions Enable extensions],

View File

@ -19,7 +19,7 @@
# Contributor(s):
#
DEPTH = ../..
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@

View File

@ -1,24 +1,10 @@
<html>
<body>
mozilla/extensions/interfaceinfo is an optional extension that implements:
mozilla/extensions/xmlextras/interfaceinfo implements:
<ul>
<li>generic scriptable wrappers for interface infos
<li>dynamically populatable interface info set support
<li>a JS component that decompiles interface infos to idl
</ul>
To build with gmake:<br>
ac_add_options --enable-extensions=default,interfaceinfo
<p>
To build with nmake:<br>
set MOZ_ENABLE_IIX=1
<p>
Note: the optional SOAP web service proxy (WSDl/Proxy) part of the xmlextras
extension requires this extension.
</body>
</html>
</html>

View File

@ -32,23 +32,15 @@
# file under either the NPL or the GPL.
#
DEPTH = ../../..
DEPTH = ../../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = iiextras
LIBRARY_NAME = iiextras
EXPORT_LIBRARY = 1
SHORT_LIBNAME = iiextras
IS_COMPONENT = 1
MODULE_NAME = iiextras
ifeq ($(OS_ARCH),WINNT)
LIBRARY_NAME = iiextras
SHORT_LIBNAME = iiextras
endif
MODULE = xmlextras
LIBRARY_NAME = xmlextrasinterfaceinfo_s
REQUIRES = xpcom \
string \
@ -60,13 +52,9 @@ CPPSRCS = \
iixmodule.cpp \
$(NULL)
include $(topsrcdir)/config/config.mk
EXTRA_DSO_LDOPTS += \
$(MOZ_COMPONENT_LIBS) \
$(NULL)
EXTRA_COMPONENTS = nsInterfaceInfoToIDL.js
FORCE_STATIC_LIB = 1
include $(topsrcdir)/config/rules.mk

View File

@ -82,6 +82,7 @@ nsIAtom* nsWSDLAtoms::sHeader_atom = nsnull;
nsIAtom* nsWSDLAtoms::sHeaderFault_atom = nsnull;
nsIAtom* nsWSDLAtoms::sAddress_atom = nsnull;
nsIAtom* nsWSDLAtoms::sSchema_atom = nsnull;
#define SET_AND_CHECK_ATOM(_atom, _val) \
PR_BEGIN_MACRO \
@ -252,7 +253,7 @@ nsWSDLLoader::doLoad(const nsAString& wsdlURI, const nsAString& portName,
}
nsCOMPtr<nsIDOMEventListener> listener;
nsWSDLLoadRequest* request = new nsWSDLLoadRequest(!aListener, nsnull,
nsWSDLLoadRequest* request = new nsWSDLLoadRequest(!aListener, aListener,
portName);
if (!request) {
return NS_ERROR_OUT_OF_MEMORY;
@ -264,7 +265,7 @@ nsWSDLLoader::doLoad(const nsAString& wsdlURI, const nsAString& portName,
rv = request->LoadDefinition(NS_ConvertUTF8toUCS2(spec));
if (NS_SUCCEEDED(rv) && aListener) {
if (NS_SUCCEEDED(rv) && !aListener) {
request->GetPort(_retval);
}

View File

@ -26,14 +26,7 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = base
DIRS += schema soap
ifdef MOZ_WSP
DIRS += wsdl proxy
endif
DIRS += build
DIRS = base schema soap interfaceinfo wsdl proxy build
ifdef ENABLE_TESTS
DIRS += tests

View File

@ -63,15 +63,10 @@ SHARED_LIBRARY_LIBS = \
SHARED_LIBRARY_LIBS += \
$(DIST)/lib/$(LIB_PREFIX)xmlextrasschema_s.$(LIB_SUFFIX) \
$(DIST)/lib/$(LIB_PREFIX)xmlextrassoap_s.$(LIB_SUFFIX) \
$(NULL)
ifdef MOZ_WSP
SHARED_LIBRARY_LIBS += \
$(DIST)/lib/$(LIB_PREFIX)xmlextrasinterfaceinfo_s.$(LIB_SUFFIX) \
$(DIST)/lib/$(LIB_PREFIX)xmlextraswsdl_s.$(LIB_SUFFIX) \
$(DIST)/lib/$(LIB_PREFIX)xmlextrasproxy_s.$(LIB_SUFFIX) \
$(NULL)
DEFINES += -DMOZ_WSP
endif
LOCAL_INCLUDES = \
-I$(srcdir)/../../base/src \
@ -80,13 +75,9 @@ LOCAL_INCLUDES = \
LOCAL_INCLUDES += \
-I$(srcdir)/../../soap/src \
-I$(srcdir)/../../schema/src \
$(NULL)
ifdef MOZ_WSP
LOCAL_INCLUDES += \
-I$(srcdir)/../../interfaceinfo/src \
-I$(srcdir)/../../wsdl/src \
-I$(srcdir)/../../proxy/src \
$(NULL)
endif
EXTRA_DSO_LDOPTS = \

View File

@ -64,11 +64,11 @@
#include "nsSOAPPropertyBag.h"
#include "nsSchemaLoader.h"
#include "nsSchemaPrivate.h"
#ifdef MOZ_WSP
#include "nsWSDLLoader.h"
#include "nsWSDLPrivate.h"
#include "wspprivate.h"
#endif // MOZ_WSP
////////////////////////////////////////////////////////////////////////
@ -160,7 +160,6 @@ NS_DECL_CLASSINFO(nsSchemaFacet)
NS_DECL_CLASSINFO(nsSOAPArray)
NS_DECL_CLASSINFO(nsSOAPArrayType)
#ifdef MOZ_WSP
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsWSDLLoader, Init)
NS_DECL_CLASSINFO(nsWSDLLoader)
NS_DECL_CLASSINFO(nsWSDLPort)
@ -179,7 +178,6 @@ NS_DECL_CLASSINFO(WSPException)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWSPInterfaceInfoService)
NS_GENERIC_FACTORY_CONSTRUCTOR(WSPFactory)
NS_DECL_CLASSINFO(WSPFactory)
#endif // MOZ_WSP
// {79998DE9-1E34-45e0-A587-F9CCC8DB00DD}
#define NS_WSP_INTERFACE_INFO_SERVICE_CID \
@ -350,7 +348,7 @@ RegisterXMLExtras(nsIComponentManager *aCompMgr,
NS_SCHEMALOADER_CONTRACTID,
PR_TRUE, PR_TRUE, getter_Copies(previous));
NS_ENSURE_SUCCESS(rv, rv);
#ifdef MOZ_WSP
rv = catman->AddCategoryEntry(JAVASCRIPT_GLOBAL_CONSTRUCTOR_CATEGORY,
"WSDLLoader",
NS_WSDLLOADER_CONTRACTID,
@ -361,7 +359,6 @@ RegisterXMLExtras(nsIComponentManager *aCompMgr,
NS_WEBSERVICEPROXYFACTORY_CONTRACTID,
PR_TRUE, PR_TRUE, getter_Copies(previous));
NS_ENSURE_SUCCESS(rv, rv);
#endif // MOZ_WSP
return rv;
}
@ -562,7 +559,6 @@ static const nsModuleComponentInfo components[] = {
{ "Builtin Schema Collection", NS_BUILTINSCHEMACOLLECTION_CID,
NS_BUILTINSCHEMACOLLECTION_CONTRACTID,
nsBuiltinSchemaCollectionConstructor },
#ifdef MOZ_WSP
{ "WSDLLoader", NS_WSDLLOADER_CID, NS_WSDLLOADER_CONTRACTID,
nsWSDLLoaderConstructor, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsWSDLLoader), nsnull,
@ -625,7 +621,6 @@ static const nsModuleComponentInfo components[] = {
NS_WEBSERVICEPROXYFACTORY_CONTRACTID, WSPFactoryConstructor, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(WSPFactory), nsnull,
&NS_CLASSINFO_NAME(WSPFactory), nsIClassInfo::DOM_OBJECT }
#endif // MOZ_WSP
};
void PR_CALLBACK
@ -636,9 +631,7 @@ XMLExtrasModuleDestructor(nsIModule* self)
NS_IF_RELEASE(NS_CLASSINFO_NAME(DOMParser));
nsSchemaAtoms::DestroySchemaAtoms();
#ifdef MOZ_WSP
nsWSDLAtoms::DestroyWSDLAtoms();
#endif // MOZ_WSP
}
NS_IMPL_NSGETMODULE_WITH_DTOR(nsXMLExtrasModule, components,

View File

@ -19,7 +19,7 @@
# Contributor(s):
#
DEPTH = ../..
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@

View File

@ -19,14 +19,14 @@
# Contributor(s):
#
DEPTH = ../../..
DEPTH = ../../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = iiextras
MODULE = xmlextras
XPIDLSRCS = \
nsIGenericInterfaceInfoSet.idl \

View File

@ -1,24 +1,10 @@
<html>
<body>
mozilla/extensions/interfaceinfo is an optional extension that implements:
mozilla/extensions/xmlextras/interfaceinfo implements:
<ul>
<li>generic scriptable wrappers for interface infos
<li>dynamically populatable interface info set support
<li>a JS component that decompiles interface infos to idl
</ul>
To build with gmake:<br>
ac_add_options --enable-extensions=default,interfaceinfo
<p>
To build with nmake:<br>
set MOZ_ENABLE_IIX=1
<p>
Note: the optional SOAP web service proxy (WSDl/Proxy) part of the xmlextras
extension requires this extension.
</body>
</html>
</html>

View File

@ -32,23 +32,15 @@
# file under either the NPL or the GPL.
#
DEPTH = ../../..
DEPTH = ../../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = iiextras
LIBRARY_NAME = iiextras
EXPORT_LIBRARY = 1
SHORT_LIBNAME = iiextras
IS_COMPONENT = 1
MODULE_NAME = iiextras
ifeq ($(OS_ARCH),WINNT)
LIBRARY_NAME = iiextras
SHORT_LIBNAME = iiextras
endif
MODULE = xmlextras
LIBRARY_NAME = xmlextrasinterfaceinfo_s
REQUIRES = xpcom \
string \
@ -60,13 +52,9 @@ CPPSRCS = \
iixmodule.cpp \
$(NULL)
include $(topsrcdir)/config/config.mk
EXTRA_DSO_LDOPTS += \
$(MOZ_COMPONENT_LIBS) \
$(NULL)
EXTRA_COMPONENTS = nsInterfaceInfoToIDL.js
FORCE_STATIC_LIB = 1
include $(topsrcdir)/config/rules.mk

View File

@ -82,6 +82,7 @@ nsIAtom* nsWSDLAtoms::sHeader_atom = nsnull;
nsIAtom* nsWSDLAtoms::sHeaderFault_atom = nsnull;
nsIAtom* nsWSDLAtoms::sAddress_atom = nsnull;
nsIAtom* nsWSDLAtoms::sSchema_atom = nsnull;
#define SET_AND_CHECK_ATOM(_atom, _val) \
PR_BEGIN_MACRO \
@ -252,7 +253,7 @@ nsWSDLLoader::doLoad(const nsAString& wsdlURI, const nsAString& portName,
}
nsCOMPtr<nsIDOMEventListener> listener;
nsWSDLLoadRequest* request = new nsWSDLLoadRequest(!aListener, nsnull,
nsWSDLLoadRequest* request = new nsWSDLLoadRequest(!aListener, aListener,
portName);
if (!request) {
return NS_ERROR_OUT_OF_MEMORY;
@ -264,7 +265,7 @@ nsWSDLLoader::doLoad(const nsAString& wsdlURI, const nsAString& portName,
rv = request->LoadDefinition(NS_ConvertUTF8toUCS2(spec));
if (NS_SUCCEEDED(rv) && aListener) {
if (NS_SUCCEEDED(rv) && !aListener) {
request->GetPort(_retval);
}