summaryrefslogtreecommitdiffstats
path: root/hcid/dbus-adapter.c
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2006-03-13 20:47:52 +0000
committerClaudio Takahasi <claudio.takahasi@openbossa.org>2006-03-13 20:47:52 +0000
commit1fe7ab081842276d8db73a44cc64c2115b618cc2 (patch)
tree5fe2f882ea3f2cf0fe99737956d11aea65cac0c1 /hcid/dbus-adapter.c
parent5a7676dd838717f9ce483af8e9be0acf80f2960c (diff)
Added remote name resolving queue
Diffstat (limited to 'hcid/dbus-adapter.c')
-rw-r--r--hcid/dbus-adapter.c84
1 files changed, 46 insertions, 38 deletions
diff --git a/hcid/dbus-adapter.c b/hcid/dbus-adapter.c
index c535b788..33ef99eb 100644
--- a/hcid/dbus-adapter.c
+++ b/hcid/dbus-adapter.c
@@ -1165,6 +1165,7 @@ static DBusHandlerResult handle_dev_discover_devices_req(DBusConnection *conn, D
{
DBusMessage *reply = NULL;
const char *requestor_name;
+ const char *method;
inquiry_cp cp;
evt_cmd_status rp;
struct hci_request rq;
@@ -1176,6 +1177,12 @@ static DBusHandlerResult handle_dev_discover_devices_req(DBusConnection *conn, D
if (dbus_data->requestor_name)
return error_discover_in_progress(conn, msg);
+ method = dbus_message_get_member(msg);
+ if (strcmp("DiscoverDevicesWithoutNameResolving", method) == 0)
+ dbus_data->resolve_name = 0;
+ else
+ dbus_data->resolve_name = 1;
+
dd = hci_open_dev(dbus_data->dev_id);
if (dd < 0)
return error_no_such_adapter(conn, msg);
@@ -1265,45 +1272,46 @@ static DBusHandlerResult handle_dev_cancel_discovery_req(DBusConnection *conn, D
}
static struct service_data dev_services[] = {
- { "GetAddress", handle_dev_get_address_req, },
- { "GetVersion", handle_dev_get_version_req, },
- { "GetRevision", handle_dev_get_revision_req, },
- { "GetManufacturer", handle_dev_get_manufacturer_req, },
- { "GetCompany", handle_dev_get_company_req, },
- { "GetMode", handle_dev_get_mode_req, },
- { "SetMode", handle_dev_set_mode_req, },
- { "GetDiscoverableTimeout", handle_dev_get_discoverable_to_req, },
- { "SetDiscoverableTimeout", handle_dev_set_discoverable_to_req, },
- { "IsConnectable", handle_dev_is_connectable_req, },
- { "IsDiscoverable", handle_dev_is_discoverable_req, },
- { "GetMajorClass", handle_dev_get_major_class_req, },
- { "ListAvailableMinorClasses", handle_dev_list_minor_classes_req, },
- { "GetMinorClass", handle_dev_get_minor_class_req, },
- { "SetMinorClass", handle_dev_set_minor_class_req, },
- { "GetServicesClasses", handle_dev_get_service_classes_req, },
- { "GetName", handle_dev_get_name_req, },
- { "SetName", handle_dev_set_name_req, },
+ { "GetAddress", handle_dev_get_address_req, },
+ { "GetVersion", handle_dev_get_version_req, },
+ { "GetRevision", handle_dev_get_revision_req, },
+ { "GetManufacturer", handle_dev_get_manufacturer_req, },
+ { "GetCompany", handle_dev_get_company_req, },
+ { "GetMode", handle_dev_get_mode_req, },
+ { "SetMode", handle_dev_set_mode_req, },
+ { "GetDiscoverableTimeout", handle_dev_get_discoverable_to_req, },
+ { "SetDiscoverableTimeout", handle_dev_set_discoverable_to_req, },
+ { "IsConnectable", handle_dev_is_connectable_req, },
+ { "IsDiscoverable", handle_dev_is_discoverable_req, },
+ { "GetMajorClass", handle_dev_get_major_class_req, },
+ { "ListAvailableMinorClasses", handle_dev_list_minor_classes_req, },
+ { "GetMinorClass", handle_dev_get_minor_class_req, },
+ { "SetMinorClass", handle_dev_set_minor_class_req, },
+ { "GetServicesClasses", handle_dev_get_service_classes_req, },
+ { "GetName", handle_dev_get_name_req, },
+ { "SetName", handle_dev_set_name_req, },
- { "GetRemoteVersion", handle_dev_get_remote_version_req, },
- { "GetRemoteRevision", handle_dev_get_remote_revision_req, },
- { "GetRemoteManufacturer", handle_dev_get_remote_manufacturer_req, },
- { "GetRemoteCompany", handle_dev_get_remote_company_req, },
- { "GetRemoteName", handle_dev_get_remote_name_req, },
- { "GetRemoteAlias", handle_dev_get_remote_alias_req, },
- { "SetRemoteAlias", handle_dev_set_remote_alias_req, },
-
- { "LastSeen", handle_dev_last_seen_req, },
- { "LastUsed", handle_dev_last_used_req, },
-
- { "CreateBonding", handle_dev_create_bonding_req, },
- { "RemoveBonding", handle_dev_remove_bonding_req, },
- { "HasBonding", handle_dev_has_bonding_req, },
- { "ListBondings", handle_dev_list_bondings_req, },
- { "GetPinCodeLength", handle_dev_get_pin_code_length_req, },
- { "GetEncryptionKeySize", handle_dev_get_encryption_key_size_req, },
-
- { "DiscoverDevices", handle_dev_discover_devices_req, },
- { "CancelDiscovery", handle_dev_cancel_discovery_req, },
+ { "GetRemoteVersion", handle_dev_get_remote_version_req, },
+ { "GetRemoteRevision", handle_dev_get_remote_revision_req, },
+ { "GetRemoteManufacturer", handle_dev_get_remote_manufacturer_req, },
+ { "GetRemoteCompany", handle_dev_get_remote_company_req, },
+ { "GetRemoteName", handle_dev_get_remote_name_req, },
+ { "GetRemoteAlias", handle_dev_get_remote_alias_req, },
+ { "SetRemoteAlias", handle_dev_set_remote_alias_req, },
+
+ { "LastSeen", handle_dev_last_seen_req, },
+ { "LastUsed", handle_dev_last_used_req, },
+
+ { "CreateBonding", handle_dev_create_bonding_req, },
+ { "RemoveBonding", handle_dev_remove_bonding_req, },
+ { "HasBonding", handle_dev_has_bonding_req, },
+ { "ListBondings", handle_dev_list_bondings_req, },
+ { "GetPinCodeLength", handle_dev_get_pin_code_length_req, },
+ { "GetEncryptionKeySize", handle_dev_get_encryption_key_size_req, },
+
+ { "DiscoverDevices", handle_dev_discover_devices_req, },
+ { "DiscoverDevicesWithoutNameResolving", handle_dev_discover_devices_req },
+ { "CancelDiscovery", handle_dev_cancel_discovery_req, },
{ NULL, NULL }
};