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

typedef long nsMsgSearchAttribValue;

/**
 * Definitions of search attribute types. The numerical order
 * from here will also be used to determine the order that the
 * attributes display in the filter editor.
 */
[scriptable, uuid(a83ca7e8-4591-4111-8fb8-fd76ac73c866)]
interface nsMsgSearchAttrib {
    const nsMsgSearchAttribValue Custom = -2;  /* a custom term, see nsIMsgSearchCustomTerm */
    const nsMsgSearchAttribValue Default = -1;
    const nsMsgSearchAttribValue Subject = 0;  /* mail and news */
    const nsMsgSearchAttribValue Sender = 1;
    const nsMsgSearchAttribValue Body = 2;
    const nsMsgSearchAttribValue Date = 3;

    const nsMsgSearchAttribValue Priority = 4;      /* mail only */
    const nsMsgSearchAttribValue MsgStatus = 5;
    const nsMsgSearchAttribValue To = 6;
    const nsMsgSearchAttribValue CC = 7;
    const nsMsgSearchAttribValue ToOrCC = 8;
    const nsMsgSearchAttribValue AllAddresses = 9;

    const nsMsgSearchAttribValue Location = 10;          /* result list only */
     const nsMsgSearchAttribValue MessageKey = 11;        /* message result elems */
     const nsMsgSearchAttribValue AgeInDays = 12;
     const nsMsgSearchAttribValue FolderInfo = 13;        /* for "view thread context" from result */
     const nsMsgSearchAttribValue Size = 14;
     const nsMsgSearchAttribValue AnyText = 15;
     const nsMsgSearchAttribValue Keywords = 16; // keywords are the internal representation of tags.

     const nsMsgSearchAttribValue Name = 17;
     const nsMsgSearchAttribValue DisplayName = 18;
     const nsMsgSearchAttribValue Nickname = 19;
     const nsMsgSearchAttribValue ScreenName = 20;
     const nsMsgSearchAttribValue Email = 21;
     const nsMsgSearchAttribValue AdditionalEmail = 22;
     const nsMsgSearchAttribValue PhoneNumber = 23;
     const nsMsgSearchAttribValue WorkPhone = 24;
     const nsMsgSearchAttribValue HomePhone = 25;
     const nsMsgSearchAttribValue Fax = 26;
     const nsMsgSearchAttribValue Pager = 27;
     const nsMsgSearchAttribValue Mobile = 28;
     const nsMsgSearchAttribValue City = 29;
     const nsMsgSearchAttribValue Street = 30;
     const nsMsgSearchAttribValue Title = 31;
     const nsMsgSearchAttribValue Organization = 32;
     const nsMsgSearchAttribValue Department = 33;

     // 34 - 43, reserved for ab / LDAP;
     const nsMsgSearchAttribValue HasAttachmentStatus = 44;
     const nsMsgSearchAttribValue JunkStatus = 45;
     const nsMsgSearchAttribValue JunkPercent = 46;
     const nsMsgSearchAttribValue JunkScoreOrigin = 47;
     const nsMsgSearchAttribValue Label = 48; /* mail only...can search by label */
     const nsMsgSearchAttribValue HdrProperty = 49; // uses nsIMsgSearchTerm::hdrProperty
     const nsMsgSearchAttribValue FolderFlag = 50; // uses nsIMsgSearchTerm::status
     const nsMsgSearchAttribValue Uint32HdrProperty = 51; // uses nsIMsgSearchTerm::hdrProperty

     // 52 is for showing customize - in ui headers start from 53 onwards up until 99.

      /** OtherHeader MUST ALWAYS BE LAST attribute since
        * we can have an arbitrary # of these. The number can be changed,
        * however, because we never persist AttribValues as integers.
       */
     const nsMsgSearchAttribValue OtherHeader = 52;
     // must be last attribute
     const nsMsgSearchAttribValue kNumMsgSearchAttributes = 100;
   };