📄 traninfomodule.h
字号:
#ifndef INCLUDED_TRANINFOMODULE
#define INCLUDED_TRANINFOMODULE
#if defined(HAS_PRAGMA_ONCE)
#pragma PRAGMA_ONCE_DECLARE
#endif
#include "packagebase.h"
#include "packageserver.h"
namespace acl
{
//////////////////////////////////////////////////////////////////////////////
// Class Name : TranInfoPackage
// Description : base on tranInfo package format
// tranInfo is the standard package format of CommMain protocol
//////////////////////////////////////////////////////////////////////////////
class TranInfoPackage
{
public:
TranInfoPackage(){};
TranInfoPackage(unsigned int receiver, CTtranInfo &tranInfo);
// BasePackage concept interface
bool fromStream(protocol::BaseStream &stream, int startPos = 0);
bool toStream(protocol::BaseStream &stream);
void setClientId(unsigned int clientId)
{
m_sender = clientId;
}
unsigned int getClientId()
{
return m_sender;
}
private:
friend class TranInfoModule;
unsigned int m_sender;
CTtranInfo m_tranInfo;
enum
{
MAX_PACKAGE_LENGTH = 4096
};
};
class TranInfoModule
{
friend THREAD_HANDLER_DECL(ThreadAgent, param);
public:
TranInfoModule(PackageServer<TranInfoPackage> *server);
virtual ~TranInfoModule();
void start();
void stop();
bool sendMessage(unsigned int receiver, CTtranInfo &tranInfo);
private:
void createPullThread();
void pullProcess();
bool defaultHandleMessage(unsigned int sender, CTtranInfo &tranInfo);
virtual void handleMessage(unsigned int sender, CTtranInfo &tranInfo) = 0;
private:
PackageServer<TranInfoPackage> *m_server;
CTThread *m_pullThread;
};
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -