Code Review
/
src
/
app-framework-main.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
afm-udb: improve comment
[src/app-framework-main.git]
/
src
/
afm-udb.c
diff --git
a/src/afm-udb.c
b/src/afm-udb.c
index
718aa5c
..
586c429
100644
(file)
--- a/
src/afm-udb.c
+++ b/
src/afm-udb.c
@@
-1,5
+1,5
@@
/*
/*
- Copyright
2015, 2016, 2017
IoT.bzh
+ Copyright
(C) 2015-2018
IoT.bzh
author: José Bollo <jose.bollo@iot.bzh>
author: José Bollo <jose.bollo@iot.bzh>
@@
-78,6
+78,11
@@
struct afm_updt {
struct afm_apps applications;
};
struct afm_apps applications;
};
+/*
+ * The default language
+ */
+static char *default_lang;
+
/*
* Release the data of the afm_apps object 'apps'.
*/
/*
* Release the data of the afm_apps object 'apps'.
*/
@@
-112,7
+117,7
@@
static int append_field(
array = json_object_new_array();
if (!array)
goto error;
array = json_object_new_array();
if (!array)
goto error;
- json_object_array_add(array,
item
);
+ json_object_array_add(array,
json_object_get(item)
);
json_object_object_add(object, name, array);
}
json_object_array_add(array, data);
json_object_object_add(object, name, array);
}
json_object_array_add(array, data);
@@
-460,15
+465,25
@@
int afm_udb_update(struct afm_udb *afudb)
tmp = afudb->applications;
afudb->applications = updt.applications;
apps_put(&tmp);
tmp = afudb->applications;
afudb->applications = updt.applications;
apps_put(&tmp);
- afm_udb_
add
ref(afudb);
+ afm_udb_
un
ref(afudb);
return 0;
error:
apps_put(&updt.applications);
return 0;
error:
apps_put(&updt.applications);
- afm_udb_
add
ref(afudb);
+ afm_udb_
un
ref(afudb);
return -1;
}
return -1;
}
+/*
+ * set the default language to 'lang'
+ */
+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
/*
* 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
+501,7
@@
struct json_object *afm_udb_applications_private(struct afm_udb *afudb, int uid)
* 'json_object_put'.
* Returns NULL in case of error.
*/
* '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);
}
{
return json_object_get(afudb->applications.pubarr);
}
@@
-496,7
+511,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.
*/
* 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;
{
struct json_object *result;
struct json_object_iter i;
@@
-520,7
+535,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)
{
*/
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
+544,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,
* 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
);
}
}