/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM nsISOAPCall.idl
*/
#ifndef __gen_nsISOAPCall_h__
#define __gen_nsISOAPCall_h__
#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif
#ifndef __gen_nsISOAPMessage_h__
#include "nsISOAPMessage.h"
#endif
/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsISOAPResponse; /* forward declaration */
class nsISOAPResponseListener; /* forward declaration */
class nsISOAPCallCompletion; /* forward declaration */
/* starting interface: nsISOAPCall */
#define NS_ISOAPCALL_IID_STR "a8fefe40-52bc-11d4-9a57-000064657374"
#define NS_ISOAPCALL_IID \
{0xa8fefe40, 0x52bc, 0x11d4, \
{ 0x9a, 0x57, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 }}
/**
* This interface is a convenience extension of the basic SOAP message,
* which handles common patterns of calling, such as providing an
* action URI in the HTTP header, locating and invoking the appropriate
* transport based upon the protocol of the transportURI, and
* automatically recieving the result in a new nsISOAPResponse object
* which recieves an XML message.
*/
class NS_NO_VTABLE nsISOAPCall : public nsISOAPMessage {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISOAPCALL_IID)
/**
* The URI to which the message will be sent, identifying the
* transport and transport-specific information about the
* destination.
* This does not have to match the targetObjectURI.
*/
/* attribute AString transportURI; */
NS_IMETHOD GetTransportURI(nsAString & aTransportURI) = 0;
NS_IMETHOD SetTransportURI(const nsAString & aTransportURI) = 0;
/**
* Enables alternative security model which may be available
* from participating services. Securely adds a
* "verifySource" header to the outgoing message with
* "mustUnderstand" enabled, which permits the server to
* decide whether the call should be honored from that
* particular source. i
*
When this verification header is enabled, the * calling script is released from the draconion * security checks of unverified SOAP calls. But * the service being invoked must not reject the * message, which is the prescribed action if a SOAP * server receives a header of type "mustUnderstand" that * it does not understand. *
Servers which accept "verified" messages * containing this header relieve the user of having to * configure and trust the domain of the web page never * to exploit behind his firewall, because the * responsibility is assumed by the service. If the * service is not behind a firewall, then merely * ignoring the packet is enough to free all * users of this facility to call the server whatever * their security configurations for unverified calls * may be. But it only works with services that * accept these verifySource headers. *
It is possible for a user to disable even verified
* SOAP calls, but this is not the default setting.
*/
/* attribute boolean verifySourceHeader; */
NS_IMETHOD GetVerifySourceHeader(PRBool *aVerifySourceHeader) = 0;
NS_IMETHOD SetVerifySourceHeader(PRBool aVerifySourceHeader) = 0;
/**
* Synchronously invoke the call. The method returns only when
* we receive a response (or an error occurs). The
* transportURI must have been set, the
* parameter list (even if empty) must have been encoded,
* and the transportURI must use some known protocol. A
* synchronous call assumes that there will be exactly one
* response per call.
*
* If not, an error is returned in the status of the response.
*
* @returns The SOAP response
*/
/* nsISOAPResponse invoke (); */
NS_IMETHOD Invoke(nsISOAPResponse **_retval) = 0;
/**
* Asynchronously invoke the call. At this point, the document
* rooted by the Envelope element is encoded to form the body
* of the SOAP message. The method returns immediately, and the
* listener is invoked when we eventually receive a response
* (or error or successful completion). The
* transportURI must have been set, the
* parameter list (even if empty) must have been encoded,
* and the transportURI must use some known protocol.
*
* If not, an error is returned in the status of the response.
*
* @param aListener Handler to be invoked asynchronously after the
* response is recieved. Should be null if no response is
* expected.
*/
/* nsISOAPCallCompletion asyncInvoke (in nsISOAPResponseListener aListener); */
NS_IMETHOD AsyncInvoke(nsISOAPResponseListener *aListener, nsISOAPCallCompletion **_retval) = 0;
};
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISOAPCALL \
NS_IMETHOD GetTransportURI(nsAString & aTransportURI); \
NS_IMETHOD SetTransportURI(const nsAString & aTransportURI); \
NS_IMETHOD GetVerifySourceHeader(PRBool *aVerifySourceHeader); \
NS_IMETHOD SetVerifySourceHeader(PRBool aVerifySourceHeader); \
NS_IMETHOD Invoke(nsISOAPResponse **_retval); \
NS_IMETHOD AsyncInvoke(nsISOAPResponseListener *aListener, nsISOAPCallCompletion **_retval);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISOAPCALL(_to) \
NS_IMETHOD GetTransportURI(nsAString & aTransportURI) { return _to GetTransportURI(aTransportURI); } \
NS_IMETHOD SetTransportURI(const nsAString & aTransportURI) { return _to SetTransportURI(aTransportURI); } \
NS_IMETHOD GetVerifySourceHeader(PRBool *aVerifySourceHeader) { return _to GetVerifySourceHeader(aVerifySourceHeader); } \
NS_IMETHOD SetVerifySourceHeader(PRBool aVerifySourceHeader) { return _to SetVerifySourceHeader(aVerifySourceHeader); } \
NS_IMETHOD Invoke(nsISOAPResponse **_retval) { return _to Invoke(_retval); } \
NS_IMETHOD AsyncInvoke(nsISOAPResponseListener *aListener, nsISOAPCallCompletion **_retval) { return _to AsyncInvoke(aListener, _retval); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISOAPCALL(_to) \
NS_IMETHOD GetTransportURI(nsAString & aTransportURI) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTransportURI(aTransportURI); } \
NS_IMETHOD SetTransportURI(const nsAString & aTransportURI) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTransportURI(aTransportURI); } \
NS_IMETHOD GetVerifySourceHeader(PRBool *aVerifySourceHeader) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetVerifySourceHeader(aVerifySourceHeader); } \
NS_IMETHOD SetVerifySourceHeader(PRBool aVerifySourceHeader) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetVerifySourceHeader(aVerifySourceHeader); } \
NS_IMETHOD Invoke(nsISOAPResponse **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Invoke(_retval); } \
NS_IMETHOD AsyncInvoke(nsISOAPResponseListener *aListener, nsISOAPCallCompletion **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->AsyncInvoke(aListener, _retval); }
#if 0
/* Use the code below as a template for the implementation class for this interface. */
/* Header file */
class nsSOAPCall : public nsISOAPCall
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSISOAPCALL
nsSOAPCall();
virtual ~nsSOAPCall();
/* additional members */
};
/* Implementation file */
NS_IMPL_ISUPPORTS1(nsSOAPCall, nsISOAPCall)
nsSOAPCall::nsSOAPCall()
{
NS_INIT_ISUPPORTS();
/* member initializers and constructor code */
}
nsSOAPCall::~nsSOAPCall()
{
/* destructor code */
}
/* attribute AString transportURI; */
NS_IMETHODIMP nsSOAPCall::GetTransportURI(nsAString & aTransportURI)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSOAPCall::SetTransportURI(const nsAString & aTransportURI)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* attribute boolean verifySourceHeader; */
NS_IMETHODIMP nsSOAPCall::GetVerifySourceHeader(PRBool *aVerifySourceHeader)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSOAPCall::SetVerifySourceHeader(PRBool aVerifySourceHeader)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsISOAPResponse invoke (); */
NS_IMETHODIMP nsSOAPCall::Invoke(nsISOAPResponse **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsISOAPCallCompletion asyncInvoke (in nsISOAPResponseListener aListener); */
NS_IMETHODIMP nsSOAPCall::AsyncInvoke(nsISOAPResponseListener *aListener, nsISOAPCallCompletion **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* End of implementation class template. */
#endif
#define NS_SOAPCALL_CID \
{ /* 87d21ec0-539d-11d4-9a59-00104bdf5339 */ \
0x87d21ec0, 0x539d, 0x11d4, \
{0x9a, 0x59, 0x00, 0x10, 0x4b, 0xdf, 0x53, 0x39} }
#define NS_SOAPCALL_CONTRACTID \
"@mozilla.org/xmlextras/soap/call;1"
#endif /* __gen_nsISOAPCall_h__ */
.