Your Search Results


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

    interface nsIMsgFilterCustomAction : nsISupports
      /* globally unique string to identify this filter action.
       * recommended form:
      readonly attribute ACString id;
      /* action name to display in action list. This should be localized. */
      readonly attribute AString name;
       * Is this custom action valid for a particular filter type?
       * @param type    the filter type
       * @param scope   the search scope
       * @return        true if valid
      boolean isValidForType(in nsMsgFilterTypeType type, in nsMsgSearchScopeValue scope);
       * After the user inputs a particular action value for the action, determine
       * if that value is valid.
       * @param actionValue          The value entered.
       * @param actionFolder         Folder in the filter list
       * @param filterType           Filter Type (Manual, OfflineMail, etc.)
       * @return errorMessage        A localized message to display if invalid
       *                             Set to null if the actionValue is valid
      AUTF8String validateActionValue(in AUTF8String actionValue,
                                      in nsIMsgFolder actionFolder,
                                      in nsMsgFilterTypeType filterType);
      /* allow duplicate actions in the same filter list? Default No. */
      attribute boolean allowDuplicates;
       * The custom action itself
       * Generally for the apply method, folder-based methods give correct
       * results and are preferred if available. Otherwise, be careful
       * that the action does correct notifications to maintain counts, and correct
       * manipulations of both IMAP and local non-database storage of message
       * metadata.
       * Apply the custom action to an array of messages
       * @param msgHdrs      array of nsIMsgDBHdr objects of messages
       * @param actionValue  user-set value to use in the action
       * @param copyListener calling method (filterType Manual only)
       * @param filterType   type of filter being applied
       * @param msgWindow    message window
       void apply(in nsIArray msgHdrs /* nsIMsgDBHdr array */,
                  in AUTF8String actionValue,
                  in nsIMsgCopyServiceListener copyListener,
                  in nsMsgFilterTypeType filterType,
                  in nsIMsgWindow msgWindow);
       /* does this action start an async action? If so, a copy listener must
        * be used to continue filter processing after the action. This only
        * applies to after-the-fact (manual) filters. Call OnStopCopy when done
        * using the copyListener to continue.
       readonly attribute boolean isAsync;
       /// Does this action need the message body?
       readonly attribute boolean needsBody;

    Document Tags and Contributors

    Contributors to this page: Sheppy, AxelGrude
    Last updated by: Sheppy,