summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2007-08-03 18:41:04 +0000
committerClaudio Takahasi <claudio.takahasi@openbossa.org>2007-08-03 18:41:04 +0000
commit81368247ef622f98aaeac2d630b7b7c2bb76fe63 (patch)
tree51b114d07bc6153ddda7a84ff839667fc26ba05c
parent309dbb1060ee24785b06ceb49a75d42c69d02f8a (diff)
hcid: GetRemoteInfo - added class and connected attributes
-rw-r--r--hcid/dbus-adapter.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/hcid/dbus-adapter.c b/hcid/dbus-adapter.c
index e57309d3..83b0f516 100644
--- a/hcid/dbus-adapter.c
+++ b/hcid/dbus-adapter.c
@@ -1124,7 +1124,7 @@ static DBusHandlerResult adapter_get_remote_info(DBusConnection *conn,
char *str;
dbus_bool_t boolean;
uint32_t class;
- int compid, ver, subver;
+ int compid, ver, subver, dev_id;
if (!dbus_message_get_args(msg, NULL,
DBUS_TYPE_STRING, &addr_ptr,
@@ -1157,8 +1157,12 @@ static DBusHandlerResult adapter_get_remote_info(DBusConnection *conn,
str2ba(adapter->address, &src);
str2ba(addr_ptr, &dst);
- /* Major/Minor Class */
+ /* Remote device class */
if (read_remote_class(&src, &dst, &class) == 0) {
+
+ dbus_message_iter_append_dict_entry(&dict, "class",
+ DBUS_TYPE_UINT32, &class);
+
ptr = major_class_str(class);
dbus_message_iter_append_dict_entry(&dict, "major_class",
DBUS_TYPE_STRING, &ptr);
@@ -1194,6 +1198,12 @@ static DBusHandlerResult adapter_get_remote_info(DBusConnection *conn,
dbus_message_iter_append_dict_entry(&dict, "trusted",
DBUS_TYPE_BOOLEAN, &boolean);
+ /* Connected */
+ dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &dst);
+ boolean = (dev_id != adapter->dev_id ? FALSE : TRUE);
+ dbus_message_iter_append_dict_entry(&dict, "connected",
+ DBUS_TYPE_BOOLEAN, &boolean);
+
/* HCI Revision/Manufacturer/Version */
create_name(filename, PATH_MAX, STORAGEDIR,
adapter->address, "manufacturers");