author Mike Kaganski <>
Thu, 17 Jan 2019 15:38:00 +0100
changeset 34237 aaf39a9bd368a7fec19e61ccfadb5179d7fb90e8
parent 34228 335361a67f2d354655b2beb5c670b74a57f96725
child 33951 4882e4a21d50cf2a76e2fb9087f3d44c6018ce58
permissions -rw-r--r--
Bug 1048658 - Implement MAPISendMailW(). r=jorgk

/* 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 */

#ifndef MSG_MAPI_HOOK_H_
#define MSG_MAPI_HOOK_H_

#include "prtypes.h"

class nsMapiHook
    public :

        static bool DisplayLoginDialog(bool aLogin, char16_t **aUsername,
                        char16_t **aPassword);
        static bool VerifyUserName(const nsString& aUsername, nsCString& aIdKey);

        static bool IsBlindSendAllowed () ;
        static nsresult BlindSendMail (unsigned long aSession, nsIMsgCompFields * aCompFields) ;
        static nsresult ShowComposerWindow (unsigned long aSession, nsIMsgCompFields * aCompFields) ;
        static nsresult PopulateCompFieldsWithConversion(lpnsMapiMessage aMessage,
                                        nsIMsgCompFields * aCompFields) ;
        static nsresult PopulateCompFieldsW(lpnsMapiMessageW aMessage, nsIMsgCompFields *aCompFields);
        static nsresult PopulateCompFieldsForSendDocs(nsIMsgCompFields * aCompFields,
                                        ULONG aFlags, LPTSTR aDelimChar, LPTSTR aFilePaths) ;
        static nsresult HandleAttachments (nsIMsgCompFields * aCompFields, int32_t aFileCount,
                                           lpnsMapiFileDesc aFiles) ;
        static nsresult HandleAttachmentsW(nsIMsgCompFields *aCompFields, int32_t aFileCount,
                                           lpnsMapiFileDescW aFiles);
        static void CleanUp();

        static bool isMapiService;

#endif  // MSG_MAPI_HOOK_H_