mirror of git://git.sysmocom.de/ofono
gdbus: Add g_dbus_proxy_set_removed_watch
This commit is contained in:
parent
233b1ecca4
commit
1d4d3f1fb9
|
@ -62,6 +62,8 @@ struct GDBusProxy {
|
|||
char *match_rule;
|
||||
GDBusPropertyFunction prop_func;
|
||||
void *prop_data;
|
||||
GDBusProxyFunction removed_func;
|
||||
void *removed_data;
|
||||
};
|
||||
|
||||
struct prop_entry {
|
||||
|
@ -394,6 +396,9 @@ static void proxy_free(gpointer data)
|
|||
proxy->client = NULL;
|
||||
}
|
||||
|
||||
if (proxy->removed_func)
|
||||
proxy->removed_func(proxy, proxy->removed_data);
|
||||
|
||||
g_dbus_proxy_unref(proxy);
|
||||
}
|
||||
|
||||
|
@ -761,6 +766,18 @@ gboolean g_dbus_proxy_set_property_watch(GDBusProxy *proxy,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean g_dbus_proxy_set_removed_watch(GDBusProxy *proxy,
|
||||
GDBusProxyFunction function, void *user_data)
|
||||
{
|
||||
if (proxy == NULL)
|
||||
return FALSE;
|
||||
|
||||
proxy->removed_func = function;
|
||||
proxy->removed_data = user_data;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void refresh_properties(GDBusClient *client)
|
||||
{
|
||||
GList *list;
|
||||
|
|
|
@ -341,6 +341,9 @@ typedef void (* GDBusPropertyFunction) (GDBusProxy *proxy, const char *name,
|
|||
gboolean g_dbus_proxy_set_property_watch(GDBusProxy *proxy,
|
||||
GDBusPropertyFunction function, void *user_data);
|
||||
|
||||
gboolean g_dbus_proxy_set_removed_watch(GDBusProxy *proxy,
|
||||
GDBusProxyFunction destroy, void *user_data);
|
||||
|
||||
GDBusClient *g_dbus_client_new(DBusConnection *connection,
|
||||
const char *service, const char *path);
|
||||
|
||||
|
|
Loading…
Reference in New Issue