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

#ifndef __gen_nsINNTPCategory_h__
#define __gen_nsINNTPCategory_h__

#include "nsISupports.h"
#include "nsIMsgGroupRecord.h"
#include "nsINNTPNewsgroup.h"


/* starting interface:    nsINNTPCategory */
#define NS_INNTPCATEGORY_IID_STR "203b2120-b256-11d2-b7f0-00805f05ffa5"

#define NS_INNTPCATEGORY_IID \
  {0x203b2120, 0xb256, 0x11d2, \
    { 0xb7, 0xf0, 0x00, 0x80, 0x5f, 0x05, 0xff, 0xa5 }}

class NS_NO_VTABLE nsINNTPCategory : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_INNTPCATEGORY_IID)

  /* nsINNTPNewsgroup BuildCategoryTree (in nsINNTPNewsgroup parent, in string catName, in nsIMsgGroupRecord group, in short depth); */
  NS_IMETHOD BuildCategoryTree(nsINNTPNewsgroup *parent, const char *catName, nsIMsgGroupRecord *group, PRInt16 depth, nsINNTPNewsgroup **_retval) = 0;

  /* nsINNTPNewsgroup AddToCategoryTree (in nsINNTPNewsgroup parent, in string groupName, in nsIMsgGroupRecord group); */
  NS_IMETHOD AddToCategoryTree(nsINNTPNewsgroup *parent, const char *groupName, nsIMsgGroupRecord *group, nsINNTPNewsgroup **_retval) = 0;

  /* nsINNTPNewsgroup CloneIntoNewsFolder (); */
  NS_IMETHOD CloneIntoNewsFolder(nsINNTPNewsgroup **_retval) = 0;

  /* nsINNTPNewsgroup GetRootCategory (); */
  NS_IMETHOD GetRootCategory(nsINNTPNewsgroup **_retval) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSINNTPCATEGORY \
  NS_IMETHOD BuildCategoryTree(nsINNTPNewsgroup *parent, const char *catName, nsIMsgGroupRecord *group, PRInt16 depth, nsINNTPNewsgroup **_retval); \
  NS_IMETHOD AddToCategoryTree(nsINNTPNewsgroup *parent, const char *groupName, nsIMsgGroupRecord *group, nsINNTPNewsgroup **_retval); \
  NS_IMETHOD CloneIntoNewsFolder(nsINNTPNewsgroup **_retval); \
  NS_IMETHOD GetRootCategory(nsINNTPNewsgroup **_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSINNTPCATEGORY(_to) \
  NS_IMETHOD BuildCategoryTree(nsINNTPNewsgroup *parent, const char *catName, nsIMsgGroupRecord *group, PRInt16 depth, nsINNTPNewsgroup **_retval) { return _to ## BuildCategoryTree(parent, catName, group, depth, _retval); } \
  NS_IMETHOD AddToCategoryTree(nsINNTPNewsgroup *parent, const char *groupName, nsIMsgGroupRecord *group, nsINNTPNewsgroup **_retval) { return _to ## AddToCategoryTree(parent, groupName, group, _retval); } \
  NS_IMETHOD CloneIntoNewsFolder(nsINNTPNewsgroup **_retval) { return _to ## CloneIntoNewsFolder(_retval); } \
  NS_IMETHOD GetRootCategory(nsINNTPNewsgroup **_retval) { return _to ## GetRootCategory(_retval); } 

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

/* Header file */
class nsNNTPCategory : public nsINNTPCategory
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSINNTPCATEGORY

  nsNNTPCategory();
  virtual ~nsNNTPCategory();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsNNTPCategory, nsINNTPCategory)

nsNNTPCategory::nsNNTPCategory()
{
  NS_INIT_ISUPPORTS();
  /* member initializers and constructor code */
}

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

/* nsINNTPNewsgroup BuildCategoryTree (in nsINNTPNewsgroup parent, in string catName, in nsIMsgGroupRecord group, in short depth); */
NS_IMETHODIMP nsNNTPCategory::BuildCategoryTree(nsINNTPNewsgroup *parent, const char *catName, nsIMsgGroupRecord *group, PRInt16 depth, nsINNTPNewsgroup **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsINNTPNewsgroup AddToCategoryTree (in nsINNTPNewsgroup parent, in string groupName, in nsIMsgGroupRecord group); */
NS_IMETHODIMP nsNNTPCategory::AddToCategoryTree(nsINNTPNewsgroup *parent, const char *groupName, nsIMsgGroupRecord *group, nsINNTPNewsgroup **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsINNTPNewsgroup CloneIntoNewsFolder (); */
NS_IMETHODIMP nsNNTPCategory::CloneIntoNewsFolder(nsINNTPNewsgroup **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsINNTPNewsgroup GetRootCategory (); */
NS_IMETHODIMP nsNNTPCategory::GetRootCategory(nsINNTPNewsgroup **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsINNTPCategory_h__ */
