aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>2019-04-10 19:51:23 +0800
committerwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>2019-04-10 19:51:23 +0800
commit1df2ef6a38ad21d34353dc4728964055d0a1c986 (patch)
tree3ac56dad30f19911054027018a65563bda0c82d3
parent6a151ec022b2520f5c68fc1c8af483afd4c887c7 (diff)
read json file
Change-Id: Ie1a97fc8c3c6585d49574a051920a018a438deb6
-rw-r--r--src/homescreen.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/homescreen.cpp b/src/homescreen.cpp
index c02f62b..eeba767 100644
--- a/src/homescreen.cpp
+++ b/src/homescreen.cpp
@@ -32,6 +32,14 @@ const char _display_message[] = "display_message";
const char _reply_message[] = "reply_message";
const char _keyData[] = "data";
const char _keyId[] = "id";
+const char _HS_CONF_JSON[] = "hs-conf.json";
+const char _LASTMODE_JSON[] = "lastmode.json";
+
+struct hs_config {
+ struct json_object *hs_conf;
+ struct json_object *lastmode;
+};
+static struct hs_config g_hs_config;
struct hs_instance {
HS_ClientManager *client_manager; // the connection session manager
@@ -533,8 +541,20 @@ static const afb_verb_t verbs[]= {
*/
static int preinit(afb_api_t api)
{
- AFB_DEBUG("binding preinit (was register)");
- return 0;
+ AFB_DEBUG("binding preinit (was register)");
+ auto rootdir = std::string(getenv("AFM_APP_INSTALL_DIR"));
+ auto path = rootdir + "/etc/" + _HS_CONF_JSON;
+ if(readJsonFile(path.c_str(), &g_hs_config.hs_conf) < 0) {
+ AFB_ERROR("read %s failed.", _HS_CONF_JSON);
+ return -1;
+ }
+
+ path = rootdir + "/etc/" + _LASTMODE_JSON;
+ if(readJsonFile(path.c_str(), &g_hs_config.lastmode) < 0) {
+ AFB_ERROR("read %s failed.", _LASTMODE_JSON);
+ return -1;
+ }
+ return 0;
}
/**