diff options
Diffstat (limited to 'binding')
-rw-r--r-- | binding/bluetooth-api.c | 6 | ||||
-rw-r--r-- | binding/bluetooth-conf.c | 7 |
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; } |