/*
 * 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

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

#ifndef __gen_nsIURL_h__
#include "nsIURL.h"
#endif

#ifndef __gen_flockIError_h__
#include "flockIError.h"
#endif

#ifndef __gen_flockIFeedContext_h__
#include "flockIFeedContext.h"
#endif

#ifndef __gen_flockIFeed_h__
#include "flockIFeed.h"
#endif

#ifndef __gen_flockIFeedItem_h__
#include "flockIFeedItem.h"
#endif

#ifndef __gen_flockIFeedFolderItem_h__
#include "flockIFeedFolderItem.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIFeedResult; /* 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 flockIFeedManagerListener : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKIFEEDMANAGERLISTENER_IID)

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

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

};

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

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

/* 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_IMETHOD OnGetFeedComplete(flockIFeed *feed) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnGetFeedComplete(feed); } \
  NS_IMETHOD OnError(flockIError *error) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnError(error); } 

#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 feed); */
NS_IMETHODIMP _MYCLASS_::OnGetFeedComplete(flockIFeed *feed)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

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


/* starting interface:    flockIFeedManager */
#define FLOCKIFEEDMANAGER_IID_STR "4aea90af-dfc7-4a0f-b60e-12c55c14044b"

#define FLOCKIFEEDMANAGER_IID \
  {0x4aea90af, 0xdfc7, 0x4a0f, \
    { 0xb6, 0x0e, 0x12, 0xc5, 0x5c, 0x14, 0x04, 0x4b }}

class NS_NO_VTABLE flockIFeedManager : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKIFEEDMANAGER_IID)

  /* void getFeed (in nsIURL url, in flockIFeedManagerListener listener); */
  NS_IMETHOD GetFeed(nsIURL *url, flockIFeedManagerListener *listener) = 0;

  /* void getFeedMetadata (in nsIURL url, in flockIFeedManagerListener listener); */
  NS_IMETHOD GetFeedMetadata(nsIURL *url, flockIFeedManagerListener *listener) = 0;

  /* void getFeedBypassCache (in nsIURL url, in flockIFeedManagerListener listener); */
  NS_IMETHOD GetFeedBypassCache(nsIURL *url, flockIFeedManagerListener *listener) = 0;

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

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

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

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

  /* boolean existsFeed (in nsIURL url); */
  NS_IMETHOD ExistsFeed(nsIURL *url, PRBool *_retval) = 0;

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

  /* flockIFeed storeFeed (in nsIURL feedURL, in nsIFeedResult feedResult); */
  NS_IMETHOD StoreFeed(nsIURL *feedURL, nsIFeedResult *feedResult, flockIFeed **_retval) = 0;

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

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

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKIFEEDMANAGER \
  NS_IMETHOD GetFeed(nsIURL *url, flockIFeedManagerListener *listener); \
  NS_IMETHOD GetFeedMetadata(nsIURL *url, flockIFeedManagerListener *listener); \
  NS_IMETHOD GetFeedBypassCache(nsIURL *url, flockIFeedManagerListener *listener); \
  NS_IMETHOD CreateFeedContext(const nsAString & name, flockIFeedContext **_retval); \
  NS_IMETHOD GetFeedContext(const nsAString & name, flockIFeedContext **_retval); \
  NS_IMETHOD GetFeedContexts(nsISimpleEnumerator **_retval); \
  NS_IMETHOD DeleteFeedContext(const nsAString & name); \
  NS_IMETHOD ExistsFeed(nsIURL *url, PRBool *_retval); \
  NS_IMETHOD GetLibrary(nsISimpleEnumerator **_retval); \
  NS_IMETHOD StoreFeed(nsIURL *feedURL, nsIFeedResult *feedResult, flockIFeed **_retval); \
  NS_IMETHOD GetFeedFolderItem(const nsAString & itemID, flockIFeedFolderItem **_retval); \
  NS_IMETHOD GetFeedItem(const nsAString & itemID, flockIFeedItem **_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKIFEEDMANAGER(_to) \
  NS_IMETHOD GetFeed(nsIURL *url, flockIFeedManagerListener *listener) { return _to GetFeed(url, listener); } \
  NS_IMETHOD GetFeedMetadata(nsIURL *url, flockIFeedManagerListener *listener) { return _to GetFeedMetadata(url, listener); } \
  NS_IMETHOD GetFeedBypassCache(nsIURL *url, flockIFeedManagerListener *listener) { return _to GetFeedBypassCache(url, listener); } \
  NS_IMETHOD CreateFeedContext(const nsAString & name, flockIFeedContext **_retval) { return _to CreateFeedContext(name, _retval); } \
  NS_IMETHOD GetFeedContext(const nsAString & name, flockIFeedContext **_retval) { return _to GetFeedContext(name, _retval); } \
  NS_IMETHOD GetFeedContexts(nsISimpleEnumerator **_retval) { return _to GetFeedContexts(_retval); } \
  NS_IMETHOD DeleteFeedContext(const nsAString & name) { return _to DeleteFeedContext(name); } \
  NS_IMETHOD ExistsFeed(nsIURL *url, PRBool *_retval) { return _to ExistsFeed(url, _retval); } \
  NS_IMETHOD GetLibrary(nsISimpleEnumerator **_retval) { return _to GetLibrary(_retval); } \
  NS_IMETHOD StoreFeed(nsIURL *feedURL, nsIFeedResult *feedResult, flockIFeed **_retval) { return _to StoreFeed(feedURL, feedResult, _retval); } \
  NS_IMETHOD GetFeedFolderItem(const nsAString & itemID, flockIFeedFolderItem **_retval) { return _to GetFeedFolderItem(itemID, _retval); } \
  NS_IMETHOD GetFeedItem(const nsAString & itemID, flockIFeedItem **_retval) { return _to GetFeedItem(itemID, _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_IMETHOD GetFeed(nsIURL *url, flockIFeedManagerListener *listener) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeed(url, listener); } \
  NS_IMETHOD GetFeedMetadata(nsIURL *url, flockIFeedManagerListener *listener) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedMetadata(url, listener); } \
  NS_IMETHOD GetFeedBypassCache(nsIURL *url, flockIFeedManagerListener *listener) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedBypassCache(url, listener); } \
  NS_IMETHOD CreateFeedContext(const nsAString & name, flockIFeedContext **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateFeedContext(name, _retval); } \
  NS_IMETHOD GetFeedContext(const nsAString & name, flockIFeedContext **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedContext(name, _retval); } \
  NS_IMETHOD GetFeedContexts(nsISimpleEnumerator **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedContexts(_retval); } \
  NS_IMETHOD DeleteFeedContext(const nsAString & name) { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteFeedContext(name); } \
  NS_IMETHOD ExistsFeed(nsIURL *url, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ExistsFeed(url, _retval); } \
  NS_IMETHOD GetLibrary(nsISimpleEnumerator **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLibrary(_retval); } \
  NS_IMETHOD StoreFeed(nsIURL *feedURL, nsIFeedResult *feedResult, flockIFeed **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->StoreFeed(feedURL, feedResult, _retval); } \
  NS_IMETHOD GetFeedFolderItem(const nsAString & itemID, flockIFeedFolderItem **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedFolderItem(itemID, _retval); } \
  NS_IMETHOD GetFeedItem(const nsAString & itemID, flockIFeedItem **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedItem(itemID, _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 nsIURL url, in flockIFeedManagerListener listener); */
NS_IMETHODIMP _MYCLASS_::GetFeed(nsIURL *url, flockIFeedManagerListener *listener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getFeedMetadata (in nsIURL url, in flockIFeedManagerListener listener); */
NS_IMETHODIMP _MYCLASS_::GetFeedMetadata(nsIURL *url, flockIFeedManagerListener *listener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getFeedBypassCache (in nsIURL url, in flockIFeedManagerListener listener); */
NS_IMETHODIMP _MYCLASS_::GetFeedBypassCache(nsIURL *url, flockIFeedManagerListener *listener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

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

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

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

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

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

/* flockIFeed storeFeed (in nsIURL feedURL, in nsIFeedResult feedResult); */
NS_IMETHODIMP _MYCLASS_::StoreFeed(nsIURL *feedURL, nsIFeedResult *feedResult, flockIFeed **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

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

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


#endif /* __gen_flockIFeedManager_h__ */
