|
|
#ifndef __MESSAGES_HPP__
#define __MESSAGES_HPP__
enum { MBFTMSG_CREATE_ENGINE = WM_APP + 1, MBFTMSG_DELETE_ENGINE = WM_APP + 2, MBFTMSG_HEART_BEAT = WM_APP + 3, MBFTMSG_BASIC = WM_APP + 4, };
typedef enum { EnumMCSChannelAdmitIndicationMsg, EnumMCSChannelExpelIndicationMsg, EnumMCSChannelJoinConfirmMsg, EnumMCSChannelConveneConfirmMsg, EnumMCSSendDataIndicationMsg, EnumGenericMBFTPDUMsg, EnumCreateSessionMsg, EnumDeleteSessionMsg, EnumPeerDeletedMsg, EnumSubmitFileSendMsg, EnumFileOfferNotifyMsg, EnumFileTransferControlMsg, EnumFileTransmitMsg, EnumFileErrorMsg, EnumPeerMsg, EnumInitUnInitNotifyMsg, EnumFileEventEndNotifyMsg, } MBFT_MSG_TYPE;
class MBFTMsg { public:
MBFTMsg(MBFT_MSG_TYPE eMsgType) : m_eMsgType(eMsgType) { } virtual ~MBFTMsg(void);
MBFT_MSG_TYPE GetMsgType(void) { return m_eMsgType; }
protected:
MBFT_MSG_TYPE m_eMsgType; };
class MCSChannelAdmitIndicationMsg : public MBFTMsg { public:
MCSChannelAdmitIndicationMsg(T120ChannelID wChannelId, T120UserID ManagerID) : MBFTMsg(EnumMCSChannelAdmitIndicationMsg), m_wChannelId(wChannelId), m_ManagerID(ManagerID) { }
T120ChannelID m_wChannelId; T120UserID m_ManagerID; };
class MCSChannelExpelIndicationMsg : public MBFTMsg { public:
MCSChannelExpelIndicationMsg(T120ChannelID wChannelId, Reason iReason) : MBFTMsg(EnumMCSChannelExpelIndicationMsg), m_wChannelId(wChannelId), m_iReason(iReason) { }
T120ChannelID m_wChannelId; Reason m_iReason; };
class MCSChannelJoinConfirmMsg : public MBFTMsg { public:
MCSChannelJoinConfirmMsg(T120ChannelID wChannelId, BOOL bSuccess) : MBFTMsg(EnumMCSChannelJoinConfirmMsg), m_wChannelId(wChannelId), m_bSuccess(bSuccess) { }
T120ChannelID m_wChannelId; BOOL m_bSuccess; };
class MCSChannelConveneConfirmMsg : public MBFTMsg { public:
MCSChannelConveneConfirmMsg(T120ChannelID wChannelId, BOOL bSuccess) : MBFTMsg(EnumMCSChannelConveneConfirmMsg), m_wChannelId(wChannelId), m_bSuccess(bSuccess) { }
T120ChannelID m_wChannelId; BOOL m_bSuccess; };
class MCSSendDataIndicationMsg : public MBFTMsg { public:
MCSSendDataIndicationMsg(T120ChannelID wChannelId, T120Priority iPriority, T120UserID SenderID, LPBYTE lpBuffer, ULONG ulDataLength, BOOL IsUniformSendData);
T120ChannelID m_wChannelId; T120Priority m_iPriority; T120UserID m_SenderID; LPBYTE m_lpBuffer; ULONG m_ulDataLength; BOOL m_IsUniformSendData; };
class MBFTPDUMsg : public MBFTMsg { public:
MBFTPDUMsg(T120ChannelID wChannelId, T120Priority iPriority, T120UserID SenderID, LPGENERICPDU lpNewPDU, BOOL IsUniformSendData, MBFTPDUType PDUType, LPSTR lpDecodedBuffer);
~MBFTPDUMsg(void);
T120ChannelID m_wChannelId; T120Priority m_iPriority; T120UserID m_SenderID; LPGENERICPDU m_lpNewPDU; BOOL m_IsUniformSendData; MBFTPDUType m_PDUType; LPSTR m_lpDecodedBuffer; };
class CreateSessionMsg : public MBFTMsg { public:
CreateSessionMsg(MBFT_SESSION_TYPE iSessionType, MBFTEVENTHANDLE EventHandle, T120SessionID SessionID = 0, T120ChannelID wControlChannel = 0, T120ChannelID wDataChannel = 0, T120UserID SenderID = 0, MBFTFILEHANDLE FileHandle = 0);
MBFT_SESSION_TYPE m_iSessionType; MBFTEVENTHANDLE m_EventHandle; T120SessionID m_SessionID; T120ChannelID m_ControlChannel; T120ChannelID m_DataChannel; T120UserID m_SenderID; MBFTFILEHANDLE m_FileHandle; };
class MBFTSession; class DeleteSessionMsg : public MBFTMsg { public:
DeleteSessionMsg(MBFTSession * lpDeleteSession) : MBFTMsg(EnumDeleteSessionMsg), m_lpDeleteSession(lpDeleteSession) { }
MBFTSession * m_lpDeleteSession; };
class CPeerData; class PeerDeletedMsg : public MBFTMsg { public:
PeerDeletedMsg(CPeerData * lpPeerData) : MBFTMsg(EnumPeerDeletedMsg), m_lpPeerData(lpPeerData) { } ~PeerDeletedMsg(void);
CPeerData * m_lpPeerData; };
class SubmitFileSendMsg : public MBFTMsg { public:
SubmitFileSendMsg::SubmitFileSendMsg(T120UserID uidReceiver, T120NodeID nidReceiver, LPCSTR pszFilePath, MBFTFILEHANDLE nFileHandle, MBFTEVENTHANDLE EventHandle, BOOL bCompressFiles);
~SubmitFileSendMsg(void);
T120UserID m_nUserID; T120NodeID m_nNodeID; LPSTR m_pszFilePath; MBFTFILEHANDLE m_nFileHandle; MBFTEVENTHANDLE m_EventHandle; BOOL m_bCompressFiles; };
class FileOfferNotifyMsg : public MBFTMsg { public:
FileOfferNotifyMsg(MBFTEVENTHANDLE EventHandle, T120UserID SenderID, T120NodeID NodeID, MBFTFILEHANDLE hFile, LPCSTR lpszFilename, ULONG FileSize, time_t FileDateTime, BOOL bAckNeeded);
MBFTEVENTHANDLE m_EventHandle; MBFTFILEHANDLE m_hFile; ULONG m_FileSize; time_t m_FileDateTime; BOOL m_bAckNeeded; T120UserID m_SenderID; T120NodeID m_NodeID; char m_szFileName[_MAX_PATH]; };
class FileTransferControlMsg : public MBFTMsg { public:
enum FileTransferControl { EnumAcceptFile, EnumRejectFile, EnumAbortFile, EnumConductorAbortFile };
FileTransferControlMsg(MBFTEVENTHANDLE EventHandle, MBFTFILEHANDLE hFile, LPCSTR lpszDirectory, LPCSTR lpszFileName, FileTransferControl iControlCommand);
MBFTEVENTHANDLE m_EventHandle; MBFTFILEHANDLE m_hFile; FileTransferControl m_ControlCommand; char m_szDirectory[_MAX_PATH]; char m_szFileName[_MAX_FNAME]; };
class FileTransmitMsg : public MBFTMsg { public:
FileTransmitMsg(MBFTEVENTHANDLE EventHandle, MBFTFILEHANDLE hFile, ULONG FileSize, ULONG BytesTransmitted, int iTransmitStatus, T120UserID iUserID = 0, BOOL bIsBroadcastEvent = FALSE);
MBFTEVENTHANDLE m_EventHandle; MBFTFILEHANDLE m_hFile; ULONG m_FileSize; ULONG m_BytesTransmitted; T120UserID m_UserID; int m_TransmitStatus; BOOL m_bIsBroadcastEvent; };
class FileErrorMsg : public MBFTMsg { public:
FileErrorMsg(MBFTEVENTHANDLE EventHandle, MBFTFILEHANDLE hFile, int iErrorType, int iErrorCode, BOOL bIsLocalError, T120UserID iUserID = 0, BOOL bIsBroadcastEvent = FALSE, const char* pFileName = NULL, ULONG nFileSize = 0);
MBFTEVENTHANDLE m_EventHandle; MBFTFILEHANDLE m_hFile; int m_ErrorCode; int m_ErrorType; BOOL m_bIsLocalError; T120UserID m_UserID; BOOL m_bIsBroadcastEvent; MBFT_RECEIVE_FILE_INFO m_stFileInfo; };
class PeerMsg : public MBFTMsg { public:
enum PeerChange { EnumPeerAdded, EnumPeerRemoved };
PeerMsg(T120NodeID NodeID, T120UserID MBFTPeerID, BOOL bIsLocalPeer, BOOL IsProsharePeer, LPCSTR lpszAppKey, BOOL bPeerAdded, T120SessionID MBFTSessionID);
T120NodeID m_NodeID; T120UserID m_MBFTPeerID; BOOL m_bIsLocalPeer; BOOL m_bIsProsharePeer; T120SessionID m_MBFTSessionID; BOOL m_bPeerAdded; char m_szAppKey[MAX_APP_KEY_SIZE]; };
enum InitUnInitNotifyType { EnumInitFailed, EnumUnInitComplete, EnumInvoluntaryUnInit };
class InitUnInitNotifyMsg : public MBFTMsg { public:
InitUnInitNotifyMsg(InitUnInitNotifyType iNotifyMessage) : MBFTMsg(EnumInitUnInitNotifyMsg), m_iNotifyMessage(iNotifyMessage) { }
InitUnInitNotifyType m_iNotifyMessage; };
class FileEventEndNotifyMsg : public MBFTMsg { public:
FileEventEndNotifyMsg(MBFTEVENTHANDLE EventHandle) : MBFTMsg(EnumFileEventEndNotifyMsg), m_EventHandle(EventHandle) { }
MBFTEVENTHANDLE m_EventHandle; };
#endif //__MESSAGES_HPP__
|