/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM 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 "12156d67-6071-4354-b204-4cb9b561cc94"

#define NS_IMSGSEARCHVALUE_IID \
  {0x12156d67, 0x6071, 0x4354, \
    { 0xb2, 0x04, 0x4c, 0xb9, 0xb5, 0x61, 0xcc, 0x94 }}

class NS_NO_VTABLE nsIMsgSearchValue : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IMSGSEARCHVALUE_IID)

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

  /* attribute wstring str; */
  NS_IMETHOD GetStr(PRUnichar * *aStr) = 0;
  NS_IMETHOD SetStr(const PRUnichar * 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(PRUint32 *aStatus) = 0;
  NS_IMETHOD SetStatus(PRUint32 aStatus) = 0;

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

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

  /* attribute unsigned long age; */
  NS_IMETHOD GetAge(PRUint32 *aAge) = 0;
  NS_IMETHOD SetAge(PRUint32 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;

  /* wstring toString (); */
  NS_IMETHOD ToString(PRUnichar **_retval) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGSEARCHVALUE \
  NS_IMETHOD GetAttrib(nsMsgSearchAttribValue *aAttrib); \
  NS_IMETHOD SetAttrib(nsMsgSearchAttribValue aAttrib); \
  NS_IMETHOD GetStr(PRUnichar * *aStr); \
  NS_IMETHOD SetStr(const PRUnichar * aStr); \
  NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority); \
  NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority); \
  NS_IMETHOD GetDate(PRTime *aDate); \
  NS_IMETHOD SetDate(PRTime aDate); \
  NS_IMETHOD GetStatus(PRUint32 *aStatus); \
  NS_IMETHOD SetStatus(PRUint32 aStatus); \
  NS_IMETHOD GetSize(PRUint32 *aSize); \
  NS_IMETHOD SetSize(PRUint32 aSize); \
  NS_IMETHOD GetMsgKey(nsMsgKey *aMsgKey); \
  NS_IMETHOD SetMsgKey(nsMsgKey aMsgKey); \
  NS_IMETHOD GetAge(PRUint32 *aAge); \
  NS_IMETHOD SetAge(PRUint32 aAge); \
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder); \
  NS_IMETHOD SetFolder(nsIMsgFolder * aFolder); \
  NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel); \
  NS_IMETHOD SetLabel(nsMsgLabelValue aLabel); \
  NS_IMETHOD GetJunkStatus(nsMsgJunkStatus *aJunkStatus); \
  NS_IMETHOD SetJunkStatus(nsMsgJunkStatus aJunkStatus); \
  NS_IMETHOD ToString(PRUnichar **_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) { return _to GetAttrib(aAttrib); } \
  NS_IMETHOD SetAttrib(nsMsgSearchAttribValue aAttrib) { return _to SetAttrib(aAttrib); } \
  NS_IMETHOD GetStr(PRUnichar * *aStr) { return _to GetStr(aStr); } \
  NS_IMETHOD SetStr(const PRUnichar * aStr) { return _to SetStr(aStr); } \
  NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority) { return _to GetPriority(aPriority); } \
  NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority) { return _to SetPriority(aPriority); } \
  NS_IMETHOD GetDate(PRTime *aDate) { return _to GetDate(aDate); } \
  NS_IMETHOD SetDate(PRTime aDate) { return _to SetDate(aDate); } \
  NS_IMETHOD GetStatus(PRUint32 *aStatus) { return _to GetStatus(aStatus); } \
  NS_IMETHOD SetStatus(PRUint32 aStatus) { return _to SetStatus(aStatus); } \
  NS_IMETHOD GetSize(PRUint32 *aSize) { return _to GetSize(aSize); } \
  NS_IMETHOD SetSize(PRUint32 aSize) { return _to SetSize(aSize); } \
  NS_IMETHOD GetMsgKey(nsMsgKey *aMsgKey) { return _to GetMsgKey(aMsgKey); } \
  NS_IMETHOD SetMsgKey(nsMsgKey aMsgKey) { return _to SetMsgKey(aMsgKey); } \
  NS_IMETHOD GetAge(PRUint32 *aAge) { return _to GetAge(aAge); } \
  NS_IMETHOD SetAge(PRUint32 aAge) { return _to SetAge(aAge); } \
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) { return _to GetFolder(aFolder); } \
  NS_IMETHOD SetFolder(nsIMsgFolder * aFolder) { return _to SetFolder(aFolder); } \
  NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel) { return _to GetLabel(aLabel); } \
  NS_IMETHOD SetLabel(nsMsgLabelValue aLabel) { return _to SetLabel(aLabel); } \
  NS_IMETHOD GetJunkStatus(nsMsgJunkStatus *aJunkStatus) { return _to GetJunkStatus(aJunkStatus); } \
  NS_IMETHOD SetJunkStatus(nsMsgJunkStatus aJunkStatus) { return _to SetJunkStatus(aJunkStatus); } \
  NS_IMETHOD ToString(PRUnichar **_retval) { 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) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAttrib(aAttrib); } \
  NS_IMETHOD SetAttrib(nsMsgSearchAttribValue aAttrib) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAttrib(aAttrib); } \
  NS_IMETHOD GetStr(PRUnichar * *aStr) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStr(aStr); } \
  NS_IMETHOD SetStr(const PRUnichar * aStr) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetStr(aStr); } \
  NS_IMETHOD GetPriority(nsMsgPriorityValue *aPriority) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPriority(aPriority); } \
  NS_IMETHOD SetPriority(nsMsgPriorityValue aPriority) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPriority(aPriority); } \
  NS_IMETHOD GetDate(PRTime *aDate) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDate(aDate); } \
  NS_IMETHOD SetDate(PRTime aDate) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDate(aDate); } \
  NS_IMETHOD GetStatus(PRUint32 *aStatus) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStatus(aStatus); } \
  NS_IMETHOD SetStatus(PRUint32 aStatus) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetStatus(aStatus); } \
  NS_IMETHOD GetSize(PRUint32 *aSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSize(aSize); } \
  NS_IMETHOD SetSize(PRUint32 aSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSize(aSize); } \
  NS_IMETHOD GetMsgKey(nsMsgKey *aMsgKey) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMsgKey(aMsgKey); } \
  NS_IMETHOD SetMsgKey(nsMsgKey aMsgKey) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMsgKey(aMsgKey); } \
  NS_IMETHOD GetAge(PRUint32 *aAge) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAge(aAge); } \
  NS_IMETHOD SetAge(PRUint32 aAge) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAge(aAge); } \
  NS_IMETHOD GetFolder(nsIMsgFolder * *aFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFolder(aFolder); } \
  NS_IMETHOD SetFolder(nsIMsgFolder * aFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFolder(aFolder); } \
  NS_IMETHOD GetLabel(nsMsgLabelValue *aLabel) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLabel(aLabel); } \
  NS_IMETHOD SetLabel(nsMsgLabelValue aLabel) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLabel(aLabel); } \
  NS_IMETHOD GetJunkStatus(nsMsgJunkStatus *aJunkStatus) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJunkStatus(aJunkStatus); } \
  NS_IMETHOD SetJunkStatus(nsMsgJunkStatus aJunkStatus) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetJunkStatus(aJunkStatus); } \
  NS_IMETHOD ToString(PRUnichar **_retval) { 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();
  virtual ~nsMsgSearchValue();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(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 wstring str; */
NS_IMETHODIMP nsMsgSearchValue::GetStr(PRUnichar * *aStr)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetStr(const PRUnichar * 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(PRUint32 *aStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetStatus(PRUint32 aStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long size; */
NS_IMETHODIMP nsMsgSearchValue::GetSize(PRUint32 *aSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetSize(PRUint32 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 unsigned long age; */
NS_IMETHODIMP nsMsgSearchValue::GetAge(PRUint32 *aAge)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchValue::SetAge(PRUint32 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;
}

/* wstring toString (); */
NS_IMETHODIMP nsMsgSearchValue::ToString(PRUnichar **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIMsgSearchValue_h__ */
