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

#ifndef __gen_flockIRDFSourceUtils_h__
#define __gen_flockIRDFSourceUtils_h__


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

#ifndef __gen_nsIRDFDataSource_h__
#include "nsIRDFDataSource.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:    flockIRDFSourceUtils */
#define FLOCKIRDFSOURCEUTILS_IID_STR "7cbe15f4-1334-4a33-9ffe-def30eda7fa9"

#define FLOCKIRDFSOURCEUTILS_IID \
  {0x7cbe15f4, 0x1334, 0x4a33, \
    { 0x9f, 0xfe, 0xde, 0xf3, 0x0e, 0xda, 0x7f, 0xa9 }}

class NS_NO_VTABLE flockIRDFSourceUtils : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKIRDFSOURCEUTILS_IID)

  /* void init (in nsIRDFDataSource aDataSource, in nsIRDFResource aSource); */
  NS_IMETHOD Init(nsIRDFDataSource *aDataSource, nsIRDFResource *aSource) = 0;

  /* readonly attribute nsIRDFResource parent; */
  NS_IMETHOD GetParent(nsIRDFResource * *aParent) = 0;

  /* void deleteAllTargets (in nsIRDFResource aProperty); */
  NS_IMETHOD DeleteAllTargets(nsIRDFResource *aProperty) = 0;

  /* void emptyContainer (); */
  NS_IMETHOD EmptyContainer(void) = 0;

  /* void destroy (); */
  NS_IMETHOD Destroy(void) = 0;

  /* PRTime dateValue (in nsIRDFNode aNode); */
  NS_IMETHOD DateValue(nsIRDFNode *aNode, PRTime *_retval) = 0;

  /* PRTime getDateTarget (in AUTF8String aProperty); */
  NS_IMETHOD GetDateTarget(const nsACString & aProperty, PRTime *_retval) = 0;

  /* void setDateTarget (in AUTF8String aProperty, in PRTime aValue); */
  NS_IMETHOD SetDateTarget(const nsACString & aProperty, PRTime aValue) = 0;

  /* AString litValue (in nsIRDFNode aNode); */
  NS_IMETHOD LitValue(nsIRDFNode *aNode, nsAString & _retval) = 0;

  /* AString getLitTarget (in AUTF8String aProperty); */
  NS_IMETHOD GetLitTarget(const nsACString & aProperty, nsAString & _retval) = 0;

  /* void setLitTarget (in AUTF8String aProperty, in AString aValue); */
  NS_IMETHOD SetLitTarget(const nsACString & aProperty, const nsAString & aValue) = 0;

  /* nsIRDFNode getTarget (in AUTF8String aProperty); */
  NS_IMETHOD GetTarget(const nsACString & aProperty, nsIRDFNode **_retval) = 0;

  /* void setTarget (in AUTF8String aProperty, in nsIRDFNode aTarget); */
  NS_IMETHOD SetTarget(const nsACString & aProperty, nsIRDFNode *aTarget) = 0;

  /* AUTF8String insertSortedOn (in AUTF8String aSortCriteria, in nsIRDFResource aChild2Insert, in PRInt32 aMaxCount); */
  NS_IMETHOD InsertSortedOn(const nsACString & aSortCriteria, nsIRDFResource *aChild2Insert, PRInt32 aMaxCount, nsACString & _retval) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKIRDFSOURCEUTILS \
  NS_IMETHOD Init(nsIRDFDataSource *aDataSource, nsIRDFResource *aSource); \
  NS_IMETHOD GetParent(nsIRDFResource * *aParent); \
  NS_IMETHOD DeleteAllTargets(nsIRDFResource *aProperty); \
  NS_IMETHOD EmptyContainer(void); \
  NS_IMETHOD Destroy(void); \
  NS_IMETHOD DateValue(nsIRDFNode *aNode, PRTime *_retval); \
  NS_IMETHOD GetDateTarget(const nsACString & aProperty, PRTime *_retval); \
  NS_IMETHOD SetDateTarget(const nsACString & aProperty, PRTime aValue); \
  NS_IMETHOD LitValue(nsIRDFNode *aNode, nsAString & _retval); \
  NS_IMETHOD GetLitTarget(const nsACString & aProperty, nsAString & _retval); \
  NS_IMETHOD SetLitTarget(const nsACString & aProperty, const nsAString & aValue); \
  NS_IMETHOD GetTarget(const nsACString & aProperty, nsIRDFNode **_retval); \
  NS_IMETHOD SetTarget(const nsACString & aProperty, nsIRDFNode *aTarget); \
  NS_IMETHOD InsertSortedOn(const nsACString & aSortCriteria, nsIRDFResource *aChild2Insert, PRInt32 aMaxCount, nsACString & _retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKIRDFSOURCEUTILS(_to) \
  NS_IMETHOD Init(nsIRDFDataSource *aDataSource, nsIRDFResource *aSource) { return _to Init(aDataSource, aSource); } \
  NS_IMETHOD GetParent(nsIRDFResource * *aParent) { return _to GetParent(aParent); } \
  NS_IMETHOD DeleteAllTargets(nsIRDFResource *aProperty) { return _to DeleteAllTargets(aProperty); } \
  NS_IMETHOD EmptyContainer(void) { return _to EmptyContainer(); } \
  NS_IMETHOD Destroy(void) { return _to Destroy(); } \
  NS_IMETHOD DateValue(nsIRDFNode *aNode, PRTime *_retval) { return _to DateValue(aNode, _retval); } \
  NS_IMETHOD GetDateTarget(const nsACString & aProperty, PRTime *_retval) { return _to GetDateTarget(aProperty, _retval); } \
  NS_IMETHOD SetDateTarget(const nsACString & aProperty, PRTime aValue) { return _to SetDateTarget(aProperty, aValue); } \
  NS_IMETHOD LitValue(nsIRDFNode *aNode, nsAString & _retval) { return _to LitValue(aNode, _retval); } \
  NS_IMETHOD GetLitTarget(const nsACString & aProperty, nsAString & _retval) { return _to GetLitTarget(aProperty, _retval); } \
  NS_IMETHOD SetLitTarget(const nsACString & aProperty, const nsAString & aValue) { return _to SetLitTarget(aProperty, aValue); } \
  NS_IMETHOD GetTarget(const nsACString & aProperty, nsIRDFNode **_retval) { return _to GetTarget(aProperty, _retval); } \
  NS_IMETHOD SetTarget(const nsACString & aProperty, nsIRDFNode *aTarget) { return _to SetTarget(aProperty, aTarget); } \
  NS_IMETHOD InsertSortedOn(const nsACString & aSortCriteria, nsIRDFResource *aChild2Insert, PRInt32 aMaxCount, nsACString & _retval) { return _to InsertSortedOn(aSortCriteria, aChild2Insert, aMaxCount, _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_FLOCKIRDFSOURCEUTILS(_to) \
  NS_IMETHOD Init(nsIRDFDataSource *aDataSource, nsIRDFResource *aSource) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(aDataSource, aSource); } \
  NS_IMETHOD GetParent(nsIRDFResource * *aParent) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParent(aParent); } \
  NS_IMETHOD DeleteAllTargets(nsIRDFResource *aProperty) { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteAllTargets(aProperty); } \
  NS_IMETHOD EmptyContainer(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->EmptyContainer(); } \
  NS_IMETHOD Destroy(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Destroy(); } \
  NS_IMETHOD DateValue(nsIRDFNode *aNode, PRTime *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->DateValue(aNode, _retval); } \
  NS_IMETHOD GetDateTarget(const nsACString & aProperty, PRTime *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDateTarget(aProperty, _retval); } \
  NS_IMETHOD SetDateTarget(const nsACString & aProperty, PRTime aValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDateTarget(aProperty, aValue); } \
  NS_IMETHOD LitValue(nsIRDFNode *aNode, nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->LitValue(aNode, _retval); } \
  NS_IMETHOD GetLitTarget(const nsACString & aProperty, nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLitTarget(aProperty, _retval); } \
  NS_IMETHOD SetLitTarget(const nsACString & aProperty, const nsAString & aValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLitTarget(aProperty, aValue); } \
  NS_IMETHOD GetTarget(const nsACString & aProperty, nsIRDFNode **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTarget(aProperty, _retval); } \
  NS_IMETHOD SetTarget(const nsACString & aProperty, nsIRDFNode *aTarget) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTarget(aProperty, aTarget); } \
  NS_IMETHOD InsertSortedOn(const nsACString & aSortCriteria, nsIRDFResource *aChild2Insert, PRInt32 aMaxCount, nsACString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->InsertSortedOn(aSortCriteria, aChild2Insert, aMaxCount, _retval); } 

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

/* Header file */
class _MYCLASS_ : public flockIRDFSourceUtils
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKIRDFSOURCEUTILS

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

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

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

/* void init (in nsIRDFDataSource aDataSource, in nsIRDFResource aSource); */
NS_IMETHODIMP _MYCLASS_::Init(nsIRDFDataSource *aDataSource, nsIRDFResource *aSource)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIRDFResource parent; */
NS_IMETHODIMP _MYCLASS_::GetParent(nsIRDFResource * *aParent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void deleteAllTargets (in nsIRDFResource aProperty); */
NS_IMETHODIMP _MYCLASS_::DeleteAllTargets(nsIRDFResource *aProperty)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

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

/* PRTime dateValue (in nsIRDFNode aNode); */
NS_IMETHODIMP _MYCLASS_::DateValue(nsIRDFNode *aNode, PRTime *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* PRTime getDateTarget (in AUTF8String aProperty); */
NS_IMETHODIMP _MYCLASS_::GetDateTarget(const nsACString & aProperty, PRTime *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setDateTarget (in AUTF8String aProperty, in PRTime aValue); */
NS_IMETHODIMP _MYCLASS_::SetDateTarget(const nsACString & aProperty, PRTime aValue)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString litValue (in nsIRDFNode aNode); */
NS_IMETHODIMP _MYCLASS_::LitValue(nsIRDFNode *aNode, nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString getLitTarget (in AUTF8String aProperty); */
NS_IMETHODIMP _MYCLASS_::GetLitTarget(const nsACString & aProperty, nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setLitTarget (in AUTF8String aProperty, in AString aValue); */
NS_IMETHODIMP _MYCLASS_::SetLitTarget(const nsACString & aProperty, const nsAString & aValue)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFNode getTarget (in AUTF8String aProperty); */
NS_IMETHODIMP _MYCLASS_::GetTarget(const nsACString & aProperty, nsIRDFNode **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setTarget (in AUTF8String aProperty, in nsIRDFNode aTarget); */
NS_IMETHODIMP _MYCLASS_::SetTarget(const nsACString & aProperty, nsIRDFNode *aTarget)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AUTF8String insertSortedOn (in AUTF8String aSortCriteria, in nsIRDFResource aChild2Insert, in PRInt32 aMaxCount); */
NS_IMETHODIMP _MYCLASS_::InsertSortedOn(const nsACString & aSortCriteria, nsIRDFResource *aChild2Insert, PRInt32 aMaxCount, nsACString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

// a2d69996-8039-4291-b7be-a6d997002389
#define FLOCK_RDFSOURCEUTILS_CID \
{ 0xa2d69996, 0x8039, 0x4291, { 0xb7, 0xbe, 0xa6, 0xd9, 0x97, 0x00, 0x23, 0x89 } }
#define FLOCK_RDFSOURCEUTILS_CLASSNAME "Flock RDF Source Utils"
#define FLOCK_RDFSOURCEUTILS_CONTRACTID "@flock.com/rdf-source-utils;1"

#endif /* __gen_flockIRDFSourceUtils_h__ */
