author Philipp Kewisch <>
Tue, 23 Mar 2010 10:08:37 +0100
changeset 5236 b30f9d91ceeb93e6462fc72ef7e81017e40c7dba
parent 4478 656fe281bf225608792f215ebf5cc0b6f3a7eae5
child 9473 00a50ae8e19ebf8545541fcf460a942498a291ff
permissions -rw-r--r--
Fix bug 531459 - Replace XPMs with PNGs as Linux window icons. r=mschroeder

/* -*- Mode: C++; tab-width: 2; 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
 * 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 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):
 *   Eric Ballet Baz BT Global Services / Etat francais Ministere de la Defense
 * 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 "nsIMsgComposeParams.idl"

interface nsIMsgIdentity;
interface nsIPrompt;
interface nsIAuthPrompt;
interface nsISmtpServer;
interface nsIInterfaceRequestor;
interface nsIFile;

[scriptable, uuid(da22b8ac-059d-4f82-bf99-f5f3d3c8202d)]
interface nsISmtpUrl : nsISupports {
   * SMTP Parse specific getters.
   * These retrieve various parts from the url.

   * This list is a list of all recipients to send the email to.
   * Each name is NULL terminated.
  attribute string recipients;

  attribute boolean PostMessage;

   * The message can be stored in a file, to allow accessors for getting and
   * setting the file name to post.
  attribute nsIFile postMessageFile;

  attribute boolean requestDSN;

   * The envid which is used in the DSN.
  attribute ACString dsnEnvid;

   * SMTP Url instance specific getters and setters
   * Information the protocol needs to know in order to run the url.
   * These are NOT event sinks which are things the caller needs to know.

   * By default the url is really a bring up the compose window mailto url.
   * You need to call this function if you want to force the message to be
   * posted to the mailserver.

   * The user's full name and user's email address are encapsulated in the
   * senderIdentity.
   * (the user's domain name can be glopped from the user's email address)
   * NOTE:  the SMTP username and SMTP server are in the smtp url
   * smtp://sspitzer@tintin/...
  attribute nsIMsgIdentity senderIdentity;
  attribute nsIPrompt prompt;
  attribute nsIAuthPrompt authPrompt;
  attribute nsIInterfaceRequestor notificationCallbacks;
  attribute nsISmtpServer smtpServer;

  attribute boolean verifyLogon; // we're just verifying the ability to logon

  /// Constant for the default SMTP port number
  const PRInt32 DEFAULT_SMTP_PORT = 25;

  /// Constant for the default SMTP over ssl port number
  const PRInt32 DEFAULT_SMTPS_PORT = 465;

[scriptable, uuid(ef796f57-7128-4fc6-9002-6cba9eb19e73)]
interface nsIMailtoUrl : nsISupports {
   * mailto: parse specific getters
   * All of these fields are things we can effectively extract from a
   * mailto url if it contains all of these values
   * Note: Attachments aren't available because that would expose a potential
   * security hole (see bug 99055).
   * These items are in one function as we only ever get them from the one
   * place and all at the same time.
  void GetMessageContents(out ACString aToPart, out ACString aCcPart,
                          out ACString aBccPart, out ACString aSubjectPart,
                          out ACString aBodyPart, out ACString aHtmlPart,
                          out ACString aReferencePart,
                          out ACString aNewsgroupPart,
                          out MSG_ComposeFormat aFormat);

   * These attributes are available should mailnews or extensions want them
   * but aren't used by standard in mailnews.
  readonly attribute ACString fromPart;
  readonly attribute ACString followUpToPart;
  readonly attribute ACString organizationPart;
  readonly attribute ACString replyToPart;
  readonly attribute ACString priorityPart;
  readonly attribute ACString newsHostPart;