mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 09:45:41 +00:00
a73331fdcb
make all accesses to the account manager kick off LoadPrefs so they can be loaded on demand don't forget to clean up the accounts in the hash table during destruction
69 lines
2.4 KiB
Plaintext
69 lines
2.4 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
*
|
|
* The contents of this file are subject to the Netscape Public License
|
|
* Version 1.0 (the "NPL"); you may not use this file except in
|
|
* compliance with the NPL. You may obtain a copy of the NPL at
|
|
* http://www.mozilla.org/NPL/
|
|
*
|
|
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
|
* for the specific language governing rights and limitations under the
|
|
* NPL.
|
|
*
|
|
* The Initial Developer of this code under the NPL is Netscape
|
|
* Communications Corporation. Portions created by Netscape are
|
|
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
|
* Reserved.
|
|
*/
|
|
|
|
#include "nsISupports.idl"
|
|
#include "nsIMsgAccount.idl"
|
|
#include "nsIMsgIdentity.idl"
|
|
#include "nsIMsgIncomingServer.idl"
|
|
|
|
interface nsISupportsArray;
|
|
|
|
%{C++
|
|
#include "nsISupportsArray.h"
|
|
%}
|
|
|
|
|
|
[scriptable, uuid(6ed2cc00-e623-11d2-b7fc-00805f05ffa5)]
|
|
interface nsIMsgAccountManager : nsISupports {
|
|
|
|
/* createAccount creates a new account and assigns a new accountKey */
|
|
nsIMsgAccount CreateAccount(in nsIMsgIncomingServer server,
|
|
in nsIMsgIdentity identity);
|
|
|
|
/* similar to createAccount, but we already know the account key */
|
|
nsIMsgAccount CreateAccountWithKey(in nsIMsgIncomingServer server,
|
|
in nsIMsgIdentity identity,
|
|
in string accountKey);
|
|
|
|
void AddAccount(in nsIMsgAccount account);
|
|
|
|
/* account list stuff */
|
|
|
|
/* defaultAccount should always be set if there are any accounts
|
|
* in the account manager. You can only set the defaultAccount to an
|
|
* account already in the account manager */
|
|
attribute nsIMsgAccount defaultAccount;
|
|
readonly attribute nsISupportsArray accounts;
|
|
|
|
/* Each account will have a unique key, which should not change
|
|
* for the life of the account. */
|
|
string getAccountKey(in nsIMsgAccount account);
|
|
|
|
/* utility routines to enumerate elements in all accounts */
|
|
readonly attribute nsISupportsArray allIdentities;
|
|
readonly attribute nsISupportsArray allServers;
|
|
|
|
nsIMsgIncomingServer
|
|
FindServer(in string userName, in string hostname, in string type);
|
|
nsISupportsArray GetIdentitiesForServer(in nsIMsgIncomingServer server);
|
|
nsISupportsArray GetServersForIdentity(in nsIMsgIdentity identity);
|
|
|
|
void LoadAccounts();
|
|
};
|
|
|