diff --git a/src/adapter.c b/src/adapter.c
index b3622cb..605a9f2 100644
--- a/src/adapter.c
+++ b/src/adapter.c
return 0;
}
+static void set_auto_connect(gpointer data, gpointer user_data)
+{
+ struct btd_device *device = data;
+
+ device_set_auto_connect(device, TRUE);
+}
+
+void btd_adapter_enable_auto_connect(struct btd_adapter *adapter)
+{
+ if (!adapter->up)
+ return;
+
+ DBG("Enabling automatic connections");
+
+ g_slist_foreach(adapter->devices, set_auto_connect, NULL);
+}
+
void btd_adapter_register_pin_cb(struct btd_adapter *adapter,
btd_adapter_pin_cb_t cb)
{
diff --git a/src/adapter.h b/src/adapter.h
index 7ef0af0..d30e82a 100644
--- a/src/adapter.h
+++ b/src/adapter.h
int btd_adapter_restore_powered(struct btd_adapter *adapter);
int btd_adapter_switch_online(struct btd_adapter *adapter);
int btd_adapter_switch_offline(struct btd_adapter *adapter);
+void btd_adapter_enable_auto_connect(struct btd_adapter *adapter);
typedef ssize_t (*btd_adapter_pin_cb_t) (struct btd_adapter *adapter,
struct btd_device *dev, char *out);
diff --git a/src/device.c b/src/device.c
index 393d276..5243797 100644
--- a/src/device.c
+++ b/src/device.c
gboolean paired;
gboolean blocked;
gboolean bonded;
+ gboolean auto_connect;
gboolean authorizing;
gint ref;
device->bonded = bonded;
}
+void device_set_auto_connect(struct btd_device *device, gboolean enable)
+{
+ char addr[18];
+
+ if (!device)
+ return;
+
+ ba2str(&device->bdaddr, addr);
+
+ DBG("%s auto connect: %d", addr, enable);
+
+ device->auto_connect = enable;
+}
+
void device_set_type(struct btd_device *device, device_type_t type)
{
if (!device)
diff --git a/src/device.h b/src/device.h
index 2e17a83..1ea5ce4 100644
--- a/src/device.h
+++ b/src/device.h
void device_set_temporary(struct btd_device *device, gboolean temporary);
void device_set_type(struct btd_device *device, device_type_t type);
void device_set_bonded(struct btd_device *device, gboolean bonded);
+void device_set_auto_connect(struct btd_device *device, gboolean enable);
gboolean device_is_connected(struct btd_device *device);
DBusMessage *device_create_bonding(struct btd_device *device,
DBusConnection *conn, DBusMessage *msg,