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

#ifndef __gen_inIBitmapDepot_h__
#define __gen_inIBitmapDepot_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
#include "nsString.h"
class inIBitmap; /* forward declaration */


/* starting interface:    inIBitmapDepot */
#define INIBITMAPDEPOT_IID_STR "9baa65c2-2c9e-465e-9fe6-29f6c385dd38"

#define INIBITMAPDEPOT_IID \
  {0x9baa65c2, 0x2c9e, 0x465e, \
    { 0x9f, 0xe6, 0x29, 0xf6, 0xc3, 0x85, 0xdd, 0x38 }}

class NS_NO_VTABLE inIBitmapDepot : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(INIBITMAPDEPOT_IID)

  /* void put (in inIBitmap aBitmap, in AString aName); */
  NS_IMETHOD Put(inIBitmap *aBitmap, const nsAString & aName) = 0;

  /* inIBitmap get (in AString aName); */
  NS_IMETHOD Get(const nsAString & aName, inIBitmap **_retval) = 0;

  /* inIBitmap remove (in AString aName); */
  NS_IMETHOD Remove(const nsAString & aName, inIBitmap **_retval) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_INIBITMAPDEPOT \
  NS_IMETHOD Put(inIBitmap *aBitmap, const nsAString & aName); \
  NS_IMETHOD Get(const nsAString & aName, inIBitmap **_retval); \
  NS_IMETHOD Remove(const nsAString & aName, inIBitmap **_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_INIBITMAPDEPOT(_to) \
  NS_IMETHOD Put(inIBitmap *aBitmap, const nsAString & aName) { return _to Put(aBitmap, aName); } \
  NS_IMETHOD Get(const nsAString & aName, inIBitmap **_retval) { return _to Get(aName, _retval); } \
  NS_IMETHOD Remove(const nsAString & aName, inIBitmap **_retval) { return _to Remove(aName, _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_INIBITMAPDEPOT(_to) \
  NS_IMETHOD Put(inIBitmap *aBitmap, const nsAString & aName) { return !_to ? NS_ERROR_NULL_POINTER : _to->Put(aBitmap, aName); } \
  NS_IMETHOD Get(const nsAString & aName, inIBitmap **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Get(aName, _retval); } \
  NS_IMETHOD Remove(const nsAString & aName, inIBitmap **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Remove(aName, _retval); } 

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

/* Header file */
class inBitmapDepot : public inIBitmapDepot
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_INIBITMAPDEPOT

  inBitmapDepot();
  virtual ~inBitmapDepot();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(inBitmapDepot, inIBitmapDepot)

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

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

/* void put (in inIBitmap aBitmap, in AString aName); */
NS_IMETHODIMP inBitmapDepot::Put(inIBitmap *aBitmap, const nsAString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* inIBitmap get (in AString aName); */
NS_IMETHODIMP inBitmapDepot::Get(const nsAString & aName, inIBitmap **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* inIBitmap remove (in AString aName); */
NS_IMETHODIMP inBitmapDepot::Remove(const nsAString & aName, inIBitmap **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_inIBitmapDepot_h__ */
