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

#ifndef __gen_nsIMsgAttachment_h__
#define __gen_nsIMsgAttachment_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

/* starting interface:    nsIMsgAttachment */
#define NS_IMSGATTACHMENT_IID_STR "d17d2d60-ec3a-46de-8bd1-24c77dd9b87b"

#define NS_IMSGATTACHMENT_IID \
  {0xd17d2d60, 0xec3a, 0x46de, \
    { 0x8b, 0xd1, 0x24, 0xc7, 0x7d, 0xd9, 0xb8, 0x7b }}

class NS_NO_VTABLE nsIMsgAttachment : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGATTACHMENT_IID)

  /* attribute AString name; */
  NS_IMETHOD GetName(nsAString & aName) = 0;
  NS_IMETHOD SetName(const nsAString & aName) = 0;

  /* attribute AUTF8String url; */
  NS_IMETHOD GetUrl(nsACString & aUrl) = 0;
  NS_IMETHOD SetUrl(const nsACString & aUrl) = 0;

  /* attribute ACString urlCharset; */
  NS_IMETHOD GetUrlCharset(nsACString & aUrlCharset) = 0;
  NS_IMETHOD SetUrlCharset(const nsACString & aUrlCharset) = 0;

  /* attribute boolean temporary; */
  NS_IMETHOD GetTemporary(bool *aTemporary) = 0;
  NS_IMETHOD SetTemporary(bool aTemporary) = 0;

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

  /* attribute ACString cloudProviderKey; */
  NS_IMETHOD GetCloudProviderKey(nsACString & aCloudProviderKey) = 0;
  NS_IMETHOD SetCloudProviderKey(const nsACString & aCloudProviderKey) = 0;

  /* attribute AString htmlAnnotation; */
  NS_IMETHOD GetHtmlAnnotation(nsAString & aHtmlAnnotation) = 0;
  NS_IMETHOD SetHtmlAnnotation(const nsAString & aHtmlAnnotation) = 0;

  /* attribute ACString contentLocation; */
  NS_IMETHOD GetContentLocation(nsACString & aContentLocation) = 0;
  NS_IMETHOD SetContentLocation(const nsACString & aContentLocation) = 0;

  /* attribute string contentType; */
  NS_IMETHOD GetContentType(char * *aContentType) = 0;
  NS_IMETHOD SetContentType(const char * aContentType) = 0;

  /* attribute string contentTypeParam; */
  NS_IMETHOD GetContentTypeParam(char * *aContentTypeParam) = 0;
  NS_IMETHOD SetContentTypeParam(const char * aContentTypeParam) = 0;

  /* attribute string charset; */
  NS_IMETHOD GetCharset(char * *aCharset) = 0;
  NS_IMETHOD SetCharset(const char * aCharset) = 0;

  /* attribute int64_t size; */
  NS_IMETHOD GetSize(int64_t *aSize) = 0;
  NS_IMETHOD SetSize(int64_t aSize) = 0;

  /* attribute string macType; */
  NS_IMETHOD GetMacType(char * *aMacType) = 0;
  NS_IMETHOD SetMacType(const char * aMacType) = 0;

  /* attribute string macCreator; */
  NS_IMETHOD GetMacCreator(char * *aMacCreator) = 0;
  NS_IMETHOD SetMacCreator(const char * aMacCreator) = 0;

  /* boolean equalsUrl (in nsIMsgAttachment attachment); */
  NS_IMETHOD EqualsUrl(nsIMsgAttachment *attachment, bool *_retval) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgAttachment, NS_IMSGATTACHMENT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGATTACHMENT \
  NS_IMETHOD GetName(nsAString & aName) override; \
  NS_IMETHOD SetName(const nsAString & aName) override; \
  NS_IMETHOD GetUrl(nsACString & aUrl) override; \
  NS_IMETHOD SetUrl(const nsACString & aUrl) override; \
  NS_IMETHOD GetUrlCharset(nsACString & aUrlCharset) override; \
  NS_IMETHOD SetUrlCharset(const nsACString & aUrlCharset) override; \
  NS_IMETHOD GetTemporary(bool *aTemporary) override; \
  NS_IMETHOD SetTemporary(bool aTemporary) override; \
  NS_IMETHOD GetSendViaCloud(bool *aSendViaCloud) override; \
  NS_IMETHOD SetSendViaCloud(bool aSendViaCloud) override; \
  NS_IMETHOD GetCloudProviderKey(nsACString & aCloudProviderKey) override; \
  NS_IMETHOD SetCloudProviderKey(const nsACString & aCloudProviderKey) override; \
  NS_IMETHOD GetHtmlAnnotation(nsAString & aHtmlAnnotation) override; \
  NS_IMETHOD SetHtmlAnnotation(const nsAString & aHtmlAnnotation) override; \
  NS_IMETHOD GetContentLocation(nsACString & aContentLocation) override; \
  NS_IMETHOD SetContentLocation(const nsACString & aContentLocation) override; \
  NS_IMETHOD GetContentType(char * *aContentType) override; \
  NS_IMETHOD SetContentType(const char * aContentType) override; \
  NS_IMETHOD GetContentTypeParam(char * *aContentTypeParam) override; \
  NS_IMETHOD SetContentTypeParam(const char * aContentTypeParam) override; \
  NS_IMETHOD GetCharset(char * *aCharset) override; \
  NS_IMETHOD SetCharset(const char * aCharset) override; \
  NS_IMETHOD GetSize(int64_t *aSize) override; \
  NS_IMETHOD SetSize(int64_t aSize) override; \
  NS_IMETHOD GetMacType(char * *aMacType) override; \
  NS_IMETHOD SetMacType(const char * aMacType) override; \
  NS_IMETHOD GetMacCreator(char * *aMacCreator) override; \
  NS_IMETHOD SetMacCreator(const char * aMacCreator) override; \
  NS_IMETHOD EqualsUrl(nsIMsgAttachment *attachment, bool *_retval) 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_NSIMSGATTACHMENT \
  NS_METHOD GetName(nsAString & aName); \
  NS_METHOD SetName(const nsAString & aName); \
  NS_METHOD GetUrl(nsACString & aUrl); \
  NS_METHOD SetUrl(const nsACString & aUrl); \
  NS_METHOD GetUrlCharset(nsACString & aUrlCharset); \
  NS_METHOD SetUrlCharset(const nsACString & aUrlCharset); \
  NS_METHOD GetTemporary(bool *aTemporary); \
  NS_METHOD SetTemporary(bool aTemporary); \
  NS_METHOD GetSendViaCloud(bool *aSendViaCloud); \
  NS_METHOD SetSendViaCloud(bool aSendViaCloud); \
  NS_METHOD GetCloudProviderKey(nsACString & aCloudProviderKey); \
  NS_METHOD SetCloudProviderKey(const nsACString & aCloudProviderKey); \
  NS_METHOD GetHtmlAnnotation(nsAString & aHtmlAnnotation); \
  NS_METHOD SetHtmlAnnotation(const nsAString & aHtmlAnnotation); \
  NS_METHOD GetContentLocation(nsACString & aContentLocation); \
  NS_METHOD SetContentLocation(const nsACString & aContentLocation); \
  NS_METHOD GetContentType(char * *aContentType); \
  NS_METHOD SetContentType(const char * aContentType); \
  NS_METHOD GetContentTypeParam(char * *aContentTypeParam); \
  NS_METHOD SetContentTypeParam(const char * aContentTypeParam); \
  NS_METHOD GetCharset(char * *aCharset); \
  NS_METHOD SetCharset(const char * aCharset); \
  NS_METHOD GetSize(int64_t *aSize); \
  NS_METHOD SetSize(int64_t aSize); \
  NS_METHOD GetMacType(char * *aMacType); \
  NS_METHOD SetMacType(const char * aMacType); \
  NS_METHOD GetMacCreator(char * *aMacCreator); \
  NS_METHOD SetMacCreator(const char * aMacCreator); \
  NS_METHOD EqualsUrl(nsIMsgAttachment *attachment, bool *_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGATTACHMENT(_to) \
  NS_IMETHOD GetName(nsAString & aName) override { return _to GetName(aName); } \
  NS_IMETHOD SetName(const nsAString & aName) override { return _to SetName(aName); } \
  NS_IMETHOD GetUrl(nsACString & aUrl) override { return _to GetUrl(aUrl); } \
  NS_IMETHOD SetUrl(const nsACString & aUrl) override { return _to SetUrl(aUrl); } \
  NS_IMETHOD GetUrlCharset(nsACString & aUrlCharset) override { return _to GetUrlCharset(aUrlCharset); } \
  NS_IMETHOD SetUrlCharset(const nsACString & aUrlCharset) override { return _to SetUrlCharset(aUrlCharset); } \
  NS_IMETHOD GetTemporary(bool *aTemporary) override { return _to GetTemporary(aTemporary); } \
  NS_IMETHOD SetTemporary(bool aTemporary) override { return _to SetTemporary(aTemporary); } \
  NS_IMETHOD GetSendViaCloud(bool *aSendViaCloud) override { return _to GetSendViaCloud(aSendViaCloud); } \
  NS_IMETHOD SetSendViaCloud(bool aSendViaCloud) override { return _to SetSendViaCloud(aSendViaCloud); } \
  NS_IMETHOD GetCloudProviderKey(nsACString & aCloudProviderKey) override { return _to GetCloudProviderKey(aCloudProviderKey); } \
  NS_IMETHOD SetCloudProviderKey(const nsACString & aCloudProviderKey) override { return _to SetCloudProviderKey(aCloudProviderKey); } \
  NS_IMETHOD GetHtmlAnnotation(nsAString & aHtmlAnnotation) override { return _to GetHtmlAnnotation(aHtmlAnnotation); } \
  NS_IMETHOD SetHtmlAnnotation(const nsAString & aHtmlAnnotation) override { return _to SetHtmlAnnotation(aHtmlAnnotation); } \
  NS_IMETHOD GetContentLocation(nsACString & aContentLocation) override { return _to GetContentLocation(aContentLocation); } \
  NS_IMETHOD SetContentLocation(const nsACString & aContentLocation) override { return _to SetContentLocation(aContentLocation); } \
  NS_IMETHOD GetContentType(char * *aContentType) override { return _to GetContentType(aContentType); } \
  NS_IMETHOD SetContentType(const char * aContentType) override { return _to SetContentType(aContentType); } \
  NS_IMETHOD GetContentTypeParam(char * *aContentTypeParam) override { return _to GetContentTypeParam(aContentTypeParam); } \
  NS_IMETHOD SetContentTypeParam(const char * aContentTypeParam) override { return _to SetContentTypeParam(aContentTypeParam); } \
  NS_IMETHOD GetCharset(char * *aCharset) override { return _to GetCharset(aCharset); } \
  NS_IMETHOD SetCharset(const char * aCharset) override { return _to SetCharset(aCharset); } \
  NS_IMETHOD GetSize(int64_t *aSize) override { return _to GetSize(aSize); } \
  NS_IMETHOD SetSize(int64_t aSize) override { return _to SetSize(aSize); } \
  NS_IMETHOD GetMacType(char * *aMacType) override { return _to GetMacType(aMacType); } \
  NS_IMETHOD SetMacType(const char * aMacType) override { return _to SetMacType(aMacType); } \
  NS_IMETHOD GetMacCreator(char * *aMacCreator) override { return _to GetMacCreator(aMacCreator); } \
  NS_IMETHOD SetMacCreator(const char * aMacCreator) override { return _to SetMacCreator(aMacCreator); } \
  NS_IMETHOD EqualsUrl(nsIMsgAttachment *attachment, bool *_retval) override { return _to EqualsUrl(attachment, _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_NSIMSGATTACHMENT(_to) \
  NS_IMETHOD GetName(nsAString & aName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetName(aName); } \
  NS_IMETHOD SetName(const nsAString & aName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetName(aName); } \
  NS_IMETHOD GetUrl(nsACString & aUrl) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUrl(aUrl); } \
  NS_IMETHOD SetUrl(const nsACString & aUrl) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUrl(aUrl); } \
  NS_IMETHOD GetUrlCharset(nsACString & aUrlCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUrlCharset(aUrlCharset); } \
  NS_IMETHOD SetUrlCharset(const nsACString & aUrlCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUrlCharset(aUrlCharset); } \
  NS_IMETHOD GetTemporary(bool *aTemporary) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTemporary(aTemporary); } \
  NS_IMETHOD SetTemporary(bool aTemporary) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTemporary(aTemporary); } \
  NS_IMETHOD GetSendViaCloud(bool *aSendViaCloud) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSendViaCloud(aSendViaCloud); } \
  NS_IMETHOD SetSendViaCloud(bool aSendViaCloud) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSendViaCloud(aSendViaCloud); } \
  NS_IMETHOD GetCloudProviderKey(nsACString & aCloudProviderKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCloudProviderKey(aCloudProviderKey); } \
  NS_IMETHOD SetCloudProviderKey(const nsACString & aCloudProviderKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCloudProviderKey(aCloudProviderKey); } \
  NS_IMETHOD GetHtmlAnnotation(nsAString & aHtmlAnnotation) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHtmlAnnotation(aHtmlAnnotation); } \
  NS_IMETHOD SetHtmlAnnotation(const nsAString & aHtmlAnnotation) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHtmlAnnotation(aHtmlAnnotation); } \
  NS_IMETHOD GetContentLocation(nsACString & aContentLocation) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetContentLocation(aContentLocation); } \
  NS_IMETHOD SetContentLocation(const nsACString & aContentLocation) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetContentLocation(aContentLocation); } \
  NS_IMETHOD GetContentType(char * *aContentType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetContentType(aContentType); } \
  NS_IMETHOD SetContentType(const char * aContentType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetContentType(aContentType); } \
  NS_IMETHOD GetContentTypeParam(char * *aContentTypeParam) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetContentTypeParam(aContentTypeParam); } \
  NS_IMETHOD SetContentTypeParam(const char * aContentTypeParam) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetContentTypeParam(aContentTypeParam); } \
  NS_IMETHOD GetCharset(char * *aCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharset(aCharset); } \
  NS_IMETHOD SetCharset(const char * aCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCharset(aCharset); } \
  NS_IMETHOD GetSize(int64_t *aSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSize(aSize); } \
  NS_IMETHOD SetSize(int64_t aSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSize(aSize); } \
  NS_IMETHOD GetMacType(char * *aMacType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMacType(aMacType); } \
  NS_IMETHOD SetMacType(const char * aMacType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMacType(aMacType); } \
  NS_IMETHOD GetMacCreator(char * *aMacCreator) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMacCreator(aMacCreator); } \
  NS_IMETHOD SetMacCreator(const char * aMacCreator) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMacCreator(aMacCreator); } \
  NS_IMETHOD EqualsUrl(nsIMsgAttachment *attachment, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->EqualsUrl(attachment, _retval); } 

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

/* Header file */
class nsMsgAttachment : public nsIMsgAttachment
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGATTACHMENT

  nsMsgAttachment();

private:
  ~nsMsgAttachment();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsMsgAttachment, nsIMsgAttachment)

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

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

/* attribute AString name; */
NS_IMETHODIMP nsMsgAttachment::GetName(nsAString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetName(const nsAString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String url; */
NS_IMETHODIMP nsMsgAttachment::GetUrl(nsACString & aUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetUrl(const nsACString & aUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString urlCharset; */
NS_IMETHODIMP nsMsgAttachment::GetUrlCharset(nsACString & aUrlCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetUrlCharset(const nsACString & aUrlCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean temporary; */
NS_IMETHODIMP nsMsgAttachment::GetTemporary(bool *aTemporary)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetTemporary(bool aTemporary)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* attribute ACString cloudProviderKey; */
NS_IMETHODIMP nsMsgAttachment::GetCloudProviderKey(nsACString & aCloudProviderKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetCloudProviderKey(const nsACString & aCloudProviderKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString htmlAnnotation; */
NS_IMETHODIMP nsMsgAttachment::GetHtmlAnnotation(nsAString & aHtmlAnnotation)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetHtmlAnnotation(const nsAString & aHtmlAnnotation)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString contentLocation; */
NS_IMETHODIMP nsMsgAttachment::GetContentLocation(nsACString & aContentLocation)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetContentLocation(const nsACString & aContentLocation)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string contentType; */
NS_IMETHODIMP nsMsgAttachment::GetContentType(char * *aContentType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetContentType(const char * aContentType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string contentTypeParam; */
NS_IMETHODIMP nsMsgAttachment::GetContentTypeParam(char * *aContentTypeParam)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetContentTypeParam(const char * aContentTypeParam)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string charset; */
NS_IMETHODIMP nsMsgAttachment::GetCharset(char * *aCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetCharset(const char * aCharset)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute int64_t size; */
NS_IMETHODIMP nsMsgAttachment::GetSize(int64_t *aSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetSize(int64_t aSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string macType; */
NS_IMETHODIMP nsMsgAttachment::GetMacType(char * *aMacType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetMacType(const char * aMacType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string macCreator; */
NS_IMETHODIMP nsMsgAttachment::GetMacCreator(char * *aMacCreator)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgAttachment::SetMacCreator(const char * aMacCreator)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean equalsUrl (in nsIMsgAttachment attachment); */
NS_IMETHODIMP nsMsgAttachment::EqualsUrl(nsIMsgAttachment *attachment, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIMsgAttachment_h__ */
