📄 logparser.h
字号:
#pragma once#include "defines.h"#include "GZFile.h"class CLogPlayer;/***************************************************************************************************//* LogParser Classes *//***************************************************************************************************/class CLogParser { // log分析类的公共接口public: void init(CLogPlayer* pLogPlayer) { _pLogPlayer = pLogPlayer; } virtual bool parseLog(CGZFile &logFile) = 0 ; // 分析各种格式的log文件protected: CLogPlayer* getLogPlayer() const { return _pLogPlayer; }private: CLogPlayer* _pLogPlayer; // 指向LogPlayer类的指针};class CV3LogParser : public CLogParser {public: virtual bool parseLog(CGZFile &logFile);};class CSightLogParser : public CLogParser {public: virtual bool parseLog(CGZFile &logFile);};class CLogParserFactory { // 返回需要的logParser,factory模式public: void init(CLogPlayer* pLogPlayer) { _SightLogParser.init(pLogPlayer); _V3LogParser.init(pLogPlayer); } CLogParser* getParser(CGZFile &logFile); // 返回所要的logParser指针private: CSightLogParser _SightLogParser; CV3LogParser _V3LogParser;};/***************************************************************************************************//* DispinfoParser Classes *//***************************************************************************************************/class CDispinfoParser{public: void init(CLogPlayer* pLogPlayer) { _pLogPlayer = pLogPlayer; } virtual bool parseDispinfo(BYTE *pData) = 0 ;protected: CLogPlayer* getLogPlayer() const { return _pLogPlayer; }private: CLogPlayer* _pLogPlayer; // 指向LogPlayer类的指针};class CDispinfo2Parser : public CDispinfoParser {public: virtual bool parseDispinfo(BYTE *pData);private: cycle_info_t _cInfo;};class CDispinfoParserFactory { // 返回需要的DispinfoParser,factory模式public: void init(CLogPlayer* pLogPlayer) { _Dispinfo2Parser.init(pLogPlayer); } CDispinfoParser* getParser(UINT version); // 返回所要的logParser指针private: CDispinfo2Parser _Dispinfo2Parser;};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -