From b53ce5caf8b12076b74eb04883512a27842a050b Mon Sep 17 00:00:00 2001 From: xueyan hu <576627988@qq.com> Date: Fri, 21 Jan 2022 11:06:10 +0800 Subject: [PATCH] add default json file --- src/json/jsonobject.cpp | 29 ++++++++++++++++++++++++++--- src/json/jsonobject.h | 1 + src/main.cpp | 2 +- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/json/jsonobject.cpp b/src/json/jsonobject.cpp index ee905e2..64f8f7f 100644 --- a/src/json/jsonobject.cpp +++ b/src/json/jsonobject.cpp @@ -9,7 +9,7 @@ #include #include "json/cJSON.h" const char* strProductFileName = "./cfgs/usct-product.json"; - +const char* strProductFileNameDefault = "./cfgs/usct-product"; JsonObject::JsonObject() { loadcfg(); @@ -243,8 +243,32 @@ bool JsonObject::loadcfg() { if (m_bLoaded) return true; + std::ifstream inFile(strProductFileName); if (!inFile.is_open()) + { + return loadcfgDefault(); + } + std::stringstream ss; + ss << inFile.rdbuf(); + std::string strJsonData = ss.str(); + json_root = cJSON_Parse(strJsonData.c_str()); + inFile.close(); + + + if (!json_root) + return loadcfgDefault(); + + m_bLoaded = true; + return true; +} + + +bool JsonObject::loadcfgDefault() +{ + + std::ifstream inFile(strProductFileNameDefault); + if (!inFile.is_open()) { return false; } @@ -252,8 +276,8 @@ bool JsonObject::loadcfg() ss << inFile.rdbuf(); std::string strJsonData = ss.str(); json_root = cJSON_Parse(strJsonData.c_str()); - inFile.close(); + if (!json_root) return false; @@ -261,7 +285,6 @@ bool JsonObject::loadcfg() return true; } - bool JsonObject::savecfg() { if (!m_bLoaded) diff --git a/src/json/jsonobject.h b/src/json/jsonobject.h index e9734ca..ebdda46 100644 --- a/src/json/jsonobject.h +++ b/src/json/jsonobject.h @@ -110,6 +110,7 @@ private: bool loadcfg(); + bool loadcfgDefault(); bool savecfg(); JsonObject(); diff --git a/src/main.cpp b/src/main.cpp index d021218..02c276e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -92,7 +92,7 @@ int main(int argc, char* argv[]) redir.moveToThread(&thread); QObject::connect(&Timer, SIGNAL(timeout()), &redir, SLOT(readOutsToTF())); fflush(stdout); - Timer.start(10000); + Timer.start(1000); thread.start();