diff --git a/obexd/client/pbap.c b/obexd/client/pbap.c
index a0e25ae..dc3c9e9 100644
--- a/obexd/client/pbap.c
+++ b/obexd/client/pbap.c
{
int err = 0;
char **paths = NULL, **item;
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
if (!pbapdata->path)
return;
{
int err = 0;
char **paths = NULL, **item;
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
if (!path)
return OBEX_RSP_BAD_REQUEST;
static int set_format(struct session_data *session, const char *formatstr)
{
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
if (!formatstr || g_str_equal(formatstr, "")) {
pbapdata->format = FORMAT_VCARD21;
static int set_order(struct session_data *session, const char *orderstr)
{
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
if (!orderstr || g_str_equal(orderstr, "")) {
pbapdata->order = ORDER_INDEXED;
static int add_filter(struct session_data *session, const char *filterstr)
{
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
uint64_t mask;
mask = get_filter_mask(filterstr);
static int remove_filter(struct session_data *session, const char *filterstr)
{
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
uint64_t mask;
mask = get_filter_mask(filterstr);
DBusMessage *message, void *user_data)
{
struct session_data *session = user_data;
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
DBusMessage * err;
char *name;
DBusMessage *message, void *user_data)
{
struct session_data *session = user_data;
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
struct pullvcardentry_apparam apparam;
const char *name;
DBusMessage *message, void *user_data)
{
struct session_data *session = user_data;
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
if (!pbapdata->path)
return g_dbus_create_error(message,
DBusMessage *message, void *user_data)
{
struct session_data *session = user_data;
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
char *field, *value;
guint8 attrib;
DBusMessage *message, void *user_data)
{
struct session_data *session = user_data;
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
DBusMessage * err;
char *name;
DBusMessage *message, void *user_data)
{
struct session_data *session = user_data;
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
char **filters, **item;
gint size;
uint64_t oldfilter = pbapdata->filter;
DBusMessage *message, void *user_data)
{
struct session_data *session = user_data;
- struct pbap_data *pbapdata = session->priv;
+ struct pbap_data *pbapdata = session_get_data(session);
gchar **filters = NULL;
gint size;
DBusMessage *reply;
void *user_data, GDBusDestroyFunction destroy)
{
struct session_data *session = user_data;
+ void *priv;
- session->priv = g_try_malloc0(sizeof(struct pbap_data));
- if (!session->priv)
+ priv = g_try_malloc0(sizeof(struct pbap_data));
+ if (!priv)
return FALSE;
+ session_set_data(session, priv);
+
return g_dbus_register_interface(connection, path, PBAP_INTERFACE,
pbap_methods, NULL, NULL, user_data, destroy);
}
void *user_data)
{
struct session_data *session = user_data;
+ void *priv = session_get_data(session);
g_dbus_unregister_interface(connection, path, PBAP_INTERFACE);
- if (session->priv)
- g_free(session->priv);
+ g_free(priv);
}
diff --git a/obexd/client/session.c b/obexd/client/session.c
index 4f920d7..d64d0ce 100644
--- a/obexd/client/session.c
+++ b/obexd/client/session.c
return 0;
}
+
+void *session_get_data(struct session_data *session)
+{
+ return session->priv;
+}
+
+void session_set_data(struct session_data *session, void *priv)
+{
+ session->priv = priv;
+}
diff --git a/obexd/client/session.h b/obexd/client/session.h
index 4a90e27..d713db8 100644
--- a/obexd/client/session.h
+++ b/obexd/client/session.h
const char *type, const char *filename,
session_callback_t function, void *user_data);
int session_register(struct session_data *session);
+void *session_get_data(struct session_data *session);
+void session_set_data(struct session_data *session, void *priv);