summaryrefslogtreecommitdiffstats
path: root/src/afm-udb.c
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2018-02-27 12:02:36 +0100
committerJosé Bollo <jose.bollo@iot.bzh>2018-02-27 12:02:36 +0100
commite6fc32e9185b5d6c1ea97714a37f1112b54f64fb (patch)
treed77e50606e554e5f1f40be8f05a80178f1e69afd /src/afm-udb.c
parent2db7c770244f97c8674b6e9c78ed50319b38fea3 (diff)
Provision argument for handling language
The requests 'runnables' and 'detail' accept a parameter 'lang' to -in future- get localized data about apps. Change-Id: I5f1804870c6b3c0d1aedf1a75cde1e2c09a5a605 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/afm-udb.c')
-rw-r--r--src/afm-udb.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/afm-udb.c b/src/afm-udb.c
index 718aa5c..26a1f85 100644
--- a/src/afm-udb.c
+++ b/src/afm-udb.c
@@ -79,6 +79,11 @@ struct afm_updt {
};
/*
+ * The default language
+ */
+static char *default_lang;
+
+/*
* Release the data of the afm_apps object 'apps'.
*/
static void apps_put(struct afm_apps *apps)
@@ -469,6 +474,13 @@ error:
return -1;
}
+void afm_udb_set_default_lang(const char *lang)
+{
+ char *oldval = default_lang;
+ default_lang = lang ? strdup(lang) : NULL;
+ free(oldval);
+}
+
/*
* Get the list of the applications private data of the afm_udb object 'afudb'.
* The list is returned as a JSON-array that must be released using
@@ -486,7 +498,7 @@ struct json_object *afm_udb_applications_private(struct afm_udb *afudb, int uid)
* 'json_object_put'.
* Returns NULL in case of error.
*/
-struct json_object *afm_udb_applications_public(struct afm_udb *afudb, int uid)
+struct json_object *afm_udb_applications_public(struct afm_udb *afudb, int uid, const char *lang)
{
return json_object_get(afudb->applications.pubarr);
}
@@ -496,7 +508,7 @@ struct json_object *afm_udb_applications_public(struct afm_udb *afudb, int uid)
* It returns a JSON-object that must be released using 'json_object_put'.
* Returns NULL in case of error.
*/
-static struct json_object *get_no_case(struct json_object *object, const char *id, int uid)
+static struct json_object *get_no_case(struct json_object *object, const char *id, int uid, const char *lang)
{
struct json_object *result;
struct json_object_iter i;
@@ -520,7 +532,7 @@ static struct json_object *get_no_case(struct json_object *object, const char *i
*/
struct json_object *afm_udb_get_application_private(struct afm_udb *afudb, const char *id, int uid)
{
- return get_no_case(afudb->applications.prvobj, id, uid);
+ return get_no_case(afudb->applications.prvobj, id, uid, NULL);
}
/*
@@ -529,9 +541,9 @@ struct json_object *afm_udb_get_application_private(struct afm_udb *afudb, const
* Returns NULL in case of error.
*/
struct json_object *afm_udb_get_application_public(struct afm_udb *afudb,
- const char *id, int uid)
+ const char *id, int uid, const char *lang)
{
- return get_no_case(afudb->applications.pubobj, id, uid);
+ return get_no_case(afudb->applications.pubobj, id, uid, lang);
}