kmail

#include <kmsearchpattern.h>

Inheritance diagram for KMSearchRule:
KMSearchRuleNumerical KMSearchRuleStatus KMSearchRuleString

Public Types

enum  Function {
  FuncNone = -1 , FuncContains =0 , FuncContainsNot , FuncEquals ,
  FuncNotEqual , FuncRegExp , FuncNotRegExp , FuncIsGreater ,
  FuncIsLessOrEqual , FuncIsLess , FuncIsGreaterOrEqual , FuncIsInAddressbook ,
  FuncIsNotInAddressbook , FuncIsInCategory , FuncIsNotInCategory , FuncHasAttachment ,
  FuncHasNoAttachment
}
 

Public Member Functions

 KMSearchRule (const TQCString &field=0, Function=FuncContains, const TQString &contents=TQString())
 
 KMSearchRule (const KMSearchRule &other)
 
const KMSearchRuleoperator= (const KMSearchRule &other)
 
virtual bool matches (const KMMessage *msg) const =0
 
virtual bool matches (const DwString &str, KMMessage &msg, const DwBoyerMoore *headerField=0, int headerLen=-1) const
 
virtual bool isEmpty () const =0
 
virtual bool requiresBody () const
 
void writeConfig (TDEConfig *config, int aIdx) const
 
Function function () const
 
void setFunction (Function aFunction)
 
TQCString field () const
 
void setField (const TQCString &field)
 
TQString contents () const
 
void setContents (const TQString &aContents)
 
const TQString asString () const
 

Static Public Member Functions

static KMSearchRulecreateInstance (const TQCString &field=0, Function function=FuncContains, const TQString &contents=TQString())
 
static KMSearchRulecreateInstance (const TQCString &field, const char *function, const TQString &contents)
 
static KMSearchRulecreateInstance (const KMSearchRule &other)
 
static KMSearchRulecreateInstanceFromConfig (const TDEConfig *config, int aIdx)
 

Detailed Description

Incoming mail is sent through the list of mail filter rules before it is placed in the associated mail folder (usually "inbox").

This class represents one mail filter rule. It is also used to represent a search rule as used by the search dialog and folders.

This class represents one search pattern rule.

Definition at line 30 of file kmsearchpattern.h.

Member Enumeration Documentation

◆ Function

Operators for comparison of field and contents.

If you change the order or contents of the enum: do not forget to change funcConfigNames[], sFilterFuncList and matches() in KMSearchRule, too. Also, it is assumed that these functions come in pairs of logical opposites (ie. "=" <-> "!=", ">" <-> "<=", etc.).

Definition at line 40 of file kmsearchpattern.h.

Member Function Documentation

◆ asString()

const TQString KMSearchRule::asString ( ) const

Returns the rule as string.

For debugging.

Definition at line 184 of file kmsearchpattern.cpp.

◆ contents()

TQString KMSearchRule::contents ( ) const
inline

Return the value.

This can be either a substring to search for in or a regexp pattern to match against the header.

Definition at line 133 of file kmsearchpattern.h.

◆ createInstance()

KMSearchRule * KMSearchRule::createInstance ( const TQCString &  field = 0,
Function  function = FuncContains,
const TQString &  contents = TQString() 
)
static

Create a search rule of a certain type by instantiating the appro- priate subclass depending on the field.

Definition at line 100 of file kmsearchpattern.cpp.

◆ createInstanceFromConfig()

KMSearchRule * KMSearchRule::createInstanceFromConfig ( const TDEConfig *  config,
int  aIdx 
)
static

Initialize the object from a given config file.

The group must be preset. aIdx is an identifier that is used to distinguish rules within a single config group. This function does no validation of the data obtained from the config file. You should call isEmpty yourself if you need valid rules.

Definition at line 127 of file kmsearchpattern.cpp.

◆ field()

TQCString KMSearchRule::field ( ) const
inline

Return message header field name (without the trailing ':').

There are also six pseudo-headers:

  • <message>: Try to match against the whole message.
  • <body>: Try to match against the body of the message.
  • <any header>: Try to match against any header field.
  • <recipients>: Try to match against both To: and Cc: header fields.
  • <size>: Try to match against size of message (numerical).
  • <age in days>: Try to match against age of message (numerical).
  • <status>: Try to match against status of message (status).

Definition at line 125 of file kmsearchpattern.h.

◆ function()

Function KMSearchRule::function ( ) const
inline

Return filter function.

This can be any of the operators defined in Function.

Definition at line 110 of file kmsearchpattern.h.

◆ isEmpty()

virtual bool KMSearchRule::isEmpty ( ) const
pure virtual

Determine whether the rule is worth considering.

It isn't if either the field is not set or the contents is empty. KFilter should make sure that it's rule list contains only non-empty rules, as matches doesn't check this.

Implemented in KMSearchRuleStatus, KMSearchRuleNumerical, and KMSearchRuleString.

◆ matches() [1/2]

bool KMSearchRule::matches ( const DwString &  str,
KMMessage msg,
const DwBoyerMoore *  headerField = 0,
int  headerLen = -1 
) const
virtual

Optimized version tries to match the rule against the given.

See also
DwString.
Returns
TRUE if the rule matched, FALSE otherwise.

Reimplemented in KMSearchRuleString, and KMSearchRuleStatus.

Definition at line 174 of file kmsearchpattern.cpp.

◆ matches() [2/2]

virtual bool KMSearchRule::matches ( const KMMessage msg) const
pure virtual

Tries to match the rule against the given KMMessage.

Returns
TRUE if the rule matched, FALSE otherwise. Must be implemented by subclasses.

Implemented in KMSearchRuleStatus, KMSearchRuleNumerical, and KMSearchRuleString.

◆ requiresBody()

virtual bool KMSearchRule::requiresBody ( ) const
inlinevirtual

Returns true if the rule depends on a complete message, otherwise returns false.

Reimplemented in KMSearchRuleString.

Definition at line 98 of file kmsearchpattern.h.

◆ setContents()

void KMSearchRule::setContents ( const TQString &  aContents)
inline

Set the value.

Definition at line 135 of file kmsearchpattern.h.

◆ setField()

void KMSearchRule::setField ( const TQCString &  field)
inline

Set message header field name (make sure there's no trailing colon ':')

Definition at line 129 of file kmsearchpattern.h.

◆ setFunction()

void KMSearchRule::setFunction ( Function  aFunction)
inline

Set filter function.

Definition at line 113 of file kmsearchpattern.h.

◆ writeConfig()

void KMSearchRule::writeConfig ( TDEConfig *  config,
int  aIdx 
) const

Save the object into a given config file.

The group must be preset. aIdx is an identifier that is used to distinguish rules within a single config group. This function will happily write itself even when it's not valid, assuming higher layers to Do The Right Thing(TM).

Definition at line 163 of file kmsearchpattern.cpp.


The documentation for this class was generated from the following files: