mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-26 13:58:49 +00:00
a4b0f333ba
This also removes some PP abuse and takes file entries out of PP when no longer needed without XP_MACOSX conditionals.
173 lines
6.3 KiB
C++
173 lines
6.3 KiB
C++
/* -*- 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/. */
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Core Module Include Files
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#include "nsCOMPtr.h"
|
|
#include "mozilla/ModuleUtils.h"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// core import Include Files
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#include "nsImportService.h"
|
|
#include "nsImportMimeEncode.h"
|
|
#include "nsImportStringBundle.h"
|
|
|
|
NS_DEFINE_NAMED_CID(NS_IMPORTSERVICE_CID);
|
|
NS_DEFINE_NAMED_CID(NS_IMPORTMIMEENCODE_CID);
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// text import Include Files
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#include "nsTextImport.h"
|
|
|
|
NS_DEFINE_NAMED_CID(NS_TEXTIMPORT_CID);
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// vCard import Include Files
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#include "nsVCardImport.h"
|
|
|
|
NS_DEFINE_NAMED_CID(NS_VCARDIMPORT_CID);
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// outlook import Include Files
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#ifdef XP_WIN
|
|
#include "nsOEImport.h"
|
|
#include "nsOEStringBundle.h"
|
|
#ifdef MOZ_MAPI_SUPPORT
|
|
#include "nsOutlookImport.h"
|
|
#include "nsOutlookStringBundle.h"
|
|
#endif
|
|
#include "nsWMImport.h"
|
|
#include "nsWMStringBundle.h"
|
|
|
|
NS_DEFINE_NAMED_CID(NS_OEIMPORT_CID);
|
|
NS_DEFINE_NAMED_CID(NS_WMIMPORT_CID);
|
|
#ifdef MOZ_MAPI_SUPPORT
|
|
NS_DEFINE_NAMED_CID(NS_OUTLOOKIMPORT_CID);
|
|
#endif
|
|
#endif // XP_WIN
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// becky import Include Files
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#ifdef XP_WIN
|
|
#include "nsBeckyImport.h"
|
|
#include "nsBeckyStringBundle.h"
|
|
|
|
NS_DEFINE_NAMED_CID(NS_BECKYIMPORT_CID);
|
|
#endif // XP_WIN
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// core import factories
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsImportService)
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsIImportMimeEncodeImpl)
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// text import factories
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsTextImport)
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// vcard import factories
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsVCardImport)
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// outlook import factories
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#ifdef XP_WIN
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsOEImport)
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWMImport)
|
|
#ifdef MOZ_MAPI_SUPPORT
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsOutlookImport)
|
|
#endif
|
|
#endif // XP_WIN
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// becky import factory
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#ifdef XP_WIN
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsBeckyImport)
|
|
#endif // XP_WIN
|
|
|
|
static const mozilla::Module::CategoryEntry kMailNewsImportCategories[] = {
|
|
// XXX These CIDs should match the explicit CIDs defined in the header files,
|
|
// or be changed so that they are contract IDs (with appropriate code updates)
|
|
{ "mailnewsimport", "{A5991D01-ADA7-11d3-A9C2-00A0CC26DA63}", NS_IMPORT_ADDRESS_STR },
|
|
{ "mailnewsimport", "{0eb034a3-964a-4e2f-92eb-cc55d9ae9dd2}", NS_IMPORT_ADDRESS_STR },
|
|
#ifdef XP_WIN
|
|
{ "mailnewsimport", "{42bc82bc-8e9f-4597-8b6e-e529daaf3af1}", kWMSupportsString },
|
|
{ "mailnewsimport", "{be0bc880-1742-11d3-a206-00a0cc26da63}", kOESupportsString },
|
|
{ "mailnewsimport", "{7952a6cf-2442-4c04-9f02-150b15a0a841}", kBeckySupportsString },
|
|
#ifdef MOZ_MAPI_SUPPORT
|
|
{ "mailnewsimport", "{1DB469A0-8B00-11d3-A206-00A0CC26DA63}", kOutlookSupportsString },
|
|
#endif
|
|
#endif
|
|
{ NULL }
|
|
};
|
|
|
|
const mozilla::Module::CIDEntry kMailNewsImportCIDs[] = {
|
|
{ &kNS_IMPORTSERVICE_CID, false, NULL, nsImportServiceConstructor },
|
|
{ &kNS_IMPORTMIMEENCODE_CID, false, NULL, nsIImportMimeEncodeImplConstructor },
|
|
{ &kNS_TEXTIMPORT_CID, false, NULL, nsTextImportConstructor },
|
|
{ &kNS_VCARDIMPORT_CID, false, NULL, nsVCardImportConstructor },
|
|
#ifdef XP_WIN
|
|
{ &kNS_OEIMPORT_CID, false, NULL, nsOEImportConstructor },
|
|
{ &kNS_WMIMPORT_CID, false, NULL, nsWMImportConstructor },
|
|
{ &kNS_BECKYIMPORT_CID, false, NULL, nsBeckyImportConstructor },
|
|
#ifdef MOZ_MAPI_SUPPORT
|
|
{ &kNS_OUTLOOKIMPORT_CID, false, NULL, nsOutlookImportConstructor },
|
|
#endif
|
|
#endif
|
|
{ NULL }
|
|
};
|
|
|
|
const mozilla::Module::ContractIDEntry kMailNewsImportContracts[] = {
|
|
{ NS_IMPORTSERVICE_CONTRACTID, &kNS_IMPORTSERVICE_CID },
|
|
{ "@mozilla.org/import/import-mimeencode;1", &kNS_IMPORTMIMEENCODE_CID },
|
|
{ "@mozilla.org/import/import-text;1", &kNS_TEXTIMPORT_CID },
|
|
{ "@mozilla.org/import/import-vcard;1", &kNS_VCARDIMPORT_CID },
|
|
#ifdef XP_WIN
|
|
{ "@mozilla.org/import/import-oe;1", &kNS_OEIMPORT_CID },
|
|
{ "@mozilla.org/import/import-wm;1", &kNS_WMIMPORT_CID },
|
|
{ "@mozilla.org/import/import-becky;1", &kNS_BECKYIMPORT_CID },
|
|
#ifdef MOZ_MAPI_SUPPORT
|
|
{ "@mozilla.org/import/import-outlook;1", &kNS_OUTLOOKIMPORT_CID },
|
|
#endif
|
|
#endif
|
|
{ NULL }
|
|
};
|
|
|
|
|
|
static void importModuleDtor()
|
|
{
|
|
#ifdef XP_WIN
|
|
|
|
nsOEStringBundle::Cleanup();
|
|
nsWMStringBundle::Cleanup();
|
|
nsBeckyStringBundle::Cleanup();
|
|
#ifdef MOZ_MAPI_SUPPORT
|
|
nsOutlookStringBundle::Cleanup();
|
|
#endif
|
|
#endif
|
|
}
|
|
|
|
static const mozilla::Module kMailNewsImportModule = {
|
|
mozilla::Module::kVersion,
|
|
kMailNewsImportCIDs,
|
|
kMailNewsImportContracts,
|
|
kMailNewsImportCategories,
|
|
NULL,
|
|
NULL,
|
|
importModuleDtor
|
|
};
|
|
|
|
NSMODULE_DEFN(nsImportServiceModule) = &kMailNewsImportModule;
|
|
|
|
|