blob: d7f583cf837f1e6929e8891fd5ae0a1fe642a575 [file] [log] [blame]
/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM e:/builds/tinderbox/XR-Trunk/WINNT_5.2_Depend/mozilla/netwerk/protocol/http/public/nsIHttpActivityObserver.idl
*/
#ifndef __gen_nsIHttpActivityObserver_h__
#define __gen_nsIHttpActivityObserver_h__
#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif
/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
/* starting interface: nsIHttpActivityObserver */
#define NS_IHTTPACTIVITYOBSERVER_IID_STR "412880c8-6c36-48d8-bf8f-84f91f892503"
#define NS_IHTTPACTIVITYOBSERVER_IID \
{0x412880c8, 0x6c36, 0x48d8, \
{ 0xbf, 0x8f, 0x84, 0xf9, 0x1f, 0x89, 0x25, 0x03 }}
/**
* nsIHttpActivityObserver
*
* This interface provides a way for http activities to be reported
* to observers.
*/
class NS_NO_VTABLE NS_SCRIPTABLE nsIHttpActivityObserver : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IHTTPACTIVITYOBSERVER_IID)
/**
* observe activity from the http transport
*
* @param aHttpChannel
* nsISupports interface for the the http channel that
* generated this activity
* @param aActivityType
* The value of this aActivityType will be one of
* ACTIVITY_TYPE_SOCKET_TRANSPORT or
* ACTIVITY_TYPE_HTTP_TRANSACTION
* @param aActivitySubtype
* The value of this aActivitySubtype, will be depend
* on the value of aActivityType. When aActivityType
* is ACTIVITY_TYPE_SOCKET_TRANSPORT
* aActivitySubtype will be one of the
* nsISocketTransport::STATUS_???? values defined in
* nsISocketTransport.idl
* OR when aActivityType
* is ACTIVITY_TYPE_HTTP_TRANSACTION
* aActivitySubtype will be one of the
* nsIHttpActivityObserver::ACTIVITY_SUBTYPE_???? values
* defined below
* @param aTimestamp
* microseconds past the epoch of Jan 1, 1970
* @param aExtraSizeData
* Any extra size data optionally available with
* this activity
* @param aExtraStringData
* Any extra string data optionally available with
* this activity
*/
/* void observeActivity (in nsISupports aHttpChannel, in PRUint32 aActivityType, in PRUint32 aActivitySubtype, in PRTime aTimestamp, in PRUint64 aExtraSizeData, in ACString aExtraStringData); */
NS_SCRIPTABLE NS_IMETHOD ObserveActivity(nsISupports *aHttpChannel, PRUint32 aActivityType, PRUint32 aActivitySubtype, PRTime aTimestamp, PRUint64 aExtraSizeData, const nsACString & aExtraStringData) = 0;
/**
* This attribute is true when this interface is active and should
* observe http activities. When false, observeActivity() should not
* be called.
*/
/* readonly attribute boolean isActive; */
NS_SCRIPTABLE NS_IMETHOD GetIsActive(PRBool *aIsActive) = 0;
enum { ACTIVITY_TYPE_SOCKET_TRANSPORT = 1U };
enum { ACTIVITY_TYPE_HTTP_TRANSACTION = 2U };
enum { ACTIVITY_SUBTYPE_REQUEST_HEADER = 20481U };
enum { ACTIVITY_SUBTYPE_REQUEST_BODY_SENT = 20482U };
enum { ACTIVITY_SUBTYPE_RESPONSE_START = 20483U };
enum { ACTIVITY_SUBTYPE_RESPONSE_HEADER = 20484U };
enum { ACTIVITY_SUBTYPE_RESPONSE_COMPLETE = 20485U };
enum { ACTIVITY_SUBTYPE_TRANSACTION_CLOSE = 20486U };
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIHttpActivityObserver, NS_IHTTPACTIVITYOBSERVER_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIHTTPACTIVITYOBSERVER \
NS_SCRIPTABLE NS_IMETHOD ObserveActivity(nsISupports *aHttpChannel, PRUint32 aActivityType, PRUint32 aActivitySubtype, PRTime aTimestamp, PRUint64 aExtraSizeData, const nsACString & aExtraStringData); \
NS_SCRIPTABLE NS_IMETHOD GetIsActive(PRBool *aIsActive); \
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIHTTPACTIVITYOBSERVER(_to) \
NS_SCRIPTABLE NS_IMETHOD ObserveActivity(nsISupports *aHttpChannel, PRUint32 aActivityType, PRUint32 aActivitySubtype, PRTime aTimestamp, PRUint64 aExtraSizeData, const nsACString & aExtraStringData) { return _to ObserveActivity(aHttpChannel, aActivityType, aActivitySubtype, aTimestamp, aExtraSizeData, aExtraStringData); } \
NS_SCRIPTABLE NS_IMETHOD GetIsActive(PRBool *aIsActive) { return _to GetIsActive(aIsActive); } \
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIHTTPACTIVITYOBSERVER(_to) \
NS_SCRIPTABLE NS_IMETHOD ObserveActivity(nsISupports *aHttpChannel, PRUint32 aActivityType, PRUint32 aActivitySubtype, PRTime aTimestamp, PRUint64 aExtraSizeData, const nsACString & aExtraStringData) { return !_to ? NS_ERROR_NULL_POINTER : _to->ObserveActivity(aHttpChannel, aActivityType, aActivitySubtype, aTimestamp, aExtraSizeData, aExtraStringData); } \
NS_SCRIPTABLE NS_IMETHOD GetIsActive(PRBool *aIsActive) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsActive(aIsActive); } \
#if 0
/* Use the code below as a template for the implementation class for this interface. */
/* Header file */
class nsHttpActivityObserver : public nsIHttpActivityObserver
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIHTTPACTIVITYOBSERVER
nsHttpActivityObserver();
private:
~nsHttpActivityObserver();
protected:
/* additional members */
};
/* Implementation file */
NS_IMPL_ISUPPORTS1(nsHttpActivityObserver, nsIHttpActivityObserver)
nsHttpActivityObserver::nsHttpActivityObserver()
{
/* member initializers and constructor code */
}
nsHttpActivityObserver::~nsHttpActivityObserver()
{
/* destructor code */
}
/* void observeActivity (in nsISupports aHttpChannel, in PRUint32 aActivityType, in PRUint32 aActivitySubtype, in PRTime aTimestamp, in PRUint64 aExtraSizeData, in ACString aExtraStringData); */
NS_IMETHODIMP nsHttpActivityObserver::ObserveActivity(nsISupports *aHttpChannel, PRUint32 aActivityType, PRUint32 aActivitySubtype, PRTime aTimestamp, PRUint64 aExtraSizeData, const nsACString & aExtraStringData)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* readonly attribute boolean isActive; */
NS_IMETHODIMP nsHttpActivityObserver::GetIsActive(PRBool *aIsActive)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* End of implementation class template. */
#endif
#define NS_HTTPACTIVITYOBSERVER_TOPIC \
"http-activity-observer"
#define NS_HTTPACTIVITYDISTRIBUTOR_CONTRACTID \
"@mozilla.org/netwerk/protocol/http/http-activity-distributor;1"
#define NS_HTTP_ACTIVITY_TYPE_SOCKET_TRANSPORT \
nsIHttpActivityObserver::ACTIVITY_TYPE_SOCKET_TRANSPORT
#define NS_HTTP_ACTIVITY_TYPE_HTTP_TRANSACTION \
nsIHttpActivityObserver::ACTIVITY_TYPE_HTTP_TRANSACTION
#define NS_HTTP_ACTIVITY_SUBTYPE_REQUEST_HEADER \
nsIHttpActivityObserver::ACTIVITY_SUBTYPE_REQUEST_HEADER
#define NS_HTTP_ACTIVITY_SUBTYPE_REQUEST_BODY_SENT \
nsIHttpActivityObserver::ACTIVITY_SUBTYPE_REQUEST_BODY_SENT
#define NS_HTTP_ACTIVITY_SUBTYPE_RESPONSE_START \
nsIHttpActivityObserver::ACTIVITY_SUBTYPE_RESPONSE_START
#define NS_HTTP_ACTIVITY_SUBTYPE_RESPONSE_HEADER \
nsIHttpActivityObserver::ACTIVITY_SUBTYPE_RESPONSE_HEADER
#define NS_HTTP_ACTIVITY_SUBTYPE_RESPONSE_COMPLETE \
nsIHttpActivityObserver::ACTIVITY_SUBTYPE_RESPONSE_COMPLETE
#define NS_HTTP_ACTIVITY_SUBTYPE_TRANSACTION_CLOSE \
nsIHttpActivityObserver::ACTIVITY_SUBTYPE_TRANSACTION_CLOSE
#endif /* __gen_nsIHttpActivityObserver_h__ */