⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base.h

📁 一个很好的协议,数据包解码工具,可以分析7号(ISUP,MTP,...), TCP/UDP等各种协议,特别的是还能支持自定义的二进制数据报,可以通过插件无限扩充协议库.
💻 H
字号:
#if !defined(_BASE_H)
#define _BASE_H

#include "PubHeader.h"
#include "otstr.h"


///////////////////////////////////////////////////////////////
#ifdef _DLL_PROJECT
class CLASS_EXPORT TObject
#else
class TObject
#endif
{
public:
    TObject();
    virtual ~TObject();
    
public:
    virtual void OnCreate ();
    virtual void OnDestroy();
    
    static  int  ObjectId()     { return 0; }
    virtual int  ObjectTypeId() { return 0; }
};

/////////////////////////////////////
#ifdef _DLL_PROJECT
class CLASS_EXPORT TName
#else
class TName
#endif
{
protected:
    OTSTR  m_strName;
    OTSTR  m_strDescription;
    
public:
    TName();
    virtual ~TName();
    
    void   setName(char* szName);
    OTSTR& getName();

    void   setDescription(char* szDescription);
    OTSTR& getDescription();
};

////////////////////////////////////////
#ifdef _DLL_PROJECT
class CLASS_EXPORT Location
#else
class Location
#endif
{
public:
    OTSTR   m_strFilename;
    long    m_nLocat;		        // locat
    long    m_nLine,m_nColumn;	    // col,row;
    
public:
    Location(char* szFilename=NULL,long nLocat=-1,long nLine=-1,long nColumn=-1);
    virtual ~Location();
    
    void setLocat(char* szFilename=NULL,long nLocat=-1,long nLine=-1,long nColumn=-1);
    void operator=(const Location& right);
    
    OTSTR DumpDetail(Location* pLocatOffset=NULL);  // Filename : Line_Column
    OTSTR Dump(Location* pLocatOffset=NULL);        // Filename : Line

    Location& MoveForward(Location& Offset);  
    Location  Offset(Location& Offset);  
    Location  Offset(long nOffset);  
};

////////////////////////////////////////
class TOKEN
{
public:

    enum 
    {
		INVALID       = -1,
        UNKNOW_CHAR   =  0,
        IDENT         =  1, 
		NUMBER_DEX    =  2,
        NUMBER_HEX    =  3,
        NUMBER_DOUBLE =  4,
        STRING        =  5,     // '...' 或 "..."
		KEYWORD       =  6, 
		OPERATOR      =  7, 
        NUMBER        =  9,     // DEX,HEX,DOUBLE
        VALUESET      =  8,     // { {...}, ...}  
        REMARKLINE    =  10,    // 行注释
        REMARKS       =  11     // /* */ 注释
    } ;
};

///////////////////////////////////////////////
class Waiter
{
public:
    Waiter() {}
    virtual ~Waiter() {}
    
    virtual int  wait_event(UINT EventID,long timeout_sec) { return 0; }  
    virtual bool proc_event(UINT EventID) { return false; }
    virtual void stop(int retn=-1) {}
    virtual bool Process_SysMessages() { return false; }
};


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -