Defined in comm-central/ mailnews/ base/ search/ public/ nsMsgSearchCore.idl

typedef long nsMsgSearchOpValue;

[scriptable, uuid(9160b196-6fcb-4eba-aaaf-6c806c4ee420)]
interface nsMsgSearchOp {
     const nsMsgSearchOpValue Contains = 0; /* for text attributes      */
     const nsMsgSearchOpValue DoesntContain = 1;
     const nsMsgSearchOpValue Is = 2; /* is and isn't also apply to some non-text attrs */
     const nsMsgSearchOpValue Isnt = 3;
     const nsMsgSearchOpValue IsEmpty = 4;

     const nsMsgSearchOpValue IsBefore = 5; /* for date attributes              */
     const nsMsgSearchOpValue IsAfter = 6;

     const nsMsgSearchOpValue IsHigherThan = 7; /* for priority. Is also applies  */
     const nsMsgSearchOpValue IsLowerThan = 8;

     const nsMsgSearchOpValue BeginsWith = 9;
     const nsMsgSearchOpValue EndsWith = 10;

     const nsMsgSearchOpValue SoundsLike = 11; /* for LDAP phoenetic matching      */
     const nsMsgSearchOpValue LdapDwim = 12; /* Do What I Mean for simple search */

     const nsMsgSearchOpValue IsGreaterThan = 13;
     const nsMsgSearchOpValue IsLessThan = 14;

     const nsMsgSearchOpValue NameCompletion = 15; /* Name Completion operator...as the name implies =) */
     const nsMsgSearchOpValue IsInAB = 16;
     const nsMsgSearchOpValue IsntInAB = 17;
     const nsMsgSearchOpValue IsntEmpty = 18; /* primarily for tags */
     const nsMsgSearchOpValue Matches = 19; /* generic term for use by custom terms */
     const nsMsgSearchOpValue DoesntMatch = 20; /* generic term for use by custom terms */
     const nsMsgSearchOpValue kNumMsgSearchOperators  = 21;     /* must be last operator */
};