Implemented by
Migrate application settings from an outside source.
@provider Application (Profile-migration code)
@client Toolkit (Startup code)
@obtainable service, contractid("@mozilla.org/toolkit/profile-migrator;1")
[scriptable, uuid(24ce8b9d-b7ff-4279-aef4-26e158f03e34)]
interface nsIProfileMigrator : nsISupports
Methods
Import existing profile paths. When the app is started the first
time, if there are no INI-style profiles, appstartup will call
this method to import any registry- style profiles that may
exist. When this method is called, there is no event queue
service and this method should not attempt to use the network or
show any GUI.
@note You don't actually have to move the profile data. Just call
nsIToolkitProfileService.create on the existing profile path(s).
void
import()
Do profile migration. When this method is called, a default profile has been created; XPCOM has been initialized such that compreg.dat is in the profile; the directory service does *not* return a key for NS_APP_USER_PROFILE_50_DIR or any of the keys depending on an active profile. To figure out the directory of the "current" profile, use aStartup.directory. If your migrator needs to access services that use the profile (to set profile prefs or bookmarks, for example), use aStartup.doStartup. The startup code ignores COM exceptions thrown from this method.
void
migrate(in nsIProfileStartup aStartup)
Compare to: