From 30889f605b7da1f3a3a94ee7f0676d1e914a0b8b Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Thu, 9 Apr 2015 20:39:09 +0300 Subject: service: Add 'reconnecting' state --- plugins/service.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/service.c b/plugins/service.c index 243df4682..1980bbfe2 100644 --- a/plugins/service.c +++ b/plugins/service.c @@ -133,18 +133,22 @@ static DBusMessage *service_connect(DBusConnection *conn, DBusMessage *msg, static const char *data_get_state(struct service_data *data) { + struct btd_service *service = data->service; int err; - data->state = btd_service_get_state(data->service); + data->state = btd_service_get_state(service); switch (data->state) { case BTD_SERVICE_STATE_UNAVAILABLE: return "unavailable"; case BTD_SERVICE_STATE_DISCONNECTED: + if (btd_service_is_reconnecting(service)) + return "reconnecting"; err = btd_service_get_error(data->service); return err < 0 ? "error" : "disconnected"; case BTD_SERVICE_STATE_CONNECTING: - return "connecting"; + return btd_service_is_reconnecting(service) ? "reconnecting" : + "connecting"; case BTD_SERVICE_STATE_CONNECTED: return "connected"; case BTD_SERVICE_STATE_DISCONNECTING: -- cgit v1.2.1