diff --git a/attrib/client.c b/attrib/client.c
index acd35f9..28e5704 100644
--- a/attrib/client.c
+++ b/attrib/client.c
}
int attrib_client_register(DBusConnection *connection,
- struct btd_device *device, int psm, GSList *primaries)
+ struct btd_device *device, int psm,
+ GAttrib *attrib, GSList *primaries)
{
struct btd_adapter *adapter = device_get_adapter(device);
const char *path = device_get_path(device);
bacpy(&gatt->dba, &dba);
gatt->psm = psm;
+ if (attrib)
+ gatt->attrib = g_attrib_ref(attrib);
+
register_primaries(gatt, primaries);
gatt_services = g_slist_append(gatt_services, gatt);
diff --git a/attrib/client.h b/attrib/client.h
index 650b0c1..b4a4ecc 100644
--- a/attrib/client.h
+++ b/attrib/client.h
*/
int attrib_client_register(DBusConnection *connection,
- struct btd_device *device, int psm, GSList *primaries);
+ struct btd_device *device, int psm,
+ GAttrib *attrib, GSList *primaries);
void attrib_client_unregister(struct btd_device *device);
diff --git a/src/adapter.c b/src/adapter.c
index a85345b..c7ffd99 100644
--- a/src/adapter.c
+++ b/src/adapter.c
#include "storage.h"
#include "attrib-server.h"
#include "att.h"
+#include "gattrib.h"
#include "attrib/client.h"
/* Flags Descriptions */
}
/* FIXME: Need the correct psm */
- attrib_client_register(connection, device, -1, services);
+ attrib_client_register(connection, device, -1, NULL, services);
device_probe_drivers(device, uuids);
diff --git a/src/device.c b/src/device.c
index 511c9d0..fa5764e 100644
--- a/src/device.c
+++ b/src/device.c
device_probe_drivers(device, uuids);
/* FIXME: Need the correct psm */
- attrib_client_register(req->conn, device, -1, services);
+ attrib_client_register(req->conn, device, -1, req->attrib, services);
g_slist_free(uuids);