Inherits SieveProduction
The SieveTest class models the RFC 5228 "test" production.
Returns the address part specified, or NoAddressPart if none has been expiclitly specified.
Returns what setArguments() set, or a null pointer if setArguments() has not been called.
Returns the body match type for this test, or Text for the default. The result is meaningful only when identifier() is "body".
Returns the comparator specified, or SieveTest::IAsciiCasemap if none has been.
Returns a pointer to a list of the content types to be used for the "body" test, assuming that bodyMatchType() returns SpecifiedTypes. May return a null pointer.
Returns the specified date part if identifier() is "date" or "currentdate", and an empty string otherwise.
Returns the specified zone in "[+-]NNNN" format if identifier() is "date" or "currentdate", and "-0000" if :originalzone was specified instead. Returns an empty string for other identifier()s.
Returns a list of the envelope parts the test "envelope" should look at, or a null pointer if identifier() is not "envelope".
Finds the address-part tags and reacts sensibly.
Finds any specified comparator name and sets the comparator accordingly.
Finds the match-type tags and reacts sensibly.
Returns a list of the headers to which the identifier() pertains, or a null pointer if the identifier() is of a type that doesn't use any header fields.
Each string in the list is header-cased (see EString::headerCased()).
Returns what setIdentifier() set, or an empty string if setIdentifier() has not been called.
Returns a list of the keys to be searched for, or a null pointer if none are known (which is the case e.g. if identifier() is "exists" or "true").
Returns the match operator specified, or is None if the match type is not Value or Count.
Returns the match type specified, or Is if none has been explicitly specified.
Does semantic analysis and second-level parsing of sieve tests. Checks that the test is supported, etc.
Notifies this command that l is a list of its arguments. Does nothing if l is a null pointer.
Notifies this command that its identifier if i. The initial value is an empty string, which is not valid.
Returns the size limit for identifier() "test", and 0 for all other tests.
Returns true if the test identifier() is "size" and the tag :over is active, and false in all other cases.
As SieveArgumentList::takeStringList( n ), and additionally checks that each string is a valid header field name according to RFC 2822 section 3.6.8, and if identifier() is "address", that each refers to an address field. The result is filtered through EString::headerCased().
This web page based on source code belonging to The Archiveopteryx Developers. All rights reserved.