const char _reply_message[] = "reply_message";
const char _keyData[] = "data";
const char _keyId[] = "id";
+const char _keyHandshake[] = "handshake";
+const char _keyTimes[] = "times";
+const char _keySleep[] = "sleep";
+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;
+
+const char _wm_event[] = "windowmanager/screenUpdated";
+static void screenUpdateCb(void *closure, const char *event, struct json_object* obj, afb_api_t api)
+{
+ AFB_WARNING("windowmanager/screenUpdated callback. obj=%s.", json_object_to_json_string(obj));
+}
struct hs_instance {
HS_ClientManager *client_manager; // the connection session manager
}
app_info->init(api);
+ struct json_object *handshake_obj;
+ if(json_object_object_get_ex(g_hs_config.hs_conf, _keyHandshake, &handshake_obj) == 0) {
+ AFB_ERROR("get handshake failed.");
+ return -1;
+ }
+ else {
+ struct json_object *times_obj, *sleep_obj;
+ json_object_object_get_ex(handshake_obj, _keyTimes, ×_obj);
+ json_object_object_get_ex(handshake_obj, _keySleep, &sleep_obj);
+ AFB_WARNING("get handshake times=%d, sleep=%d", json_object_get_int(times_obj), json_object_get_int(sleep_obj));
+ }
+
return 0;
}
*/
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;
}
/**