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

#ifndef __gen_flockIFavoritesQueue_h__
#define __gen_flockIFavoritesQueue_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

#ifndef __gen_nsISimpleEnumerator_h__
#include "nsISimpleEnumerator.h"
#endif

#ifndef __gen_flockIFavoriteProperties_h__
#include "flockIFavoriteProperties.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:    flockIFavoritesChange */
#define FLOCKIFAVORITESCHANGE_IID_STR "a49efc44-ff1c-4cdb-b77e-82f4ef09e481"

#define FLOCKIFAVORITESCHANGE_IID \
  {0xa49efc44, 0xff1c, 0x4cdb, \
    { 0xb7, 0x7e, 0x82, 0xf4, 0xef, 0x09, 0xe4, 0x81 }}

class NS_NO_VTABLE flockIFavoritesChange : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKIFAVORITESCHANGE_IID)

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKIFAVORITESCHANGE \
  /* no methods! */

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKIFAVORITESCHANGE(_to) \
  /* no methods! */

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_FLOCKIFAVORITESCHANGE(_to) \
  /* no methods! */

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

/* Header file */
class _MYCLASS_ : public flockIFavoritesChange
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKIFAVORITESCHANGE

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

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

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

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


/* starting interface:    flockIFavoritesChangeFavorite */
#define FLOCKIFAVORITESCHANGEFAVORITE_IID_STR "4ccb0a0f-f199-4a4a-b2b4-fd05101bc063"

#define FLOCKIFAVORITESCHANGEFAVORITE_IID \
  {0x4ccb0a0f, 0xf199, 0x4a4a, \
    { 0xb2, 0xb4, 0xfd, 0x05, 0x10, 0x1b, 0xc0, 0x63 }}

class NS_NO_VTABLE flockIFavoritesChangeFavorite : public flockIFavoritesChange {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKIFAVORITESCHANGEFAVORITE_IID)

  /** the url of the favorite being changed */
  /* readonly attribute string url; */
  NS_IMETHOD GetUrl(char * *aUrl) = 0;

  /** the favorite is being deleted */
  /* readonly attribute boolean isDelete; */
  NS_IMETHOD GetIsDelete(PRBool *aIsDelete) = 0;

  /** the properties on the favorite */
  /* readonly attribute flockIFavoriteProperties properties; */
  NS_IMETHOD GetProperties(flockIFavoriteProperties * *aProperties) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKIFAVORITESCHANGEFAVORITE \
  NS_IMETHOD GetUrl(char * *aUrl); \
  NS_IMETHOD GetIsDelete(PRBool *aIsDelete); \
  NS_IMETHOD GetProperties(flockIFavoriteProperties * *aProperties); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKIFAVORITESCHANGEFAVORITE(_to) \
  NS_IMETHOD GetUrl(char * *aUrl) { return _to GetUrl(aUrl); } \
  NS_IMETHOD GetIsDelete(PRBool *aIsDelete) { return _to GetIsDelete(aIsDelete); } \
  NS_IMETHOD GetProperties(flockIFavoriteProperties * *aProperties) { return _to GetProperties(aProperties); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_FLOCKIFAVORITESCHANGEFAVORITE(_to) \
  NS_IMETHOD GetUrl(char * *aUrl) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUrl(aUrl); } \
  NS_IMETHOD GetIsDelete(PRBool *aIsDelete) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsDelete(aIsDelete); } \
  NS_IMETHOD GetProperties(flockIFavoriteProperties * *aProperties) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProperties(aProperties); } 

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

/* Header file */
class _MYCLASS_ : public flockIFavoritesChangeFavorite
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKIFAVORITESCHANGEFAVORITE

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

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

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

/* readonly attribute string url; */
NS_IMETHODIMP _MYCLASS_::GetUrl(char * *aUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean isDelete; */
NS_IMETHODIMP _MYCLASS_::GetIsDelete(PRBool *aIsDelete)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute flockIFavoriteProperties properties; */
NS_IMETHODIMP _MYCLASS_::GetProperties(flockIFavoriteProperties * *aProperties)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    flockIFavoritesChangeCollection */
#define FLOCKIFAVORITESCHANGECOLLECTION_IID_STR "494e61eb-b334-41d2-b8c7-5a1e1ecd2a03"

#define FLOCKIFAVORITESCHANGECOLLECTION_IID \
  {0x494e61eb, 0xb334, 0x41d2, \
    { 0xb8, 0xc7, 0x5a, 0x1e, 0x1e, 0xcd, 0x2a, 0x03 }}

class NS_NO_VTABLE flockIFavoritesChangeCollection : public flockIFavoritesChange {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKIFAVORITESCHANGECOLLECTION_IID)

  /** the name of the collection being changed */
  /* readonly attribute AString name; */
  NS_IMETHOD GetName(nsAString & aName) = 0;

  /** the collection is being deleted */
  /* readonly attribute boolean isDelete; */
  NS_IMETHOD GetIsDelete(PRBool *aIsDelete) = 0;

  /** the contents of the collection - an enumeration of nsIRDFResource */
  /* readonly attribute nsISimpleEnumerator contents; */
  NS_IMETHOD GetContents(nsISimpleEnumerator * *aContents) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKIFAVORITESCHANGECOLLECTION \
  NS_IMETHOD GetName(nsAString & aName); \
  NS_IMETHOD GetIsDelete(PRBool *aIsDelete); \
  NS_IMETHOD GetContents(nsISimpleEnumerator * *aContents); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKIFAVORITESCHANGECOLLECTION(_to) \
  NS_IMETHOD GetName(nsAString & aName) { return _to GetName(aName); } \
  NS_IMETHOD GetIsDelete(PRBool *aIsDelete) { return _to GetIsDelete(aIsDelete); } \
  NS_IMETHOD GetContents(nsISimpleEnumerator * *aContents) { return _to GetContents(aContents); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_FLOCKIFAVORITESCHANGECOLLECTION(_to) \
  NS_IMETHOD GetName(nsAString & aName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetName(aName); } \
  NS_IMETHOD GetIsDelete(PRBool *aIsDelete) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsDelete(aIsDelete); } \
  NS_IMETHOD GetContents(nsISimpleEnumerator * *aContents) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetContents(aContents); } 

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

/* Header file */
class _MYCLASS_ : public flockIFavoritesChangeCollection
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKIFAVORITESCHANGECOLLECTION

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

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

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

/* readonly attribute AString name; */
NS_IMETHODIMP _MYCLASS_::GetName(nsAString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean isDelete; */
NS_IMETHODIMP _MYCLASS_::GetIsDelete(PRBool *aIsDelete)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsISimpleEnumerator contents; */
NS_IMETHODIMP _MYCLASS_::GetContents(nsISimpleEnumerator * *aContents)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    flockIFavoritesQueue */
#define FLOCKIFAVORITESQUEUE_IID_STR "6c45a744-6d3a-4c36-9794-cad65b7efe71"

#define FLOCKIFAVORITESQUEUE_IID \
  {0x6c45a744, 0x6d3a, 0x4c36, \
    { 0x97, 0x94, 0xca, 0xd6, 0x5b, 0x7e, 0xfe, 0x71 }}

class NS_NO_VTABLE flockIFavoritesQueue : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKIFAVORITESQUEUE_IID)

  enum { DIRECTION_TO_WEB_SERVICE = 0U };

  enum { DIRECTION_FROM_WEB_SERVICE = 1U };

  /* void init (in string aName); */
  NS_IMETHOD Init(const char *aName) = 0;

  /* void clear (); */
  NS_IMETHOD Clear(void) = 0;

  /* void changeFavorite (in string aURL, in flockIFavoriteProperties aProperties, in boolean aDirection); */
  NS_IMETHOD ChangeFavorite(const char *aURL, flockIFavoriteProperties *aProperties, PRBool aDirection) = 0;

  /* void deleteFavorite (in string aURL, in flockIFavoriteProperties aProperties, in boolean aDirection); */
  NS_IMETHOD DeleteFavorite(const char *aURL, flockIFavoriteProperties *aProperties, PRBool aDirection) = 0;

  /* void changeCollection (in AString aName, in nsISimpleEnumerator aContents, in boolean aDirection); */
  NS_IMETHOD ChangeCollection(const nsAString & aName, nsISimpleEnumerator *aContents, PRBool aDirection) = 0;

  /* void deleteCollection (in AString aName, in boolean aDirection); */
  NS_IMETHOD DeleteCollection(const nsAString & aName, PRBool aDirection) = 0;

  /* flockIFavoritesChange nextChange (in boolean aDirection); */
  NS_IMETHOD NextChange(PRBool aDirection, flockIFavoritesChange **_retval) = 0;

  /* boolean changesPending (in string aURL); */
  NS_IMETHOD ChangesPending(const char *aURL, PRBool *_retval) = 0;

  /* void Flush (); */
  NS_IMETHOD Flush(void) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKIFAVORITESQUEUE \
  NS_IMETHOD Init(const char *aName); \
  NS_IMETHOD Clear(void); \
  NS_IMETHOD ChangeFavorite(const char *aURL, flockIFavoriteProperties *aProperties, PRBool aDirection); \
  NS_IMETHOD DeleteFavorite(const char *aURL, flockIFavoriteProperties *aProperties, PRBool aDirection); \
  NS_IMETHOD ChangeCollection(const nsAString & aName, nsISimpleEnumerator *aContents, PRBool aDirection); \
  NS_IMETHOD DeleteCollection(const nsAString & aName, PRBool aDirection); \
  NS_IMETHOD NextChange(PRBool aDirection, flockIFavoritesChange **_retval); \
  NS_IMETHOD ChangesPending(const char *aURL, PRBool *_retval); \
  NS_IMETHOD Flush(void); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKIFAVORITESQUEUE(_to) \
  NS_IMETHOD Init(const char *aName) { return _to Init(aName); } \
  NS_IMETHOD Clear(void) { return _to Clear(); } \
  NS_IMETHOD ChangeFavorite(const char *aURL, flockIFavoriteProperties *aProperties, PRBool aDirection) { return _to ChangeFavorite(aURL, aProperties, aDirection); } \
  NS_IMETHOD DeleteFavorite(const char *aURL, flockIFavoriteProperties *aProperties, PRBool aDirection) { return _to DeleteFavorite(aURL, aProperties, aDirection); } \
  NS_IMETHOD ChangeCollection(const nsAString & aName, nsISimpleEnumerator *aContents, PRBool aDirection) { return _to ChangeCollection(aName, aContents, aDirection); } \
  NS_IMETHOD DeleteCollection(const nsAString & aName, PRBool aDirection) { return _to DeleteCollection(aName, aDirection); } \
  NS_IMETHOD NextChange(PRBool aDirection, flockIFavoritesChange **_retval) { return _to NextChange(aDirection, _retval); } \
  NS_IMETHOD ChangesPending(const char *aURL, PRBool *_retval) { return _to ChangesPending(aURL, _retval); } \
  NS_IMETHOD Flush(void) { return _to Flush(); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_FLOCKIFAVORITESQUEUE(_to) \
  NS_IMETHOD Init(const char *aName) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(aName); } \
  NS_IMETHOD Clear(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Clear(); } \
  NS_IMETHOD ChangeFavorite(const char *aURL, flockIFavoriteProperties *aProperties, PRBool aDirection) { return !_to ? NS_ERROR_NULL_POINTER : _to->ChangeFavorite(aURL, aProperties, aDirection); } \
  NS_IMETHOD DeleteFavorite(const char *aURL, flockIFavoriteProperties *aProperties, PRBool aDirection) { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteFavorite(aURL, aProperties, aDirection); } \
  NS_IMETHOD ChangeCollection(const nsAString & aName, nsISimpleEnumerator *aContents, PRBool aDirection) { return !_to ? NS_ERROR_NULL_POINTER : _to->ChangeCollection(aName, aContents, aDirection); } \
  NS_IMETHOD DeleteCollection(const nsAString & aName, PRBool aDirection) { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteCollection(aName, aDirection); } \
  NS_IMETHOD NextChange(PRBool aDirection, flockIFavoritesChange **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->NextChange(aDirection, _retval); } \
  NS_IMETHOD ChangesPending(const char *aURL, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ChangesPending(aURL, _retval); } \
  NS_IMETHOD Flush(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Flush(); } 

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

/* Header file */
class _MYCLASS_ : public flockIFavoritesQueue
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKIFAVORITESQUEUE

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

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

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

/* void init (in string aName); */
NS_IMETHODIMP _MYCLASS_::Init(const char *aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clear (); */
NS_IMETHODIMP _MYCLASS_::Clear()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void changeFavorite (in string aURL, in flockIFavoriteProperties aProperties, in boolean aDirection); */
NS_IMETHODIMP _MYCLASS_::ChangeFavorite(const char *aURL, flockIFavoriteProperties *aProperties, PRBool aDirection)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void deleteFavorite (in string aURL, in flockIFavoriteProperties aProperties, in boolean aDirection); */
NS_IMETHODIMP _MYCLASS_::DeleteFavorite(const char *aURL, flockIFavoriteProperties *aProperties, PRBool aDirection)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void changeCollection (in AString aName, in nsISimpleEnumerator aContents, in boolean aDirection); */
NS_IMETHODIMP _MYCLASS_::ChangeCollection(const nsAString & aName, nsISimpleEnumerator *aContents, PRBool aDirection)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void deleteCollection (in AString aName, in boolean aDirection); */
NS_IMETHODIMP _MYCLASS_::DeleteCollection(const nsAString & aName, PRBool aDirection)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* flockIFavoritesChange nextChange (in boolean aDirection); */
NS_IMETHODIMP _MYCLASS_::NextChange(PRBool aDirection, flockIFavoritesChange **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean changesPending (in string aURL); */
NS_IMETHODIMP _MYCLASS_::ChangesPending(const char *aURL, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void Flush (); */
NS_IMETHODIMP _MYCLASS_::Flush()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_flockIFavoritesQueue_h__ */
