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

#ifndef __gen_nsIMsgAttachmentHandler_h__
#define __gen_nsIMsgAttachmentHandler_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 nsIFile; /* forward declaration */


/* starting interface:    nsIMsgAttachmentHandler */
#define NS_IMSGATTACHMENTHANDLER_IID_STR "1731283c-60fe-4102-a804-622a84cc1a08"

#define NS_IMSGATTACHMENTHANDLER_IID \
  {0x1731283c, 0x60fe, 0x4102, \
    { 0xa8, 0x04, 0x62, 0x2a, 0x84, 0xcc, 0x1a, 0x08 }}

class NS_NO_VTABLE nsIMsgAttachmentHandler : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGATTACHMENTHANDLER_IID)

  /* readonly attribute ACString type; */
  NS_IMETHOD GetType(nsACString & aType) = 0;

  /* readonly attribute ACString uri; */
  NS_IMETHOD GetUri(nsACString & aUri) = 0;

  /* readonly attribute nsIFile tmpFile; */
  NS_IMETHOD GetTmpFile(nsIFile * *aTmpFile) = 0;

  /* readonly attribute AUTF8String name; */
  NS_IMETHOD GetName(nsACString & aName) = 0;

  /* readonly attribute unsigned long size; */
  NS_IMETHOD GetSize(uint32_t *aSize) = 0;

  /* readonly attribute ACString contentId; */
  NS_IMETHOD GetContentId(nsACString & aContentId) = 0;

  /* readonly attribute boolean sendViaCloud; */
  NS_IMETHOD GetSendViaCloud(bool *aSendViaCloud) = 0;

  /* readonly attribute ACString charset; */
  NS_IMETHOD GetCharset(nsACString & aCharset) = 0;

  /* readonly attribute ACString encoding; */
  NS_IMETHOD GetEncoding(nsACString & aEncoding) = 0;

  /* readonly attribute boolean alreadyEncoded; */
  NS_IMETHOD GetAlreadyEncoded(bool *aAlreadyEncoded) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgAttachmentHandler, NS_IMSGATTACHMENTHANDLER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGATTACHMENTHANDLER \
  NS_IMETHOD GetType(nsACString & aType) override; \
  NS_IMETHOD GetUri(nsACString & aUri) override; \
  NS_IMETHOD GetTmpFile(nsIFile * *aTmpFile) override; \
  NS_IMETHOD GetName(nsACString & aName) override; \
  NS_IMETHOD GetSize(uint32_t *aSize) override; \
  NS_IMETHOD GetContentId(nsACString & aContentId) override; \
  NS_IMETHOD GetSendViaCloud(bool *aSendViaCloud) override; \
  NS_IMETHOD GetCharset(nsACString & aCharset) override; \
  NS_IMETHOD GetEncoding(nsACString & aEncoding) override; \
  NS_IMETHOD GetAlreadyEncoded(bool *aAlreadyEncoded) 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_NSIMSGATTACHMENTHANDLER \
  NS_METHOD GetType(nsACString & aType); \
  NS_METHOD GetUri(nsACString & aUri); \
  NS_METHOD GetTmpFile(nsIFile * *aTmpFile); \
  NS_METHOD GetName(nsACString & aName); \
  NS_METHOD GetSize(uint32_t *aSize); \
  NS_METHOD GetContentId(nsACString & aContentId); \
  NS_METHOD GetSendViaCloud(bool *aSendViaCloud); \
  NS_METHOD GetCharset(nsACString & aCharset); \
  NS_METHOD GetEncoding(nsACString & aEncoding); \
  NS_METHOD GetAlreadyEncoded(bool *aAlreadyEncoded); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGATTACHMENTHANDLER(_to) \
  NS_IMETHOD GetType(nsACString & aType) override { return _to GetType(aType); } \
  NS_IMETHOD GetUri(nsACString & aUri) override { return _to GetUri(aUri); } \
  NS_IMETHOD GetTmpFile(nsIFile * *aTmpFile) override { return _to GetTmpFile(aTmpFile); } \
  NS_IMETHOD GetName(nsACString & aName) override { return _to GetName(aName); } \
  NS_IMETHOD GetSize(uint32_t *aSize) override { return _to GetSize(aSize); } \
  NS_IMETHOD GetContentId(nsACString & aContentId) override { return _to GetContentId(aContentId); } \
  NS_IMETHOD GetSendViaCloud(bool *aSendViaCloud) override { return _to GetSendViaCloud(aSendViaCloud); } \
  NS_IMETHOD GetCharset(nsACString & aCharset) override { return _to GetCharset(aCharset); } \
  NS_IMETHOD GetEncoding(nsACString & aEncoding) override { return _to GetEncoding(aEncoding); } \
  NS_IMETHOD GetAlreadyEncoded(bool *aAlreadyEncoded) override { return _to GetAlreadyEncoded(aAlreadyEncoded); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGATTACHMENTHANDLER(_to) \
  NS_IMETHOD GetType(nsACString & aType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetType(aType); } \
  NS_IMETHOD GetUri(nsACString & aUri) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUri(aUri); } \
  NS_IMETHOD GetTmpFile(nsIFile * *aTmpFile) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTmpFile(aTmpFile); } \
  NS_IMETHOD GetName(nsACString & aName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetName(aName); } \
  NS_IMETHOD GetSize(uint32_t *aSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSize(aSize); } \
  NS_IMETHOD GetContentId(nsACString & aContentId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetContentId(aContentId); } \
  NS_IMETHOD GetSendViaCloud(bool *aSendViaCloud) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSendViaCloud(aSendViaCloud); } \
  NS_IMETHOD GetCharset(nsACString & aCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharset(aCharset); } \
  NS_IMETHOD GetEncoding(nsACString & aEncoding) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEncoding(aEncoding); } \
  NS_IMETHOD GetAlreadyEncoded(bool *aAlreadyEncoded) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAlreadyEncoded(aAlreadyEncoded); } 

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

/* Header file */
class nsMsgAttachmentHandler : public nsIMsgAttachmentHandler
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGATTACHMENTHANDLER

  nsMsgAttachmentHandler();

private:
  ~nsMsgAttachmentHandler();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsMsgAttachmentHandler, nsIMsgAttachmentHandler)

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

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

/* readonly attribute ACString type; */
NS_IMETHODIMP nsMsgAttachmentHandler::GetType(nsACString & aType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute ACString uri; */
NS_IMETHODIMP nsMsgAttachmentHandler::GetUri(nsACString & aUri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIFile tmpFile; */
NS_IMETHODIMP nsMsgAttachmentHandler::GetTmpFile(nsIFile * *aTmpFile)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AUTF8String name; */
NS_IMETHODIMP nsMsgAttachmentHandler::GetName(nsACString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute unsigned long size; */
NS_IMETHODIMP nsMsgAttachmentHandler::GetSize(uint32_t *aSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute ACString contentId; */
NS_IMETHODIMP nsMsgAttachmentHandler::GetContentId(nsACString & aContentId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean sendViaCloud; */
NS_IMETHODIMP nsMsgAttachmentHandler::GetSendViaCloud(bool *aSendViaCloud)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute ACString charset; */
NS_IMETHODIMP nsMsgAttachmentHandler::GetCharset(nsACString & aCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute ACString encoding; */
NS_IMETHODIMP nsMsgAttachmentHandler::GetEncoding(nsACString & aEncoding)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean alreadyEncoded; */
NS_IMETHODIMP nsMsgAttachmentHandler::GetAlreadyEncoded(bool *aAlreadyEncoded)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIMsgAttachmentHandler_h__ */
