/// /// Copyright © 2003-2008 JetBrains s.r.o. /// You may distribute under the terms of the GNU General Public License, as published by the Free Software Foundation, version 2 (see License.txt in the repository root folder). /// // EMAPILib.h #pragma once #include "helpers.h" #using using namespace System; using namespace System::Text; using namespace System::Collections; class MAPISession; namespace EMAPILib { public __gc class EMAPISession { private: MAPISession* _pMAPISession; //MAPI Session Pointer static IQuoting* _quoter; static ILibManager* _libManager; public: bool CanClose(); void CheckDependencies(); static void DeleteMessage( const ESPropValueSPtr& entryID ); static void MoveMessage( const ESPropValueSPtr& entryID, const ESPropValueSPtr& folderID ); static void CopyMessage( const ESPropValueSPtr& entryID, const ESPropValueSPtr& folderID ); void AddRecipients( System::Object* mapiObject, ArrayList* recipients ); static int RegisterForm(); static void UnregisterForm( int formID ); static void BeginReadProp( int prop_id ); static void EndReadProp(); EMAPISession( int fake ); bool Initialize( bool pickLogonProfile, ILibManager* libManager ); void SetQuoter( IQuoting* quoter ); static IQuoting* GetQuoter(); EMAPILib::IEMessage* LoadFromMSG( String* path ); void Uninitialize(); bool CompareEntryIDs( String* entryID1, String *entryID2 ); ~EMAPISession(); EMAPILib::IEAddrBook* OpenAddrBook(); EMAPILib::IEMsgStores* GetMsgStores(); EMAPILib::IEMsgStore* OpenMsgStore( String* entryID ); // heap diagnostics static int ObjectsCount(); static int HeapSize(); }; }