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

#ifndef __gen_nsIBookmarksService_h__
#define __gen_nsIBookmarksService_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 nsIArray; /* forward declaration */

class nsIRDFResource; /* forward declaration */

class nsITransactionManager; /* forward declaration */


/* starting interface:    nsIBookmarksService */
#define NS_IBOOKMARKSSERVICE_IID_STR "ccc48346-429d-4931-94dc-beb1afcea292"

#define NS_IBOOKMARKSSERVICE_IID \
  {0xccc48346, 0x429d, 0x4931, \
    { 0x94, 0xdc, 0xbe, 0xb1, 0xaf, 0xce, 0xa2, 0x92 }}

class NS_NO_VTABLE nsIBookmarksService : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IBOOKMARKSSERVICE_IID)

  enum { BOOKMARK_DEFAULT_TYPE = 0U };

  enum { BOOKMARK_SEARCH_TYPE = 1U };

  enum { BOOKMARK_FIND_TYPE = 2U };

  /* boolean readBookmarks (); */
  NS_IMETHOD ReadBookmarks(PRBool *_retval) = 0;

  /* boolean isBookmarkedResource (in nsIRDFResource aSource); */
  NS_IMETHOD IsBookmarkedResource(nsIRDFResource *aSource, PRBool *_retval) = 0;

  /* nsIRDFResource createFolder (in wstring aName); */
  NS_IMETHOD CreateFolder(const PRUnichar *aName, nsIRDFResource **_retval) = 0;

  /* nsIRDFResource createFolderInContainer (in wstring aName, in nsIRDFResource aParentFolder, in long aIndex); */
  NS_IMETHOD CreateFolderInContainer(const PRUnichar *aName, nsIRDFResource *aParentFolder, PRInt32 aIndex, nsIRDFResource **_retval) = 0;

  /* nsIRDFResource createBookmark (in wstring aName, in wstring aURL, in wstring aShortcutURL, in wstring aDescription, in wstring aDocCharSet, in wstring aPostData); */
  NS_IMETHOD CreateBookmark(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aShortcutURL, const PRUnichar *aDescription, const PRUnichar *aDocCharSet, const PRUnichar *aPostData, nsIRDFResource **_retval) = 0;

  /* nsIRDFResource createBookmarkInContainer (in wstring aName, in wstring aURL, in wstring aShortcutURL, in wstring aDescription, in wstring aDocCharSet, in wstring aPostData, in nsIRDFResource aFolder, in long aIndex); */
  NS_IMETHOD CreateBookmarkInContainer(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aShortcutURL, const PRUnichar *aDescription, const PRUnichar *aDocCharSet, const PRUnichar *aPostData, nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval) = 0;

  /* nsIRDFResource createLivemark (in wstring aName, in wstring aURL, in wstring aRSSURL, in wstring aDescription); */
  NS_IMETHOD CreateLivemark(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aRSSURL, const PRUnichar *aDescription, nsIRDFResource **_retval) = 0;

  /* nsIRDFResource createLivemarkInContainer (in wstring aName, in wstring aURL, in wstring aRSSURL, in wstring aDescription, in nsIRDFResource aFolder, in long aIndex); */
  NS_IMETHOD CreateLivemarkInContainer(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aRSSURL, const PRUnichar *aDescription, nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval) = 0;

  /* nsIRDFResource createSeparator (); */
  NS_IMETHOD CreateSeparator(nsIRDFResource **_retval) = 0;

  /* nsIRDFResource cloneResource (in nsIRDFResource aSource); */
  NS_IMETHOD CloneResource(nsIRDFResource *aSource, nsIRDFResource **_retval) = 0;

  /* nsIRDFResource getParent (in nsIRDFResource aSource); */
  NS_IMETHOD GetParent(nsIRDFResource *aSource, nsIRDFResource **_retval) = 0;

  /* nsIArray getParentChain (in nsIRDFResource aSource); */
  NS_IMETHOD GetParentChain(nsIRDFResource *aSource, nsIArray **_retval) = 0;

  /* nsIRDFResource getBookmarksToolbarFolder (); */
  NS_IMETHOD GetBookmarksToolbarFolder(nsIRDFResource **_retval) = 0;

  /* void setBookmarksToolbarFolder (in nsIRDFResource aSource); */
  NS_IMETHOD SetBookmarksToolbarFolder(nsIRDFResource *aSource) = 0;

  /* void updateBookmarkIcon (in string aURL, in string aIconMIMEtype, [array, size_is (aIconDataLen), const] in octet aIconData, in unsigned long aIconDataLen); */
  NS_IMETHOD UpdateBookmarkIcon(const char *aURL, const char *aIconMIMEtype, const PRUint8 *aIconData, PRUint32 aIconDataLen) = 0;

  /* void removeBookmarkIcon (in string aURL); */
  NS_IMETHOD RemoveBookmarkIcon(const char *aURL) = 0;

  /* void updateLastVisitedDate (in string aURL, in wstring docCharset); */
  NS_IMETHOD UpdateLastVisitedDate(const char *aURL, const PRUnichar *docCharset) = 0;

  /* AString getLastCharset (in AUTF8String aURL); */
  NS_IMETHOD GetLastCharset(const nsACString & aURL, nsAString & _retval) = 0;

  /* string resolveKeyword (in wstring aName, out wstring aPostData); */
  NS_IMETHOD ResolveKeyword(const PRUnichar *aName, PRUnichar **aPostData, char **_retval) = 0;

  /* readonly attribute nsITransactionManager transactionManager; */
  NS_IMETHOD GetTransactionManager(nsITransactionManager * *aTransactionManager) = 0;

  /* void addBookmarkImmediately (in wstring aURI, in wstring aTitle, in long bmType, in wstring docCharset); */
  NS_IMETHOD AddBookmarkImmediately(const PRUnichar *aURI, const PRUnichar *aTitle, PRInt32 bmType, const PRUnichar *docCharset) = 0;

  /* boolean isBookmarked (in string aURL); */
  NS_IMETHOD IsBookmarked(const char *aURL, PRBool *_retval) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIBOOKMARKSSERVICE \
  NS_IMETHOD ReadBookmarks(PRBool *_retval); \
  NS_IMETHOD IsBookmarkedResource(nsIRDFResource *aSource, PRBool *_retval); \
  NS_IMETHOD CreateFolder(const PRUnichar *aName, nsIRDFResource **_retval); \
  NS_IMETHOD CreateFolderInContainer(const PRUnichar *aName, nsIRDFResource *aParentFolder, PRInt32 aIndex, nsIRDFResource **_retval); \
  NS_IMETHOD CreateBookmark(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aShortcutURL, const PRUnichar *aDescription, const PRUnichar *aDocCharSet, const PRUnichar *aPostData, nsIRDFResource **_retval); \
  NS_IMETHOD CreateBookmarkInContainer(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aShortcutURL, const PRUnichar *aDescription, const PRUnichar *aDocCharSet, const PRUnichar *aPostData, nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval); \
  NS_IMETHOD CreateLivemark(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aRSSURL, const PRUnichar *aDescription, nsIRDFResource **_retval); \
  NS_IMETHOD CreateLivemarkInContainer(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aRSSURL, const PRUnichar *aDescription, nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval); \
  NS_IMETHOD CreateSeparator(nsIRDFResource **_retval); \
  NS_IMETHOD CloneResource(nsIRDFResource *aSource, nsIRDFResource **_retval); \
  NS_IMETHOD GetParent(nsIRDFResource *aSource, nsIRDFResource **_retval); \
  NS_IMETHOD GetParentChain(nsIRDFResource *aSource, nsIArray **_retval); \
  NS_IMETHOD GetBookmarksToolbarFolder(nsIRDFResource **_retval); \
  NS_IMETHOD SetBookmarksToolbarFolder(nsIRDFResource *aSource); \
  NS_IMETHOD UpdateBookmarkIcon(const char *aURL, const char *aIconMIMEtype, const PRUint8 *aIconData, PRUint32 aIconDataLen); \
  NS_IMETHOD RemoveBookmarkIcon(const char *aURL); \
  NS_IMETHOD UpdateLastVisitedDate(const char *aURL, const PRUnichar *docCharset); \
  NS_IMETHOD GetLastCharset(const nsACString & aURL, nsAString & _retval); \
  NS_IMETHOD ResolveKeyword(const PRUnichar *aName, PRUnichar **aPostData, char **_retval); \
  NS_IMETHOD GetTransactionManager(nsITransactionManager * *aTransactionManager); \
  NS_IMETHOD AddBookmarkImmediately(const PRUnichar *aURI, const PRUnichar *aTitle, PRInt32 bmType, const PRUnichar *docCharset); \
  NS_IMETHOD IsBookmarked(const char *aURL, PRBool *_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIBOOKMARKSSERVICE(_to) \
  NS_IMETHOD ReadBookmarks(PRBool *_retval) { return _to ReadBookmarks(_retval); } \
  NS_IMETHOD IsBookmarkedResource(nsIRDFResource *aSource, PRBool *_retval) { return _to IsBookmarkedResource(aSource, _retval); } \
  NS_IMETHOD CreateFolder(const PRUnichar *aName, nsIRDFResource **_retval) { return _to CreateFolder(aName, _retval); } \
  NS_IMETHOD CreateFolderInContainer(const PRUnichar *aName, nsIRDFResource *aParentFolder, PRInt32 aIndex, nsIRDFResource **_retval) { return _to CreateFolderInContainer(aName, aParentFolder, aIndex, _retval); } \
  NS_IMETHOD CreateBookmark(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aShortcutURL, const PRUnichar *aDescription, const PRUnichar *aDocCharSet, const PRUnichar *aPostData, nsIRDFResource **_retval) { return _to CreateBookmark(aName, aURL, aShortcutURL, aDescription, aDocCharSet, aPostData, _retval); } \
  NS_IMETHOD CreateBookmarkInContainer(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aShortcutURL, const PRUnichar *aDescription, const PRUnichar *aDocCharSet, const PRUnichar *aPostData, nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval) { return _to CreateBookmarkInContainer(aName, aURL, aShortcutURL, aDescription, aDocCharSet, aPostData, aFolder, aIndex, _retval); } \
  NS_IMETHOD CreateLivemark(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aRSSURL, const PRUnichar *aDescription, nsIRDFResource **_retval) { return _to CreateLivemark(aName, aURL, aRSSURL, aDescription, _retval); } \
  NS_IMETHOD CreateLivemarkInContainer(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aRSSURL, const PRUnichar *aDescription, nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval) { return _to CreateLivemarkInContainer(aName, aURL, aRSSURL, aDescription, aFolder, aIndex, _retval); } \
  NS_IMETHOD CreateSeparator(nsIRDFResource **_retval) { return _to CreateSeparator(_retval); } \
  NS_IMETHOD CloneResource(nsIRDFResource *aSource, nsIRDFResource **_retval) { return _to CloneResource(aSource, _retval); } \
  NS_IMETHOD GetParent(nsIRDFResource *aSource, nsIRDFResource **_retval) { return _to GetParent(aSource, _retval); } \
  NS_IMETHOD GetParentChain(nsIRDFResource *aSource, nsIArray **_retval) { return _to GetParentChain(aSource, _retval); } \
  NS_IMETHOD GetBookmarksToolbarFolder(nsIRDFResource **_retval) { return _to GetBookmarksToolbarFolder(_retval); } \
  NS_IMETHOD SetBookmarksToolbarFolder(nsIRDFResource *aSource) { return _to SetBookmarksToolbarFolder(aSource); } \
  NS_IMETHOD UpdateBookmarkIcon(const char *aURL, const char *aIconMIMEtype, const PRUint8 *aIconData, PRUint32 aIconDataLen) { return _to UpdateBookmarkIcon(aURL, aIconMIMEtype, aIconData, aIconDataLen); } \
  NS_IMETHOD RemoveBookmarkIcon(const char *aURL) { return _to RemoveBookmarkIcon(aURL); } \
  NS_IMETHOD UpdateLastVisitedDate(const char *aURL, const PRUnichar *docCharset) { return _to UpdateLastVisitedDate(aURL, docCharset); } \
  NS_IMETHOD GetLastCharset(const nsACString & aURL, nsAString & _retval) { return _to GetLastCharset(aURL, _retval); } \
  NS_IMETHOD ResolveKeyword(const PRUnichar *aName, PRUnichar **aPostData, char **_retval) { return _to ResolveKeyword(aName, aPostData, _retval); } \
  NS_IMETHOD GetTransactionManager(nsITransactionManager * *aTransactionManager) { return _to GetTransactionManager(aTransactionManager); } \
  NS_IMETHOD AddBookmarkImmediately(const PRUnichar *aURI, const PRUnichar *aTitle, PRInt32 bmType, const PRUnichar *docCharset) { return _to AddBookmarkImmediately(aURI, aTitle, bmType, docCharset); } \
  NS_IMETHOD IsBookmarked(const char *aURL, PRBool *_retval) { return _to IsBookmarked(aURL, _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_NSIBOOKMARKSSERVICE(_to) \
  NS_IMETHOD ReadBookmarks(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ReadBookmarks(_retval); } \
  NS_IMETHOD IsBookmarkedResource(nsIRDFResource *aSource, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsBookmarkedResource(aSource, _retval); } \
  NS_IMETHOD CreateFolder(const PRUnichar *aName, nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateFolder(aName, _retval); } \
  NS_IMETHOD CreateFolderInContainer(const PRUnichar *aName, nsIRDFResource *aParentFolder, PRInt32 aIndex, nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateFolderInContainer(aName, aParentFolder, aIndex, _retval); } \
  NS_IMETHOD CreateBookmark(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aShortcutURL, const PRUnichar *aDescription, const PRUnichar *aDocCharSet, const PRUnichar *aPostData, nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateBookmark(aName, aURL, aShortcutURL, aDescription, aDocCharSet, aPostData, _retval); } \
  NS_IMETHOD CreateBookmarkInContainer(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aShortcutURL, const PRUnichar *aDescription, const PRUnichar *aDocCharSet, const PRUnichar *aPostData, nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateBookmarkInContainer(aName, aURL, aShortcutURL, aDescription, aDocCharSet, aPostData, aFolder, aIndex, _retval); } \
  NS_IMETHOD CreateLivemark(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aRSSURL, const PRUnichar *aDescription, nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateLivemark(aName, aURL, aRSSURL, aDescription, _retval); } \
  NS_IMETHOD CreateLivemarkInContainer(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aRSSURL, const PRUnichar *aDescription, nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateLivemarkInContainer(aName, aURL, aRSSURL, aDescription, aFolder, aIndex, _retval); } \
  NS_IMETHOD CreateSeparator(nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateSeparator(_retval); } \
  NS_IMETHOD CloneResource(nsIRDFResource *aSource, nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CloneResource(aSource, _retval); } \
  NS_IMETHOD GetParent(nsIRDFResource *aSource, nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParent(aSource, _retval); } \
  NS_IMETHOD GetParentChain(nsIRDFResource *aSource, nsIArray **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParentChain(aSource, _retval); } \
  NS_IMETHOD GetBookmarksToolbarFolder(nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBookmarksToolbarFolder(_retval); } \
  NS_IMETHOD SetBookmarksToolbarFolder(nsIRDFResource *aSource) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBookmarksToolbarFolder(aSource); } \
  NS_IMETHOD UpdateBookmarkIcon(const char *aURL, const char *aIconMIMEtype, const PRUint8 *aIconData, PRUint32 aIconDataLen) { return !_to ? NS_ERROR_NULL_POINTER : _to->UpdateBookmarkIcon(aURL, aIconMIMEtype, aIconData, aIconDataLen); } \
  NS_IMETHOD RemoveBookmarkIcon(const char *aURL) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveBookmarkIcon(aURL); } \
  NS_IMETHOD UpdateLastVisitedDate(const char *aURL, const PRUnichar *docCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->UpdateLastVisitedDate(aURL, docCharset); } \
  NS_IMETHOD GetLastCharset(const nsACString & aURL, nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLastCharset(aURL, _retval); } \
  NS_IMETHOD ResolveKeyword(const PRUnichar *aName, PRUnichar **aPostData, char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ResolveKeyword(aName, aPostData, _retval); } \
  NS_IMETHOD GetTransactionManager(nsITransactionManager * *aTransactionManager) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTransactionManager(aTransactionManager); } \
  NS_IMETHOD AddBookmarkImmediately(const PRUnichar *aURI, const PRUnichar *aTitle, PRInt32 bmType, const PRUnichar *docCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddBookmarkImmediately(aURI, aTitle, bmType, docCharset); } \
  NS_IMETHOD IsBookmarked(const char *aURL, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsBookmarked(aURL, _retval); } 

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

/* Header file */
class nsBookmarksService : public nsIBookmarksService
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIBOOKMARKSSERVICE

  nsBookmarksService();

private:
  ~nsBookmarksService();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsBookmarksService, nsIBookmarksService)

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

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

/* boolean readBookmarks (); */
NS_IMETHODIMP nsBookmarksService::ReadBookmarks(PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean isBookmarkedResource (in nsIRDFResource aSource); */
NS_IMETHODIMP nsBookmarksService::IsBookmarkedResource(nsIRDFResource *aSource, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFResource createFolder (in wstring aName); */
NS_IMETHODIMP nsBookmarksService::CreateFolder(const PRUnichar *aName, nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFResource createFolderInContainer (in wstring aName, in nsIRDFResource aParentFolder, in long aIndex); */
NS_IMETHODIMP nsBookmarksService::CreateFolderInContainer(const PRUnichar *aName, nsIRDFResource *aParentFolder, PRInt32 aIndex, nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFResource createBookmark (in wstring aName, in wstring aURL, in wstring aShortcutURL, in wstring aDescription, in wstring aDocCharSet, in wstring aPostData); */
NS_IMETHODIMP nsBookmarksService::CreateBookmark(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aShortcutURL, const PRUnichar *aDescription, const PRUnichar *aDocCharSet, const PRUnichar *aPostData, nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFResource createBookmarkInContainer (in wstring aName, in wstring aURL, in wstring aShortcutURL, in wstring aDescription, in wstring aDocCharSet, in wstring aPostData, in nsIRDFResource aFolder, in long aIndex); */
NS_IMETHODIMP nsBookmarksService::CreateBookmarkInContainer(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aShortcutURL, const PRUnichar *aDescription, const PRUnichar *aDocCharSet, const PRUnichar *aPostData, nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFResource createLivemark (in wstring aName, in wstring aURL, in wstring aRSSURL, in wstring aDescription); */
NS_IMETHODIMP nsBookmarksService::CreateLivemark(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aRSSURL, const PRUnichar *aDescription, nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFResource createLivemarkInContainer (in wstring aName, in wstring aURL, in wstring aRSSURL, in wstring aDescription, in nsIRDFResource aFolder, in long aIndex); */
NS_IMETHODIMP nsBookmarksService::CreateLivemarkInContainer(const PRUnichar *aName, const PRUnichar *aURL, const PRUnichar *aRSSURL, const PRUnichar *aDescription, nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFResource createSeparator (); */
NS_IMETHODIMP nsBookmarksService::CreateSeparator(nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFResource cloneResource (in nsIRDFResource aSource); */
NS_IMETHODIMP nsBookmarksService::CloneResource(nsIRDFResource *aSource, nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFResource getParent (in nsIRDFResource aSource); */
NS_IMETHODIMP nsBookmarksService::GetParent(nsIRDFResource *aSource, nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIArray getParentChain (in nsIRDFResource aSource); */
NS_IMETHODIMP nsBookmarksService::GetParentChain(nsIRDFResource *aSource, nsIArray **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIRDFResource getBookmarksToolbarFolder (); */
NS_IMETHODIMP nsBookmarksService::GetBookmarksToolbarFolder(nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setBookmarksToolbarFolder (in nsIRDFResource aSource); */
NS_IMETHODIMP nsBookmarksService::SetBookmarksToolbarFolder(nsIRDFResource *aSource)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void updateBookmarkIcon (in string aURL, in string aIconMIMEtype, [array, size_is (aIconDataLen), const] in octet aIconData, in unsigned long aIconDataLen); */
NS_IMETHODIMP nsBookmarksService::UpdateBookmarkIcon(const char *aURL, const char *aIconMIMEtype, const PRUint8 *aIconData, PRUint32 aIconDataLen)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeBookmarkIcon (in string aURL); */
NS_IMETHODIMP nsBookmarksService::RemoveBookmarkIcon(const char *aURL)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void updateLastVisitedDate (in string aURL, in wstring docCharset); */
NS_IMETHODIMP nsBookmarksService::UpdateLastVisitedDate(const char *aURL, const PRUnichar *docCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString getLastCharset (in AUTF8String aURL); */
NS_IMETHODIMP nsBookmarksService::GetLastCharset(const nsACString & aURL, nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* string resolveKeyword (in wstring aName, out wstring aPostData); */
NS_IMETHODIMP nsBookmarksService::ResolveKeyword(const PRUnichar *aName, PRUnichar **aPostData, char **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsITransactionManager transactionManager; */
NS_IMETHODIMP nsBookmarksService::GetTransactionManager(nsITransactionManager * *aTransactionManager)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addBookmarkImmediately (in wstring aURI, in wstring aTitle, in long bmType, in wstring docCharset); */
NS_IMETHODIMP nsBookmarksService::AddBookmarkImmediately(const PRUnichar *aURI, const PRUnichar *aTitle, PRInt32 bmType, const PRUnichar *docCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean isBookmarked (in string aURL); */
NS_IMETHODIMP nsBookmarksService::IsBookmarked(const char *aURL, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    nsIBookmarksService_MOZILLA_1_8_BRANCH */
#define NS_IBOOKMARKSSERVICE_MOZILLA_1_8_BRANCH_IID_STR "c8d4603a-960a-43e3-a0fa-b3746a270e0e"

#define NS_IBOOKMARKSSERVICE_MOZILLA_1_8_BRANCH_IID \
  {0xc8d4603a, 0x960a, 0x43e3, \
    { 0xa0, 0xfa, 0xb3, 0x74, 0x6a, 0x27, 0x0e, 0x0e }}

class NS_NO_VTABLE nsIBookmarksService_MOZILLA_1_8_BRANCH : public nsIBookmarksService {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IBOOKMARKSSERVICE_MOZILLA_1_8_BRANCH_IID)

  /* nsIRDFResource createSeparatorInContainer (in nsIRDFResource aFolder, in long aIndex); */
  NS_IMETHOD CreateSeparatorInContainer(nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIBOOKMARKSSERVICE_MOZILLA_1_8_BRANCH \
  NS_IMETHOD CreateSeparatorInContainer(nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIBOOKMARKSSERVICE_MOZILLA_1_8_BRANCH(_to) \
  NS_IMETHOD CreateSeparatorInContainer(nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval) { return _to CreateSeparatorInContainer(aFolder, aIndex, _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_NSIBOOKMARKSSERVICE_MOZILLA_1_8_BRANCH(_to) \
  NS_IMETHOD CreateSeparatorInContainer(nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateSeparatorInContainer(aFolder, aIndex, _retval); } 

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

/* Header file */
class nsBookmarksService_MOZILLA_1_8_BRANCH : public nsIBookmarksService_MOZILLA_1_8_BRANCH
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIBOOKMARKSSERVICE_MOZILLA_1_8_BRANCH

  nsBookmarksService_MOZILLA_1_8_BRANCH();

private:
  ~nsBookmarksService_MOZILLA_1_8_BRANCH();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsBookmarksService_MOZILLA_1_8_BRANCH, nsIBookmarksService_MOZILLA_1_8_BRANCH)

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

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

/* nsIRDFResource createSeparatorInContainer (in nsIRDFResource aFolder, in long aIndex); */
NS_IMETHODIMP nsBookmarksService_MOZILLA_1_8_BRANCH::CreateSeparatorInContainer(nsIRDFResource *aFolder, PRInt32 aIndex, nsIRDFResource **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

// {E638D760-8687-11d2-B530-000000000000}
#define NS_BOOKMARKS_SERVICE_CID \
{ 0xe638d760, 0x8687, 0x11d2, { 0xb5, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } }
#define NS_BOOKMARKS_SERVICE_CONTRACTID \
    "@mozilla.org/browser/bookmarks-service;1"
#define NS_BOOKMARKS_DATASOURCE_CONTRACTID \
    "@mozilla.org/rdf/datasource;1?name=bookmarks"

#endif /* __gen_nsIBookmarksService_h__ */
