session: switch code to nm_session_monitor_{,dis}connect()
Acked-By: Thomas Haller <thaller@redhat.com>
This commit is contained in:
@@ -22,6 +22,36 @@
|
||||
|
||||
#include "nm-session-monitor.h"
|
||||
|
||||
/**
|
||||
* nm_session_monitor_connect:
|
||||
* @callback: The callback.
|
||||
* @user_data: User data for the callback.
|
||||
*
|
||||
* Connect a callback to the session monitor.
|
||||
*
|
||||
* Returns: Handler ID to be used with nm_session_monitor_disconnect().
|
||||
*/
|
||||
gulong
|
||||
nm_session_monitor_connect (NMSessionCallback callback, gpointer user_data)
|
||||
{
|
||||
return g_signal_connect (nm_session_monitor_get (),
|
||||
NM_SESSION_MONITOR_CHANGED,
|
||||
G_CALLBACK (callback),
|
||||
user_data);
|
||||
}
|
||||
|
||||
/**
|
||||
* nm_session_monitor_disconnect:
|
||||
* @handler_id: Handler ID returned by nm_session_monitor-connect().
|
||||
*
|
||||
* Disconnect callback from the session handler.
|
||||
*/
|
||||
void
|
||||
nm_session_monitor_disconnect (gulong handler_id)
|
||||
{
|
||||
g_signal_handler_disconnect (nm_session_monitor_get (), handler_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* nm_session_monitor_uid_to_user:
|
||||
* @uid: UID.
|
||||
|
@@ -38,9 +38,14 @@ G_BEGIN_DECLS
|
||||
|
||||
typedef struct _NMSessionMonitorClass NMSessionMonitorClass;
|
||||
|
||||
typedef void (*NMSessionCallback) (NMSessionMonitor *monitor, gpointer user_data);
|
||||
|
||||
GType nm_session_monitor_get_type (void) G_GNUC_CONST;
|
||||
NMSessionMonitor *nm_session_monitor_get (void);
|
||||
|
||||
gulong nm_session_monitor_connect (NMSessionCallback callback, gpointer user_data);
|
||||
void nm_session_monitor_disconnect (gulong handler_id);
|
||||
|
||||
gboolean nm_session_monitor_uid_to_user (uid_t uid, const char **out_user);
|
||||
gboolean nm_session_monitor_user_to_uid (const char *user, uid_t *out_uid);
|
||||
gboolean nm_session_monitor_session_exists (uid_t uid, gboolean active);
|
||||
@@ -54,7 +59,6 @@ gboolean nm_session_monitor_uid_has_session (NMSessionMonitor *monitor
|
||||
uid_t uid,
|
||||
const char **out_user,
|
||||
GError **error);
|
||||
|
||||
gboolean nm_session_monitor_user_active (NMSessionMonitor *monitor,
|
||||
const char *username,
|
||||
GError **error);
|
||||
|
@@ -95,7 +95,6 @@ static guint signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
typedef struct {
|
||||
NMAgentManager *agent_mgr;
|
||||
NMSessionMonitor *session_monitor;
|
||||
guint session_changed_id;
|
||||
|
||||
NMSettingsConnectionFlags flags;
|
||||
@@ -2177,11 +2176,7 @@ nm_settings_connection_init (NMSettingsConnection *self)
|
||||
|
||||
priv->visible = FALSE;
|
||||
|
||||
priv->session_monitor = nm_session_monitor_get ();
|
||||
priv->session_changed_id = g_signal_connect (priv->session_monitor,
|
||||
NM_SESSION_MONITOR_CHANGED,
|
||||
G_CALLBACK (session_changed_cb),
|
||||
self);
|
||||
priv->session_changed_id = nm_session_monitor_connect (session_changed_cb, self);
|
||||
|
||||
priv->agent_mgr = nm_agent_manager_get ();
|
||||
|
||||
@@ -2232,7 +2227,7 @@ dispose (GObject *object)
|
||||
set_visible (self, FALSE);
|
||||
|
||||
if (priv->session_changed_id) {
|
||||
g_signal_handler_disconnect (priv->session_monitor, priv->session_changed_id);
|
||||
nm_session_monitor_disconnect (priv->session_changed_id);
|
||||
priv->session_changed_id = 0;
|
||||
}
|
||||
g_clear_object (&priv->agent_mgr);
|
||||
|
Reference in New Issue
Block a user