summaryrefslogtreecommitdiff
path: root/mailnews/import/public/nsIImportService.idl
blob: 160fdccdf6cb220d2377e123d92f00021334d74d (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* 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/. */

/*

  The import service.

 */

#include "nsISupports.idl"

interface nsIImportModule;
interface nsIImportMailboxDescriptor;
interface nsIImportABDescriptor;
interface nsIImportGeneric;
interface nsIImportFieldMap;
interface nsIMsgSendListener;
interface nsIMsgIdentity;
interface nsIMsgCompFields;
interface nsIArray;

[scriptable, uuid(d0ed4c50-5997-49c9-8a6a-045f0680ed29)]
interface nsIImportService : nsISupports
{
    void DiscoverModules();

  long GetModuleCount( in string filter);
  void GetModuleInfo( in string filter, in long index, out wstring name, out wstring description);
  wstring GetModuleName( in string filter, in long index);
  wstring GetModuleDescription( in string filter, in long index);
  nsIImportModule  GetModule( in string filter, in long index);
  nsIImportModule GetModuleWithCID( in nsCIDRef cid);

  nsIImportFieldMap      CreateNewFieldMap();
  nsIImportMailboxDescriptor  CreateNewMailboxDescriptor();
  nsIImportABDescriptor    CreateNewABDescriptor();
  nsIImportGeneric      CreateNewGenericMail();
  nsIImportGeneric      CreateNewGenericAddressBooks();
  void CreateRFC822Message(in nsIMsgIdentity aIdentity,
                           in nsIMsgCompFields aMsgFields,
                           in string aBodytype,
                           in ACString aBody,
                           in boolean aCreateAsDraft,
                           in nsIArray aLoadedAttachments,
                           in nsIArray aEmbeddedObjects,
                           in nsIMsgSendListener aListener);

};

%{ C++
#define NS_IMPORTSERVICE_CID              \
{ /* 5df96d60-1726-11d3-a206-00a0cc26da63 */      \
   0x5df96d60, 0x1726, 0x11d3,                   \
   {0xa2, 0x06, 0x0, 0xa0, 0xcc, 0x26, 0xda, 0x63}}

#define NS_IMPORTSERVICE_CONTRACTID "@mozilla.org/import/import-service;1"
%}