OSDN Git Service

neard: Add support for setting power state in RequestOOB reply
authorSzymon Janc <szymon.janc@tieto.com>
Thu, 7 Feb 2013 08:13:58 +0000 (09:13 +0100)
committerJohan Hedberg <johan.hedberg@intel.com>
Fri, 15 Feb 2013 08:42:21 +0000 (10:42 +0200)
This allows neard to properly set Bluetooth carrier power state in
handover message.

plugins/neard.c

index 0418430..a1b385e 100644 (file)
@@ -173,6 +173,19 @@ unregister:
                                                        AGENT_INTERFACE);
 }
 
+static void add_power_state(DBusMessageIter *dict, struct btd_adapter *adapter)
+{
+       const char *state;
+
+       if (btd_adapter_get_powered(adapter) &&
+                                       btd_adapter_get_connectable(adapter))
+               state = "active";
+       else
+               state = "inactive";
+
+       dict_append_entry(dict, "State", DBUS_TYPE_STRING, &state);
+}
+
 static DBusMessage *create_request_oob_reply(struct btd_adapter *adapter,
                                                const uint8_t *hash,
                                                const uint8_t *randomizer,
@@ -208,6 +221,8 @@ static DBusMessage *create_request_oob_reply(struct btd_adapter *adapter,
 
        dict_append_array(&dict, "EIR", DBUS_TYPE_BYTE, &peir, len);
 
+       add_power_state(&dict, adapter);
+
        dbus_message_iter_close_container(&iter, &dict);
 
        return reply;