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

#ifndef __gen_flockILogger_h__
#define __gen_flockILogger_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:    flockILogger */
#define FLOCKILOGGER_IID_STR "2f66d0d1-f85b-409f-b469-0d7a336d1fb2"

#define FLOCKILOGGER_IID \
  {0x2f66d0d1, 0xf85b, 0x409f, \
    { 0xb4, 0x69, 0x0d, 0x7a, 0x33, 0x6d, 0x1f, 0xb2 }}

class NS_NO_VTABLE NS_SCRIPTABLE flockILogger : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(FLOCKILOGGER_IID)

  /* void init (in AString aContext); */
  NS_SCRIPTABLE NS_IMETHOD Init(const nsAString & aContext) = 0;

  /* void debug (in AString aMessage); */
  NS_SCRIPTABLE NS_IMETHOD Debug(const nsAString & aMessage) = 0;

  /* void info (in AString aMessage); */
  NS_SCRIPTABLE NS_IMETHOD Info(const nsAString & aMessage) = 0;

  /* void warn (in AString aMessage); */
  NS_SCRIPTABLE NS_IMETHOD Warn(const nsAString & aMessage) = 0;

  /* void error (in AString aMessage); */
  NS_SCRIPTABLE NS_IMETHOD Error(const nsAString & aMessage) = 0;

  /* void fatal (in AString aMessage); */
  NS_SCRIPTABLE NS_IMETHOD Fatal(const nsAString & aMessage) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(flockILogger, FLOCKILOGGER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKILOGGER \
  NS_SCRIPTABLE NS_IMETHOD Init(const nsAString & aContext); \
  NS_SCRIPTABLE NS_IMETHOD Debug(const nsAString & aMessage); \
  NS_SCRIPTABLE NS_IMETHOD Info(const nsAString & aMessage); \
  NS_SCRIPTABLE NS_IMETHOD Warn(const nsAString & aMessage); \
  NS_SCRIPTABLE NS_IMETHOD Error(const nsAString & aMessage); \
  NS_SCRIPTABLE NS_IMETHOD Fatal(const nsAString & aMessage); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKILOGGER(_to) \
  NS_SCRIPTABLE NS_IMETHOD Init(const nsAString & aContext) { return _to Init(aContext); } \
  NS_SCRIPTABLE NS_IMETHOD Debug(const nsAString & aMessage) { return _to Debug(aMessage); } \
  NS_SCRIPTABLE NS_IMETHOD Info(const nsAString & aMessage) { return _to Info(aMessage); } \
  NS_SCRIPTABLE NS_IMETHOD Warn(const nsAString & aMessage) { return _to Warn(aMessage); } \
  NS_SCRIPTABLE NS_IMETHOD Error(const nsAString & aMessage) { return _to Error(aMessage); } \
  NS_SCRIPTABLE NS_IMETHOD Fatal(const nsAString & aMessage) { return _to Fatal(aMessage); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_FLOCKILOGGER(_to) \
  NS_SCRIPTABLE NS_IMETHOD Init(const nsAString & aContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(aContext); } \
  NS_SCRIPTABLE NS_IMETHOD Debug(const nsAString & aMessage) { return !_to ? NS_ERROR_NULL_POINTER : _to->Debug(aMessage); } \
  NS_SCRIPTABLE NS_IMETHOD Info(const nsAString & aMessage) { return !_to ? NS_ERROR_NULL_POINTER : _to->Info(aMessage); } \
  NS_SCRIPTABLE NS_IMETHOD Warn(const nsAString & aMessage) { return !_to ? NS_ERROR_NULL_POINTER : _to->Warn(aMessage); } \
  NS_SCRIPTABLE NS_IMETHOD Error(const nsAString & aMessage) { return !_to ? NS_ERROR_NULL_POINTER : _to->Error(aMessage); } \
  NS_SCRIPTABLE NS_IMETHOD Fatal(const nsAString & aMessage) { return !_to ? NS_ERROR_NULL_POINTER : _to->Fatal(aMessage); } 

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

/* Header file */
class _MYCLASS_ : public flockILogger
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKILOGGER

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(_MYCLASS_, flockILogger)

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

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

/* void init (in AString aContext); */
NS_IMETHODIMP _MYCLASS_::Init(const nsAString & aContext)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void debug (in AString aMessage); */
NS_IMETHODIMP _MYCLASS_::Debug(const nsAString & aMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void info (in AString aMessage); */
NS_IMETHODIMP _MYCLASS_::Info(const nsAString & aMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void warn (in AString aMessage); */
NS_IMETHODIMP _MYCLASS_::Warn(const nsAString & aMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void error (in AString aMessage); */
NS_IMETHODIMP _MYCLASS_::Error(const nsAString & aMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void fatal (in AString aMessage); */
NS_IMETHODIMP _MYCLASS_::Fatal(const nsAString & aMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

// 05428cec-9fd4-4955-afc9-eaaf4c6d9f9d
#define FLOCK_LOGGER_CID \
{ 0x05428cec, 0x9fd4, 0x4955, { 0xaf, 0xc9, 0xea, 0xaf, 0x4c, 0x6d, 0x9f, 0x9d } }
#define FLOCK_LOGGER_CLASSNAME "Flock Logger"
#define FLOCK_LOGGER_CONTRACTID "@flock.com/logger;1"

#endif /* __gen_flockILogger_h__ */
