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 */
return TRUE;
}
-
+#ifdef IPSP_SUPPORT
static gboolean property_get_ipsp_init_state(
const GDBusPropertyTable *property,
DBusMessageIter *iter, void *data)
return TRUE;
}
#endif
+#endif
static gboolean property_get_uuids(const GDBusPropertyTable *property,
DBusMessageIter *iter, void *user_data)
return reply;
}
+#ifdef IPSP_SUPPORT
static void adapter_set_ipsp_init_state(struct btd_adapter *adapter, gboolean initialized)
{
if (adapter->ipsp_intialized == initialized)
return dbus_message_new_method_return(msg);
}
#endif
+#endif
static DBusMessage *remove_device(DBusConnection *conn,
DBusMessage *msg, void *user_data)
{ 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,
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
{ }
};
}
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);
connected = TRUE;
else
connected = FALSE;
-
+#ifdef IPSP_SUPPORT
device_set_ipsp_connected(device, connected);
+#endif
}
#endif
return false;
}
+#ifdef IPSP_SUPPORT
int btd_adapter_connect_ipsp(struct btd_adapter *adapter,
const bdaddr_t *bdaddr,
uint8_t bdaddr_type)
return -EIO;
}
#endif
+#endif
static void clear_devices_complete(uint8_t status, uint16_t length,
const void *param, void *user_data)
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[] = {
return TRUE;
}
-
+#ifdef IPSP_SUPPORT
static gboolean dev_property_get_ipsp_conn_state(const GDBusPropertyTable *property,
DBusMessageIter *iter, void *data)
{
return TRUE;
}
#endif
+#endif
static gboolean dev_property_get_connected(const GDBusPropertyTable *property,
DBusMessageIter *iter, void *data)
return dbus_message_new_method_return(msg);
}
+#ifdef IPSP_SUPPORT
static DBusMessage *connect_ipsp(DBusConnection *conn, DBusMessage *msg,
void *user_data)
{
return dbus_message_new_method_return(msg);;
}
+#endif
static DBusMessage *is_connected_profile(DBusConnection *conn, DBusMessage *msg,
void *user_data)
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
{ }
};
{ "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
{ }
};
device->last_bdaddr_type = type;
}
+#ifdef IPSP_SUPPORT
void device_set_ipsp_connected(struct btd_device *device, gboolean connected)
{
if (device == NULL) {
DEVICE_INTERFACE, "IpspConnected");
}
#endif
+#endif
int device_discover_services(struct btd_device *device)
{