summaryrefslogtreecommitdiffstats
path: root/comm/mailnews/imap/public/nsIAutoSyncMsgStrategy.idl
blob: 773c62426db136a1ada615a0a1c8ea00130d8674 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* 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);
};