/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM ../../../dist/idl\nsISlowScriptDebug.idl
 */

#ifndef __gen_nsISlowScriptDebug_h__
#define __gen_nsISlowScriptDebug_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 nsIDOMWindow; /* forward declaration */


/* starting interface:    nsISlowScriptDebugCallback */
#define NS_ISLOWSCRIPTDEBUGCALLBACK_IID_STR "f7dbb80c-5d1e-4fd9-b55c-a9ffda4a75b1"

#define NS_ISLOWSCRIPTDEBUGCALLBACK_IID \
  {0xf7dbb80c, 0x5d1e, 0x4fd9, \
    { 0xb5, 0x5c, 0xa9, 0xff, 0xda, 0x4a, 0x75, 0xb1 }}

class NS_NO_VTABLE nsISlowScriptDebugCallback : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISLOWSCRIPTDEBUGCALLBACK_IID)

  /* void handleSlowScriptDebug (in nsIDOMWindow aWindow); */
  NS_IMETHOD HandleSlowScriptDebug(nsIDOMWindow *aWindow) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsISlowScriptDebugCallback, NS_ISLOWSCRIPTDEBUGCALLBACK_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISLOWSCRIPTDEBUGCALLBACK \
  NS_IMETHOD HandleSlowScriptDebug(nsIDOMWindow *aWindow); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISLOWSCRIPTDEBUGCALLBACK(_to) \
  NS_IMETHOD HandleSlowScriptDebug(nsIDOMWindow *aWindow) { return _to HandleSlowScriptDebug(aWindow); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISLOWSCRIPTDEBUGCALLBACK(_to) \
  NS_IMETHOD HandleSlowScriptDebug(nsIDOMWindow *aWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->HandleSlowScriptDebug(aWindow); } 

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

/* Header file */
class nsSlowScriptDebugCallback : public nsISlowScriptDebugCallback
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISLOWSCRIPTDEBUGCALLBACK

  nsSlowScriptDebugCallback();

private:
  ~nsSlowScriptDebugCallback();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsSlowScriptDebugCallback, nsISlowScriptDebugCallback)

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

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

/* void handleSlowScriptDebug (in nsIDOMWindow aWindow); */
NS_IMETHODIMP nsSlowScriptDebugCallback::HandleSlowScriptDebug(nsIDOMWindow *aWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    nsISlowScriptDebug */
#define NS_ISLOWSCRIPTDEBUG_IID_STR "f75d4164-3aa7-4395-ba44-a5f95b2e8427"

#define NS_ISLOWSCRIPTDEBUG_IID \
  {0xf75d4164, 0x3aa7, 0x4395, \
    { 0xba, 0x44, 0xa5, 0xf9, 0x5b, 0x2e, 0x84, 0x27 }}

class NS_NO_VTABLE nsISlowScriptDebug : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISLOWSCRIPTDEBUG_IID)

  /* attribute nsISlowScriptDebugCallback activationHandler; */
  NS_IMETHOD GetActivationHandler(nsISlowScriptDebugCallback * *aActivationHandler) = 0;
  NS_IMETHOD SetActivationHandler(nsISlowScriptDebugCallback *aActivationHandler) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsISlowScriptDebug, NS_ISLOWSCRIPTDEBUG_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISLOWSCRIPTDEBUG \
  NS_IMETHOD GetActivationHandler(nsISlowScriptDebugCallback * *aActivationHandler); \
  NS_IMETHOD SetActivationHandler(nsISlowScriptDebugCallback *aActivationHandler); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISLOWSCRIPTDEBUG(_to) \
  NS_IMETHOD GetActivationHandler(nsISlowScriptDebugCallback * *aActivationHandler) { return _to GetActivationHandler(aActivationHandler); } \
  NS_IMETHOD SetActivationHandler(nsISlowScriptDebugCallback *aActivationHandler) { return _to SetActivationHandler(aActivationHandler); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISLOWSCRIPTDEBUG(_to) \
  NS_IMETHOD GetActivationHandler(nsISlowScriptDebugCallback * *aActivationHandler) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetActivationHandler(aActivationHandler); } \
  NS_IMETHOD SetActivationHandler(nsISlowScriptDebugCallback *aActivationHandler) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetActivationHandler(aActivationHandler); } 

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

/* Header file */
class nsSlowScriptDebug : public nsISlowScriptDebug
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISLOWSCRIPTDEBUG

  nsSlowScriptDebug();

private:
  ~nsSlowScriptDebug();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsSlowScriptDebug, nsISlowScriptDebug)

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

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

/* attribute nsISlowScriptDebugCallback activationHandler; */
NS_IMETHODIMP nsSlowScriptDebug::GetActivationHandler(nsISlowScriptDebugCallback * *aActivationHandler)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSlowScriptDebug::SetActivationHandler(nsISlowScriptDebugCallback *aActivationHandler)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsISlowScriptDebug_h__ */
