/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsIActivityManager.idl
 */

#ifndef __gen_nsIActivityManager_h__
#define __gen_nsIActivityManager_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
class mozIStorageConnection; /* forward declaration */

class nsIActivity; /* forward declaration */

class nsIActivityProcess; /* forward declaration */

class nsIVariant; /* forward declaration */


/* starting interface:    nsIActivityMgrListener */
#define NS_IACTIVITYMGRLISTENER_IID_STR "14cfad1c-3401-4c44-ab04-4a11b6662663"

#define NS_IACTIVITYMGRLISTENER_IID \
  {0x14cfad1c, 0x3401, 0x4c44, \
    { 0xab, 0x04, 0x4a, 0x11, 0xb6, 0x66, 0x26, 0x63 }}

class NS_NO_VTABLE NS_SCRIPTABLE nsIActivityMgrListener : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IACTIVITYMGRLISTENER_IID)

  /* void onAddedActivity (in unsigned long aID, in nsIActivity aActivity); */
  NS_SCRIPTABLE NS_IMETHOD OnAddedActivity(PRUint32 aID, nsIActivity *aActivity) = 0;

  /* void onRemovedActivity (in unsigned long aID); */
  NS_SCRIPTABLE NS_IMETHOD OnRemovedActivity(PRUint32 aID) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIActivityMgrListener, NS_IACTIVITYMGRLISTENER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIACTIVITYMGRLISTENER \
  NS_SCRIPTABLE NS_IMETHOD OnAddedActivity(PRUint32 aID, nsIActivity *aActivity); \
  NS_SCRIPTABLE NS_IMETHOD OnRemovedActivity(PRUint32 aID); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIACTIVITYMGRLISTENER(_to) \
  NS_SCRIPTABLE NS_IMETHOD OnAddedActivity(PRUint32 aID, nsIActivity *aActivity) { return _to OnAddedActivity(aID, aActivity); } \
  NS_SCRIPTABLE NS_IMETHOD OnRemovedActivity(PRUint32 aID) { return _to OnRemovedActivity(aID); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIACTIVITYMGRLISTENER(_to) \
  NS_SCRIPTABLE NS_IMETHOD OnAddedActivity(PRUint32 aID, nsIActivity *aActivity) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnAddedActivity(aID, aActivity); } \
  NS_SCRIPTABLE NS_IMETHOD OnRemovedActivity(PRUint32 aID) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnRemovedActivity(aID); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsActivityMgrListener : public nsIActivityMgrListener
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIACTIVITYMGRLISTENER

  nsActivityMgrListener();

private:
  ~nsActivityMgrListener();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsActivityMgrListener, nsIActivityMgrListener)

nsActivityMgrListener::nsActivityMgrListener()
{
  /* member initializers and constructor code */
}

nsActivityMgrListener::~nsActivityMgrListener()
{
  /* destructor code */
}

/* void onAddedActivity (in unsigned long aID, in nsIActivity aActivity); */
NS_IMETHODIMP nsActivityMgrListener::OnAddedActivity(PRUint32 aID, nsIActivity *aActivity)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void onRemovedActivity (in unsigned long aID); */
NS_IMETHODIMP nsActivityMgrListener::OnRemovedActivity(PRUint32 aID)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    nsIActivityManager */
#define NS_IACTIVITYMANAGER_IID_STR "9bfcc031-50e1-4d30-a35f-23509abcb8d1"

#define NS_IACTIVITYMANAGER_IID \
  {0x9bfcc031, 0x50e1, 0x4d30, \
    { 0xa3, 0x5f, 0x23, 0x50, 0x9a, 0xbc, 0xb8, 0xd1 }}

class NS_NO_VTABLE NS_SCRIPTABLE nsIActivityManager : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IACTIVITYMANAGER_IID)

  /* unsigned long addActivity (in nsIActivity aActivity); */
  NS_SCRIPTABLE NS_IMETHOD AddActivity(nsIActivity *aActivity, PRUint32 *_retval NS_OUTPARAM) = 0;

  /* void removeActivity (in unsigned long aID); */
  NS_SCRIPTABLE NS_IMETHOD RemoveActivity(PRUint32 aID) = 0;

  /* nsIActivity getActivity (in unsigned long aID); */
  NS_SCRIPTABLE NS_IMETHOD GetActivity(PRUint32 aID, nsIActivity * *_retval NS_OUTPARAM) = 0;

  /* boolean containsActivity (in unsigned long aID); */
  NS_SCRIPTABLE NS_IMETHOD ContainsActivity(PRUint32 aID, PRBool *_retval NS_OUTPARAM) = 0;

  /* void getActivities (out unsigned long length, [array, size_is (length), retval] out nsIActivity aActivities); */
  NS_SCRIPTABLE NS_IMETHOD GetActivities(PRUint32 *length NS_OUTPARAM, nsIActivity * **aActivities NS_OUTPARAM) = 0;

  /* void getProcessesByContext (in AString aContextType, in nsIVariant aContextObject, out unsigned long length, [array, size_is (length), retval] out nsIActivityProcess aProcesses); */
  NS_SCRIPTABLE NS_IMETHOD GetProcessesByContext(const nsAString & aContextType, nsIVariant *aContextObject, PRUint32 *length NS_OUTPARAM, nsIActivityProcess * **aProcesses NS_OUTPARAM) = 0;

  /* void cleanUp (); */
  NS_SCRIPTABLE NS_IMETHOD CleanUp(void) = 0;

  /* readonly attribute long processCount; */
  NS_SCRIPTABLE NS_IMETHOD GetProcessCount(PRInt32 *aProcessCount) = 0;

  /* void addListener (in nsIActivityMgrListener aListener); */
  NS_SCRIPTABLE NS_IMETHOD AddListener(nsIActivityMgrListener *aListener) = 0;

  /* void removeListener (in nsIActivityMgrListener aListener); */
  NS_SCRIPTABLE NS_IMETHOD RemoveListener(nsIActivityMgrListener *aListener) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIActivityManager, NS_IACTIVITYMANAGER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIACTIVITYMANAGER \
  NS_SCRIPTABLE NS_IMETHOD AddActivity(nsIActivity *aActivity, PRUint32 *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD RemoveActivity(PRUint32 aID); \
  NS_SCRIPTABLE NS_IMETHOD GetActivity(PRUint32 aID, nsIActivity * *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD ContainsActivity(PRUint32 aID, PRBool *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetActivities(PRUint32 *length NS_OUTPARAM, nsIActivity * **aActivities NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetProcessesByContext(const nsAString & aContextType, nsIVariant *aContextObject, PRUint32 *length NS_OUTPARAM, nsIActivityProcess * **aProcesses NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD CleanUp(void); \
  NS_SCRIPTABLE NS_IMETHOD GetProcessCount(PRInt32 *aProcessCount); \
  NS_SCRIPTABLE NS_IMETHOD AddListener(nsIActivityMgrListener *aListener); \
  NS_SCRIPTABLE NS_IMETHOD RemoveListener(nsIActivityMgrListener *aListener); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIACTIVITYMANAGER(_to) \
  NS_SCRIPTABLE NS_IMETHOD AddActivity(nsIActivity *aActivity, PRUint32 *_retval NS_OUTPARAM) { return _to AddActivity(aActivity, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD RemoveActivity(PRUint32 aID) { return _to RemoveActivity(aID); } \
  NS_SCRIPTABLE NS_IMETHOD GetActivity(PRUint32 aID, nsIActivity * *_retval NS_OUTPARAM) { return _to GetActivity(aID, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD ContainsActivity(PRUint32 aID, PRBool *_retval NS_OUTPARAM) { return _to ContainsActivity(aID, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetActivities(PRUint32 *length NS_OUTPARAM, nsIActivity * **aActivities NS_OUTPARAM) { return _to GetActivities(length, aActivities); } \
  NS_SCRIPTABLE NS_IMETHOD GetProcessesByContext(const nsAString & aContextType, nsIVariant *aContextObject, PRUint32 *length NS_OUTPARAM, nsIActivityProcess * **aProcesses NS_OUTPARAM) { return _to GetProcessesByContext(aContextType, aContextObject, length, aProcesses); } \
  NS_SCRIPTABLE NS_IMETHOD CleanUp(void) { return _to CleanUp(); } \
  NS_SCRIPTABLE NS_IMETHOD GetProcessCount(PRInt32 *aProcessCount) { return _to GetProcessCount(aProcessCount); } \
  NS_SCRIPTABLE NS_IMETHOD AddListener(nsIActivityMgrListener *aListener) { return _to AddListener(aListener); } \
  NS_SCRIPTABLE NS_IMETHOD RemoveListener(nsIActivityMgrListener *aListener) { return _to RemoveListener(aListener); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIACTIVITYMANAGER(_to) \
  NS_SCRIPTABLE NS_IMETHOD AddActivity(nsIActivity *aActivity, PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddActivity(aActivity, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD RemoveActivity(PRUint32 aID) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveActivity(aID); } \
  NS_SCRIPTABLE NS_IMETHOD GetActivity(PRUint32 aID, nsIActivity * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetActivity(aID, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD ContainsActivity(PRUint32 aID, PRBool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->ContainsActivity(aID, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetActivities(PRUint32 *length NS_OUTPARAM, nsIActivity * **aActivities NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetActivities(length, aActivities); } \
  NS_SCRIPTABLE NS_IMETHOD GetProcessesByContext(const nsAString & aContextType, nsIVariant *aContextObject, PRUint32 *length NS_OUTPARAM, nsIActivityProcess * **aProcesses NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProcessesByContext(aContextType, aContextObject, length, aProcesses); } \
  NS_SCRIPTABLE NS_IMETHOD CleanUp(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->CleanUp(); } \
  NS_SCRIPTABLE NS_IMETHOD GetProcessCount(PRInt32 *aProcessCount) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProcessCount(aProcessCount); } \
  NS_SCRIPTABLE NS_IMETHOD AddListener(nsIActivityMgrListener *aListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddListener(aListener); } \
  NS_SCRIPTABLE NS_IMETHOD RemoveListener(nsIActivityMgrListener *aListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveListener(aListener); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsActivityManager : public nsIActivityManager
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIACTIVITYMANAGER

  nsActivityManager();

private:
  ~nsActivityManager();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsActivityManager, nsIActivityManager)

nsActivityManager::nsActivityManager()
{
  /* member initializers and constructor code */
}

nsActivityManager::~nsActivityManager()
{
  /* destructor code */
}

/* unsigned long addActivity (in nsIActivity aActivity); */
NS_IMETHODIMP nsActivityManager::AddActivity(nsIActivity *aActivity, PRUint32 *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeActivity (in unsigned long aID); */
NS_IMETHODIMP nsActivityManager::RemoveActivity(PRUint32 aID)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIActivity getActivity (in unsigned long aID); */
NS_IMETHODIMP nsActivityManager::GetActivity(PRUint32 aID, nsIActivity * *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean containsActivity (in unsigned long aID); */
NS_IMETHODIMP nsActivityManager::ContainsActivity(PRUint32 aID, PRBool *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getActivities (out unsigned long length, [array, size_is (length), retval] out nsIActivity aActivities); */
NS_IMETHODIMP nsActivityManager::GetActivities(PRUint32 *length NS_OUTPARAM, nsIActivity * **aActivities NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getProcessesByContext (in AString aContextType, in nsIVariant aContextObject, out unsigned long length, [array, size_is (length), retval] out nsIActivityProcess aProcesses); */
NS_IMETHODIMP nsActivityManager::GetProcessesByContext(const nsAString & aContextType, nsIVariant *aContextObject, PRUint32 *length NS_OUTPARAM, nsIActivityProcess * **aProcesses NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void cleanUp (); */
NS_IMETHODIMP nsActivityManager::CleanUp()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long processCount; */
NS_IMETHODIMP nsActivityManager::GetProcessCount(PRInt32 *aProcessCount)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addListener (in nsIActivityMgrListener aListener); */
NS_IMETHODIMP nsActivityManager::AddListener(nsIActivityMgrListener *aListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeListener (in nsIActivityMgrListener aListener); */
NS_IMETHODIMP nsActivityManager::RemoveListener(nsIActivityMgrListener *aListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsIActivityManager_h__ */
