Kaynağa Gözat

Z991239-5644 #comment feat: 模拟器功能调整

陈纪林80310970 1 yıl önce
ebeveyn
işleme
6fa74ef84d

+ 26 - 0
DevAdapter/DeviceSimulator.h

@@ -5,8 +5,12 @@
 #include <fstream>
 #include <string>
 #include <map>
+#include "path.h"
+
 #ifdef RVC_OS_WIN
 #include <WinSock2.h>
+#include <direct.h>
+#define GetCurrentDir _getcwd
 #else
 #include <arpa/inet.h>  //ntohl
 #include <unistd.h> // Linux系统中
@@ -17,8 +21,16 @@
 #include <sys/types.h>  
 #include <sys/socket.h>
 #include <netinet/in.h>
+#define GetCurrentDir getcwd
 #endif
 
+std::string GetCurrentDirectory() {
+	char buff[256];
+	GetCurrentDir(buff, 256);
+	std::string  current_working_directory(buff);
+	return current_working_directory;
+}
+
 //读取配置文件功能类
 class iniReader
 {
@@ -221,6 +233,20 @@ private:
 	std::map<std::string, std::map<std::string, std::string> >settings_;
 };
 
+//获取硬件模拟器地址
+std::string GetSimulatorUrl()
+{
+	std::string depCfgPath = GetCurrentDirectory() + SPLIT_SLASH_STR + "dep" + SPLIT_SLASH_STR + "cmbsz.ini";
+	iniReader iniRead;
+	bool ret = iniRead.ReadConfig(depCfgPath);
+	if (!ret)
+	{
+		return "";
+	}
+
+	std::string urlStr = iniRead.ReadString("server", "url", "");
+	return urlStr;
+}
 
 //读取本地IP功能函数
 std::string GetLocalIP()

+ 2 - 2
DevAdapter/simulator/idcer.1.1/CMakeLists.txt

@@ -4,8 +4,8 @@ set(${MODULE_PREFIX}_VERSION "1")
 set(${MODULE_PREFIX}_BATCH "1")
 
 set(${MODULE_PREFIX}_SRCS SHARED
-		idcer.cmbsz.h
-        idcer.cmbsz.cpp
+		idcer_impl.h
+        idcer_impl.cpp
         )
 
 rvc_dev_config_library(${MODULE_NAME} ${MODULE_PREFIX})

+ 4 - 5
DevAdapter/simulator/idcer.1.1/idcer.cmbsz.cpp → DevAdapter/simulator/idcer.1.1/idcer_impl.cpp

@@ -1,6 +1,6 @@
 // dllmain.cpp : 定义 DLL 应用程序的入口点。
 #include "stdafx.h"
-#include "idcer.cmbsz.h"
+#include "idcer_impl.h"
 #include <cstring>
 #include <cstdio>
 #include "log4vendor.h"
@@ -353,7 +353,7 @@ bool IDCerClassImpl::authHttpFunction()
     idCerReq.method = "readAndScan";
     idCerReq.adapterInterName = "IDCerAuthenticate";
 
-    string url = iniRead.ReadString("server", "url", "");
+    string url = GetSimulatorUrl();
     if (url.length() == 0)
     {
         url = DEFAULT_URL;
@@ -400,7 +400,7 @@ bool IDCerClassImpl::exHttpFunction(IDCerInfoEx& idCerInfoEx)
     idCerReq.method = "readAndScan";
     idCerReq.adapterInterName = "IDCerGetDataEx";
 
-    string url = iniRead.ReadString("server", "url", "");
+    string url = GetSimulatorUrl();
     if (url.length() == 0)
     {
         url = DEFAULT_URL;
@@ -484,10 +484,9 @@ bool IDCerClassImpl::ex2HttpFunction(IDCerInfoEx2& idCerInfoEx2)
 
     idCerReq.ip = GetLocalIP();
     idCerReq.entityName = "IDCertificate";
-    idCerReq.method = "readAndScanUTF8";
     idCerReq.adapterInterName = "IDCerGetDataEx2";
 
-    string url = iniRead.ReadString("server", "url", "");
+    string url = GetSimulatorUrl();
     if (url.length() == 0)
     {
         url = DEFAULT_URL;

+ 1 - 1
DevAdapter/simulator/idcer.1.1/idcer.cmbsz.h → DevAdapter/simulator/idcer.1.1/idcer_impl.h

@@ -56,7 +56,7 @@ typedef struct IDCerDevRet : CHTTPRet {
     std::string othercode;
     std::string reserved;
 
-    bool	success;
+    bool success;
     bool result;
     bool Parse(string strData) {
         Json::Value root;

+ 1 - 1
addin/cfg/simulator/cmbsz.ini

@@ -1,2 +1,2 @@
 [server]
-url=http://emulator.paasuat.cmbchina.cn/emulator/avs/retrieveEmulatorData
+url=http://emulator.paasst.cmbchina.cn/emulator/avs/retrieveEmulatorData