2025-04-27 07:49:33 -04:00

59 lines
1.4 KiB
C++

//+------------------------------------------------------------
//
// Copyright (C) 1998, Microsoft Corporation
//
// File: cbifmgr.h
//
// Contents: Implementation of CBifurcationMgr
//
// Classes:
// CBifurcationMgr
//
// Functions:
//
// History:
// jstamerj 980325 15:29:51: Created.
//
//-------------------------------------------------------------
#ifndef __CBIFMGR_H__
#define __CBIFMGR_H__
#include "mailmsg.h"
#define NUM_ENCODING_PROPS 3
class CBifurcationMgr
{
public:
CBifurcationMgr();
~CBifurcationMgr();
HRESULT Initialize(IUnknown *pIMsg);
IUnknown * GetDefaultIMsg() {
return m_rgpIMsg[0];
}
HRESULT GetDefaultIMailMsgProperties(IMailMsgProperties **ppIProps);
typedef enum ENCODINGPROPERTY
{ // Encoding properties requireing bifurcation
//$$TODO: determine real properties required
DEFAULT = 0,
UUENCODE = 1,
MIME = 2
};
HRESULT GetIMsgCatList(ENCODINGPROPERTY encprop, IMailMsgRecipientsAdd **ppRecipList);
DWORD GetNumIMsgs() { return m_dwNumIMsgs; }
HRESULT CommitAll();
HRESULT RevertAll();
HRESULT GetAllIMsgs(IUnknown **rgpIMsg, DWORD cPtrs);
private:
IUnknown *m_rgpIMsg[NUM_ENCODING_PROPS];
IMailMsgRecipientsAdd *m_rgpIRecipsAdd[NUM_ENCODING_PROPS];
DWORD m_dwNumIMsgs;
};
#endif // __CBIFMGR_H__