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

#ifndef __gen_flockIFeedManager_h__
#define __gen_flockIFeedManager_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 nsISimpleEnumerator; /* forward declaration */

class nsIURI; /* forward declaration */

class nsIFeedResult; /* forward declaration */

class flockIError; /* forward declaration */

class flockIFeedContext; /* forward declaration */

class flockIFeed; /* forward declaration */

class flockIFeedItem; /* forward declaration */

class flockIFeedFolderItem; /* forward declaration */


/* starting interface:    flockIFeedManagerListener */
#define FLOCKIFEEDMANAGERLISTENER_IID_STR "5e730231-c2b6-45ba-b51d-4662583dd011"

#define FLOCKIFEEDMANAGERLISTENER_IID \
  {0x5e730231, 0xc2b6, 0x45ba, \
    { 0xb5, 0x1d, 0x46, 0x62, 0x58, 0x3d, 0xd0, 0x11 }}

class NS_NO_VTABLE NS_SCRIPTABLE flockIFeedManagerListener : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(FLOCKIFEEDMANAGERLISTENER_IID)

  /* void onGetFeedComplete (in flockIFeed aFeed); */
  NS_SCRIPTABLE NS_IMETHOD OnGetFeedComplete(flockIFeed *aFeed) = 0;

  /* void onError (in flockIError aError); */
  NS_SCRIPTABLE NS_IMETHOD OnError(flockIError *aError) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(flockIFeedManagerListener, FLOCKIFEEDMANAGERLISTENER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKIFEEDMANAGERLISTENER \
  NS_SCRIPTABLE NS_IMETHOD OnGetFeedComplete(flockIFeed *aFeed); \
  NS_SCRIPTABLE NS_IMETHOD OnError(flockIError *aError); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKIFEEDMANAGERLISTENER(_to) \
  NS_SCRIPTABLE NS_IMETHOD OnGetFeedComplete(flockIFeed *aFeed) { return _to OnGetFeedComplete(aFeed); } \
  NS_SCRIPTABLE NS_IMETHOD OnError(flockIError *aError) { return _to OnError(aError); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_FLOCKIFEEDMANAGERLISTENER(_to) \
  NS_SCRIPTABLE NS_IMETHOD OnGetFeedComplete(flockIFeed *aFeed) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnGetFeedComplete(aFeed); } \
  NS_SCRIPTABLE NS_IMETHOD OnError(flockIError *aError) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnError(aError); } 

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

/* Header file */
class _MYCLASS_ : public flockIFeedManagerListener
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKIFEEDMANAGERLISTENER

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

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

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

/* void onGetFeedComplete (in flockIFeed aFeed); */
NS_IMETHODIMP _MYCLASS_::OnGetFeedComplete(flockIFeed *aFeed)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void onError (in flockIError aError); */
NS_IMETHODIMP _MYCLASS_::OnError(flockIError *aError)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    flockIFeedManager */
#define FLOCKIFEEDMANAGER_IID_STR "e7c3cb9d-f253-43b5-b0a8-f62156d6fc97"

#define FLOCKIFEEDMANAGER_IID \
  {0xe7c3cb9d, 0xf253, 0x43b5, \
    { 0xb0, 0xa8, 0xf6, 0x21, 0x56, 0xd6, 0xfc, 0x97 }}

class NS_NO_VTABLE NS_SCRIPTABLE flockIFeedManager : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(FLOCKIFEEDMANAGER_IID)

  /* void getFeed (in nsIURI aFeedURI, in flockIFeedManagerListener aListener); */
  NS_SCRIPTABLE NS_IMETHOD GetFeed(nsIURI *aFeedURI, flockIFeedManagerListener *aListener) = 0;

  /* void getFeedMetadata (in nsIURI aFeedURI, in flockIFeedManagerListener aListener); */
  NS_SCRIPTABLE NS_IMETHOD GetFeedMetadata(nsIURI *aFeedURI, flockIFeedManagerListener *aListener) = 0;

  /* void getFeedBypassCache (in nsIURI aFeedURI, in flockIFeedManagerListener aListener, in boolean aAsyncStorage); */
  NS_SCRIPTABLE NS_IMETHOD GetFeedBypassCache(nsIURI *aFeedURI, flockIFeedManagerListener *aListener, PRBool aAsyncStorage) = 0;

  /* flockIFeedContext createFeedContext (in AString aContextName); */
  NS_SCRIPTABLE NS_IMETHOD CreateFeedContext(const nsAString & aContextName, flockIFeedContext **_retval) = 0;

  /* flockIFeedContext getFeedContext (in AString aContextName); */
  NS_SCRIPTABLE NS_IMETHOD GetFeedContext(const nsAString & aContextName, flockIFeedContext **_retval) = 0;

  /* nsISimpleEnumerator getFeedContexts (); */
  NS_SCRIPTABLE NS_IMETHOD GetFeedContexts(nsISimpleEnumerator **_retval) = 0;

  /* void deleteFeedContext (in AString aContextName); */
  NS_SCRIPTABLE NS_IMETHOD DeleteFeedContext(const nsAString & aContextName) = 0;

  /* boolean existsFeed (in nsIURI aFeedURI); */
  NS_SCRIPTABLE NS_IMETHOD ExistsFeed(nsIURI *aFeedURI, PRBool *_retval) = 0;

  /* nsISimpleEnumerator getLibrary (); */
  NS_SCRIPTABLE NS_IMETHOD GetLibrary(nsISimpleEnumerator **_retval) = 0;

  /* boolean storeFeed (in nsIURI aFeedURI, in nsIFeedResult aFeedResult, in ACString aLastModified, in flockIFeedManagerListener aListener); */
  NS_SCRIPTABLE NS_IMETHOD StoreFeed(nsIURI *aFeedURI, nsIFeedResult *aFeedResult, const nsACString & aLastModified, flockIFeedManagerListener *aListener, PRBool *_retval) = 0;

  /* flockIFeedFolderItem getFeedFolderItem (in AString aItemID); */
  NS_SCRIPTABLE NS_IMETHOD GetFeedFolderItem(const nsAString & aItemID, flockIFeedFolderItem **_retval) = 0;

  /* flockIFeedItem getFeedItem (in AString aItemID); */
  NS_SCRIPTABLE NS_IMETHOD GetFeedItem(const nsAString & aItemID, flockIFeedItem **_retval) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(flockIFeedManager, FLOCKIFEEDMANAGER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKIFEEDMANAGER \
  NS_SCRIPTABLE NS_IMETHOD GetFeed(nsIURI *aFeedURI, flockIFeedManagerListener *aListener); \
  NS_SCRIPTABLE NS_IMETHOD GetFeedMetadata(nsIURI *aFeedURI, flockIFeedManagerListener *aListener); \
  NS_SCRIPTABLE NS_IMETHOD GetFeedBypassCache(nsIURI *aFeedURI, flockIFeedManagerListener *aListener, PRBool aAsyncStorage); \
  NS_SCRIPTABLE NS_IMETHOD CreateFeedContext(const nsAString & aContextName, flockIFeedContext **_retval); \
  NS_SCRIPTABLE NS_IMETHOD GetFeedContext(const nsAString & aContextName, flockIFeedContext **_retval); \
  NS_SCRIPTABLE NS_IMETHOD GetFeedContexts(nsISimpleEnumerator **_retval); \
  NS_SCRIPTABLE NS_IMETHOD DeleteFeedContext(const nsAString & aContextName); \
  NS_SCRIPTABLE NS_IMETHOD ExistsFeed(nsIURI *aFeedURI, PRBool *_retval); \
  NS_SCRIPTABLE NS_IMETHOD GetLibrary(nsISimpleEnumerator **_retval); \
  NS_SCRIPTABLE NS_IMETHOD StoreFeed(nsIURI *aFeedURI, nsIFeedResult *aFeedResult, const nsACString & aLastModified, flockIFeedManagerListener *aListener, PRBool *_retval); \
  NS_SCRIPTABLE NS_IMETHOD GetFeedFolderItem(const nsAString & aItemID, flockIFeedFolderItem **_retval); \
  NS_SCRIPTABLE NS_IMETHOD GetFeedItem(const nsAString & aItemID, flockIFeedItem **_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKIFEEDMANAGER(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetFeed(nsIURI *aFeedURI, flockIFeedManagerListener *aListener) { return _to GetFeed(aFeedURI, aListener); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedMetadata(nsIURI *aFeedURI, flockIFeedManagerListener *aListener) { return _to GetFeedMetadata(aFeedURI, aListener); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedBypassCache(nsIURI *aFeedURI, flockIFeedManagerListener *aListener, PRBool aAsyncStorage) { return _to GetFeedBypassCache(aFeedURI, aListener, aAsyncStorage); } \
  NS_SCRIPTABLE NS_IMETHOD CreateFeedContext(const nsAString & aContextName, flockIFeedContext **_retval) { return _to CreateFeedContext(aContextName, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedContext(const nsAString & aContextName, flockIFeedContext **_retval) { return _to GetFeedContext(aContextName, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedContexts(nsISimpleEnumerator **_retval) { return _to GetFeedContexts(_retval); } \
  NS_SCRIPTABLE NS_IMETHOD DeleteFeedContext(const nsAString & aContextName) { return _to DeleteFeedContext(aContextName); } \
  NS_SCRIPTABLE NS_IMETHOD ExistsFeed(nsIURI *aFeedURI, PRBool *_retval) { return _to ExistsFeed(aFeedURI, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetLibrary(nsISimpleEnumerator **_retval) { return _to GetLibrary(_retval); } \
  NS_SCRIPTABLE NS_IMETHOD StoreFeed(nsIURI *aFeedURI, nsIFeedResult *aFeedResult, const nsACString & aLastModified, flockIFeedManagerListener *aListener, PRBool *_retval) { return _to StoreFeed(aFeedURI, aFeedResult, aLastModified, aListener, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedFolderItem(const nsAString & aItemID, flockIFeedFolderItem **_retval) { return _to GetFeedFolderItem(aItemID, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedItem(const nsAString & aItemID, flockIFeedItem **_retval) { return _to GetFeedItem(aItemID, _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_FLOCKIFEEDMANAGER(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetFeed(nsIURI *aFeedURI, flockIFeedManagerListener *aListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeed(aFeedURI, aListener); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedMetadata(nsIURI *aFeedURI, flockIFeedManagerListener *aListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedMetadata(aFeedURI, aListener); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedBypassCache(nsIURI *aFeedURI, flockIFeedManagerListener *aListener, PRBool aAsyncStorage) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedBypassCache(aFeedURI, aListener, aAsyncStorage); } \
  NS_SCRIPTABLE NS_IMETHOD CreateFeedContext(const nsAString & aContextName, flockIFeedContext **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateFeedContext(aContextName, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedContext(const nsAString & aContextName, flockIFeedContext **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedContext(aContextName, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedContexts(nsISimpleEnumerator **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedContexts(_retval); } \
  NS_SCRIPTABLE NS_IMETHOD DeleteFeedContext(const nsAString & aContextName) { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteFeedContext(aContextName); } \
  NS_SCRIPTABLE NS_IMETHOD ExistsFeed(nsIURI *aFeedURI, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ExistsFeed(aFeedURI, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetLibrary(nsISimpleEnumerator **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLibrary(_retval); } \
  NS_SCRIPTABLE NS_IMETHOD StoreFeed(nsIURI *aFeedURI, nsIFeedResult *aFeedResult, const nsACString & aLastModified, flockIFeedManagerListener *aListener, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->StoreFeed(aFeedURI, aFeedResult, aLastModified, aListener, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedFolderItem(const nsAString & aItemID, flockIFeedFolderItem **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedFolderItem(aItemID, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetFeedItem(const nsAString & aItemID, flockIFeedItem **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedItem(aItemID, _retval); } 

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

/* Header file */
class _MYCLASS_ : public flockIFeedManager
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKIFEEDMANAGER

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

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

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

/* void getFeed (in nsIURI aFeedURI, in flockIFeedManagerListener aListener); */
NS_IMETHODIMP _MYCLASS_::GetFeed(nsIURI *aFeedURI, flockIFeedManagerListener *aListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getFeedMetadata (in nsIURI aFeedURI, in flockIFeedManagerListener aListener); */
NS_IMETHODIMP _MYCLASS_::GetFeedMetadata(nsIURI *aFeedURI, flockIFeedManagerListener *aListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getFeedBypassCache (in nsIURI aFeedURI, in flockIFeedManagerListener aListener, in boolean aAsyncStorage); */
NS_IMETHODIMP _MYCLASS_::GetFeedBypassCache(nsIURI *aFeedURI, flockIFeedManagerListener *aListener, PRBool aAsyncStorage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* flockIFeedContext createFeedContext (in AString aContextName); */
NS_IMETHODIMP _MYCLASS_::CreateFeedContext(const nsAString & aContextName, flockIFeedContext **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* flockIFeedContext getFeedContext (in AString aContextName); */
NS_IMETHODIMP _MYCLASS_::GetFeedContext(const nsAString & aContextName, flockIFeedContext **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsISimpleEnumerator getFeedContexts (); */
NS_IMETHODIMP _MYCLASS_::GetFeedContexts(nsISimpleEnumerator **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void deleteFeedContext (in AString aContextName); */
NS_IMETHODIMP _MYCLASS_::DeleteFeedContext(const nsAString & aContextName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean existsFeed (in nsIURI aFeedURI); */
NS_IMETHODIMP _MYCLASS_::ExistsFeed(nsIURI *aFeedURI, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsISimpleEnumerator getLibrary (); */
NS_IMETHODIMP _MYCLASS_::GetLibrary(nsISimpleEnumerator **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean storeFeed (in nsIURI aFeedURI, in nsIFeedResult aFeedResult, in ACString aLastModified, in flockIFeedManagerListener aListener); */
NS_IMETHODIMP _MYCLASS_::StoreFeed(nsIURI *aFeedURI, nsIFeedResult *aFeedResult, const nsACString & aLastModified, flockIFeedManagerListener *aListener, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* flockIFeedFolderItem getFeedFolderItem (in AString aItemID); */
NS_IMETHODIMP _MYCLASS_::GetFeedFolderItem(const nsAString & aItemID, flockIFeedFolderItem **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* flockIFeedItem getFeedItem (in AString aItemID); */
NS_IMETHODIMP _MYCLASS_::GetFeedItem(const nsAString & aItemID, flockIFeedItem **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_flockIFeedManager_h__ */
