diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /comm/mail/components/migration/public | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/mail/components/migration/public')
-rw-r--r-- | comm/mail/components/migration/public/moz.build | 12 | ||||
-rw-r--r-- | comm/mail/components/migration/public/nsIMailProfileMigrator.idl | 70 |
2 files changed, 82 insertions, 0 deletions
diff --git a/comm/mail/components/migration/public/moz.build b/comm/mail/components/migration/public/moz.build new file mode 100644 index 0000000000..20c4c0e5c5 --- /dev/null +++ b/comm/mail/components/migration/public/moz.build @@ -0,0 +1,12 @@ +# vim: set filetype=python: +# 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/. + +XPIDL_SOURCES += [ + "nsIMailProfileMigrator.idl", +] + +XPIDL_MODULE = "mailprofilemigration" + +EXPORTS += [] diff --git a/comm/mail/components/migration/public/nsIMailProfileMigrator.idl b/comm/mail/components/migration/public/nsIMailProfileMigrator.idl new file mode 100644 index 0000000000..398857b459 --- /dev/null +++ b/comm/mail/components/migration/public/nsIMailProfileMigrator.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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 nsIFile; +interface nsIProfileStartup; + +[scriptable, uuid(fca38a7a-c43f-4b28-adbd-61e5cc942508)] +interface nsIMailProfileMigrator : nsISupports +{ + /** + * profile items to migrate. use with migrate(). + */ + const unsigned short ALL = 0x0000; + const unsigned short SETTINGS = 0x0001; + const unsigned short ACCOUNT_SETTINGS = 0x0002; + const unsigned short ADDRESSBOOK_DATA = 0x0004; + const unsigned short JUNKTRAINING = 0x0008; + const unsigned short PASSWORDS = 0x0010; + const unsigned short OTHERDATA = 0x0020; + const unsigned short NEWSDATA = 0x0040; + const unsigned short MAILDATA = 0x0080; + const unsigned short FILTERS = 0x0100; + + /** + * Copy user profile information to the current active profile. + * @param aItems list of data items to migrate. see above for values. + * @param aReplace replace or append current data where applicable. + * @param aProfile profile to migrate from, if there is more than one. + */ + void migrate(in unsigned short aItems, in nsIProfileStartup aStartup, in wstring aProfile); + + /** + * A bit field containing profile items that this migrator + * offers for import. + * @param aProfile the profile that we are looking for available data + * to import + * @param aStarting "true" if the profile is not currently being used. + * @returns bit field containing profile items (see above) + */ + unsigned short getMigrateData(in wstring aProfile, in boolean aDoingStartup); + + /** + * Whether or not there is any data that can be imported from this + * mailer (i.e. whether or not it is installed, and there exists + * a user profile) + */ + readonly attribute boolean sourceExists; + + /** + * Whether or not the import source implementing this interface + * has multiple user profiles configured. + */ + readonly attribute boolean sourceHasMultipleProfiles; + + /** + * An array of available profile names. If the import source does not support + * profiles, this attribute is empty. + */ + readonly attribute Array<AString> sourceProfiles; + + /** + * An array of available profile locations. If the import source does not + * support profiles, this attribute is empty. + */ + readonly attribute Array<nsIFile> sourceProfileLocations; +}; |