From 455097ab75d854e0e7453eb851bdab2576018e14 Mon Sep 17 00:00:00 2001 From: seungku kim Date: Wed, 15 Jul 2015 13:17:16 +0900 Subject: [PATCH] Disable IPSP feature 6lowpan patch in kernel was not applied yet, so IPSP is disabled until 6lowpan patch applied. Change-Id: Ib77c34951ec82d079f18ae051c0ea2b5696c1f95 --- src/adapter.c | 18 ++++++++++++++++-- src/adapter.h | 3 ++- src/device.c | 13 ++++++++++++- src/device.h | 2 ++ 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/adapter.c b/src/adapter.c index 056a5ce..0f8b5e4 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 d402dbf..5e87c59 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 8e7cd52..bd89163 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 af9b931..c8e6b09 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); -- 2.7.4