windows-nt/Source/XPSP1/NT/enduser/netmeeting/ui/msconfft/mbftapi.hpp

77 lines
2.5 KiB
C++
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
#ifndef __MBFTAPI_HPP__
#define __MBFTAPI_HPP__
class MBFTEngine;
class FileOfferNotifyMsg;
class FileTransmitMsg;
class FileErrorMsg;
class PeerMsg;
class InitUnInitNotifyMsg;
class FileEventEndNotifyMsg;
enum
{
MBFTNOTIFY_BASIC = WM_APP + 0x101,
};
class MBFTInterface : public IMbftControl, public CRefCount
{
public:
STDMETHOD_(void, ReleaseInterface)( THIS);
STDMETHOD_(void, Update)( THIS);
STDMETHOD_(void, CancelFt)( THIS_
MBFTEVENTHANDLE hEvent,
MBFTFILEHANDLE hFile);
STDMETHOD(AcceptFileOffer)( THIS_
MBFT_FILE_OFFER *pOffer,
LPCSTR pszRecDir,
LPCSTR pszFileName);
STDMETHOD_(void, RejectFileOffer)( THIS_
MBFT_FILE_OFFER *pOffer);
STDMETHOD(SendFile)( THIS_
LPCSTR pszFileName,
T120NodeID nidReceiver,
MBFTEVENTHANDLE *phEvent,
MBFTFILEHANDLE *phFile);
private:
IMbftEvents *m_pEvents;
MBFTEngine * m_pEngine;
HWND m_hwndNotify;
BOOL m_bFileOfferOK;
LPARAM m_lpUserDefined;
MBFTFILEHANDLE m_FileHandle;
BOOL m_InStateMachine;
T120UserID m_MBFTUserID;
MBFTEVENTHANDLE m_SendEventHandle;
MBFTEVENTHANDLE m_ReceiveEventHandle;
//Sigh..., the CTK people don't give you a choice...
static LRESULT PASCAL CTKCallBackFunction(HWND hWnd,UINT Message,
WPARAM wParam,LPARAM lParam);
public:
MBFTInterface(IMbftEvents *, HRESULT *);
~MBFTInterface(void);
void SetEngine(MBFTEngine *p) { m_pEngine = p; }
HRESULT SafePostNotifyMessage(MBFTMsg *pMsg);
void DoStateMachine(MBFTMsg *pMsg);
void HandlePeerNotification(PeerMsg * lpNewMessage);
void HandleFileOfferNotify(FileOfferNotifyMsg * lpNotifyMessage);
void HandleProgressNotify(FileTransmitMsg * lpProgressMessage);
void HandleErrorNotify(FileErrorMsg * lpErrorMessage);
void HandleInitUninitNotification(InitUnInitNotifyMsg * lpNewMessage);
void HandleGenericNotification(FileEventEndNotifyMsg * lpNewMessage);
};
#endif //__MBFTAPI_HPP__