1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* 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 the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsISupports.idl"
#include "nsIMsgSignature.idl"
#include "nsILocalFile.idl"
/*
* this interface contains all the personal outgoing mail information
* for a given person.
* each identity is identified by a key, which is the <id> string in
* the identity preferences, such as in
* mail.identity.<id>.replyTo
*
*/
[scriptable, uuid(D3B4A420-D5AC-11d2-806A-006008128C4E)]
interface nsIMsgIdentity : nsISupports {
/* internal preferences ID */
attribute string key;
/*
*overriding display name for this identity. if this pref is not set
* then this will return some composed string from the fullname and email
*/
attribute wstring identityName;
/* user's full name, i.e. John Doe */
attribute wstring fullName;
/* user's e-mail address, i.e. john@doe.com */
attribute string email;
/* optional replyTo address, i.e. johnNOSPAM@doe.com */
attribute string replyTo;
/* optional organization */
attribute wstring organization;
/* should we compose with HTML by default? */
attribute boolean composeHtml;
/* should we attach a signature by default? */
attribute boolean attachSignature;
/* should we attach a vcard by default? */
attribute boolean attachVCard;
/* should we automatically quote the original message? */
attribute boolean autoQuote;
/* what should our quoting preference be? */
attribute long replyOnTop;
/* what should our signature be at the end of the quoted text when replying above it? */
attribute boolean sigBottom;
/* the current signature */
/* after PR1, let's make this a real object */
/* attribute nsIMsgSignature signature; */
attribute nsILocalFile signature;
attribute long signatureDate;
attribute string escapedVCard;
attribute boolean doFcc;
attribute string fccFolder;
attribute string fccFolderPickerMode;
attribute string draftsFolderPickerMode;
attribute string tmplFolderPickerMode;
// Don't call bccSelf, bccOthers, and bccList directly, they are
// only used for migration and backward compatability. Use doBcc
// and doBccList instead.
attribute boolean bccSelf;
attribute boolean bccOthers;
attribute string bccList;
attribute boolean doBcc;
attribute string doBccList;
attribute string draftFolder;
attribute string stationeryFolder;
attribute boolean showSaveMsgDlg;
attribute string directoryServer;
attribute boolean overrideGlobalPref;
/**
* valid determines if the UI should use this identity
* and the wizard uses this to determine whether or not
* to ask the user to complete all the fields
*/
attribute boolean valid;
/**
* this is really dangerous. this destroys all pref values
* do not call this unless you know what you're doing!
*/
void clearAllValues();
/**
* the preferred smtp server for this identity.
* if this is set, this the smtp server that should be used
* for the message send
*/
attribute string smtpServerKey;
/**
* default request for return receipt option for this identity
* if this is set, the Return Receipt menu item on the compose
* window will be checked
*/
readonly attribute boolean requestReturnReceipt;
readonly attribute long receiptHeaderType;
/* copy the attributes of the identity we pass in */
void copy(in nsIMsgIdentity identity);
/**
* these generic getter / setters, useful for extending mailnews
* note, these attributes persist across sessions
*/
wstring getUnicharAttribute(in string name);
void setUnicharAttribute(in string name, in wstring value);
string getCharAttribute(in string name);
void setCharAttribute(in string name, in string value);
boolean getBoolAttribute(in string name);
void setBoolAttribute(in string name, in boolean value);
long getIntAttribute(in string name);
void setIntAttribute(in string name, in long value);
/* useful for debugging */
wstring toString();
};
|