-// Save the config on disk
-PUBLIC void configStoreFile (AFB_session * session) {
- json_object * AFBConfig;
- time_t rawtime;
- struct tm * timeinfo;
- int err;
-
- AFBConfig = json_object_new_object();
-
- // add a timestamp and store session on disk
- time ( &rawtime ); timeinfo = localtime ( &rawtime );
- // A copy of the string is made and the memory is managed by the json_object
- json_object_object_add (AFBConfig, "jtype" , json_object_new_string (AFB_CONFIG_JTYPE));
- json_object_object_add (AFBConfig, "timestamp" , json_object_new_string (asctime (timeinfo)));
- json_object_object_add (AFBConfig, "rootdir" , json_object_new_string (session->config->rootdir));
- json_object_object_add (AFBConfig, "rootapi" , json_object_new_string (session->config->rootapi));
- json_object_object_add (AFBConfig, "rootbase" , json_object_new_string (session->config->rootbase));
- json_object_object_add (AFBConfig, "smack" , json_object_new_string (session->config->smack));
- json_object_object_add (AFBConfig, "plugins" , json_object_new_string (session->config->plugins));
- json_object_object_add (AFBConfig, "sessiondir" , json_object_new_string (session->config->sessiondir));
- json_object_object_add (AFBConfig, "pidfile" , json_object_new_string (session->config->pidfile));
- json_object_object_add (AFBConfig, "setuid" , json_object_new_string (session->config->setuid));
- json_object_object_add (AFBConfig, "httpdPort" , json_object_new_int (session->config->httpdPort));
- json_object_object_add (AFBConfig, "localhostonly" , json_object_new_int (session->config->localhostOnly));
- json_object_object_add (AFBConfig, "cachetimeout" , json_object_new_int (session->config->cacheTimeout));
- json_object_object_add (AFBConfig, "apitimeout" , json_object_new_int (session->config->apiTimeout));
- json_object_object_add (AFBConfig, "cntxtimeout" , json_object_new_int (session->config->cntxTimeout));
-
- err = json_object_to_file (session->config->configfile, AFBConfig);
- json_object_put (AFBConfig); // decrease reference count to free the json object
- if (err < 0) {
- fprintf(stderr, "AFB: Fail to save config on disk [%s]\n ", session->config->configfile);
- }
-}
-
-
-PUBLIC AFB_session *configInit () {
-
- AFB_session *session;
- AFB_config *config;
- int idx, verbosesav;
-
-
- session = malloc (sizeof (AFB_session));
- memset (session,0, sizeof (AFB_session));