* [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered
@ 2012-12-17 14:44 Szymon Janc
2012-12-17 14:44 ` [PATCH 02/11] manager: Rename btd_manager_register_adapter up parameter to powered Szymon Janc
` (10 more replies)
0 siblings, 11 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
This better describes those members purpose.
---
src/adapter.c | 36 ++++++++++++++++++------------------
src/adapter.h | 2 +-
2 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index d9b841d..f56b000 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -120,8 +120,8 @@ struct discovery {
struct btd_adapter {
uint16_t dev_id;
- gboolean up;
- gboolean already_up;
+ gboolean powered;
+ gboolean already_powered;
char *path; /* adapter object path */
bdaddr_t bdaddr; /* adapter Bluetooth Address */
uint32_t dev_class; /* Class of Device */
@@ -322,7 +322,7 @@ static int set_mode(struct btd_adapter *adapter, uint8_t new_mode)
if (adapter->pending_mode != NULL)
return -EALREADY;
- if (!adapter->up && new_mode != MODE_OFF) {
+ if (!adapter->powered && new_mode != MODE_OFF) {
err = mgmt_set_powered(adapter->dev_id, TRUE);
if (err < 0)
return err;
@@ -330,7 +330,7 @@ static int set_mode(struct btd_adapter *adapter, uint8_t new_mode)
goto done;
}
- if (adapter->up && new_mode == MODE_OFF) {
+ if (adapter->powered && new_mode == MODE_OFF) {
err = mgmt_set_powered(adapter->dev_id, FALSE);
if (err < 0)
return err;
@@ -597,7 +597,7 @@ static void stop_discovery(struct btd_adapter *adapter)
return;
}
- if (adapter->up)
+ if (adapter->powered)
mgmt_stop_discovery(adapter->dev_id);
else
discovery_cleanup(adapter);
@@ -1022,7 +1022,7 @@ static DBusMessage *adapter_start_discovery(DBusConnection *conn,
const char *sender = dbus_message_get_sender(msg);
int err;
- if (!adapter->up)
+ if (!adapter->powered)
return btd_error_not_ready(msg);
req = find_session(adapter->disc_sessions, sender);
@@ -1057,7 +1057,7 @@ static DBusMessage *adapter_stop_discovery(DBusConnection *conn,
struct session_req *req;
const char *sender = dbus_message_get_sender(msg);
- if (!adapter->up)
+ if (!adapter->powered)
return btd_error_not_ready(msg);
req = find_session(adapter->disc_sessions, sender);
@@ -1132,7 +1132,7 @@ static gboolean adapter_property_get_powered(
struct btd_adapter *adapter = data;
dbus_bool_t value;
- value = (adapter->up && !adapter->off_requested) ? TRUE : FALSE;
+ value = (adapter->powered && !adapter->off_requested) ? TRUE : FALSE;
dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &value);
return TRUE;
@@ -1740,7 +1740,7 @@ void adapter_connect_list_add(struct btd_adapter *adapter,
DBG("%s added to %s's connect_list", device_get_path(device),
adapter->name);
- if (!adapter->up)
+ if (!adapter->powered)
return;
if (adapter->off_requested)
@@ -1778,7 +1778,7 @@ void btd_adapter_start(struct btd_adapter *adapter)
struct session_req *req;
adapter->off_requested = FALSE;
- adapter->up = TRUE;
+ adapter->powered = TRUE;
if (adapter->scan_mode & SCAN_INQUIRY) {
adapter->mode = MODE_DISCOVERABLE;
@@ -1911,7 +1911,7 @@ int btd_adapter_stop(struct btd_adapter *adapter)
/* check pending requests */
reply_pending_requests(adapter);
- adapter->up = FALSE;
+ adapter->powered = FALSE;
if (adapter->discovery) {
emit_discovering = true;
@@ -2781,12 +2781,12 @@ static void load_config(struct btd_adapter *adapter)
g_key_file_free(key_file);
}
-gboolean adapter_init(struct btd_adapter *adapter, gboolean up)
+gboolean adapter_init(struct btd_adapter *adapter, gboolean powered)
{
struct agent *agent;
- adapter->up = up;
- adapter->already_up = up;
+ adapter->powered = powered;
+ adapter->already_powered = powered;
adapter->allow_name_changes = TRUE;
@@ -2877,7 +2877,7 @@ void adapter_remove(struct btd_adapter *adapter)
g_slist_free(adapter->pin_callbacks);
/* Return adapter to down state if it was not up on init */
- if (!adapter->already_up && adapter->up)
+ if (!adapter->already_powered && adapter->powered)
mgmt_set_powered(adapter->dev_id, FALSE);
}
@@ -3445,7 +3445,7 @@ int btd_cancel_authorization(guint id)
int btd_adapter_restore_powered(struct btd_adapter *adapter)
{
- if (adapter->up)
+ if (adapter->powered)
return 0;
if (adapter->mode == MODE_OFF)
@@ -3487,7 +3487,7 @@ ssize_t btd_adapter_get_pin(struct btd_adapter *adapter, struct btd_device *dev,
int btd_adapter_set_fast_connectable(struct btd_adapter *adapter,
gboolean enable)
{
- if (!adapter->up)
+ if (!adapter->powered)
return -EINVAL;
return mgmt_set_fast_connectable(adapter->dev_id, enable);
@@ -3497,7 +3497,7 @@ int btd_adapter_read_clock(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
int which, int timeout, uint32_t *clock,
uint16_t *accuracy)
{
- if (!adapter->up)
+ if (!adapter->powered)
return -EINVAL;
return mgmt_read_clock(adapter->dev_id, bdaddr, which,
diff --git a/src/adapter.h b/src/adapter.h
index 5030cb0..3b2d14f 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -100,7 +100,7 @@ void adapter_remove_device(struct btd_adapter *adapter,
gboolean remove_storage);
struct btd_adapter *adapter_create(int id);
-gboolean adapter_init(struct btd_adapter *adapter, gboolean up);
+gboolean adapter_init(struct btd_adapter *adapter, gboolean powered);
void adapter_remove(struct btd_adapter *adapter);
void adapter_set_allow_name_changes(struct btd_adapter *adapter,
gboolean allow_name_changes);
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 02/11] manager: Rename btd_manager_register_adapter up parameter to powered
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
@ 2012-12-17 14:44 ` Szymon Janc
2012-12-17 14:44 ` [PATCH 03/11] adapter: Make adapter_mode_changed accept mode as bool params Szymon Janc
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
Match parameter name to adapter_init parameter name.
---
src/manager.c | 4 ++--
src/manager.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/manager.c b/src/manager.c
index 1f4b831..22e593d 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -156,7 +156,7 @@ GSList *manager_get_adapters(void)
return adapters;
}
-struct btd_adapter *btd_manager_register_adapter(int id, gboolean up)
+struct btd_adapter *btd_manager_register_adapter(int id, gboolean powered)
{
struct btd_adapter *adapter;
const char *path;
@@ -173,7 +173,7 @@ struct btd_adapter *btd_manager_register_adapter(int id, gboolean up)
adapters = g_slist_append(adapters, adapter);
- if (!adapter_init(adapter, up)) {
+ if (!adapter_init(adapter, powered)) {
adapters = g_slist_remove(adapters, adapter);
btd_adapter_unref(adapter);
return NULL;
diff --git a/src/manager.h b/src/manager.h
index fdaabfd..a2b8c31 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -35,5 +35,5 @@ struct btd_adapter *manager_find_adapter_by_id(int id);
struct btd_adapter *manager_get_default_adapter(void);
void manager_foreach_adapter(adapter_cb func, gpointer user_data);
GSList *manager_get_adapters(void);
-struct btd_adapter *btd_manager_register_adapter(int id, gboolean up);
+struct btd_adapter *btd_manager_register_adapter(int id, gboolean powered);
int btd_manager_unregister_adapter(int id);
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 03/11] adapter: Make adapter_mode_changed accept mode as bool params
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
2012-12-17 14:44 ` [PATCH 02/11] manager: Rename btd_manager_register_adapter up parameter to powered Szymon Janc
@ 2012-12-17 14:44 ` Szymon Janc
2012-12-17 14:44 ` [PATCH 04/11] adapter: Add btd_adapter_get_pairable function Szymon Janc
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
Pass connectable and discoverable as bools.
---
src/adapter.c | 19 ++++++++++++++++++-
src/adapter.h | 3 ++-
src/mgmt.c | 19 ++++---------------
3 files changed, 24 insertions(+), 17 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index f56b000..e50e646 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -3151,9 +3151,26 @@ void adapter_update_found_devices(struct btd_adapter *adapter,
}
}
-void adapter_mode_changed(struct btd_adapter *adapter, uint8_t scan_mode)
+static uint8_t create_mode(bool connectable, bool discoverable)
+{
+ uint8_t mode = 0;
+
+ if (connectable)
+ mode |= SCAN_PAGE;
+
+ if (discoverable)
+ mode |= SCAN_INQUIRY;
+
+ return mode;
+}
+
+void adapter_mode_changed(struct btd_adapter *adapter, bool connectable,
+ bool discoverable)
{
bool emit_pairable = false;
+ uint8_t scan_mode;
+
+ scan_mode = create_mode(connectable, discoverable);
DBG("old 0x%02x new 0x%02x", adapter->scan_mode, scan_mode);
diff --git a/src/adapter.h b/src/adapter.h
index 3b2d14f..7c20e29 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -114,7 +114,8 @@ void adapter_update_found_devices(struct btd_adapter *adapter,
uint8_t bdaddr_type, int8_t rssi,
bool confirm_name, bool legacy,
uint8_t *data, uint8_t data_len);
-void adapter_mode_changed(struct btd_adapter *adapter, uint8_t scan_mode);
+void adapter_mode_changed(struct btd_adapter *adapter, bool connectable,
+ bool discoverable);
int adapter_set_name(struct btd_adapter *adapter, const char *name);
void adapter_name_changed(struct btd_adapter *adapter, const char *name);
void adapter_service_insert(struct btd_adapter *adapter, void *rec);
diff --git a/src/mgmt.c b/src/mgmt.c
index dfcf558..cc54e8b 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
@@ -328,19 +328,6 @@ static inline int mgmt_low_energy(uint32_t settings)
return (settings & MGMT_SETTING_LE) != 0;
}
-static uint8_t create_mode(uint32_t settings)
-{
- uint8_t mode = 0;
-
- if (mgmt_connectable(settings))
- mode |= SCAN_PAGE;
-
- if (mgmt_discoverable(settings))
- mode |= SCAN_INQUIRY;
-
- return mode;
-}
-
static void update_settings(struct btd_adapter *adapter, uint32_t settings)
{
struct controller_info *info;
@@ -356,7 +343,8 @@ static void update_settings(struct btd_adapter *adapter, uint32_t settings)
info = &controllers[index];
if (mgmt_powered(settings))
- adapter_mode_changed(adapter, create_mode(settings));
+ adapter_mode_changed(adapter, mgmt_connectable(settings),
+ mgmt_discoverable(settings));
if (mgmt_pairable(settings) != pairable)
mgmt_set_pairable(index, pairable);
@@ -434,7 +422,8 @@ static void mgmt_new_settings(int sk, uint16_t index, void *buf, size_t len)
if (new_power != old_power)
mgmt_update_powered(adapter, info, settings);
else if (new_power && mode_changed(settings, info->current_settings))
- adapter_mode_changed(adapter, create_mode(settings));
+ adapter_mode_changed(adapter, mgmt_connectable(settings),
+ mgmt_discoverable(settings));
old_pairable = mgmt_pairable(info->current_settings);
new_pairable = mgmt_pairable(settings);
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 04/11] adapter: Add btd_adapter_get_pairable function
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
2012-12-17 14:44 ` [PATCH 02/11] manager: Rename btd_manager_register_adapter up parameter to powered Szymon Janc
2012-12-17 14:44 ` [PATCH 03/11] adapter: Make adapter_mode_changed accept mode as bool params Szymon Janc
@ 2012-12-17 14:44 ` Szymon Janc
2012-12-17 14:44 ` [PATCH 05/11] adapter: Remove not used parameter from btd_adapter_get_mode Szymon Janc
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
Add btd_adapter_get_pairable and remove pairable argument from
btd_adapter_get_mode. Use btd_adapter_get_pairable to get pairable
state where needed.
---
plugins/neard.c | 6 +-----
src/adapter.c | 9 +++++----
src/adapter.h | 5 +++--
src/mgmt.c | 6 ++++--
4 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/plugins/neard.c b/plugins/neard.c
index a8c12fd..e1f3583 100644
--- a/plugins/neard.c
+++ b/plugins/neard.c
@@ -593,17 +593,13 @@ static int process_params(DBusMessage *msg, struct btd_adapter *adapter,
static int check_adapter(struct btd_adapter *adapter)
{
- gboolean pairable;
-
if (!adapter)
return -ENOENT;
if (btd_adapter_check_oob_handler(adapter))
return -EINPROGRESS;
- btd_adapter_get_mode(adapter, NULL, NULL, &pairable);
-
- if (!pairable || !adapter_get_agent(adapter))
+ if (!btd_adapter_get_pairable(adapter) || !adapter_get_agent(adapter))
return -ENONET;
if (!btd_adapter_ssp_enabled(adapter))
diff --git a/src/adapter.c b/src/adapter.c
index e50e646..8f1c229 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -1694,17 +1694,18 @@ static void load_connections(struct btd_adapter *adapter)
}
void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode,
- uint16_t *discoverable_timeout,
- gboolean *pairable)
+ uint16_t *discoverable_timeout)
{
if (mode)
*mode = adapter->mode;
if (discoverable_timeout)
*discoverable_timeout = adapter->discov_timeout;
+}
- if (pairable)
- *pairable = adapter->pairable;
+bool btd_adapter_get_pairable(struct btd_adapter *adapter)
+{
+ return adapter->pairable;
}
void btd_adapter_get_major_minor(struct btd_adapter *adapter, uint8_t *major,
diff --git a/src/adapter.h b/src/adapter.h
index 7c20e29..125657a 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -81,8 +81,9 @@ void btd_adapter_start(struct btd_adapter *adapter);
int btd_adapter_stop(struct btd_adapter *adapter);
void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode,
- uint16_t *discoverable_timeout,
- gboolean *pairable);
+ uint16_t *discoverable_timeout);
+
+bool btd_adapter_get_pairable(struct btd_adapter *adapter);
void btd_adapter_get_major_minor(struct btd_adapter *adapter, uint8_t *major,
uint8_t *minor);
diff --git a/src/mgmt.c b/src/mgmt.c
index cc54e8b..feca194 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
@@ -336,7 +336,7 @@ static void update_settings(struct btd_adapter *adapter, uint32_t settings)
DBG("new settings %x", settings);
- btd_adapter_get_mode(adapter, NULL, &discoverable_timeout, &pairable);
+ btd_adapter_get_mode(adapter, NULL, &discoverable_timeout);
index = adapter_get_dev_id(adapter);
@@ -346,6 +346,8 @@ static void update_settings(struct btd_adapter *adapter, uint32_t settings)
adapter_mode_changed(adapter, mgmt_connectable(settings),
mgmt_discoverable(settings));
+ pairable = btd_adapter_get_pairable(adapter);
+
if (mgmt_pairable(settings) != pairable)
mgmt_set_pairable(index, pairable);
@@ -1213,7 +1215,7 @@ static void read_info_complete(int sk, uint16_t index, void *buf, size_t len)
btd_adapter_get_major_minor(adapter, &major, &minor);
mgmt_set_dev_class(index, major, minor);
- btd_adapter_get_mode(adapter, &mode, NULL, NULL);
+ btd_adapter_get_mode(adapter, &mode, NULL);
if (mode == MODE_OFF && mgmt_powered(info->current_settings)) {
mgmt_set_powered(index, FALSE);
return;
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 05/11] adapter: Remove not used parameter from btd_adapter_get_mode
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
` (2 preceding siblings ...)
2012-12-17 14:44 ` [PATCH 04/11] adapter: Add btd_adapter_get_pairable function Szymon Janc
@ 2012-12-17 14:44 ` Szymon Janc
2012-12-17 14:44 ` [PATCH 06/11] adapter: Add connectable member to btd_adapter Szymon Janc
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
discoverable_timeout is not used outside of adapter code.
---
src/adapter.c | 6 +-----
src/adapter.h | 3 +--
src/mgmt.c | 6 ++----
3 files changed, 4 insertions(+), 11 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index 8f1c229..915d897 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -1693,14 +1693,10 @@ static void load_connections(struct btd_adapter *adapter)
g_slist_free_full(conns, g_free);
}
-void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode,
- uint16_t *discoverable_timeout)
+void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode)
{
if (mode)
*mode = adapter->mode;
-
- if (discoverable_timeout)
- *discoverable_timeout = adapter->discov_timeout;
}
bool btd_adapter_get_pairable(struct btd_adapter *adapter)
diff --git a/src/adapter.h b/src/adapter.h
index 125657a..44ba56a 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -80,8 +80,7 @@ void btd_adapter_start(struct btd_adapter *adapter);
int btd_adapter_stop(struct btd_adapter *adapter);
-void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode,
- uint16_t *discoverable_timeout);
+void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode);
bool btd_adapter_get_pairable(struct btd_adapter *adapter);
diff --git a/src/mgmt.c b/src/mgmt.c
index feca194..3c7e014 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
@@ -332,12 +332,10 @@ static void update_settings(struct btd_adapter *adapter, uint32_t settings)
{
struct controller_info *info;
gboolean pairable;
- uint16_t index, discoverable_timeout;
+ uint16_t index;
DBG("new settings %x", settings);
- btd_adapter_get_mode(adapter, NULL, &discoverable_timeout);
-
index = adapter_get_dev_id(adapter);
info = &controllers[index];
@@ -1215,7 +1213,7 @@ static void read_info_complete(int sk, uint16_t index, void *buf, size_t len)
btd_adapter_get_major_minor(adapter, &major, &minor);
mgmt_set_dev_class(index, major, minor);
- btd_adapter_get_mode(adapter, &mode, NULL);
+ btd_adapter_get_mode(adapter, &mode);
if (mode == MODE_OFF && mgmt_powered(info->current_settings)) {
mgmt_set_powered(index, FALSE);
return;
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 06/11] adapter: Add connectable member to btd_adapter
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
` (3 preceding siblings ...)
2012-12-17 14:44 ` [PATCH 05/11] adapter: Remove not used parameter from btd_adapter_get_mode Szymon Janc
@ 2012-12-17 14:44 ` Szymon Janc
2012-12-17 14:44 ` [PATCH 07/11] adapter: Use discoverable memeber instead of scan_mode Szymon Janc
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
This will be used to track if adapter is in connectable state.
---
src/adapter.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index 915d897..473c9cf 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -153,6 +153,7 @@ struct btd_adapter {
guint auto_timeout_id; /* Automatic connections timeout */
sdp_list_t *services; /* Services associated to adapter */
+ bool connectable; /* connectable state */
gboolean discoverable; /* discoverable state */
gboolean pairable; /* pairable state */
gboolean initialized;
@@ -415,7 +416,7 @@ static void set_pairable(struct btd_adapter *adapter, gboolean pairable,
{
int err;
- if (adapter->scan_mode == SCAN_DISABLED)
+ if (!adapter->connectable)
return g_dbus_pending_property_error(id,
ERROR_INTERFACE ".NotReady",
"Resource Not Ready");
@@ -1785,6 +1786,8 @@ void btd_adapter_start(struct btd_adapter *adapter)
adapter->discoverable = FALSE;
}
+ adapter->connectable = true;
+
g_dbus_emit_property_changed(btd_get_dbus_connection(), adapter->path,
ADAPTER_INTERFACE, "Powered");
@@ -1928,10 +1931,12 @@ int btd_adapter_stop(struct btd_adapter *adapter)
if (adapter->scan_mode == (SCAN_PAGE | SCAN_INQUIRY))
emit_discoverable = true;
- if ((adapter->scan_mode & SCAN_PAGE) && adapter->pairable == TRUE)
+ if (adapter->connectable && adapter->pairable == TRUE)
emit_pairable = true;
adapter->scan_mode = SCAN_DISABLED;
+ adapter->connectable = false;
+
adapter->mode = MODE_OFF;
adapter->off_requested = FALSE;
@@ -3177,14 +3182,17 @@ void adapter_mode_changed(struct btd_adapter *adapter, bool connectable,
switch (scan_mode) {
case SCAN_DISABLED:
adapter->mode = MODE_OFF;
+ adapter->connectable = false;
break;
case SCAN_PAGE:
adapter->mode = MODE_CONNECTABLE;
adapter->discoverable = FALSE;
+ adapter->connectable = true;
break;
case (SCAN_PAGE | SCAN_INQUIRY):
adapter->mode = MODE_DISCOVERABLE;
adapter->discoverable = TRUE;
+ adapter->connectable = true;
break;
default:
/* ignore, reserved */
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 07/11] adapter: Use discoverable memeber instead of scan_mode
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
` (4 preceding siblings ...)
2012-12-17 14:44 ` [PATCH 06/11] adapter: Add connectable member to btd_adapter Szymon Janc
@ 2012-12-17 14:44 ` Szymon Janc
2012-12-17 14:44 ` [PATCH 08/11] adapter: Remove scan_mode member Szymon Janc
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
Where possible use discoverable memeber instead of checking scan_mode
against SCAN_INQUIRY flag.
---
src/adapter.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index 473c9cf..2af0d4f 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -424,7 +424,7 @@ static void set_pairable(struct btd_adapter *adapter, gboolean pairable,
if (pairable == adapter->pairable)
goto done;
- if (!(adapter->scan_mode & SCAN_INQUIRY))
+ if (!adapter->discoverable)
goto store;
err = set_mode(adapter, MODE_DISCOVERABLE);
@@ -687,7 +687,7 @@ static void set_discoverable_timeout(struct btd_adapter *adapter,
if (adapter->discov_timeout == timeout && timeout == 0)
return g_dbus_pending_property_success(id);
- if (adapter->scan_mode & SCAN_INQUIRY)
+ if (adapter->discoverable)
mgmt_set_discoverable(adapter->dev_id, TRUE, timeout);
adapter->discov_timeout = timeout;
@@ -1163,7 +1163,7 @@ static gboolean adapter_property_get_discoverable(
struct btd_adapter *adapter = data;
dbus_bool_t value;
- value = adapter->scan_mode & SCAN_INQUIRY ? TRUE : FALSE;
+ value = adapter->discoverable ? TRUE : FALSE;
dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &value);
return TRUE;
@@ -1928,7 +1928,7 @@ int btd_adapter_stop(struct btd_adapter *adapter)
adapter_remove_connection(adapter, device);
}
- if (adapter->scan_mode == (SCAN_PAGE | SCAN_INQUIRY))
+ if (adapter->discoverable)
emit_discoverable = true;
if (adapter->connectable && adapter->pairable == TRUE)
@@ -3183,6 +3183,7 @@ void adapter_mode_changed(struct btd_adapter *adapter, bool connectable,
case SCAN_DISABLED:
adapter->mode = MODE_OFF;
adapter->connectable = false;
+ adapter->discoverable = FALSE;
break;
case SCAN_PAGE:
adapter->mode = MODE_CONNECTABLE;
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 08/11] adapter: Remove scan_mode member
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
` (5 preceding siblings ...)
2012-12-17 14:44 ` [PATCH 07/11] adapter: Use discoverable memeber instead of scan_mode Szymon Janc
@ 2012-12-17 14:44 ` Szymon Janc
2012-12-17 14:44 ` [PATCH 09/11] core: Remove mode option form main_opts Szymon Janc
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
This is not needed anymore as boolean flags can be used instead.
---
src/adapter.c | 68 +++++++++++++++--------------------------------------------
1 file changed, 17 insertions(+), 51 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index 2af0d4f..e97e9bb 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -130,8 +130,6 @@ struct btd_adapter {
uint32_t discov_timeout; /* discoverable time(sec) */
guint pairable_timeout_id; /* pairable timeout id */
uint32_t pairable_timeout; /* pairable time(sec) */
- uint8_t scan_mode; /* scan mode: SCAN_DISABLED, SCAN_PAGE,
- * SCAN_INQUIRY */
uint8_t mode; /* off, connectable, discoverable,
* limited */
uint8_t global_mode; /* last valid global mode */
@@ -1778,16 +1776,6 @@ void btd_adapter_start(struct btd_adapter *adapter)
adapter->off_requested = FALSE;
adapter->powered = TRUE;
- if (adapter->scan_mode & SCAN_INQUIRY) {
- adapter->mode = MODE_DISCOVERABLE;
- adapter->discoverable = TRUE;
- } else {
- adapter->mode = MODE_CONNECTABLE;
- adapter->discoverable = FALSE;
- }
-
- adapter->connectable = true;
-
g_dbus_emit_property_changed(btd_get_dbus_connection(), adapter->path,
ADAPTER_INTERFACE, "Powered");
@@ -1934,7 +1922,7 @@ int btd_adapter_stop(struct btd_adapter *adapter)
if (adapter->connectable && adapter->pairable == TRUE)
emit_pairable = true;
- adapter->scan_mode = SCAN_DISABLED;
+ adapter->discoverable = FALSE;
adapter->connectable = false;
adapter->mode = MODE_OFF;
@@ -3155,56 +3143,34 @@ void adapter_update_found_devices(struct btd_adapter *adapter,
static uint8_t create_mode(bool connectable, bool discoverable)
{
- uint8_t mode = 0;
-
- if (connectable)
- mode |= SCAN_PAGE;
+ if (connectable && discoverable)
+ return MODE_DISCOVERABLE;
- if (discoverable)
- mode |= SCAN_INQUIRY;
+ if (connectable && !discoverable)
+ return MODE_CONNECTABLE;
- return mode;
+ return MODE_OFF;
}
void adapter_mode_changed(struct btd_adapter *adapter, bool connectable,
bool discoverable)
{
- bool emit_pairable = false;
- uint8_t scan_mode;
-
- scan_mode = create_mode(connectable, discoverable);
+ bool emit_pairable;
- DBG("old 0x%02x new 0x%02x", adapter->scan_mode, scan_mode);
+ DBG("connectable %u (old %u) discoverable %u (old %u)",
+ connectable, adapter->connectable,
+ discoverable, adapter->discoverable);
- if (adapter->scan_mode == scan_mode)
+ if (connectable == adapter->connectable &&
+ discoverable == adapter->discoverable)
return;
- switch (scan_mode) {
- case SCAN_DISABLED:
- adapter->mode = MODE_OFF;
- adapter->connectable = false;
- adapter->discoverable = FALSE;
- break;
- case SCAN_PAGE:
- adapter->mode = MODE_CONNECTABLE;
- adapter->discoverable = FALSE;
- adapter->connectable = true;
- break;
- case (SCAN_PAGE | SCAN_INQUIRY):
- adapter->mode = MODE_DISCOVERABLE;
- adapter->discoverable = TRUE;
- adapter->connectable = true;
- break;
- default:
- /* ignore, reserved */
- return;
- }
-
- /* If page scanning gets toggled emit the Pairable property */
- if ((adapter->scan_mode & SCAN_PAGE) != (scan_mode & SCAN_PAGE))
- emit_pairable = true;
+ /* If connectable gets toggled emit the Pairable property */
+ emit_pairable = adapter->connectable != connectable;
- adapter->scan_mode = scan_mode;
+ adapter->connectable = connectable;
+ adapter->discoverable = discoverable;
+ adapter->mode = create_mode(connectable, discoverable);
if (emit_pairable)
g_dbus_emit_property_changed(btd_get_dbus_connection(),
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 09/11] core: Remove mode option form main_opts
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
` (6 preceding siblings ...)
2012-12-17 14:44 ` [PATCH 08/11] adapter: Remove scan_mode member Szymon Janc
@ 2012-12-17 14:44 ` Szymon Janc
2012-12-17 14:44 ` [PATCH 10/11] mgmt: Remove not needed power state change in read_info_complete Szymon Janc
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
Config option is removed so this is no longer needed.
---
src/adapter.c | 9 ++-------
src/hcid.h | 2 --
src/main.c | 1 -
3 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index e97e9bb..035a4ca 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -2746,12 +2746,7 @@ static void load_config(struct btd_adapter *adapter)
/* Get discoverable mode */
adapter->discoverable = g_key_file_get_boolean(key_file, "General",
- "Discoverable", &gerr);
- if (gerr) {
- adapter->discoverable = (main_opts.mode == MODE_DISCOVERABLE);
- g_error_free(gerr);
- gerr = NULL;
- }
+ "Discoverable", NULL);
/* Get discoverable timeout */
adapter->discov_timeout = g_key_file_get_integer(key_file, "General",
@@ -2762,7 +2757,7 @@ static void load_config(struct btd_adapter *adapter)
gerr = NULL;
}
- adapter->mode = main_opts.mode;
+ adapter->mode = MODE_OFF;
mgmt_set_connectable(adapter->dev_id, TRUE);
mgmt_set_discoverable(adapter->dev_id, adapter->discoverable,
diff --git a/src/hcid.h b/src/hcid.h
index 1c3af7d..aa563dc 100644
--- a/src/hcid.h
+++ b/src/hcid.h
@@ -38,8 +38,6 @@ struct main_opts {
gboolean name_resolv;
gboolean debug_keys;
- uint8_t mode;
-
uint16_t did_source;
uint16_t did_vendor;
uint16_t did_product;
diff --git a/src/main.c b/src/main.c
index 290a0eb..59a0ad9 100644
--- a/src/main.c
+++ b/src/main.c
@@ -230,7 +230,6 @@ static void init_defaults(void)
{
/* Default HCId settings */
memset(&main_opts, 0, sizeof(main_opts));
- main_opts.mode = MODE_OFF;
main_opts.name = g_strdup("BlueZ");
main_opts.discovto = DEFAULT_DISCOVERABLE_TIMEOUT;
main_opts.autoto = DEFAULT_AUTO_CONNECT_TIMEOUT;
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 10/11] mgmt: Remove not needed power state change in read_info_complete
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
` (7 preceding siblings ...)
2012-12-17 14:44 ` [PATCH 09/11] core: Remove mode option form main_opts Szymon Janc
@ 2012-12-17 14:44 ` Szymon Janc
2012-12-17 14:44 ` [PATCH 11/11] adapter: Remove not used btd_adapter_get_mode Szymon Janc
2012-12-17 15:00 ` [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Johan Hedberg
10 siblings, 0 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
Initial power state is no longer set up by bluetoothd.
---
src/mgmt.c | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/src/mgmt.c b/src/mgmt.c
index 3c7e014..7e3f670 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
@@ -1160,7 +1160,7 @@ static void read_info_complete(int sk, uint16_t index, void *buf, size_t len)
struct controller_info *info;
struct btd_adapter *adapter;
const char *name;
- uint8_t mode, major, minor;
+ uint8_t major, minor;
char addr[18];
if (len < sizeof(*rp)) {
@@ -1213,18 +1213,9 @@ static void read_info_complete(int sk, uint16_t index, void *buf, size_t len)
btd_adapter_get_major_minor(adapter, &major, &minor);
mgmt_set_dev_class(index, major, minor);
- btd_adapter_get_mode(adapter, &mode);
- if (mode == MODE_OFF && mgmt_powered(info->current_settings)) {
- mgmt_set_powered(index, FALSE);
- return;
- }
-
- if (mode != MODE_OFF) {
- if (mgmt_powered(info->current_settings)) {
- get_connections(sk, index);
- btd_adapter_start(adapter);
- } else
- mgmt_set_powered(index, TRUE);
+ if (mgmt_powered(info->current_settings)) {
+ get_connections(sk, index);
+ btd_adapter_start(adapter);
}
btd_adapter_unref(adapter);
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 11/11] adapter: Remove not used btd_adapter_get_mode
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
` (8 preceding siblings ...)
2012-12-17 14:44 ` [PATCH 10/11] mgmt: Remove not needed power state change in read_info_complete Szymon Janc
@ 2012-12-17 14:44 ` Szymon Janc
2012-12-17 15:00 ` [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Johan Hedberg
10 siblings, 0 replies; 12+ messages in thread
From: Szymon Janc @ 2012-12-17 14:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
This function is not used anymore and adapter mode is now internal to
btd_adapter.
---
src/adapter.c | 11 +++++------
src/adapter.h | 7 -------
2 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index 035a4ca..96a23e9 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -77,6 +77,11 @@
#define EIR_SIM_HOST 0x10 /* Simultaneous LE and BR/EDR to Same
Device Capable (Host) */
+#define MODE_OFF 0x00
+#define MODE_CONNECTABLE 0x01
+#define MODE_DISCOVERABLE 0x02
+#define MODE_UNKNOWN 0xff
+
#define REMOVE_TEMP_TIMEOUT (3 * 60)
#define PENDING_FOUND_MAX 5
@@ -1692,12 +1697,6 @@ static void load_connections(struct btd_adapter *adapter)
g_slist_free_full(conns, g_free);
}
-void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode)
-{
- if (mode)
- *mode = adapter->mode;
-}
-
bool btd_adapter_get_pairable(struct btd_adapter *adapter)
{
return adapter->pairable;
diff --git a/src/adapter.h b/src/adapter.h
index 44ba56a..bde76b2 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -32,11 +32,6 @@
#define ADAPTER_INTERFACE "org.bluez.Adapter1"
-#define MODE_OFF 0x00
-#define MODE_CONNECTABLE 0x01
-#define MODE_DISCOVERABLE 0x02
-#define MODE_UNKNOWN 0xff
-
#define MAX_NAME_LENGTH 248
/* Invalid SSP passkey value used to indicate negative replies */
@@ -80,8 +75,6 @@ void btd_adapter_start(struct btd_adapter *adapter);
int btd_adapter_stop(struct btd_adapter *adapter);
-void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode);
-
bool btd_adapter_get_pairable(struct btd_adapter *adapter);
void btd_adapter_get_major_minor(struct btd_adapter *adapter, uint8_t *major,
--
1.8.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
` (9 preceding siblings ...)
2012-12-17 14:44 ` [PATCH 11/11] adapter: Remove not used btd_adapter_get_mode Szymon Janc
@ 2012-12-17 15:00 ` Johan Hedberg
10 siblings, 0 replies; 12+ messages in thread
From: Johan Hedberg @ 2012-12-17 15:00 UTC (permalink / raw)
To: Szymon Janc; +Cc: linux-bluetooth
Hi Szymon,
On Mon, Dec 17, 2012, Szymon Janc wrote:
> This better describes those members purpose.
> ---
> src/adapter.c | 36 ++++++++++++++++++------------------
> src/adapter.h | 2 +-
> 2 files changed, 19 insertions(+), 19 deletions(-)
All patches in this set have been applied. Thanks.
Johan
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2012-12-17 15:00 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-17 14:44 [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Szymon Janc
2012-12-17 14:44 ` [PATCH 02/11] manager: Rename btd_manager_register_adapter up parameter to powered Szymon Janc
2012-12-17 14:44 ` [PATCH 03/11] adapter: Make adapter_mode_changed accept mode as bool params Szymon Janc
2012-12-17 14:44 ` [PATCH 04/11] adapter: Add btd_adapter_get_pairable function Szymon Janc
2012-12-17 14:44 ` [PATCH 05/11] adapter: Remove not used parameter from btd_adapter_get_mode Szymon Janc
2012-12-17 14:44 ` [PATCH 06/11] adapter: Add connectable member to btd_adapter Szymon Janc
2012-12-17 14:44 ` [PATCH 07/11] adapter: Use discoverable memeber instead of scan_mode Szymon Janc
2012-12-17 14:44 ` [PATCH 08/11] adapter: Remove scan_mode member Szymon Janc
2012-12-17 14:44 ` [PATCH 09/11] core: Remove mode option form main_opts Szymon Janc
2012-12-17 14:44 ` [PATCH 10/11] mgmt: Remove not needed power state change in read_info_complete Szymon Janc
2012-12-17 14:44 ` [PATCH 11/11] adapter: Remove not used btd_adapter_get_mode Szymon Janc
2012-12-17 15:00 ` [PATCH 01/11] adapter: Rename btd_adapter *up members to *powered Johan Hedberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).