#include #include #include #include #include #include using namespace std; #include "3rdparty/bus_client/cbhomeclient.h" #include "3rdparty/bus_client/message.h" #include "dbapi.h" #include "proto/x86_64/fileanalysis.pb.h" #include "proto/x86_64/protomsg.pb.h" #include "proto/x86_64/sysset.pb.h" int main(int argc, char const *argv[]) { // 初始化bus creg *reg = make_creg_from_cproc(make_cproc("request", "requestid")); printf("make_creg_from_cproc\n"); void *handle = bus_client_init(NULL, 0, reg); creg_free(reg); printf("bus_client_init end\n"); // 服务器配置 sysset.pb.h // protomsg::LocalConfig node; // if (dbapi_get_server_info(handle, node)) { // printf("LocalConfig: %s\n", node.alarm_ip().c_str()); // } // 轮询配置 sysset.pb.h // protomsg::PollConfig node; // if (dbapi_get_poll_config(handle, node)) { // printf("PollConfig: %s\n", node1.server_id().c_str()); // } // 数据栈配置 fileanalysis.pb.h // protomsg::FileAnalysisSetting node; // if (dbapi_get_stack_config(handle, node)) { // printf("StackConfig: %s\n", node.filedirectory().c_str()); // } // 时间规则 // std::vector list; // if (dbapi_get_time_rules(handle, list)) { // for (unsigned int i = 0; i < list.size(); i++) { // printf("CameraTimerule: %s\n", list[i].id().c_str()); // } // } // 系统授权信息 // printf("isExpired:%d\n", dbapi_get_server_get_is_sys_expired(handle)); // 摄像机 std::vector list; char *runType = (char *)"1"; // 1 实时 0 轮询 if (dbapi_get_cameras_by_runType(handle, list, runType, false)) { for (unsigned int i = 0; i < list.size(); i++) { printf("Camera: %s\n", list[i].id().c_str()); } } string json; dbapi_get_json_by_cameralist(list, json); printf("Camera list to json:%s\n", json.c_str()); /* [ { "addr": "财务室", "alias": "", "brand": "", "coordTransform": "", "floor": -9999, "id": "2bdee058-43d9-4e95-9ba1-2f56920f6d7c", "ip": "", "is_running": false, "latitude": 0, "linkCams": null, "longitude": 0, "name": "5.152(财务室)", "password": "", "port": 0, "reserved": "", "resolution_height": 0, "resolution_width": 0, "rtsp": "rtsp://admin:a1234567@192.168.5.152:554/h264/ch1/main/av_stream", "runServerName": "189服务", "run_enable": false, "run_server_id": "DSVAD010120190703", "run_type": -1, "snapshot_url": "192.168.20.189:6700/71,1c82608f5aab92?collection=DSVAD010120190703-persistent", "status": -2, "tasks": [ { "hasRule": true, "taskname": "离岗" } ], "type": 0, "username": "", "voiceEnable": false, "voiceId": "" }, { "addr": "产品旁2", "alias": "", "brand": "", "coordTransform": "", "floor": -9999, "id": "d05618a4-7cdd-4b64-888c-2b1c29d3f32a", "ip": "", "is_running": false, "latitude": 0, "linkCams": null, "longitude": 0, "name": "5.151(产品旁)", "password": "", "port": 0, "reserved": "", "resolution_height": 0, "resolution_width": 0, "rtsp": "rtsp://admin:a1234567@192.168.5.151:554/h265/ch1/main/av_stream", "runServerName": "189服务", "run_enable": false, "run_server_id": "DSVAD010120190703", "run_type": -1, "snapshot_url": "192.168.20.189:6700/72,1c9ea52ffe3560?collection=DSVAD010120190703-persistent", "status": -2, "tasks": [ { "hasRule": true, "taskname": "入侵" }, { "hasRule": true, "taskname": "产品区域人员离岗" }, { "hasRule": true, "taskname": "脱岗" } ], "type": 0, "username": "", "voiceEnable": false, "voiceId": "" }, { "addr": "渣油装车10号", "alias": "", "brand": "", "coordTransform": "", "floor": -9999, "id": "8be6055f-639c-4ea0-bcec-99b6b5b95499", "ip": "", "is_running": false, "latitude": 0, "linkCams": null, "longitude": 0, "name": "渣油装车10号", "password": "", "port": 0, "reserved": "", "resolution_height": 0, "resolution_width": 0, "rtsp": "rtsp://admin:a1234567@192.168.5.53:554/h264/ch1/main/av_stream", "runServerName": "189服务", "run_enable": true, "run_server_id": "DSVAD010120190703", "run_type": -1, "snapshot_url": "192.168.20.189:6700/72,1c8f82b46690a6?collection=DSVAD010120190703-persistent", "status": -2, "tasks": null, "type": 0, "username": "", "voiceEnable": false, "voiceId": "" } ]*/ return 0; }