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

#ifndef __gen_nsIMsgVCardService_h__
#define __gen_nsIMsgVCardService_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
#include "nsVCardObj.h"

/* starting interface:    nsIMsgVCardService */
#define NS_IMSGVCARDSERVICE_IID_STR "8b6ae917-676d-4f1f-bbad-2ecc9be0d9b1"

#define NS_IMSGVCARDSERVICE_IID \
  {0x8b6ae917, 0x676d, 0x4f1f, \
    { 0xbb, 0xad, 0x2e, 0xcc, 0x9b, 0xe0, 0xd9, 0xb1 }}

class NS_NO_VTABLE nsIMsgVCardService : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGVCARDSERVICE_IID)

  /* [noscript,notxpcom] void cleanVObject (in VObject_ptr o); */
  NS_IMETHOD_(void) CleanVObject(VObject *o) = 0;

  /* [noscript,notxpcom] VObject_ptr nextVObjectInList (in VObject_ptr o); */
  NS_IMETHOD_(VObject *) NextVObjectInList(VObject *o) = 0;

  /* [noscript,notxpcom] VObject_ptr parse_MIME (in string input, in unsigned long len); */
  NS_IMETHOD_(VObject *) Parse_MIME(const char * input, uint32_t len) = 0;

  /* [noscript,notxpcom] charPtr fakeCString (in VObject_ptr o); */
  NS_IMETHOD_(char *) FakeCString(VObject *o) = 0;

  /* [noscript,notxpcom] VObject_ptr isAPropertyOf (in VObject_ptr o, in string id); */
  NS_IMETHOD_(VObject *) IsAPropertyOf(VObject *o, const char * id) = 0;

  /* [noscript,notxpcom] charPtr writeMemoryVObjects (in string s, out long len, in VObject_ptr list, in boolean expandSpaces); */
  NS_IMETHOD_(char *) WriteMemoryVObjects(const char * s, int32_t *len, VObject *list, bool expandSpaces) = 0;

  /* [noscript,notxpcom] VObject_ptr nextVObject (in VObjectIterator_ptr i); */
  NS_IMETHOD_(VObject *) NextVObject(VObjectIterator *i) = 0;

  /* [noscript,notxpcom] void initPropIterator (in VObjectIterator_ptr i, in VObject_ptr o); */
  NS_IMETHOD_(void) InitPropIterator(VObjectIterator *i, VObject *o) = 0;

  /* [noscript,notxpcom] long moreIteration (in VObjectIterator_ptr i); */
  NS_IMETHOD_(int32_t) MoreIteration(VObjectIterator *i) = 0;

  /* [noscript,notxpcom] const_char_ptr vObjectName (in VObject_ptr o); */
  NS_IMETHOD_(const char *) VObjectName(VObject *o) = 0;

  /* [noscript,notxpcom] charPtr vObjectAnyValue (in VObject_ptr o); */
  NS_IMETHOD_(char *) VObjectAnyValue(VObject *o) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgVCardService, NS_IMSGVCARDSERVICE_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGVCARDSERVICE \
  NS_IMETHOD_(void) CleanVObject(VObject *o) override; \
  NS_IMETHOD_(VObject *) NextVObjectInList(VObject *o) override; \
  NS_IMETHOD_(VObject *) Parse_MIME(const char * input, uint32_t len) override; \
  NS_IMETHOD_(char *) FakeCString(VObject *o) override; \
  NS_IMETHOD_(VObject *) IsAPropertyOf(VObject *o, const char * id) override; \
  NS_IMETHOD_(char *) WriteMemoryVObjects(const char * s, int32_t *len, VObject *list, bool expandSpaces) override; \
  NS_IMETHOD_(VObject *) NextVObject(VObjectIterator *i) override; \
  NS_IMETHOD_(void) InitPropIterator(VObjectIterator *i, VObject *o) override; \
  NS_IMETHOD_(int32_t) MoreIteration(VObjectIterator *i) override; \
  NS_IMETHOD_(const char *) VObjectName(VObject *o) override; \
  NS_IMETHOD_(char *) VObjectAnyValue(VObject *o) override; 

/* Use this macro when declaring the members of this interface when the
   class doesn't implement the interface. This is useful for forwarding. */
#define NS_DECL_NON_VIRTUAL_NSIMSGVCARDSERVICE \
  NS_METHOD_(void) CleanVObject(VObject *o); \
  NS_METHOD_(VObject *) NextVObjectInList(VObject *o); \
  NS_METHOD_(VObject *) Parse_MIME(const char * input, uint32_t len); \
  NS_METHOD_(char *) FakeCString(VObject *o); \
  NS_METHOD_(VObject *) IsAPropertyOf(VObject *o, const char * id); \
  NS_METHOD_(char *) WriteMemoryVObjects(const char * s, int32_t *len, VObject *list, bool expandSpaces); \
  NS_METHOD_(VObject *) NextVObject(VObjectIterator *i); \
  NS_METHOD_(void) InitPropIterator(VObjectIterator *i, VObject *o); \
  NS_METHOD_(int32_t) MoreIteration(VObjectIterator *i); \
  NS_METHOD_(const char *) VObjectName(VObject *o); \
  NS_METHOD_(char *) VObjectAnyValue(VObject *o); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGVCARDSERVICE(_to) \
  NS_IMETHOD_(void) CleanVObject(VObject *o) override { return _to CleanVObject(o); } \
  NS_IMETHOD_(VObject *) NextVObjectInList(VObject *o) override { return _to NextVObjectInList(o); } \
  NS_IMETHOD_(VObject *) Parse_MIME(const char * input, uint32_t len) override { return _to Parse_MIME(input, len); } \
  NS_IMETHOD_(char *) FakeCString(VObject *o) override { return _to FakeCString(o); } \
  NS_IMETHOD_(VObject *) IsAPropertyOf(VObject *o, const char * id) override { return _to IsAPropertyOf(o, id); } \
  NS_IMETHOD_(char *) WriteMemoryVObjects(const char * s, int32_t *len, VObject *list, bool expandSpaces) override { return _to WriteMemoryVObjects(s, len, list, expandSpaces); } \
  NS_IMETHOD_(VObject *) NextVObject(VObjectIterator *i) override { return _to NextVObject(i); } \
  NS_IMETHOD_(void) InitPropIterator(VObjectIterator *i, VObject *o) override { return _to InitPropIterator(i, o); } \
  NS_IMETHOD_(int32_t) MoreIteration(VObjectIterator *i) override { return _to MoreIteration(i); } \
  NS_IMETHOD_(const char *) VObjectName(VObject *o) override { return _to VObjectName(o); } \
  NS_IMETHOD_(char *) VObjectAnyValue(VObject *o) override { return _to VObjectAnyValue(o); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGVCARDSERVICE(_to) \
  NS_IMETHOD_(void) CleanVObject(VObject *o) override; \
  NS_IMETHOD_(VObject *) NextVObjectInList(VObject *o) override; \
  NS_IMETHOD_(VObject *) Parse_MIME(const char * input, uint32_t len) override; \
  NS_IMETHOD_(char *) FakeCString(VObject *o) override; \
  NS_IMETHOD_(VObject *) IsAPropertyOf(VObject *o, const char * id) override; \
  NS_IMETHOD_(char *) WriteMemoryVObjects(const char * s, int32_t *len, VObject *list, bool expandSpaces) override; \
  NS_IMETHOD_(VObject *) NextVObject(VObjectIterator *i) override; \
  NS_IMETHOD_(void) InitPropIterator(VObjectIterator *i, VObject *o) override; \
  NS_IMETHOD_(int32_t) MoreIteration(VObjectIterator *i) override; \
  NS_IMETHOD_(const char *) VObjectName(VObject *o) override; \
  NS_IMETHOD_(char *) VObjectAnyValue(VObject *o) override; 

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

/* Header file */
class nsMsgVCardService : public nsIMsgVCardService
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGVCARDSERVICE

  nsMsgVCardService();

private:
  ~nsMsgVCardService();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsMsgVCardService, nsIMsgVCardService)

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

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

/* [noscript,notxpcom] void cleanVObject (in VObject_ptr o); */
NS_IMETHODIMP_(void) nsMsgVCardService::CleanVObject(VObject *o)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript,notxpcom] VObject_ptr nextVObjectInList (in VObject_ptr o); */
NS_IMETHODIMP_(VObject *) nsMsgVCardService::NextVObjectInList(VObject *o)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript,notxpcom] VObject_ptr parse_MIME (in string input, in unsigned long len); */
NS_IMETHODIMP_(VObject *) nsMsgVCardService::Parse_MIME(const char * input, uint32_t len)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript,notxpcom] charPtr fakeCString (in VObject_ptr o); */
NS_IMETHODIMP_(char *) nsMsgVCardService::FakeCString(VObject *o)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript,notxpcom] VObject_ptr isAPropertyOf (in VObject_ptr o, in string id); */
NS_IMETHODIMP_(VObject *) nsMsgVCardService::IsAPropertyOf(VObject *o, const char * id)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript,notxpcom] charPtr writeMemoryVObjects (in string s, out long len, in VObject_ptr list, in boolean expandSpaces); */
NS_IMETHODIMP_(char *) nsMsgVCardService::WriteMemoryVObjects(const char * s, int32_t *len, VObject *list, bool expandSpaces)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript,notxpcom] VObject_ptr nextVObject (in VObjectIterator_ptr i); */
NS_IMETHODIMP_(VObject *) nsMsgVCardService::NextVObject(VObjectIterator *i)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript,notxpcom] void initPropIterator (in VObjectIterator_ptr i, in VObject_ptr o); */
NS_IMETHODIMP_(void) nsMsgVCardService::InitPropIterator(VObjectIterator *i, VObject *o)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript,notxpcom] long moreIteration (in VObjectIterator_ptr i); */
NS_IMETHODIMP_(int32_t) nsMsgVCardService::MoreIteration(VObjectIterator *i)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript,notxpcom] const_char_ptr vObjectName (in VObject_ptr o); */
NS_IMETHODIMP_(const char *) nsMsgVCardService::VObjectName(VObject *o)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript,notxpcom] charPtr vObjectAnyValue (in VObject_ptr o); */
NS_IMETHODIMP_(char *) nsMsgVCardService::VObjectAnyValue(VObject *o)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIMsgVCardService_h__ */
