61 lines
1.7 KiB
C
61 lines
1.7 KiB
C
|
|
/*!
|
|||
|
|
* \created : 2017/3/17
|
|||
|
|
* \author : M.Yang
|
|||
|
|
* \purpose : <EFBFBD>ṩUCI<EFBFBD><EFBFBD>C++<EFBFBD>汾<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
*/
|
|||
|
|
#ifndef uci_cpp_h__
|
|||
|
|
#define uci_cpp_h__
|
|||
|
|
#include "uci.h"
|
|||
|
|
|
|||
|
|
namespace uci {
|
|||
|
|
class Session;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//@brief : UCI <20>Ự<EFBFBD><E1BBB0>
|
|||
|
|
//@remark: <20><>uci_ǰ<C7B0><D7BA>C<EFBFBD><43><EFBFBD>Թ淶<D4B9>Ľӿ<C4BD><D3BF><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺô<C4BA><C3B4>ǣ<EFBFBD>
|
|||
|
|
// 1<><31><EFBFBD><EFBFBD>Session<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>رջỰ<D5BB>ǣ<EFBFBD>ʹ<EFBFBD>õ<EFBFBD>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>עʹ<D7A2><CAB9><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD>
|
|||
|
|
// 2<><32><EFBFBD><EFBFBD>ÿһ<C3BF><D2BB><EFBFBD>ӿ<EFBFBD><D3BF>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>ʡȥһ<C8A5><D2BB>Session ID<49><44><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3>ҿ<EFBFBD><D2BF><EFBFBD><EFBFBD>趨<EFBFBD>βε<CEB2>Ĭ<EFBFBD><C4AC>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ijЩC<D0A9><43><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֣<EFBFBD><D6A3><EFBFBD>ʹ<EFBFBD>ýӿڸ<D3BF><DAB8><EFBFBD>
|
|||
|
|
// <20><>ע<EFBFBD>⣺
|
|||
|
|
// <09><><EFBFBD><EFBFBD><E0B2BB>ȫ<EFBFBD><C8AB><EFBFBD>ӿڵ<D3BF><DAB5><EFBFBD><EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䡣
|
|||
|
|
class uci::Session {
|
|||
|
|
public:
|
|||
|
|
Session() : m_Session(INVALID_SESSION) {}
|
|||
|
|
virtual ~Session() {
|
|||
|
|
if (m_Session != INVALID_SESSION) {
|
|||
|
|
uci_Close(m_Session);
|
|||
|
|
m_Session = INVALID_SESSION;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
u_status Open(u_cstring _addr, u_uint32 _timeout = 2000) {
|
|||
|
|
u_status r = uci_OpenX(_addr, _timeout);
|
|||
|
|
if (UCISUCCESS(r))
|
|||
|
|
m_Session = (u_session)r;
|
|||
|
|
return r;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
u_status Write(u_cstring _msg,u_uint32 _timeout = 1000, const u_byte* _data = NULL, u_size _len = 0) {
|
|||
|
|
return uci_WriteX(m_Session, _msg, _timeout, _data, _len);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
u_status Read(u_cstring _msg,u_uint32 _timeout, u_byte* _data, u_size _dataLen) {
|
|||
|
|
return uci_ReadX(m_Session, _msg, _timeout, _data, _dataLen);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
u_status WriteFromFile(u_cstring _msg, u_cstring _filePath, u_uint32 _timeout) {
|
|||
|
|
return uci_WriteFromFileX(m_Session, _msg, _filePath, _timeout);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
u_status ReadToFile(u_cstring _msg, u_cstring _filePath, u_uint32 _timeout,
|
|||
|
|
u_tchar *_filePathFinal, u_int32 _filePathFinalLength) {
|
|||
|
|
return uci_ReadToFileX(m_Session, _msg, _filePath, _timeout, _filePathFinal, _filePathFinalLength);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
u_status Close() { return uci_Close(m_Session); }
|
|||
|
|
u_session GetSession() const { return m_Session; }
|
|||
|
|
protected:
|
|||
|
|
u_session m_Session;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#endif // uci_cpp_h__
|