Revision control

Copy as Markdown

Other Tools

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
interface nsIMsgFolder;
interface nsIMsgDBHdr;
typedef long nsAutoSyncStrategyDecisionType;
[scriptable,uuid(0365bec5-3753-43c2-b13e-441747815f37)]
interface nsAutoSyncStrategyDecisions : nsISupports
{
/// same priority
const nsAutoSyncStrategyDecisionType Same = 0x00000001;
/// higher priority
const nsAutoSyncStrategyDecisionType Higher = 0x00000002;
/// lower priority
const nsAutoSyncStrategyDecisionType Lower = 0x00000004;
};
[scriptable, uuid(9cb4baff-3112-4cf8-8463-f81b0aa78f93)]
interface nsIAutoSyncMsgStrategy : nsISupports {
/**
* Returns a relative-priority for the second message by comparing with the first message.
*/
nsAutoSyncStrategyDecisionType sort(in nsIMsgFolder aFolder, in nsIMsgDBHdr aMsgHdr1, in nsIMsgDBHdr aMsgHdr2);
/**
* Tests whether the given message should be excluded or not.
*/
boolean isExcluded(in nsIMsgFolder aFolder, in nsIMsgDBHdr aMsgHdr);
};