派生自 development/c++

pansen
2019-03-07 d3b7bbe7102cd089680a828f5d8f6402c8cf6342
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//
// Created by ps on 19-3-1.
//
 
#include <basic/debug/Debug.h>
#include "GB28181Server.h"
 
bool bGetLoaclRes = {false};
 
GB28181Server::GB28181Server() {}
 
GB28181Server::~GB28181Server() {
    C_UnInitSDK();
}
 
void GB28181Server::setMysqlConnParam(const MysqlDBServerCfg &_MysqlConnParam) {
    memset(&MysqlConnParam, 0, sizeof(MysqlConnParam_T));
    strcpy(MysqlConnParam.Host, _MysqlConnParam.Host.c_str());    //连接数据库的ip地址
    MysqlConnParam.Port = _MysqlConnParam.Port;                        //连接数据库的端口
    strcpy(MysqlConnParam.UserName, _MysqlConnParam.UserName.c_str());        //连接数据库的用户名
    strcpy(MysqlConnParam.Passwd, _MysqlConnParam.Passwd.c_str());        //连接数据库的密码
    strcpy(MysqlConnParam.DBName, _MysqlConnParam.DBName.c_str());    //连接数据库的表名
    MysqlConnParam.DBConnCount = _MysqlConnParam.DBConnCount;                    //连接数据库的数量
}
 
void GB28181Server::setGBServerParam(const GBServerCfg &_GBServerParam) {
    memset(&GBServerParam, 0, sizeof(GBServerParam_T));
    strcpy(GBServerParam.SvrIp, _GBServerParam.SvrIp.c_str()); // 国标服务的ip地址  (本机的ip地址)
    //strcpy(GBServerParam.SvrNatIp, "222.35.102.22"); //注意: 此处如果没有穿网ip地址不需要配置 (一般部署公网时使用)
    GBServerParam.SvrPort = _GBServerParam.SvrPort; // 国标服务监听的端口
    // 44122500042001000123
    strcpy(GBServerParam.SvrPubID, _GBServerParam.SvrPubID.c_str()); // 国标服务器的ID
    GBServerParam.bMD5Auth = _GBServerParam.bMD5Auth;                            // 是否需要MD5加密
    strcpy(GBServerParam.UserName, _GBServerParam.UserName.c_str()); // 国标服务的用户名    (下级设备注册的用户名)
    strcpy(GBServerParam.Passwd, _GBServerParam.Passwd.c_str());                // 国标服务的密码    (下级设备注册的密码)
    GBServerParam.SubScribeTime = _GBServerParam.SubScribeTime;  // 订阅时间  如果为0 表示不订阅
}
 
void GB28181Server::setUpperPlatform(const UpperPFCfg &_upperinfo) {
    memset(&upperinfo, 0, sizeof(UpperPlatform_T));
    strcpy(upperinfo.Name, _upperinfo.Name.c_str());
    strcpy(upperinfo.PublicID, _upperinfo.PublicID.c_str());
    strcpy(upperinfo.AuthUserName, _upperinfo.AuthUserName.c_str());
    strcpy(upperinfo.AuthPasswd, _upperinfo.AuthPasswd.c_str());
    strcpy(upperinfo.IpAddr, _upperinfo.IpAddr.c_str());
    upperinfo.Port = _upperinfo.Port;
    upperinfo.RegisterItv = _upperinfo.RegisterItv;
    upperinfo.KeepAliveItv = _upperinfo.KeepAliveItv;
}
 
bool GB28181Server::initServer() {
 
    bool iRet = C_InitSDK(&GBServerParam, &MysqlConnParam, NULL, enventcallback);
    DBG("iRet is " << iRet);
    sleep(90);
 
    return iRet;
}