From 2071a8a2f8e6d238ff0d0f44cb075c902b8ec0e4 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Mon, 1 Dec 2008 12:08:51 +0200 Subject: Get rid of OffMode and always behave like DevDown --- src/adapter.c | 45 +++++++++++++++------------------------------ src/hcid.h | 4 ---- src/main.c | 13 ------------- src/main.conf | 4 ---- 4 files changed, 15 insertions(+), 51 deletions(-) diff --git a/src/adapter.c b/src/adapter.c index 0f427ef4..607f2415 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -614,10 +614,7 @@ static int set_mode(struct btd_adapter *adapter, uint8_t new_mode) if (dd < 0) return -EIO; - if (!adapter->up && - (main_opts.offmode == HCID_OFFMODE_NOSCAN || - (main_opts.offmode == HCID_OFFMODE_DEVDOWN && - scan_enable != SCAN_DISABLED))) { + if (!adapter->up && scan_enable != SCAN_DISABLED) { /* Start HCI device */ if (ioctl(dd, HCIDEVUP, adapter->dev_id) == 0) goto done; /* on success */ @@ -632,8 +629,7 @@ static int set_mode(struct btd_adapter *adapter, uint8_t new_mode) } } - if (adapter->up && scan_enable == SCAN_DISABLED && - main_opts.offmode == HCID_OFFMODE_DEVDOWN) { + if (adapter->up && scan_enable == SCAN_DISABLED) { if (ioctl(dd, HCIDEVDOWN, adapter->dev_id) < 0) { err = -errno; hci_close_dev(dd); @@ -1777,10 +1773,7 @@ static DBusMessage *get_properties(DBusConnection *conn, dict_append_entry(&dict, "Name", DBUS_TYPE_STRING, &property); /* Powered */ - if (main_opts.offmode == HCID_OFFMODE_DEVDOWN) - value = adapter->up ? TRUE : FALSE; - else - value = adapter->scan_mode == SCAN_DISABLED ? FALSE : TRUE; + value = adapter->up ? TRUE : FALSE; dict_append_entry(&dict, "Powered", DBUS_TYPE_BOOLEAN, &value); /* Discoverable */ @@ -2540,23 +2533,17 @@ static int adapter_up(struct btd_adapter *adapter, int dd) if (g_str_equal(mode, "off")) { powered = FALSE; - if (main_opts.offmode == HCID_OFFMODE_NOSCAN) { - adapter->mode = MODE_OFF; - scan_mode = SCAN_DISABLED; - } else if (main_opts.offmode == HCID_OFFMODE_DEVDOWN) { - if (!adapter->initialized) { - dev_down = TRUE; - goto proceed; - } - - if (read_on_mode(srcaddr, mode, sizeof(mode)) < 0) - write_device_mode(&adapter->bdaddr, - "connectable"); - else - write_device_mode(&adapter->bdaddr, mode); - - return adapter_up(adapter, dd); + if (!adapter->initialized) { + dev_down = TRUE; + goto proceed; } + + if (read_on_mode(srcaddr, mode, sizeof(mode)) < 0) + write_device_mode(&adapter->bdaddr, "connectable"); + else + write_device_mode(&adapter->bdaddr, mode); + + return adapter_up(adapter, dd); } else if (!g_str_equal(mode, "connectable") && adapter->discov_timeout == 0) { /* Set discoverable only if timeout is 0 */ @@ -2591,7 +2578,7 @@ proceed: g_free(cl); } - if (dev_down == FALSE && main_opts.offmode == HCID_OFFMODE_DEVDOWN) + if (dev_down == FALSE) emit_property_changed(connection, adapter->path, ADAPTER_INTERFACE, "Powered", DBUS_TYPE_BOOLEAN, &powered); @@ -3196,9 +3183,7 @@ void adapter_mode_changed(struct btd_adapter *adapter, uint8_t scan_mode) return; } - if (powered == FALSE || - (main_opts.offmode == HCID_OFFMODE_NOSCAN && - adapter->scan_mode == SCAN_DISABLED)) + if (powered == FALSE) emit_property_changed(connection, path, ADAPTER_INTERFACE, "Powered", DBUS_TYPE_BOOLEAN, &powered); diff --git a/src/hcid.h b/src/hcid.h index 614ec7f8..90e31f0d 100644 --- a/src/hcid.h +++ b/src/hcid.h @@ -42,9 +42,6 @@ #define MODE_LIMITED 0x03 #define MODE_UNKNOWN 0xff -#define HCID_OFFMODE_DEVDOWN 0 -#define HCID_OFFMODE_NOSCAN 1 - /* Timeout for hci_send_req (milliseconds) */ #define HCI_REQ_TIMEOUT 5000 @@ -59,7 +56,6 @@ struct main_opts { uint16_t link_mode; uint16_t link_policy; - int offmode; uint8_t scan; uint8_t mode; uint8_t inqmode; diff --git a/src/main.c b/src/main.c index e9454603..af3368e9 100644 --- a/src/main.c +++ b/src/main.c @@ -102,18 +102,6 @@ static void parse_config(GKeyFile *config) debug("parsing main.conf"); - str = g_key_file_get_string(config, "General", - "OffMode", &err); - if (err) { - debug("%s", err->message); - g_clear_error(&err); - } else { - debug("offmode=%s", str); - if (g_str_equal(str, "DevDown")) - main_opts.offmode = HCID_OFFMODE_DEVDOWN; - g_free(str); - } - val = g_key_file_get_integer(config, "General", "DiscoverableTimeout", &err); @@ -528,7 +516,6 @@ static void init_defaults(void) { /* Default HCId settings */ memset(&main_opts, 0, sizeof(main_opts)); - main_opts.offmode = HCID_OFFMODE_NOSCAN; main_opts.scan = SCAN_PAGE; main_opts.mode = MODE_CONNECTABLE; main_opts.name = g_strdup("BlueZ"); diff --git a/src/main.conf b/src/main.conf index 20bac707..0ddd9498 100644 --- a/src/main.conf +++ b/src/main.conf @@ -26,10 +26,6 @@ PairableTimeout = 0 # (16384 = 10 seconds) PageTimeout = 8192 -# Behaviour for Adapter.SetProperty("mode", "off") -# Possible values: "DevDown", "NoScan" (default) -OffMode = NoScan - # Discover scheduler interval used in Adapter.DiscoverDevices # The value is in seconds. Defaults is 0 to use controller scheduler DiscoverSchedulerInterval = 0 -- cgit