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

#ifndef __gen_flockIOpmlService_h__
#define __gen_flockIOpmlService_h__


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

#ifndef __gen_nsIArray_h__
#include "nsIArray.h"
#endif

#ifndef __gen_nsIChannel_h__
#include "nsIChannel.h"
#endif

#ifndef __gen_nsIRDFDataSource_h__
#include "nsIRDFDataSource.h"
#endif

#ifndef __gen_nsIDOMDocument_h__
#include "nsIDOMDocument.h"
#endif

#ifndef __gen_flockIFeedChannel_h__
#include "flockIFeedChannel.h"
#endif

#ifndef __gen_flockIFeedService_h__
#include "flockIFeedService.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:    flockIOpmlService */
#define FLOCKIOPMLSERVICE_IID_STR "13bef0df-89ba-4608-bfc1-c80a0a8b64a5"

#define FLOCKIOPMLSERVICE_IID \
  {0x13bef0df, 0x89ba, 0x4608, \
    { 0xbf, 0xc1, 0xc8, 0x0a, 0x0a, 0x8b, 0x64, 0xa5 }}

class NS_NO_VTABLE flockIOpmlService : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKIOPMLSERVICE_IID)

  /* void getFeedsInOpml (in AString url, out PRUint32 count, [array, size_is (count), retval] out string feeds); */
  NS_IMETHOD GetFeedsInOpml(const nsAString & url, PRUint32 *count, char ***feeds) = 0;

  /* void loadOpmlView (in AString url, in flockIFeedChannel channel); */
  NS_IMETHOD LoadOpmlView(const nsAString & url, flockIFeedChannel *channel) = 0;

  /* void refreshOpml (in AString url); */
  NS_IMETHOD RefreshOpml(const nsAString & url) = 0;

  /* boolean isOpml (in nsIDOMDocument dom); */
  NS_IMETHOD IsOpml(nsIDOMDocument *dom, PRBool *_retval) = 0;

  /* void subscribeOpml (in AString url, in flockIFeedRefreshListener listener); */
  NS_IMETHOD SubscribeOpml(const nsAString & url, flockIFeedRefreshListener *listener) = 0;

  /* void subscribeDOM (in AString url, in nsIDOMDocument dom, in flockIFeedRefreshListener listener); */
  NS_IMETHOD SubscribeDOM(const nsAString & url, nsIDOMDocument *dom, flockIFeedRefreshListener *listener) = 0;

  /* string test (); */
  NS_IMETHOD Test(char **_retval) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKIOPMLSERVICE \
  NS_IMETHOD GetFeedsInOpml(const nsAString & url, PRUint32 *count, char ***feeds); \
  NS_IMETHOD LoadOpmlView(const nsAString & url, flockIFeedChannel *channel); \
  NS_IMETHOD RefreshOpml(const nsAString & url); \
  NS_IMETHOD IsOpml(nsIDOMDocument *dom, PRBool *_retval); \
  NS_IMETHOD SubscribeOpml(const nsAString & url, flockIFeedRefreshListener *listener); \
  NS_IMETHOD SubscribeDOM(const nsAString & url, nsIDOMDocument *dom, flockIFeedRefreshListener *listener); \
  NS_IMETHOD Test(char **_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKIOPMLSERVICE(_to) \
  NS_IMETHOD GetFeedsInOpml(const nsAString & url, PRUint32 *count, char ***feeds) { return _to GetFeedsInOpml(url, count, feeds); } \
  NS_IMETHOD LoadOpmlView(const nsAString & url, flockIFeedChannel *channel) { return _to LoadOpmlView(url, channel); } \
  NS_IMETHOD RefreshOpml(const nsAString & url) { return _to RefreshOpml(url); } \
  NS_IMETHOD IsOpml(nsIDOMDocument *dom, PRBool *_retval) { return _to IsOpml(dom, _retval); } \
  NS_IMETHOD SubscribeOpml(const nsAString & url, flockIFeedRefreshListener *listener) { return _to SubscribeOpml(url, listener); } \
  NS_IMETHOD SubscribeDOM(const nsAString & url, nsIDOMDocument *dom, flockIFeedRefreshListener *listener) { return _to SubscribeDOM(url, dom, listener); } \
  NS_IMETHOD Test(char **_retval) { return _to Test(_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_FLOCKIOPMLSERVICE(_to) \
  NS_IMETHOD GetFeedsInOpml(const nsAString & url, PRUint32 *count, char ***feeds) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFeedsInOpml(url, count, feeds); } \
  NS_IMETHOD LoadOpmlView(const nsAString & url, flockIFeedChannel *channel) { return !_to ? NS_ERROR_NULL_POINTER : _to->LoadOpmlView(url, channel); } \
  NS_IMETHOD RefreshOpml(const nsAString & url) { return !_to ? NS_ERROR_NULL_POINTER : _to->RefreshOpml(url); } \
  NS_IMETHOD IsOpml(nsIDOMDocument *dom, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsOpml(dom, _retval); } \
  NS_IMETHOD SubscribeOpml(const nsAString & url, flockIFeedRefreshListener *listener) { return !_to ? NS_ERROR_NULL_POINTER : _to->SubscribeOpml(url, listener); } \
  NS_IMETHOD SubscribeDOM(const nsAString & url, nsIDOMDocument *dom, flockIFeedRefreshListener *listener) { return !_to ? NS_ERROR_NULL_POINTER : _to->SubscribeDOM(url, dom, listener); } \
  NS_IMETHOD Test(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Test(_retval); } 

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

/* Header file */
class _MYCLASS_ : public flockIOpmlService
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKIOPMLSERVICE

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

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

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

/* void getFeedsInOpml (in AString url, out PRUint32 count, [array, size_is (count), retval] out string feeds); */
NS_IMETHODIMP _MYCLASS_::GetFeedsInOpml(const nsAString & url, PRUint32 *count, char ***feeds)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void loadOpmlView (in AString url, in flockIFeedChannel channel); */
NS_IMETHODIMP _MYCLASS_::LoadOpmlView(const nsAString & url, flockIFeedChannel *channel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void refreshOpml (in AString url); */
NS_IMETHODIMP _MYCLASS_::RefreshOpml(const nsAString & url)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean isOpml (in nsIDOMDocument dom); */
NS_IMETHODIMP _MYCLASS_::IsOpml(nsIDOMDocument *dom, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void subscribeOpml (in AString url, in flockIFeedRefreshListener listener); */
NS_IMETHODIMP _MYCLASS_::SubscribeOpml(const nsAString & url, flockIFeedRefreshListener *listener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void subscribeDOM (in AString url, in nsIDOMDocument dom, in flockIFeedRefreshListener listener); */
NS_IMETHODIMP _MYCLASS_::SubscribeDOM(const nsAString & url, nsIDOMDocument *dom, flockIFeedRefreshListener *listener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* string test (); */
NS_IMETHODIMP _MYCLASS_::Test(char **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_flockIOpmlService_h__ */
