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

#ifndef __gen_flockIStreamUtils_h__
#define __gen_flockIStreamUtils_h__


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

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

#ifndef __gen_nsISimpleEnumerator_h__
#include "nsISimpleEnumerator.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:    flockIStreamUtils */
#define FLOCKISTREAMUTILS_IID_STR "2347b515-0625-4730-87bd-d494400b8f8c"

#define FLOCKISTREAMUTILS_IID \
  {0x2347b515, 0x0625, 0x4730, \
    { 0x87, 0xbd, 0xd4, 0x94, 0x40, 0x0b, 0x8f, 0x8c }}

class NS_NO_VTABLE flockIStreamUtils : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKISTREAMUTILS_IID)

  enum { STREAMS_UNSEEN = 1 };

  enum { STREAMS_SEEN = 2 };

  enum { STREAMS_STARRED = 4 };

  /* nsISimpleEnumerator enumerateStreams (in nsIRDFDataSource aDataSource, in nsIRDFResource aResource, in boolean aEnumerateBackwards, in PRInt32 aParam); */
  NS_IMETHOD EnumerateStreams(nsIRDFDataSource *aDataSource, nsIRDFResource *aResource, PRBool aEnumerateBackwards, PRInt32 aParam, nsISimpleEnumerator **_retval) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKISTREAMUTILS \
  NS_IMETHOD EnumerateStreams(nsIRDFDataSource *aDataSource, nsIRDFResource *aResource, PRBool aEnumerateBackwards, PRInt32 aParam, nsISimpleEnumerator **_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKISTREAMUTILS(_to) \
  NS_IMETHOD EnumerateStreams(nsIRDFDataSource *aDataSource, nsIRDFResource *aResource, PRBool aEnumerateBackwards, PRInt32 aParam, nsISimpleEnumerator **_retval) { return _to EnumerateStreams(aDataSource, aResource, aEnumerateBackwards, aParam, _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_FLOCKISTREAMUTILS(_to) \
  NS_IMETHOD EnumerateStreams(nsIRDFDataSource *aDataSource, nsIRDFResource *aResource, PRBool aEnumerateBackwards, PRInt32 aParam, nsISimpleEnumerator **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateStreams(aDataSource, aResource, aEnumerateBackwards, aParam, _retval); } 

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

/* Header file */
class _MYCLASS_ : public flockIStreamUtils
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKISTREAMUTILS

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

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

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

/* nsISimpleEnumerator enumerateStreams (in nsIRDFDataSource aDataSource, in nsIRDFResource aResource, in boolean aEnumerateBackwards, in PRInt32 aParam); */
NS_IMETHODIMP _MYCLASS_::EnumerateStreams(nsIRDFDataSource *aDataSource, nsIRDFResource *aResource, PRBool aEnumerateBackwards, PRInt32 aParam, nsISimpleEnumerator **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    flockIStreamCountsPropagator */
#define FLOCKISTREAMCOUNTSPROPAGATOR_IID_STR "8ebb2191-ae33-4472-b16f-dab99aabe113"

#define FLOCKISTREAMCOUNTSPROPAGATOR_IID \
  {0x8ebb2191, 0xae33, 0x4472, \
    { 0xb1, 0x6f, 0xda, 0xb9, 0x9a, 0xab, 0xe1, 0x13 }}

class NS_NO_VTABLE flockIStreamCountsPropagator : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKISTREAMCOUNTSPROPAGATOR_IID)

  /* void syncCounts (in nsIRDFResource aResource); */
  NS_IMETHOD SyncCounts(nsIRDFResource *aResource) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKISTREAMCOUNTSPROPAGATOR \
  NS_IMETHOD SyncCounts(nsIRDFResource *aResource); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKISTREAMCOUNTSPROPAGATOR(_to) \
  NS_IMETHOD SyncCounts(nsIRDFResource *aResource) { return _to SyncCounts(aResource); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_FLOCKISTREAMCOUNTSPROPAGATOR(_to) \
  NS_IMETHOD SyncCounts(nsIRDFResource *aResource) { return !_to ? NS_ERROR_NULL_POINTER : _to->SyncCounts(aResource); } 

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

/* Header file */
class _MYCLASS_ : public flockIStreamCountsPropagator
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKISTREAMCOUNTSPROPAGATOR

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

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

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

/* void syncCounts (in nsIRDFResource aResource); */
NS_IMETHODIMP _MYCLASS_::SyncCounts(nsIRDFResource *aResource)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

// a2d69996-8039-4291-b7be-a6f997002389
#define FLOCK_STREAMUTILS_CID \
{ 0xa2d69996, 0x8039, 0x4291, { 0xb7, 0xbe, 0xa6, 0xf9, 0x97, 0x00, 0x23, 0x89 } }
#define FLOCK_STREAMUTILS_CLASSNAME "Flock Stream Utils"
#define FLOCK_STREAMUTILS_CONTRACTID "@flock.com/stream-utils;1"
// 08091566-bd98-49f1-9e16-fc0465c15ce8
#define FLOCK_STREAMCOUNTSPROPAGATOR_CID \
{ 0x08091566, 0xbd98, 0x49f1, { 0x9e, 0x16, 0xfc, 0x04, 0x65, 0xc1, 0x5c, 0xe8 } }
#define FLOCK_STREAMCOUNTSPROPAGATOR_CLASSNAME "Flock Stream Counts Propagator"
#define FLOCK_STREAMCOUNTSPROPAGATOR_CONTRACTID "@flock.com/stream-counts-propagator;1"

#endif /* __gen_flockIStreamUtils_h__ */
