DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Untracked file

Line Code
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 174 175 176 177 178
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Mozilla 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/MPL/
 *
 * 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 of 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 MPL, 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 MPL, 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(2b165a14-1ac1-4c32-8cc5-72e2937d5be9)]
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;
  /**
   * If this is false, don't append the user's domain
   * to an autocomplete address with no matches
   */
   attribute boolean autocompleteToMyDomain;
  /**
   * 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();
};