Gave more SOAP objects xpconnect behaviors.

This commit is contained in:
rayw%netscape.com 2001-11-30 23:32:53 +00:00
Родитель de451e7c0b
Коммит f1abc19a37
9 изменённых файлов: 38 добавлений и 8 удалений

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

@ -40,7 +40,7 @@ nsHTTPSOAPTransport::~nsHTTPSOAPTransport()
{
}
NS_IMPL_ISUPPORTS1_CI(nsHTTPSOAPTransport, nsISOAPTransport)
NS_IMPL_ISUPPORTS1(nsHTTPSOAPTransport, nsISOAPTransport)
/* void syncCall (in nsISOAPCall aCall, in nsISOAPResponse aResponse); */
NS_IMETHODIMP nsHTTPSOAPTransport::SyncCall(nsISOAPCall *aCall, nsISOAPResponse *aResponse)

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

@ -114,6 +114,14 @@ NS_IMETHODIMP nsSOAPCall::Invoke(nsISOAPResponse **_retval)
rv = transport->SyncCall(this, response);
if (NS_FAILED(rv)) return rv;
nsCOMPtr<nsIDOMDocument> document;
rv = response->GetMessage(getter_AddRefs(document)); // No XML response.
if (NS_FAILED(rv)) return rv;
if (!document) {
*_retval = nsnull;
return NS_OK;
}
return response->QueryInterface(NS_GET_IID(nsISOAPResponse), (void**)_retval);
}

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

@ -34,7 +34,7 @@ nsSOAPFault::~nsSOAPFault()
{
}
NS_IMPL_ISUPPORTS2(nsSOAPFault, nsISOAPFault, nsISecurityCheckedComponent)
NS_IMPL_ISUPPORTS2_CI(nsSOAPFault, nsISOAPFault, nsISecurityCheckedComponent)
/* attribute nsIDOMElement element; */
NS_IMETHODIMP nsSOAPFault::SetElement(nsIDOMElement *aElement)

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

@ -48,4 +48,9 @@ protected:
nsCOMPtr<nsIDOMElement> mFaultElement;
};
#define NS_SOAPFAULT_CID \
{ /* cb8cd1ae-1dd1-11b2-9954-e393ae604c08 */ \
0xcb8cd1ae, 0x1dd2, 0x11b2, \
{0x99, 0x54, 0xe3, 0x93, 0xae, 0x60, 0x4c, 0x08} }
#define NS_SOAPFAULT_CONTRACTID "@mozilla.org/xmlextras/soap/fault;1"
#endif

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

@ -56,6 +56,7 @@
#include "nsSOAPCall.h"
#include "nsSOAPResponse.h"
#include "nsSOAPEncoding.h"
#include "nsSOAPFault.h"
#include "nsDefaultSOAPEncoder.h"
#include "nsHTTPSOAPTransport.h"
#include "nsSchemaLoader.h"
@ -88,6 +89,7 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTTPSOAPTransport)
NS_DECL_CLASSINFO(nsSOAPCall)
NS_DECL_CLASSINFO(nsSOAPResponse)
NS_DECL_CLASSINFO(nsSOAPEncoding)
NS_DECL_CLASSINFO(nsSOAPFault)
NS_DECL_CLASSINFO(nsSOAPHeaderBlock)
NS_DECL_CLASSINFO(nsSOAPParameter)
NS_DECL_CLASSINFO(nsHTTPSOAPTransport)
@ -298,6 +300,11 @@ static nsModuleComponentInfo components[] = {
NS_CI_INTERFACE_GETTER_NAME(nsSOAPEncoding),
nsnull, &NS_CLASSINFO_NAME(nsSOAPEncoding),
nsIClassInfo::DOM_OBJECT },
{ "SOAP Fault", NS_SOAPFAULT_CID, NS_SOAPFAULT_CONTRACTID,
nsnull, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsSOAPFault),
nsnull, &NS_CLASSINFO_NAME(nsSOAPFault),
nsIClassInfo::DOM_OBJECT },
{ "SOAP Header Block", NS_SOAPHEADERBLOCK_CID, NS_SOAPHEADERBLOCK_CONTRACTID,
nsSOAPHeaderBlockConstructor, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsSOAPHeaderBlock),
@ -313,10 +320,7 @@ static nsModuleComponentInfo components[] = {
nsDefaultSOAPEncoderConstructor },
{ "HTTP SOAP Transport", NS_HTTPSOAPTRANSPORT_CID,
NS_HTTPSOAPTRANSPORT_CONTRACTID,
nsHTTPSOAPTransportConstructor, nsnull, nsnull, nsnull,
NS_CI_INTERFACE_GETTER_NAME(nsHTTPSOAPTransport),
nsnull, &NS_CLASSINFO_NAME(nsHTTPSOAPTransport),
nsIClassInfo::DOM_OBJECT },
nsHTTPSOAPTransportConstructor },
{ "HTTP SOAP Transport Completion", NS_HTTPSOAPTRANSPORTCOMPLETION_CID,
NS_HTTPSOAPTRANSPORTCOMPLETION_CONTRACTID,
nsnull, nsnull, nsnull, nsnull,

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

@ -40,7 +40,7 @@ nsHTTPSOAPTransport::~nsHTTPSOAPTransport()
{
}
NS_IMPL_ISUPPORTS1_CI(nsHTTPSOAPTransport, nsISOAPTransport)
NS_IMPL_ISUPPORTS1(nsHTTPSOAPTransport, nsISOAPTransport)
/* void syncCall (in nsISOAPCall aCall, in nsISOAPResponse aResponse); */
NS_IMETHODIMP nsHTTPSOAPTransport::SyncCall(nsISOAPCall *aCall, nsISOAPResponse *aResponse)

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

@ -114,6 +114,14 @@ NS_IMETHODIMP nsSOAPCall::Invoke(nsISOAPResponse **_retval)
rv = transport->SyncCall(this, response);
if (NS_FAILED(rv)) return rv;
nsCOMPtr<nsIDOMDocument> document;
rv = response->GetMessage(getter_AddRefs(document)); // No XML response.
if (NS_FAILED(rv)) return rv;
if (!document) {
*_retval = nsnull;
return NS_OK;
}
return response->QueryInterface(NS_GET_IID(nsISOAPResponse), (void**)_retval);
}

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

@ -34,7 +34,7 @@ nsSOAPFault::~nsSOAPFault()
{
}
NS_IMPL_ISUPPORTS2(nsSOAPFault, nsISOAPFault, nsISecurityCheckedComponent)
NS_IMPL_ISUPPORTS2_CI(nsSOAPFault, nsISOAPFault, nsISecurityCheckedComponent)
/* attribute nsIDOMElement element; */
NS_IMETHODIMP nsSOAPFault::SetElement(nsIDOMElement *aElement)

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

@ -48,4 +48,9 @@ protected:
nsCOMPtr<nsIDOMElement> mFaultElement;
};
#define NS_SOAPFAULT_CID \
{ /* cb8cd1ae-1dd1-11b2-9954-e393ae604c08 */ \
0xcb8cd1ae, 0x1dd2, 0x11b2, \
{0x99, 0x54, 0xe3, 0x93, 0xae, 0x60, 0x4c, 0x08} }
#define NS_SOAPFAULT_CONTRACTID "@mozilla.org/xmlextras/soap/fault;1"
#endif