summaryrefslogtreecommitdiffstats
path: root/binding
diff options
context:
space:
mode:
Diffstat (limited to 'binding')
-rw-r--r--binding/bluetooth-api.c6
-rw-r--r--binding/bluetooth-conf.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/binding/bluetooth-api.c b/binding/bluetooth-api.c
index c731c34..86883e0 100644
--- a/binding/bluetooth-api.c
+++ b/binding/bluetooth-api.c
@@ -726,8 +726,12 @@ static int init(afb_api_t api)
}
id->default_adapter = get_default_adapter(id->api);
- if (!id->default_adapter)
+ if (!id->default_adapter) {
id->default_adapter = g_strdup(BLUEZ_DEFAULT_ADAPTER);
+ ret = set_default_adapter(api, BLUEZ_DEFAULT_ADAPTER);
+ if (ret)
+ AFB_WARNING("Request to save default adapter to persistent storage failed ");
+ }
args = json_object_new_object();
json_object_object_add(args , "technology", json_object_new_string("bluetooth"));
diff --git a/binding/bluetooth-conf.c b/binding/bluetooth-conf.c
index 2f6f475..ff888d6 100644
--- a/binding/bluetooth-conf.c
+++ b/binding/bluetooth-conf.c
@@ -66,7 +66,14 @@ int set_default_adapter(afb_api_t api, const char *adapter)
json_object_object_add(query, "value", json_object_new_string(adapter));
ret = afb_api_call_sync(api, "persistence", "update", query, &response, NULL, NULL);
+ if (ret < 0) {
+ ret = afb_api_call_sync(api, "persistence", "insert", query, &response, NULL, NULL);
+ if (ret < 0)
+ goto out;
+ }
+
json_object_put(response);
+out:
return ret;
}