diff --git a/obexd/client/pbap.c b/obexd/client/pbap.c
index 51b5235..7d65172 100644
--- a/obexd/client/pbap.c
+++ b/obexd/client/pbap.c
.remove = pbap_remove
};
-static int pbap_init_cb(void)
+static int pbap_init_cb(gboolean at_register)
{
int err;
+ (void)at_register;
DBG("");
return 0;
}
-static void pbap_exit_cb(void)
+static void pbap_exit_cb(gboolean at_unregister)
{
+ (void)at_unregister;
DBG("");
g_dbus_remove_watch(system_conn, listener_id);
diff --git a/obexd/plugins/bluetooth.c b/obexd/plugins/bluetooth.c
index 7ff27a8..3559214 100644
--- a/obexd/plugins/bluetooth.c
+++ b/obexd/plugins/bluetooth.c
static unsigned int listener_id = 0;
-static int bluetooth_init_cb(void)
+static int bluetooth_init_cb(gboolean at_register)
{
+ (void)at_register;
connection = g_dbus_setup_private(DBUS_BUS_SYSTEM, NULL, NULL);
if (connection == NULL)
return -EPERM;
return obex_transport_driver_register(&driver);
}
-static void bluetooth_exit_cb(void)
+static void bluetooth_exit_cb(gboolean at_unregister)
{
GSList *l;
+ (void)at_unregister;
g_dbus_remove_watch(connection, listener_id);
diff --git a/obexd/src/logind.c b/obexd/src/logind.c
index a0eb62b..b4279b2 100644
--- a/obexd/src/logind.c
+++ b/obexd/src/logind.c
{
int res;
- res = ((struct callback_pair *)data)->init_cb();
+ res = ((struct callback_pair *)data)->init_cb(FALSE);
if (res)
*(int *)user_data = res;
}
static void call_exit_cb(gpointer data, gpointer user_data)
{
- ((struct callback_pair *)data)->exit_cb();
+ ((struct callback_pair *)data)->exit_cb(FALSE);
}
static int update(void)
struct callback_pair *cbs;
if (!monitoring_enabled)
- return init_cb();
+ return init_cb(TRUE);
if (callbacks == NULL) {
int res;
if (res) {
error("logind_init(): %s - login detection disabled",
strerror(-res));
- return init_cb();
+ return init_cb(TRUE);
}
}
cbs = g_new(struct callback_pair, 1);
cbs->init_cb = init_cb;
cbs->exit_cb = exit_cb;
callbacks = g_slist_prepend(callbacks, cbs);
- return active ? init_cb() : 0;
+ return active ? init_cb(TRUE) : 0;
}
void logind_unregister(logind_init_cb init_cb, logind_exit_cb exit_cb)
{
GSList *cb_node;
if (!monitoring_enabled)
- return exit_cb();
+ return exit_cb(TRUE);
if (active)
- exit_cb();
+ exit_cb(TRUE);
cb_node = g_slist_find_custom(callbacks, init_cb, find_cb);
if (cb_node != NULL)
callbacks = g_slist_delete_link(callbacks, cb_node);
diff --git a/obexd/src/logind.h b/obexd/src/logind.h
index eb3ff8d..3cdb033 100644
--- a/obexd/src/logind.h
+++ b/obexd/src/logind.h
*
*/
-typedef int (*logind_init_cb)(void);
-typedef void (*logind_exit_cb)(void);
+typedef int (*logind_init_cb)(gboolean at_register);
+typedef void (*logind_exit_cb)(gboolean at_unregister);
#ifdef SYSTEMD
static inline int logind_register(logind_init_cb init_cb,
logind_exit_cb exit_cb)
{
- return init_cb();
+ return init_cb(TRUE);
}
static inline void logind_unregister(logind_init_cb init_cb,
logind_exit_cb exit_cb)
{
- return exit_cb();
+ return exit_cb(TRUE);
}
static inline int logind_set(gboolean enabled)
{