/// /// 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). /// #pragma once #include "helpers.h" #include "typefactory.h" #using #include "MAPIPropImpl.h" namespace EMAPILib { public __gc class FolderImpl : public EMAPILib::IEFolder, public MAPIPropImpl { private: EMAPIFolderSPtr* _eFolder; void CopyMessage( String* entryID, IEFolder* destFolder, int flags ); void CopyFolder( String* entryID, IEFolder* destFolder, int flags ); public: FolderImpl( const EMAPIFolderSPtr& eFolder ); virtual ~FolderImpl(); virtual IETable* GetEnumTable( DateTime dt ); virtual IETable* GetEnumTableForOwnEmail(); virtual IETable* GetEnumTableForRecordKey( String* recordKey ); virtual IEFolders* GetFolders(); virtual IEMessages* GetMessages(); virtual IEFolder* CreateSubFolder( String* name ); virtual void MoveFolder( String* entryID, IEFolder* destFolder ); virtual void CopyFolder( String* entryID, IEFolder* destFolder ); virtual void MoveMessage( String* entryID, IEFolder* destFolder ); virtual void CopyMessage( String* entryID, IEFolder* destFolder ); virtual IEMessage* CreateMessage( String* messageClass ); virtual IEMessage* OpenMessage( String* entryID ); virtual String* GetFolderID(); virtual void Dispose(); virtual void SetMessageStatus( String* entryID, int newStatus, int newStatusMask ); virtual int GetMessageStatus( String* entryID ); virtual void SetReadFlags( String* entryID, bool unread ); virtual void Empty(); void CopyTo( IEFolder* destFolder ); private: virtual int GetTag( ); }; public __gc class FoldersImpl : public EMAPILib::IEFolders, public Disposable { private: EMAPIFoldersSPtr* _eFolders; public: FoldersImpl( const EMAPIFoldersSPtr& eFolder ); virtual ~FoldersImpl(); virtual int GetCount(); virtual IEFolder* OpenFolder( int rowNum ); virtual String* GetEntryId( int rowNum ); virtual void Dispose(); }; }