/* -*- Mode: C++; 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 "nsrootidl.idl" #include "nsISupports.idl" #include "MailNewsTypes2.idl" [scriptable, uuid(da6b9843-5464-4630-b121-c5970aa3d6ed)] interface nsIMsgCopyServiceListener : nsISupports { /** * Notify the observer that the message has started to be copied. This * method is called only once, at the beginning of a message * copyoperation. */ void OnStartCopy(); /** * Notify the observer that progress as occurred for the message copy * aProgress - * aProgressMax - */ void OnProgress(in uint32_t aProgress, in uint32_t aProgressMax); /** * Setting newly created message key. This method is taylored specifically * for nsIMsgCopyService::CopyFileMessage() when saveing Drafts/Templates. * We need to have a way to inform the client what's the key of the newly * created message. * aKey - */ void SetMessageKey(in nsMsgKey aKey); /** * Getting the file message message ID. This method is taylored * specifically for nsIMsgCopyService::CopyFileMessage() when saving * Drafts/Templates. In order to work with imap server which doesn't * support uidplus we have to use search comman to retrieve the key of * newly created message. Message ID generated by the compose gurantee its * uniqueness. * aMessageId - */ void GetMessageId(out ACString aMessageId); /** * Notify the observer that the message copied operation has completed. * This method is called regardless of whether the the operation was * successful. * aStatus - indicate whether the operation was succeeded */ void OnStopCopy(in nsresult aStatus); };