跨操作系统的微型中间件
源代码在线查看: license.h
#ifndef LICENSE_MANAGER_H_ #define LICENSE_MANAGER_H_
#ifdef WIN32 #include "XMLDoc.h" class LicenseMng { public: /*构造函数*/ LicenseMng(); /*析构函数*/ ~LicenseMng(); static BOOL isTimeEffect(); /*LicenseMng是否初始化成功*/ static BOOL is_inited(); /*从配置文件初始化配置参数*/ static ULONG initialize_license(); /*去除字符串结尾的空格*/ static CHAR* trim(CHAR *pstr); /*判断License文件的合法性*/ static BOOL is_legal(); /*限制条件判断*/ static BOOL is_allow_access(); /*同时限制最大流媒体带宽和并发用户数*/ static BOOL limit_two(); /*只限制最大流媒体带宽*/ static BOOL limit_bandwidth(); /*只限制最大流媒体并发用户数*/ static BOOL limit_usernum(); /*同时限制最大流媒体带宽和并发用户数*/ static BOOL limit_two_rfss(); /*只限制最大流媒体带宽*/ static BOOL limit_bandwidth_rfss(); /*只限制最大流媒体并发用户数*/ static BOOL limit_usernum_rfss(); /*根据IP地址获取MAC地址*/ static BOOL get_MAC(CHAR*); /*获取流媒体总下行带宽*/ static INT32 get_streammedia_down_bw(int &down_bw); /*License描述串*/ static CHAR m_LicenseSerial[256]; /*设备ID号*/ static INT32 m_ESN; /*设备的主MAC地址*/ static CHAR m_MAC[18]; /*设备类型:CS(R+M)/CS-M/CS-R/ES-M/ES-R*/ static CHAR m_LicenseType[8]; static CHAR m_StartTime[20]; static CHAR m_EndTime[20]; /*最大流媒体带宽,单位:Mbps*/ static ULONG m_MaxBandwidth; /*最大并发用户数*/ static ULONG m_MaxConnects; /*文件中LicenseKey*/ static CHAR m_LicenseKey[33]; static ULONG rfss_online_usernum; static ULONG rfss_user_bandwidth; static ULONG m_LiveIn; private: static XMLDoc* m_LicenseDoc; /*标识对象是否已经正确初始化*/ static BOOL init_flag; }; #endif // !defined WIN32
#endif // !defined LICENSE_MANAGER_H_