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

#ifndef __gen_nsIMsgSearchValue_h__
#define __gen_nsIMsgSearchValue_h__


#ifndef __gen_nsMsgSearchCore_h__
#include "nsMsgSearchCore.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIMsgFolder; /* forward declaration */


/* starting interface:    nsIMsgSearchValue */
#define NS_IMSGSEARCHVALUE_IID_STR "783758a0-cdb5-11dc-95ff-0800200c9a66"

#define NS_IMSGSEARCHVALUE_IID \
  {0x783758a0, 0xcdb5, 0x11dc, \
    { 0x95, 0xff, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 }}

class NS_NO_VTABLE nsIMsgSearchValue : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGSEARCHVALUE_IID)

  /* attribute nsMsgSearchAttribValue attrib; */
  NS_IMETHOD GetAttrib(nsMsgSearchAttribValue *aAttrib) = 0;
  NS_IMETHOD SetAttrib(nsMsgSearchAttribValue aAttrib) = 0;

  /* attribute AString str; */
  NS_IMETHOD GetStr(nsAString & aStr) = 0;
  NS_IMETHOD SetStr(const nsAString & aStr) = 0;

  /* attribute nsMsgPriorityValue priority; */
  NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority) = 0;
  NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority) = 0;

  /* attribute PRTime date; */
  NS_IMETHOD GetDate(PRTime *aDate) = 0;
  NS_IMETHOD SetDate(PRTime aDate) = 0;

  /* attribute unsigned long status; */
  NS_IMETHOD GetStatus(uint32_t *aStatus) = 0;
  NS_IMETHOD SetStatus(uint32_t aStatus) = 0;

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

  /* attribute nsMsgKey msgKey; */
  NS_IMETHOD GetMsgKey(nsMsgKey *aMsgKey) = 0;
  NS_IMETHOD SetMsgKey(nsMsgKey aMsgKey) = 0;

  /* attribute long age; */
  NS_IMETHOD GetAge(int32_t *aAge) = 0;
  NS_IMETHOD SetAge(int32_t aAge) = 0;

  /* attribute nsIMsgFolder folder; */
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) = 0;
  NS_IMETHOD SetFolder(nsIMsgFolder *aFolder) = 0;

  /* attribute nsMsgLabelValue label; */
  NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel) = 0;
  NS_IMETHOD SetLabel(nsMsgLabelValue aLabel) = 0;

  /* attribute nsMsgJunkStatus junkStatus; */
  NS_IMETHOD GetJunkStatus(nsMsgJunkStatus *aJunkStatus) = 0;
  NS_IMETHOD SetJunkStatus(nsMsgJunkStatus aJunkStatus) = 0;

  /* attribute unsigned long junkPercent; */
  NS_IMETHOD GetJunkPercent(uint32_t *aJunkPercent) = 0;
  NS_IMETHOD SetJunkPercent(uint32_t aJunkPercent) = 0;

  /* AString toString (); */
  NS_IMETHOD ToString(nsAString & _retval) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgSearchValue, NS_IMSGSEARCHVALUE_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGSEARCHVALUE \
  NS_IMETHOD GetAttrib(nsMsgSearchAttribValue *aAttrib) override; \
  NS_IMETHOD SetAttrib(nsMsgSearchAttribValue aAttrib) override; \
  NS_IMETHOD GetStr(nsAString & aStr) override; \
  NS_IMETHOD SetStr(const nsAString & aStr) override; \
  NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority) override; \
  NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority) override; \
  NS_IMETHOD GetDate(PRTime *aDate) override; \
  NS_IMETHOD SetDate(PRTime aDate) override; \
  NS_IMETHOD GetStatus(uint32_t *aStatus) override; \
  NS_IMETHOD SetStatus(uint32_t aStatus) override; \
  NS_IMETHOD GetSize(uint32_t *aSize) override; \
  NS_IMETHOD SetSize(uint32_t aSize) override; \
  NS_IMETHOD GetMsgKey(nsMsgKey *aMsgKey) override; \
  NS_IMETHOD SetMsgKey(nsMsgKey aMsgKey) override; \
  NS_IMETHOD GetAge(int32_t *aAge) override; \
  NS_IMETHOD SetAge(int32_t aAge) override; \
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) override; \
  NS_IMETHOD SetFolder(nsIMsgFolder *aFolder) override; \
  NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel) override; \
  NS_IMETHOD SetLabel(nsMsgLabelValue aLabel) override; \
  NS_IMETHOD GetJunkStatus(nsMsgJunkStatus *aJunkStatus) override; \
  NS_IMETHOD SetJunkStatus(nsMsgJunkStatus aJunkStatus) override; \
  NS_IMETHOD GetJunkPercent(uint32_t *aJunkPercent) override; \
  NS_IMETHOD SetJunkPercent(uint32_t aJunkPercent) override; \
  NS_IMETHOD ToString(nsAString & _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_NSIMSGSEARCHVALUE \
  NS_METHOD GetAttrib(nsMsgSearchAttribValue *aAttrib); \
  NS_METHOD SetAttrib(nsMsgSearchAttribValue aAttrib); \
  NS_METHOD GetStr(nsAString & aStr); \
  NS_METHOD SetStr(const nsAString & aStr); \
  NS_METHOD GetPriority(nsMsgPriorityValue *aPriority); \
  NS_METHOD SetPriority(nsMsgPriorityValue aPriority); \
  NS_METHOD GetDate(PRTime *aDate); \
  NS_METHOD SetDate(PRTime aDate); \
  NS_METHOD GetStatus(uint32_t *aStatus); \
  NS_METHOD SetStatus(uint32_t aStatus); \
  NS_METHOD GetSize(uint32_t *aSize); \
  NS_METHOD SetSize(uint32_t aSize); \
  NS_METHOD GetMsgKey(nsMsgKey *aMsgKey); \
  NS_METHOD SetMsgKey(nsMsgKey aMsgKey); \
  NS_METHOD GetAge(int32_t *aAge); \
  NS_METHOD SetAge(int32_t aAge); \
  NS_METHOD GetFolder(nsIMsgFolder * *aFolder); \
  NS_METHOD SetFolder(nsIMsgFolder *aFolder); \
  NS_METHOD GetLabel(nsMsgLabelValue *aLabel); \
  NS_METHOD SetLabel(nsMsgLabelValue aLabel); \
  NS_METHOD GetJunkStatus(nsMsgJunkStatus *aJunkStatus); \
  NS_METHOD SetJunkStatus(nsMsgJunkStatus aJunkStatus); \
  NS_METHOD GetJunkPercent(uint32_t *aJunkPercent); \
  NS_METHOD SetJunkPercent(uint32_t aJunkPercent); \
  NS_METHOD ToString(nsAString & _retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGSEARCHVALUE(_to) \
  NS_IMETHOD GetAttrib(nsMsgSearchAttribValue *aAttrib) override { return _to GetAttrib(aAttrib); } \
  NS_IMETHOD SetAttrib(nsMsgSearchAttribValue aAttrib) override { return _to SetAttrib(aAttrib); } \
  NS_IMETHOD GetStr(nsAString & aStr) override { return _to GetStr(aStr); } \
  NS_IMETHOD SetStr(const nsAString & aStr) override { return _to SetStr(aStr); } \
  NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority) override { return _to GetPriority(aPriority); } \
  NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority) override { return _to SetPriority(aPriority); } \
  NS_IMETHOD GetDate(PRTime *aDate) override { return _to GetDate(aDate); } \
  NS_IMETHOD SetDate(PRTime aDate) override { return _to SetDate(aDate); } \
  NS_IMETHOD GetStatus(uint32_t *aStatus) override { return _to GetStatus(aStatus); } \
  NS_IMETHOD SetStatus(uint32_t aStatus) override { return _to SetStatus(aStatus); } \
  NS_IMETHOD GetSize(uint32_t *aSize) override { return _to GetSize(aSize); } \
  NS_IMETHOD SetSize(uint32_t aSize) override { return _to SetSize(aSize); } \
  NS_IMETHOD GetMsgKey(nsMsgKey *aMsgKey) override { return _to GetMsgKey(aMsgKey); } \
  NS_IMETHOD SetMsgKey(nsMsgKey aMsgKey) override { return _to SetMsgKey(aMsgKey); } \
  NS_IMETHOD GetAge(int32_t *aAge) override { return _to GetAge(aAge); } \
  NS_IMETHOD SetAge(int32_t aAge) override { return _to SetAge(aAge); } \
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) override { return _to GetFolder(aFolder); } \
  NS_IMETHOD SetFolder(nsIMsgFolder *aFolder) override { return _to SetFolder(aFolder); } \
  NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel) override { return _to GetLabel(aLabel); } \
  NS_IMETHOD SetLabel(nsMsgLabelValue aLabel) override { return _to SetLabel(aLabel); } \
  NS_IMETHOD GetJunkStatus(nsMsgJunkStatus *aJunkStatus) override { return _to GetJunkStatus(aJunkStatus); } \
  NS_IMETHOD SetJunkStatus(nsMsgJunkStatus aJunkStatus) override { return _to SetJunkStatus(aJunkStatus); } \
  NS_IMETHOD GetJunkPercent(uint32_t *aJunkPercent) override { return _to GetJunkPercent(aJunkPercent); } \
  NS_IMETHOD SetJunkPercent(uint32_t aJunkPercent) override { return _to SetJunkPercent(aJunkPercent); } \
  NS_IMETHOD ToString(nsAString & _retval) override { return _to ToString(_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_NSIMSGSEARCHVALUE(_to) \
  NS_IMETHOD GetAttrib(nsMsgSearchAttribValue *aAttrib) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAttrib(aAttrib); } \
  NS_IMETHOD SetAttrib(nsMsgSearchAttribValue aAttrib) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAttrib(aAttrib); } \
  NS_IMETHOD GetStr(nsAString & aStr) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStr(aStr); } \
  NS_IMETHOD SetStr(const nsAString & aStr) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetStr(aStr); } \
  NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPriority(aPriority); } \
  NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPriority(aPriority); } \
  NS_IMETHOD GetDate(PRTime *aDate) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDate(aDate); } \
  NS_IMETHOD SetDate(PRTime aDate) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDate(aDate); } \
  NS_IMETHOD GetStatus(uint32_t *aStatus) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStatus(aStatus); } \
  NS_IMETHOD SetStatus(uint32_t aStatus) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetStatus(aStatus); } \
  NS_IMETHOD GetSize(uint32_t *aSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSize(aSize); } \
  NS_IMETHOD SetSize(uint32_t aSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSize(aSize); } \
  NS_IMETHOD GetMsgKey(nsMsgKey *aMsgKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMsgKey(aMsgKey); } \
  NS_IMETHOD SetMsgKey(nsMsgKey aMsgKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMsgKey(aMsgKey); } \
  NS_IMETHOD GetAge(int32_t *aAge) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAge(aAge); } \
  NS_IMETHOD SetAge(int32_t aAge) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAge(aAge); } \
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFolder(aFolder); } \
  NS_IMETHOD SetFolder(nsIMsgFolder *aFolder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFolder(aFolder); } \
  NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLabel(aLabel); } \
  NS_IMETHOD SetLabel(nsMsgLabelValue aLabel) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLabel(aLabel); } \
  NS_IMETHOD GetJunkStatus(nsMsgJunkStatus *aJunkStatus) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJunkStatus(aJunkStatus); } \
  NS_IMETHOD SetJunkStatus(nsMsgJunkStatus aJunkStatus) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetJunkStatus(aJunkStatus); } \
  NS_IMETHOD GetJunkPercent(uint32_t *aJunkPercent) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJunkPercent(aJunkPercent); } \
  NS_IMETHOD SetJunkPercent(uint32_t aJunkPercent) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetJunkPercent(aJunkPercent); } \
  NS_IMETHOD ToString(nsAString & _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 

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

/* Header file */
class nsMsgSearchValue : public nsIMsgSearchValue
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGSEARCHVALUE

  nsMsgSearchValue();

private:
  ~nsMsgSearchValue();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsMsgSearchValue, nsIMsgSearchValue)

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

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

/* attribute nsMsgSearchAttribValue attrib; */
NS_IMETHODIMP nsMsgSearchValue::GetAttrib(nsMsgSearchAttribValue *aAttrib)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetAttrib(nsMsgSearchAttribValue aAttrib)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString str; */
NS_IMETHODIMP nsMsgSearchValue::GetStr(nsAString & aStr)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetStr(const nsAString & aStr)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgPriorityValue priority; */
NS_IMETHODIMP nsMsgSearchValue::GetPriority(nsMsgPriorityValue *aPriority)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetPriority(nsMsgPriorityValue aPriority)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute PRTime date; */
NS_IMETHODIMP nsMsgSearchValue::GetDate(PRTime *aDate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetDate(PRTime aDate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long status; */
NS_IMETHODIMP nsMsgSearchValue::GetStatus(uint32_t *aStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetStatus(uint32_t aStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* attribute nsMsgKey msgKey; */
NS_IMETHODIMP nsMsgSearchValue::GetMsgKey(nsMsgKey *aMsgKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetMsgKey(nsMsgKey aMsgKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long age; */
NS_IMETHODIMP nsMsgSearchValue::GetAge(int32_t *aAge)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetAge(int32_t aAge)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMsgFolder folder; */
NS_IMETHODIMP nsMsgSearchValue::GetFolder(nsIMsgFolder * *aFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetFolder(nsIMsgFolder *aFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgLabelValue label; */
NS_IMETHODIMP nsMsgSearchValue::GetLabel(nsMsgLabelValue *aLabel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetLabel(nsMsgLabelValue aLabel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgJunkStatus junkStatus; */
NS_IMETHODIMP nsMsgSearchValue::GetJunkStatus(nsMsgJunkStatus *aJunkStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetJunkStatus(nsMsgJunkStatus aJunkStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long junkPercent; */
NS_IMETHODIMP nsMsgSearchValue::GetJunkPercent(uint32_t *aJunkPercent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetJunkPercent(uint32_t aJunkPercent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString toString (); */
NS_IMETHODIMP nsMsgSearchValue::ToString(nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIMsgSearchValue_h__ */
