gecko-dev/mailnews/base/public/nsIMsgAccount.idl

67 lines
2.0 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
#include "nsISupports.idl"
#include "nsIMsgIncomingServer.idl"
#include "nsIMsgIdentity.idl"
#include "nsISupportsArray.idl"
/*
* an account consists of an incoming server and one or more
* outgoing identities
* an account is identitfied by a key, which is the <account> string in
* the account preferences, such as in
* mail.account.<account>.identities
*/
[scriptable, uuid(da368bd0-e624-11d2-b7fc-00805f05ffa5)]
interface nsIMsgAccount : nsISupports {
/* init function */
void init();
/* internal key identifying itself */
attribute string key;
/* incoming server stuff */
attribute nsIMsgIncomingServer incomingServer;
/* outgoing identity list
* array of nsIMsgIdentity's
*/
readonly attribute nsISupportsArray identities;
/* the default identity for this account. */
attribute nsIMsgIdentity defaultIdentity;
/* add a new identity to this account (probably does not work) */
void addIdentity(in nsIMsgIdentity identity);
/* remove an identity from this account (probably does not work) */
void removeIdentity(in nsIMsgIdentity identity);
void clearAllValues();
/* name in javascript */
wstring toString();
};