author Mike Kaganski <>
Thu, 17 Jan 2019 01:35:00 +0100
changeset 34228 335361a67f2d354655b2beb5c670b74a57f96725
parent 30619 8c5ae32e395e84c2d9c682679df2e2d2ebfabdf5
child 33950 d6f7c0483b263905ed42ceebb5d61e0a5e5448a2
permissions -rw-r--r--
Bug 393302 - Correct memory handling in MAPISendMail() and CMapiImp::SendMail() to fix "Send to > Mail Recipient" crash. 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 PopulateCompFieldsForSendDocs(nsIMsgCompFields * aCompFields,
                                        ULONG aFlags, LPTSTR aDelimChar, LPTSTR aFilePaths) ;
        static nsresult HandleAttachments (nsIMsgCompFields * aCompFields, int32_t aFileCount,
                                           lpnsMapiFileDesc aFiles) ;
        static void CleanUp();

        static bool isMapiService;

#endif  // MSG_MAPI_HOOK_H_