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

#ifndef __gen_nsISpamSettings_h__
#define __gen_nsISpamSettings_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 nsIOutputStream; /* forward declaration */

class nsIMsgIncomingServer; /* forward declaration */

class nsIMsgDBHdr; /* forward declaration */

class nsIFile; /* forward declaration */


/* starting interface:    nsISpamSettings */
#define NS_ISPAMSETTINGS_IID_STR "1772be95-fda9-4dfd-a663-8af92c1e3024"

#define NS_ISPAMSETTINGS_IID \
  {0x1772be95, 0xfda9, 0x4dfd, \
    { 0xa6, 0x63, 0x8a, 0xf9, 0x2c, 0x1e, 0x30, 0x24 }}

class NS_NO_VTABLE nsISpamSettings : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISPAMSETTINGS_IID)

  /* attribute long level; */
  NS_IMETHOD GetLevel(int32_t *aLevel) = 0;
  NS_IMETHOD SetLevel(int32_t aLevel) = 0;

  /* attribute boolean moveOnSpam; */
  NS_IMETHOD GetMoveOnSpam(bool *aMoveOnSpam) = 0;
  NS_IMETHOD SetMoveOnSpam(bool aMoveOnSpam) = 0;

  /* readonly attribute boolean markAsReadOnSpam; */
  NS_IMETHOD GetMarkAsReadOnSpam(bool *aMarkAsReadOnSpam) = 0;

  /* attribute long moveTargetMode; */
  NS_IMETHOD GetMoveTargetMode(int32_t *aMoveTargetMode) = 0;
  NS_IMETHOD SetMoveTargetMode(int32_t aMoveTargetMode) = 0;

  enum {
    MOVE_TARGET_MODE_ACCOUNT = 0,
    MOVE_TARGET_MODE_FOLDER = 1
  };

  /* attribute string actionTargetAccount; */
  NS_IMETHOD GetActionTargetAccount(char * *aActionTargetAccount) = 0;
  NS_IMETHOD SetActionTargetAccount(const char * aActionTargetAccount) = 0;

  /* attribute string actionTargetFolder; */
  NS_IMETHOD GetActionTargetFolder(char * *aActionTargetFolder) = 0;
  NS_IMETHOD SetActionTargetFolder(const char * aActionTargetFolder) = 0;

  /* readonly attribute string spamFolderURI; */
  NS_IMETHOD GetSpamFolderURI(char * *aSpamFolderURI) = 0;

  /* attribute boolean purge; */
  NS_IMETHOD GetPurge(bool *aPurge) = 0;
  NS_IMETHOD SetPurge(bool aPurge) = 0;

  /* attribute long purgeInterval; */
  NS_IMETHOD GetPurgeInterval(int32_t *aPurgeInterval) = 0;
  NS_IMETHOD SetPurgeInterval(int32_t aPurgeInterval) = 0;

  /* attribute boolean useWhiteList; */
  NS_IMETHOD GetUseWhiteList(bool *aUseWhiteList) = 0;
  NS_IMETHOD SetUseWhiteList(bool aUseWhiteList) = 0;

  /* attribute string whiteListAbURI; */
  NS_IMETHOD GetWhiteListAbURI(char * *aWhiteListAbURI) = 0;
  NS_IMETHOD SetWhiteListAbURI(const char * aWhiteListAbURI) = 0;

  /* readonly attribute boolean manualMark; */
  NS_IMETHOD GetManualMark(bool *aManualMark) = 0;

  /* readonly attribute long manualMarkMode; */
  NS_IMETHOD GetManualMarkMode(int32_t *aManualMarkMode) = 0;

  enum {
    MANUAL_MARK_MODE_MOVE = 0,
    MANUAL_MARK_MODE_DELETE = 1
  };

  /* attribute boolean useServerFilter; */
  NS_IMETHOD GetUseServerFilter(bool *aUseServerFilter) = 0;
  NS_IMETHOD SetUseServerFilter(bool aUseServerFilter) = 0;

  /* attribute ACString serverFilterName; */
  NS_IMETHOD GetServerFilterName(nsACString & aServerFilterName) = 0;
  NS_IMETHOD SetServerFilterName(const nsACString & aServerFilterName) = 0;

  /* readonly attribute nsIFile serverFilterFile; */
  NS_IMETHOD GetServerFilterFile(nsIFile * *aServerFilterFile) = 0;

  enum {
    TRUST_POSITIVES = 1,
    TRUST_NEGATIVES = 2
  };

  /* attribute long serverFilterTrustFlags; */
  NS_IMETHOD GetServerFilterTrustFlags(int32_t *aServerFilterTrustFlags) = 0;
  NS_IMETHOD SetServerFilterTrustFlags(int32_t aServerFilterTrustFlags) = 0;

  /* readonly attribute boolean loggingEnabled; */
  NS_IMETHOD GetLoggingEnabled(bool *aLoggingEnabled) = 0;

  /* attribute nsIOutputStream logStream; */
  NS_IMETHOD GetLogStream(nsIOutputStream * *aLogStream) = 0;
  NS_IMETHOD SetLogStream(nsIOutputStream *aLogStream) = 0;

  /* void logJunkHit (in nsIMsgDBHdr aMsgHdr, in boolean aMoveMessage); */
  NS_IMETHOD LogJunkHit(nsIMsgDBHdr *aMsgHdr, bool aMoveMessage) = 0;

  /* void logJunkString (in string aLogText); */
  NS_IMETHOD LogJunkString(const char * aLogText) = 0;

  /* void clone (in nsISpamSettings aSpamSettings); */
  NS_IMETHOD Clone(nsISpamSettings *aSpamSettings) = 0;

  /* void initialize (in nsIMsgIncomingServer aServer); */
  NS_IMETHOD Initialize(nsIMsgIncomingServer *aServer) = 0;

  /* boolean checkWhiteList (in nsIMsgDBHdr aMsgHdr); */
  NS_IMETHOD CheckWhiteList(nsIMsgDBHdr *aMsgHdr, bool *_retval) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsISpamSettings, NS_ISPAMSETTINGS_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISPAMSETTINGS \
  NS_IMETHOD GetLevel(int32_t *aLevel) MOZ_OVERRIDE; \
  NS_IMETHOD SetLevel(int32_t aLevel) MOZ_OVERRIDE; \
  NS_IMETHOD GetMoveOnSpam(bool *aMoveOnSpam) MOZ_OVERRIDE; \
  NS_IMETHOD SetMoveOnSpam(bool aMoveOnSpam) MOZ_OVERRIDE; \
  NS_IMETHOD GetMarkAsReadOnSpam(bool *aMarkAsReadOnSpam) MOZ_OVERRIDE; \
  NS_IMETHOD GetMoveTargetMode(int32_t *aMoveTargetMode) MOZ_OVERRIDE; \
  NS_IMETHOD SetMoveTargetMode(int32_t aMoveTargetMode) MOZ_OVERRIDE; \
  NS_IMETHOD GetActionTargetAccount(char * *aActionTargetAccount) MOZ_OVERRIDE; \
  NS_IMETHOD SetActionTargetAccount(const char * aActionTargetAccount) MOZ_OVERRIDE; \
  NS_IMETHOD GetActionTargetFolder(char * *aActionTargetFolder) MOZ_OVERRIDE; \
  NS_IMETHOD SetActionTargetFolder(const char * aActionTargetFolder) MOZ_OVERRIDE; \
  NS_IMETHOD GetSpamFolderURI(char * *aSpamFolderURI) MOZ_OVERRIDE; \
  NS_IMETHOD GetPurge(bool *aPurge) MOZ_OVERRIDE; \
  NS_IMETHOD SetPurge(bool aPurge) MOZ_OVERRIDE; \
  NS_IMETHOD GetPurgeInterval(int32_t *aPurgeInterval) MOZ_OVERRIDE; \
  NS_IMETHOD SetPurgeInterval(int32_t aPurgeInterval) MOZ_OVERRIDE; \
  NS_IMETHOD GetUseWhiteList(bool *aUseWhiteList) MOZ_OVERRIDE; \
  NS_IMETHOD SetUseWhiteList(bool aUseWhiteList) MOZ_OVERRIDE; \
  NS_IMETHOD GetWhiteListAbURI(char * *aWhiteListAbURI) MOZ_OVERRIDE; \
  NS_IMETHOD SetWhiteListAbURI(const char * aWhiteListAbURI) MOZ_OVERRIDE; \
  NS_IMETHOD GetManualMark(bool *aManualMark) MOZ_OVERRIDE; \
  NS_IMETHOD GetManualMarkMode(int32_t *aManualMarkMode) MOZ_OVERRIDE; \
  NS_IMETHOD GetUseServerFilter(bool *aUseServerFilter) MOZ_OVERRIDE; \
  NS_IMETHOD SetUseServerFilter(bool aUseServerFilter) MOZ_OVERRIDE; \
  NS_IMETHOD GetServerFilterName(nsACString & aServerFilterName) MOZ_OVERRIDE; \
  NS_IMETHOD SetServerFilterName(const nsACString & aServerFilterName) MOZ_OVERRIDE; \
  NS_IMETHOD GetServerFilterFile(nsIFile * *aServerFilterFile) MOZ_OVERRIDE; \
  NS_IMETHOD GetServerFilterTrustFlags(int32_t *aServerFilterTrustFlags) MOZ_OVERRIDE; \
  NS_IMETHOD SetServerFilterTrustFlags(int32_t aServerFilterTrustFlags) MOZ_OVERRIDE; \
  NS_IMETHOD GetLoggingEnabled(bool *aLoggingEnabled) MOZ_OVERRIDE; \
  NS_IMETHOD GetLogStream(nsIOutputStream * *aLogStream) MOZ_OVERRIDE; \
  NS_IMETHOD SetLogStream(nsIOutputStream *aLogStream) MOZ_OVERRIDE; \
  NS_IMETHOD LogJunkHit(nsIMsgDBHdr *aMsgHdr, bool aMoveMessage) MOZ_OVERRIDE; \
  NS_IMETHOD LogJunkString(const char * aLogText) MOZ_OVERRIDE; \
  NS_IMETHOD Clone(nsISpamSettings *aSpamSettings) MOZ_OVERRIDE; \
  NS_IMETHOD Initialize(nsIMsgIncomingServer *aServer) MOZ_OVERRIDE; \
  NS_IMETHOD CheckWhiteList(nsIMsgDBHdr *aMsgHdr, bool *_retval) MOZ_OVERRIDE; 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISPAMSETTINGS(_to) \
  NS_IMETHOD GetLevel(int32_t *aLevel) MOZ_OVERRIDE { return _to GetLevel(aLevel); } \
  NS_IMETHOD SetLevel(int32_t aLevel) MOZ_OVERRIDE { return _to SetLevel(aLevel); } \
  NS_IMETHOD GetMoveOnSpam(bool *aMoveOnSpam) MOZ_OVERRIDE { return _to GetMoveOnSpam(aMoveOnSpam); } \
  NS_IMETHOD SetMoveOnSpam(bool aMoveOnSpam) MOZ_OVERRIDE { return _to SetMoveOnSpam(aMoveOnSpam); } \
  NS_IMETHOD GetMarkAsReadOnSpam(bool *aMarkAsReadOnSpam) MOZ_OVERRIDE { return _to GetMarkAsReadOnSpam(aMarkAsReadOnSpam); } \
  NS_IMETHOD GetMoveTargetMode(int32_t *aMoveTargetMode) MOZ_OVERRIDE { return _to GetMoveTargetMode(aMoveTargetMode); } \
  NS_IMETHOD SetMoveTargetMode(int32_t aMoveTargetMode) MOZ_OVERRIDE { return _to SetMoveTargetMode(aMoveTargetMode); } \
  NS_IMETHOD GetActionTargetAccount(char * *aActionTargetAccount) MOZ_OVERRIDE { return _to GetActionTargetAccount(aActionTargetAccount); } \
  NS_IMETHOD SetActionTargetAccount(const char * aActionTargetAccount) MOZ_OVERRIDE { return _to SetActionTargetAccount(aActionTargetAccount); } \
  NS_IMETHOD GetActionTargetFolder(char * *aActionTargetFolder) MOZ_OVERRIDE { return _to GetActionTargetFolder(aActionTargetFolder); } \
  NS_IMETHOD SetActionTargetFolder(const char * aActionTargetFolder) MOZ_OVERRIDE { return _to SetActionTargetFolder(aActionTargetFolder); } \
  NS_IMETHOD GetSpamFolderURI(char * *aSpamFolderURI) MOZ_OVERRIDE { return _to GetSpamFolderURI(aSpamFolderURI); } \
  NS_IMETHOD GetPurge(bool *aPurge) MOZ_OVERRIDE { return _to GetPurge(aPurge); } \
  NS_IMETHOD SetPurge(bool aPurge) MOZ_OVERRIDE { return _to SetPurge(aPurge); } \
  NS_IMETHOD GetPurgeInterval(int32_t *aPurgeInterval) MOZ_OVERRIDE { return _to GetPurgeInterval(aPurgeInterval); } \
  NS_IMETHOD SetPurgeInterval(int32_t aPurgeInterval) MOZ_OVERRIDE { return _to SetPurgeInterval(aPurgeInterval); } \
  NS_IMETHOD GetUseWhiteList(bool *aUseWhiteList) MOZ_OVERRIDE { return _to GetUseWhiteList(aUseWhiteList); } \
  NS_IMETHOD SetUseWhiteList(bool aUseWhiteList) MOZ_OVERRIDE { return _to SetUseWhiteList(aUseWhiteList); } \
  NS_IMETHOD GetWhiteListAbURI(char * *aWhiteListAbURI) MOZ_OVERRIDE { return _to GetWhiteListAbURI(aWhiteListAbURI); } \
  NS_IMETHOD SetWhiteListAbURI(const char * aWhiteListAbURI) MOZ_OVERRIDE { return _to SetWhiteListAbURI(aWhiteListAbURI); } \
  NS_IMETHOD GetManualMark(bool *aManualMark) MOZ_OVERRIDE { return _to GetManualMark(aManualMark); } \
  NS_IMETHOD GetManualMarkMode(int32_t *aManualMarkMode) MOZ_OVERRIDE { return _to GetManualMarkMode(aManualMarkMode); } \
  NS_IMETHOD GetUseServerFilter(bool *aUseServerFilter) MOZ_OVERRIDE { return _to GetUseServerFilter(aUseServerFilter); } \
  NS_IMETHOD SetUseServerFilter(bool aUseServerFilter) MOZ_OVERRIDE { return _to SetUseServerFilter(aUseServerFilter); } \
  NS_IMETHOD GetServerFilterName(nsACString & aServerFilterName) MOZ_OVERRIDE { return _to GetServerFilterName(aServerFilterName); } \
  NS_IMETHOD SetServerFilterName(const nsACString & aServerFilterName) MOZ_OVERRIDE { return _to SetServerFilterName(aServerFilterName); } \
  NS_IMETHOD GetServerFilterFile(nsIFile * *aServerFilterFile) MOZ_OVERRIDE { return _to GetServerFilterFile(aServerFilterFile); } \
  NS_IMETHOD GetServerFilterTrustFlags(int32_t *aServerFilterTrustFlags) MOZ_OVERRIDE { return _to GetServerFilterTrustFlags(aServerFilterTrustFlags); } \
  NS_IMETHOD SetServerFilterTrustFlags(int32_t aServerFilterTrustFlags) MOZ_OVERRIDE { return _to SetServerFilterTrustFlags(aServerFilterTrustFlags); } \
  NS_IMETHOD GetLoggingEnabled(bool *aLoggingEnabled) MOZ_OVERRIDE { return _to GetLoggingEnabled(aLoggingEnabled); } \
  NS_IMETHOD GetLogStream(nsIOutputStream * *aLogStream) MOZ_OVERRIDE { return _to GetLogStream(aLogStream); } \
  NS_IMETHOD SetLogStream(nsIOutputStream *aLogStream) MOZ_OVERRIDE { return _to SetLogStream(aLogStream); } \
  NS_IMETHOD LogJunkHit(nsIMsgDBHdr *aMsgHdr, bool aMoveMessage) MOZ_OVERRIDE { return _to LogJunkHit(aMsgHdr, aMoveMessage); } \
  NS_IMETHOD LogJunkString(const char * aLogText) MOZ_OVERRIDE { return _to LogJunkString(aLogText); } \
  NS_IMETHOD Clone(nsISpamSettings *aSpamSettings) MOZ_OVERRIDE { return _to Clone(aSpamSettings); } \
  NS_IMETHOD Initialize(nsIMsgIncomingServer *aServer) MOZ_OVERRIDE { return _to Initialize(aServer); } \
  NS_IMETHOD CheckWhiteList(nsIMsgDBHdr *aMsgHdr, bool *_retval) MOZ_OVERRIDE { return _to CheckWhiteList(aMsgHdr, _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_NSISPAMSETTINGS(_to) \
  NS_IMETHOD GetLevel(int32_t *aLevel) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLevel(aLevel); } \
  NS_IMETHOD SetLevel(int32_t aLevel) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLevel(aLevel); } \
  NS_IMETHOD GetMoveOnSpam(bool *aMoveOnSpam) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMoveOnSpam(aMoveOnSpam); } \
  NS_IMETHOD SetMoveOnSpam(bool aMoveOnSpam) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMoveOnSpam(aMoveOnSpam); } \
  NS_IMETHOD GetMarkAsReadOnSpam(bool *aMarkAsReadOnSpam) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMarkAsReadOnSpam(aMarkAsReadOnSpam); } \
  NS_IMETHOD GetMoveTargetMode(int32_t *aMoveTargetMode) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMoveTargetMode(aMoveTargetMode); } \
  NS_IMETHOD SetMoveTargetMode(int32_t aMoveTargetMode) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMoveTargetMode(aMoveTargetMode); } \
  NS_IMETHOD GetActionTargetAccount(char * *aActionTargetAccount) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetActionTargetAccount(aActionTargetAccount); } \
  NS_IMETHOD SetActionTargetAccount(const char * aActionTargetAccount) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetActionTargetAccount(aActionTargetAccount); } \
  NS_IMETHOD GetActionTargetFolder(char * *aActionTargetFolder) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetActionTargetFolder(aActionTargetFolder); } \
  NS_IMETHOD SetActionTargetFolder(const char * aActionTargetFolder) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetActionTargetFolder(aActionTargetFolder); } \
  NS_IMETHOD GetSpamFolderURI(char * *aSpamFolderURI) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSpamFolderURI(aSpamFolderURI); } \
  NS_IMETHOD GetPurge(bool *aPurge) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPurge(aPurge); } \
  NS_IMETHOD SetPurge(bool aPurge) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPurge(aPurge); } \
  NS_IMETHOD GetPurgeInterval(int32_t *aPurgeInterval) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPurgeInterval(aPurgeInterval); } \
  NS_IMETHOD SetPurgeInterval(int32_t aPurgeInterval) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPurgeInterval(aPurgeInterval); } \
  NS_IMETHOD GetUseWhiteList(bool *aUseWhiteList) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUseWhiteList(aUseWhiteList); } \
  NS_IMETHOD SetUseWhiteList(bool aUseWhiteList) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUseWhiteList(aUseWhiteList); } \
  NS_IMETHOD GetWhiteListAbURI(char * *aWhiteListAbURI) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWhiteListAbURI(aWhiteListAbURI); } \
  NS_IMETHOD SetWhiteListAbURI(const char * aWhiteListAbURI) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetWhiteListAbURI(aWhiteListAbURI); } \
  NS_IMETHOD GetManualMark(bool *aManualMark) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetManualMark(aManualMark); } \
  NS_IMETHOD GetManualMarkMode(int32_t *aManualMarkMode) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetManualMarkMode(aManualMarkMode); } \
  NS_IMETHOD GetUseServerFilter(bool *aUseServerFilter) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUseServerFilter(aUseServerFilter); } \
  NS_IMETHOD SetUseServerFilter(bool aUseServerFilter) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUseServerFilter(aUseServerFilter); } \
  NS_IMETHOD GetServerFilterName(nsACString & aServerFilterName) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerFilterName(aServerFilterName); } \
  NS_IMETHOD SetServerFilterName(const nsACString & aServerFilterName) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetServerFilterName(aServerFilterName); } \
  NS_IMETHOD GetServerFilterFile(nsIFile * *aServerFilterFile) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerFilterFile(aServerFilterFile); } \
  NS_IMETHOD GetServerFilterTrustFlags(int32_t *aServerFilterTrustFlags) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerFilterTrustFlags(aServerFilterTrustFlags); } \
  NS_IMETHOD SetServerFilterTrustFlags(int32_t aServerFilterTrustFlags) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetServerFilterTrustFlags(aServerFilterTrustFlags); } \
  NS_IMETHOD GetLoggingEnabled(bool *aLoggingEnabled) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoggingEnabled(aLoggingEnabled); } \
  NS_IMETHOD GetLogStream(nsIOutputStream * *aLogStream) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLogStream(aLogStream); } \
  NS_IMETHOD SetLogStream(nsIOutputStream *aLogStream) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLogStream(aLogStream); } \
  NS_IMETHOD LogJunkHit(nsIMsgDBHdr *aMsgHdr, bool aMoveMessage) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->LogJunkHit(aMsgHdr, aMoveMessage); } \
  NS_IMETHOD LogJunkString(const char * aLogText) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->LogJunkString(aLogText); } \
  NS_IMETHOD Clone(nsISpamSettings *aSpamSettings) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->Clone(aSpamSettings); } \
  NS_IMETHOD Initialize(nsIMsgIncomingServer *aServer) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->Initialize(aServer); } \
  NS_IMETHOD CheckWhiteList(nsIMsgDBHdr *aMsgHdr, bool *_retval) MOZ_OVERRIDE { return !_to ? NS_ERROR_NULL_POINTER : _to->CheckWhiteList(aMsgHdr, _retval); } 

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

/* Header file */
class nsSpamSettings : public nsISpamSettings
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISPAMSETTINGS

  nsSpamSettings();

private:
  ~nsSpamSettings();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsSpamSettings, nsISpamSettings)

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

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

/* attribute long level; */
NS_IMETHODIMP nsSpamSettings::GetLevel(int32_t *aLevel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetLevel(int32_t aLevel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean moveOnSpam; */
NS_IMETHODIMP nsSpamSettings::GetMoveOnSpam(bool *aMoveOnSpam)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetMoveOnSpam(bool aMoveOnSpam)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean markAsReadOnSpam; */
NS_IMETHODIMP nsSpamSettings::GetMarkAsReadOnSpam(bool *aMarkAsReadOnSpam)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long moveTargetMode; */
NS_IMETHODIMP nsSpamSettings::GetMoveTargetMode(int32_t *aMoveTargetMode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetMoveTargetMode(int32_t aMoveTargetMode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string actionTargetAccount; */
NS_IMETHODIMP nsSpamSettings::GetActionTargetAccount(char * *aActionTargetAccount)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetActionTargetAccount(const char * aActionTargetAccount)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string actionTargetFolder; */
NS_IMETHODIMP nsSpamSettings::GetActionTargetFolder(char * *aActionTargetFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetActionTargetFolder(const char * aActionTargetFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string spamFolderURI; */
NS_IMETHODIMP nsSpamSettings::GetSpamFolderURI(char * *aSpamFolderURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean purge; */
NS_IMETHODIMP nsSpamSettings::GetPurge(bool *aPurge)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetPurge(bool aPurge)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long purgeInterval; */
NS_IMETHODIMP nsSpamSettings::GetPurgeInterval(int32_t *aPurgeInterval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetPurgeInterval(int32_t aPurgeInterval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean useWhiteList; */
NS_IMETHODIMP nsSpamSettings::GetUseWhiteList(bool *aUseWhiteList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetUseWhiteList(bool aUseWhiteList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string whiteListAbURI; */
NS_IMETHODIMP nsSpamSettings::GetWhiteListAbURI(char * *aWhiteListAbURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetWhiteListAbURI(const char * aWhiteListAbURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean manualMark; */
NS_IMETHODIMP nsSpamSettings::GetManualMark(bool *aManualMark)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long manualMarkMode; */
NS_IMETHODIMP nsSpamSettings::GetManualMarkMode(int32_t *aManualMarkMode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean useServerFilter; */
NS_IMETHODIMP nsSpamSettings::GetUseServerFilter(bool *aUseServerFilter)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetUseServerFilter(bool aUseServerFilter)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString serverFilterName; */
NS_IMETHODIMP nsSpamSettings::GetServerFilterName(nsACString & aServerFilterName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetServerFilterName(const nsACString & aServerFilterName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIFile serverFilterFile; */
NS_IMETHODIMP nsSpamSettings::GetServerFilterFile(nsIFile * *aServerFilterFile)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long serverFilterTrustFlags; */
NS_IMETHODIMP nsSpamSettings::GetServerFilterTrustFlags(int32_t *aServerFilterTrustFlags)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetServerFilterTrustFlags(int32_t aServerFilterTrustFlags)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean loggingEnabled; */
NS_IMETHODIMP nsSpamSettings::GetLoggingEnabled(bool *aLoggingEnabled)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIOutputStream logStream; */
NS_IMETHODIMP nsSpamSettings::GetLogStream(nsIOutputStream * *aLogStream)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSpamSettings::SetLogStream(nsIOutputStream *aLogStream)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void logJunkHit (in nsIMsgDBHdr aMsgHdr, in boolean aMoveMessage); */
NS_IMETHODIMP nsSpamSettings::LogJunkHit(nsIMsgDBHdr *aMsgHdr, bool aMoveMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void logJunkString (in string aLogText); */
NS_IMETHODIMP nsSpamSettings::LogJunkString(const char * aLogText)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clone (in nsISpamSettings aSpamSettings); */
NS_IMETHODIMP nsSpamSettings::Clone(nsISpamSettings *aSpamSettings)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void initialize (in nsIMsgIncomingServer aServer); */
NS_IMETHODIMP nsSpamSettings::Initialize(nsIMsgIncomingServer *aServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean checkWhiteList (in nsIMsgDBHdr aMsgHdr); */
NS_IMETHODIMP nsSpamSettings::CheckWhiteList(nsIMsgDBHdr *aMsgHdr, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsISpamSettings_h__ */
