From e634f49a3b619017a3d040d1bdf68aebad07ae4f Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期二, 05 三月 2019 09:26:54 +0800
Subject: [PATCH] Merge branch 'yw.1.2.fixbug' of ssh://192.168.1.226:29418/development/c++ into yw.1.2

---
 QiaoJiaSystem/VideoToImageMulth/main.cpp |   83 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 78 insertions(+), 5 deletions(-)

diff --git a/QiaoJiaSystem/VideoToImageMulth/main.cpp b/QiaoJiaSystem/VideoToImageMulth/main.cpp
index 684fd82..f0e6bcb 100644
--- a/QiaoJiaSystem/VideoToImageMulth/main.cpp
+++ b/QiaoJiaSystem/VideoToImageMulth/main.cpp
@@ -14,7 +14,9 @@
 #include <basic/util/file/FileUtil.h>
 #include <basic/util/app/AppPreference.hpp>
 #include <basic/util/app/AppConfig.h>
-#include <basic/util/app/AppConfig.h>
+
+#include <GB28181Server.h>
+#include <basic/util/net_config/net_config.h>
 
 static void startManager(LDBTool *_dbTool) {
     RtspAnalysManager rtspAnalysManager(_dbTool);
@@ -23,25 +25,96 @@
     }
 }
 
+std::string getLocalIp() {
+    unsigned char netmask_old[15] = {0};
+    unsigned char gateway_old[15] = {0};
+    unsigned char ip_old[15] = {0};
 
+    std::string net_ifname = appConfig.getStringProperty("netIfName");
+    std::string str_ip;
+
+    if (GetIpAddress(net_ifname.c_str(), ip_old)) {
+        std::string ip_old_temp((char *) ip_old);
+        str_ip = ip_old_temp;
+    } else {
+//        value["ipaddr"] = "";
+        ERR("not get ip addr");
+    }
+    assert(!str_ip.empty());
+    return std::move(str_ip);
+}
 
 int main(int argc, char **argv) {
-    std::cout<<__DATE__<<" "<<__TIME__<<std::endl;
+    std::cout << __DATE__ << " " << __TIME__ << std::endl;
     SAVE_APP_ARGS
 
 #ifdef GLOG
-        ENABLEGLOG(GET_STR_CONFIG("logPath").c_str());
+    ENABLEGLOG(GET_STR_CONFIG("logPath").c_str());
 #endif
 
-    appPref.setLongData("gpu.index", 1);
+    int gindx = atoi(argv[1]) % 2;
+    DBG(gindx);
+    appPref.setLongData("gpu.index", gindx);
     appPref.setIntData("show.image", 0);
 
     //todo
     appPref.setIntData("CamStart", atoi(argv[1]));
     appPref.setIntData("CamStep", atoi(argv[2]));
+    appPref.setIntData("RpcServerPort", atoi(argv[3]));
+
+    //#todo search from db
+    MysqlDBServerCfg mysqlDBServerCfg;
+    mysqlDBServerCfg.Host = getLocalIp();
+    mysqlDBServerCfg.Port = 3306;
+    mysqlDBServerCfg.UserName = "root";
+    mysqlDBServerCfg.Passwd = "123456";
+    mysqlDBServerCfg.DBName = "EGEyesForVSS";
+    mysqlDBServerCfg.DBConnCount = 5;
+
+
+    //#todo search from db
+    GBServerCfg gbServerCfg;
+    gbServerCfg.SvrIp = getLocalIp(); // 鍥芥爣鏈嶅姟鐨刬p鍦板潃  (鏈満鐨刬p鍦板潃)
+    gbServerCfg.SvrPort = 7060; // 鍥芥爣鏈嶅姟鐩戝惉鐨勭鍙�
+    gbServerCfg.SvrPubID = "44120000002000000001"; // 鍥芥爣鏈嶅姟鍣ㄧ殑ID
+    gbServerCfg.bMD5Auth = false; // 鏄惁闇�瑕丮D5鍔犲瘑
+    gbServerCfg.UserName = "44120100002000000002"; // 鍥芥爣鏈嶅姟鐨勭敤鎴峰悕	(涓嬬骇璁惧娉ㄥ唽鐨勭敤鎴峰悕)
+    gbServerCfg.Passwd = "123456"; // 鍥芥爣鏈嶅姟鐨勫瘑鐮�	(涓嬬骇璁惧娉ㄥ唽鐨勫瘑鐮�)
+    gbServerCfg.SubScribeTime = 3600; // 璁㈤槄鏃堕棿  濡傛灉涓�0 琛ㄧず涓嶈闃�
+
+    SpinLock spinLock;
+
+    bool running = false;
+    bool serinit = false;
+    auto func = [&] {
+        spinLock.lock();
+        GB28181Server m_gbs;
+        m_gbs.setMysqlConnParam(mysqlDBServerCfg);
+        m_gbs.setGBServerParam(gbServerCfg);
+        DBG("initServer start before");
+        running = m_gbs.initServer();
+        DBG("initServer start after");
+
+        spinLock.unlock();
+        while (running) {
+            usleep(4000);
+        }
+
+    };
+
+    std::thread thd(func);
+
+    usleep(400);
+    //      ---------------------娴嬭瘯------------------------
+    spinLock.lock();
+    if (!running) {
+        ERR("running is false   <<   DB init error");
+        exit(0);
+    }
+    DBG("test start");
 
     appPref.setStringData("user.loop.absolute.path", appConfig.getStringProperty("cutPath"));
-    IceRpcServer<RtspAnalysManager> server("RtspAnalysServer", 10009, "tcp");
+    IceRpcServer<RtspAnalysManager> server("RtspAnalysServer", appPref.getIntData("RpcServerPort"), "tcp");
     server.setMessageSizeMax(1024 * 1024 * 50);
     server.setPoolInitSize(1);
     server.setPoolMaxSize(1);

--
Gitblit v1.8.0