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

#ifndef __gen_nsMsgFilterCore_h__
#define __gen_nsMsgFilterCore_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
typedef int32_t  nsMsgFilterTypeType;


/* starting interface:    nsMsgFilterType */
#define NS_MSGFILTERTYPE_IID_STR "b963a9c6-3a75-4d91-9f79-7186418d4d2d"

#define NS_MSGFILTERTYPE_IID \
  {0xb963a9c6, 0x3a75, 0x4d91, \
    { 0x9f, 0x79, 0x71, 0x86, 0x41, 0x8d, 0x4d, 0x2d }}

class NS_NO_VTABLE nsMsgFilterType {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_MSGFILTERTYPE_IID)

  enum {
    None = 0,
    InboxRule = 1,
    InboxJavaScript = 2,
    Inbox = 3,
    NewsRule = 4,
    NewsJavaScript = 8,
    News = 12,
    Incoming = 15,
    Manual = 16,
    PostPlugin = 32,
    PostOutgoing = 64,
    Archive = 128,
    All = 31
  };

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsMsgFilterType, NS_MSGFILTERTYPE_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSMSGFILTERTYPE \

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSMSGFILTERTYPE(_to) \

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSMSGFILTERTYPE(_to) \

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

/* Header file */
class _MYCLASS_ : public nsMsgFilterType
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSMSGFILTERTYPE

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(_MYCLASS_, nsMsgFilterType)

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

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

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

typedef int32_t  nsMsgFilterMotionValue;

typedef int32_t  nsMsgFilterIndex;

typedef int32_t  nsMsgRuleActionType;


/* starting interface:    nsMsgFilterAction */
#define NS_MSGFILTERACTION_IID_STR "7726fe79-afa3-4a39-8292-733aee288737"

#define NS_MSGFILTERACTION_IID \
  {0x7726fe79, 0xafa3, 0x4a39, \
    { 0x82, 0x92, 0x73, 0x3a, 0xee, 0x28, 0x87, 0x37 }}

class NS_NO_VTABLE nsMsgFilterAction {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_MSGFILTERACTION_IID)

  enum {
    Custom = -1,
    None = 0,
    MoveToFolder = 1,
    ChangePriority = 2,
    Delete = 3,
    MarkRead = 4,
    KillThread = 5,
    WatchThread = 6,
    MarkFlagged = 7,
    Label = 8,
    Reply = 9,
    Forward = 10,
    StopExecution = 11,
    DeleteFromPop3Server = 12,
    LeaveOnPop3Server = 13,
    JunkScore = 14,
    FetchBodyFromPop3Server = 15,
    CopyToFolder = 16,
    AddTag = 17,
    KillSubthread = 18,
    MarkUnread = 19
  };

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsMsgFilterAction, NS_MSGFILTERACTION_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSMSGFILTERACTION \

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSMSGFILTERACTION(_to) \

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSMSGFILTERACTION(_to) \

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

/* Header file */
class _MYCLASS_ : public nsMsgFilterAction
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSMSGFILTERACTION

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(_MYCLASS_, nsMsgFilterAction)

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

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

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


#endif /* __gen_nsMsgFilterCore_h__ */
