mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-17 06:06:00 -06:00
95 lines
2.8 KiB
C++
95 lines
2.8 KiB
C++
#ifndef __MAPIFOLDER_H__
|
|
#define __MAPIFOLDER_H__
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// File: MAPIFolder.h
|
|
// Description: MAPI Folder class wrapper
|
|
//
|
|
// Copyright (C) 2005-2011, Noel Dillabough
|
|
//
|
|
// This source code is free to use and modify provided this notice remains intact and that any enhancements
|
|
// or bug fixes are posted to the CodeProject page hosting this class for the community to benefit.
|
|
//
|
|
// Usage: see the CodeProject article at http://www.codeproject.com/internet/CMapiEx.asp
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifdef _WIN32_WCE
|
|
#include "POOM.h"
|
|
#define DEFAULT_FOLDER_BUFFER_SIZE 128
|
|
#else
|
|
#define DEFAULT_FOLDER_BUFFER_SIZE 512
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////
|
|
// CMAPIFolder
|
|
|
|
class AFX_EXT_CLASS CMAPIFolder : public CMAPIObject
|
|
{
|
|
public:
|
|
CMAPIFolder();
|
|
CMAPIFolder(CMAPIEx* pMAPI, LPMAPIFOLDER pFolder, LPCTSTR szName=NULL);
|
|
~CMAPIFolder();
|
|
|
|
enum { PROP_MESSAGE_FLAGS, PROP_ENTRYID, MESSAGE_COLS };
|
|
|
|
// Attributes
|
|
protected:
|
|
LPMAPITABLE m_pHierarchy;
|
|
LPMAPITABLE m_pContents;
|
|
int m_nMaxRowsSize;
|
|
ULONG m_nRowsIndex;
|
|
LPSRowSet m_pRows;
|
|
CString m_strName;
|
|
|
|
#ifdef _WIN32_WCE
|
|
CPOOM m_poom;
|
|
#endif
|
|
|
|
// Operations
|
|
public:
|
|
inline LPMAPIFOLDER Folder() { return (LPMAPIFOLDER)m_pItem; }
|
|
void Attach(CMAPIEx* pMAPI, LPMAPIFOLDER pFolder, LPCTSTR szName);
|
|
LPMAPIFOLDER Detach();
|
|
|
|
#ifdef _WIN32_WCE
|
|
CPOOM* GetPOOM() { return &m_poom; }
|
|
#endif
|
|
|
|
virtual void Close();
|
|
void SetBufferSize(int nSize);
|
|
void ClearBuffer();
|
|
|
|
LPCTSTR GetName();
|
|
LPMAPITABLE GetHierarchy();
|
|
CMAPIFolder* OpenSubFolder(LPCTSTR szSubFolder);
|
|
CMAPIFolder* CreateSubFolder(LPCTSTR szSubFolder);
|
|
BOOL DeleteSubFolder(LPCTSTR szSubFolder);
|
|
BOOL DeleteSubFolder(CMAPIFolder* pFolder);
|
|
|
|
LPMAPITABLE GetContents();
|
|
int GetRowCount();
|
|
BOOL SortContents(ULONG ulSortParam=TABLE_SORT_ASCEND, ULONG ulSortField=PR_MESSAGE_DELIVERY_TIME);
|
|
BOOL SetUnreadOnly(BOOL bUnreadOnly=TRUE);
|
|
BOOL SetRestriction(SRestriction* pRestriction);
|
|
BOOL GetNextMessage(CMAPIMessage& message);
|
|
BOOL GetNextContact(CMAPIContact& contact);
|
|
BOOL GetNextAppointment(CMAPIAppointment& appointment);
|
|
BOOL GetNextSubFolder(CMAPIFolder& folder, CString& strFolder);
|
|
|
|
BOOL DeleteMessage(CMAPIMessage& message);
|
|
BOOL CopyMessage(CMAPIMessage& message, CMAPIFolder* pFolderDest);
|
|
BOOL MoveMessage(CMAPIMessage& message, CMAPIFolder* pFolderDest);
|
|
|
|
BOOL DeleteContact(CMAPIContact& contact);
|
|
BOOL DeleteAppointment(CMAPIAppointment& appointment);
|
|
|
|
protected:
|
|
void Init();
|
|
BOOL DeleteObject(CMAPIObject& object);
|
|
BOOL QueryRows();
|
|
SRow* GetNextRow();
|
|
};
|
|
|
|
#endif
|