mailnews/compose/public/nsIMsgSendReport.idl
author Gervase Markham <gerv@gerv.net>
Wed, 30 May 2012 17:48:24 +0100
changeset 12286 84ac3c71109811da751f0ef2d72108075938f094
parent 0 e4f4569d451a5e0d12a6aa33ebd916f979dd8faa
child 21550 79d319474891f2ad519d7f60902e2f18d2797c74
permissions -rw-r--r--
Bug 757018 - upgrade license to MPL 2.

/* -*- Mode: idl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"
#include "nsIPrompt.idl"


[scriptable, uuid(2247c280-7f7f-11d5-9daa-994d49414e7c)]
interface nsIMsgProcessReport : nsISupports {

  attribute boolean proceeded;
  attribute nsresult error;
  attribute wstring message;
  
  void reset();
};

[scriptable, uuid(2247c281-7f7f-11d5-9daa-994d49414e7c)]
interface nsIMsgSendReport : nsISupports {

  const long process_Current = -1;
  const long process_BuildMessage = 0;
  const long process_NNTP = 1;
  const long process_SMTP = 2;
  const long process_Copy = 3;
  const long process_FCC = 4;
  
  attribute long deliveryMode;      /* see nsMsgDeliverMode in nsIMsgSend.idl for valid value */
  attribute long currentProcess;

  void reset();
  
  void setProceeded(in long process, in boolean proceeded);
  void setError(in long process, in nsresult error, in boolean overwriteError);
  void setMessage(in long process, in wstring message, in boolean overwriteMessage);
  
  nsIMsgProcessReport getProcessReport(in long process);
  
  /* Display Report will ananlyze data collected during the send and will show the most appropriate error.
     Also it will return the error code. In case of no error or if the error has been canceld, it will return
     NS_OK.
  */
  nsresult displayReport(in nsIPrompt prompt, in boolean showErrorOnly, in boolean dontShowReportTwice);
};