summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseungku kim <seungku.kim@samsung.com>2015-07-15 13:17:16 +0900
committerseungku kim <seungku.kim@samsung.com>2015-07-15 13:17:16 +0900
commit455097ab75d854e0e7453eb851bdab2576018e14 (patch)
treec1024755ea594528a0221ad07b4d2bc14e4b3c83
parent28e099eb5307ecd6de02c15a26339041e91f9f48 (diff)
downloadbluez-455097ab75d854e0e7453eb851bdab2576018e14.tar.gz
bluez-455097ab75d854e0e7453eb851bdab2576018e14.tar.bz2
bluez-455097ab75d854e0e7453eb851bdab2576018e14.zip
6lowpan patch in kernel was not applied yet, so IPSP is disabled until 6lowpan patch applied. Change-Id: Ib77c34951ec82d079f18ae051c0ea2b5696c1f95
-rw-r--r--src/adapter.c18
-rw-r--r--src/adapter.h3
-rw-r--r--src/device.c13
-rw-r--r--src/device.h2
4 files changed, 32 insertions, 4 deletions
diff --git a/src/adapter.c b/src/adapter.c
index 056a5ce1..0f8b5e40 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -227,8 +227,10 @@ struct btd_adapter {
bool le_privacy_enabled; /* whether LE Privacy feature enabled */
char local_irk[MGMT_IRK_SIZE]; /* adapter local IRK */
uint8_t disc_type;
+#ifdef IPSP_SUPPORT
bool ipsp_intialized; /* Ipsp Initialization state */
#endif
+#endif
bool discovering; /* discovering property state */
uint8_t discovery_type; /* current active discovery type */
@@ -4302,7 +4304,7 @@ static gboolean property_get_supported_le_features(
return TRUE;
}
-
+#ifdef IPSP_SUPPORT
static gboolean property_get_ipsp_init_state(
const GDBusPropertyTable *property,
DBusMessageIter *iter, void *data)
@@ -4322,6 +4324,7 @@ static gboolean property_get_ipsp_init_state(
return TRUE;
}
#endif
+#endif
static gboolean property_get_uuids(const GDBusPropertyTable *property,
DBusMessageIter *iter, void *user_data)
@@ -4485,6 +4488,7 @@ static DBusMessage *find_device(DBusConnection *conn, DBusMessage *msg,
return reply;
}
+#ifdef IPSP_SUPPORT
static void adapter_set_ipsp_init_state(struct btd_adapter *adapter, gboolean initialized)
{
if (adapter->ipsp_intialized == initialized)
@@ -4622,6 +4626,7 @@ static DBusMessage *adapter_deinitialize_ipsp(DBusConnection *conn,
return dbus_message_new_method_return(msg);
}
#endif
+#endif
static DBusMessage *remove_device(DBusConnection *conn,
DBusMessage *msg, void *user_data)
@@ -4719,12 +4724,14 @@ static const GDBusMethodTable adapter_methods[] = {
{ GDBUS_ASYNC_METHOD("scan_filter_enable",
GDBUS_ARGS({ "client_if", "i" }, { "enable", "b" }), NULL,
adapter_le_scan_filter_enable) },
+#ifdef IPSP_SUPPORT
{ GDBUS_ASYNC_METHOD("InitializeIpsp",
NULL, NULL,
adapter_initialize_ipsp) },
{ GDBUS_ASYNC_METHOD("DeinitializeIpsp",
NULL, NULL,
adapter_deinitialize_ipsp) },
+#endif
{ GDBUS_METHOD("SetScanRespData",
GDBUS_ARGS({ "value", "ay" },
{ "slot_id", "i" }), NULL,
@@ -4835,8 +4842,10 @@ static const GDBusPropertyTable adapter_properties[] = {
property_set_connectable },
{ "Version", "s", property_get_version },
{ "SupportedLEFeatures", "as", property_get_supported_le_features},
+#ifdef IPSP_SUPPORT
{ "IpspInitStateChanged", "b", property_get_ipsp_init_state},
#endif
+#endif
{ }
};
@@ -7351,7 +7360,9 @@ static void update_found_devices(struct btd_adapter *adapter,
}
device_set_last_addr_type(dev, bdaddr_type);
+#ifdef IPSP_SUPPORT
device_set_ipsp_connected(dev, FALSE);
+#endif
#else
if (device_is_temporary(dev) && !adapter->discovery_list) {
eir_data_free(&eir_data);
@@ -8515,8 +8526,9 @@ static void bt_6lowpan_conn_state_change_callback(uint16_t index, uint16_t lengt
connected = TRUE;
else
connected = FALSE;
-
+#ifdef IPSP_SUPPORT
device_set_ipsp_connected(device, connected);
+#endif
}
#endif
@@ -10052,6 +10064,7 @@ static bool set_privacy(struct btd_adapter *adapter, bool privacy)
return false;
}
+#ifdef IPSP_SUPPORT
int btd_adapter_connect_ipsp(struct btd_adapter *adapter,
const bdaddr_t *bdaddr,
uint8_t bdaddr_type)
@@ -10090,6 +10103,7 @@ int btd_adapter_disconnect_ipsp(struct btd_adapter *adapter,
return -EIO;
}
#endif
+#endif
static void clear_devices_complete(uint8_t status, uint16_t length,
const void *param, void *user_data)
diff --git a/src/adapter.h b/src/adapter.h
index d402dbf7..5e87c598 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -267,11 +267,12 @@ void btd_adapter_set_le_auto_connect(struct btd_adapter *adapter, gboolean auto_
gboolean btd_adapter_disable_le_auto_connect(struct btd_adapter *adapter);
void adapter_check_version(struct btd_adapter *adapter, uint8_t hci_ver);
GSList *btd_adapter_get_connections(struct btd_adapter *adapter);
+#ifdef IPSP_SUPPORT
int btd_adapter_connect_ipsp(struct btd_adapter *adapter,
const bdaddr_t *bdaddr,
uint8_t bdaddr_type);
int btd_adapter_disconnect_ipsp(struct btd_adapter *adapter,
const bdaddr_t *bdaddr,
uint8_t bdaddr_type);
-
+#endif
#endif
diff --git a/src/device.c b/src/device.c
index 8e7cd528..bd891638 100644
--- a/src/device.c
+++ b/src/device.c
@@ -310,8 +310,10 @@ struct btd_device {
uint8_t last_bdaddr_type;
gboolean le_auto_connect;
guint auto_id;
+#ifdef IPSP_SUPPORT
gboolean ipsp_connected; /* IPSP Connection state */
#endif
+#endif
};
static const uint16_t uuid_list[] = {
@@ -1227,7 +1229,7 @@ static gboolean dev_property_get_last_addr_type(const GDBusPropertyTable *proper
return TRUE;
}
-
+#ifdef IPSP_SUPPORT
static gboolean dev_property_get_ipsp_conn_state(const GDBusPropertyTable *property,
DBusMessageIter *iter, void *data)
{
@@ -1245,6 +1247,7 @@ static gboolean dev_property_get_ipsp_conn_state(const GDBusPropertyTable *prope
return TRUE;
}
#endif
+#endif
static gboolean dev_property_get_connected(const GDBusPropertyTable *property,
DBusMessageIter *iter, void *data)
@@ -2956,6 +2959,7 @@ static DBusMessage *disconnect_le(DBusConnection *conn, DBusMessage *msg,
return dbus_message_new_method_return(msg);
}
+#ifdef IPSP_SUPPORT
static DBusMessage *connect_ipsp(DBusConnection *conn, DBusMessage *msg,
void *user_data)
{
@@ -3004,6 +3008,7 @@ static DBusMessage *disconnect_ipsp(DBusConnection *conn, DBusMessage *msg,
return dbus_message_new_method_return(msg);;
}
+#endif
static DBusMessage *is_connected_profile(DBusConnection *conn, DBusMessage *msg,
void *user_data)
@@ -3133,9 +3138,11 @@ static const GDBusMethodTable device_methods[] = {
GDBUS_ARGS({ "pattern", "s" }), NULL,
discover_services) },
{ GDBUS_METHOD("CancelDiscovery", NULL, NULL, cancel_discover) },
+#ifdef IPSP_SUPPORT
{ GDBUS_ASYNC_METHOD("ConnectIpsp", NULL, NULL, connect_ipsp) },
{ GDBUS_ASYNC_METHOD("DisconnectIpsp", NULL, NULL, disconnect_ipsp) },
#endif
+#endif
{ }
};
@@ -3177,8 +3184,10 @@ static const GDBusPropertyTable device_properties[] = {
{ "GattConnected", "b", dev_property_get_gatt_connected },
{ "PayloadTimeout", "q", dev_property_get_payload},
{ "LastAddrType", "y", dev_property_get_last_addr_type},
+#ifdef IPSP_SUPPORT
{ "IpspConnected", "b", dev_property_get_ipsp_conn_state },
#endif
+#endif
{ }
};
@@ -5714,6 +5723,7 @@ void device_set_last_addr_type(struct btd_device *device, uint8_t type)
device->last_bdaddr_type = type;
}
+#ifdef IPSP_SUPPORT
void device_set_ipsp_connected(struct btd_device *device, gboolean connected)
{
if (device == NULL) {
@@ -5732,6 +5742,7 @@ void device_set_ipsp_connected(struct btd_device *device, gboolean connected)
DEVICE_INTERFACE, "IpspConnected");
}
#endif
+#endif
int device_discover_services(struct btd_device *device)
{
diff --git a/src/device.h b/src/device.h
index af9b931f..c8e6b093 100644
--- a/src/device.h
+++ b/src/device.h
@@ -156,8 +156,10 @@ void device_set_adv_report_info(struct btd_device *device, void *data,
void device_set_payload_timeout(struct btd_device *device,
uint16_t payload_timeout);
void device_set_last_addr_type(struct btd_device *device, uint8_t type);
+#ifdef IPSP_SUPPORT
void device_set_ipsp_connected(struct btd_device *device, gboolean connected);
#endif
+#endif
struct btd_device *btd_device_ref(struct btd_device *device);
void btd_device_unref(struct btd_device *device);