diff options
author | Jiří Klimeš <jklimes@redhat.com> | 2012-08-28 13:38:23 +0200 |
---|---|---|
committer | Jiří Klimeš <jklimes@redhat.com> | 2012-09-24 10:38:26 +0200 |
commit | 65ce4e52ef97a9852c367dac5df298188410d3f6 (patch) | |
tree | 0b4afd5e0887eb2a45b89b6200db03e32a92b413 | |
parent | 8fde1b1d2a1ec95ede3da488722a36043c69ad32 (diff) |
core: add some helper functions to activation request
-rw-r--r-- | src/nm-activation-request.c | 22 | ||||
-rw-r--r-- | src/nm-activation-request.h | 7 | ||||
-rw-r--r-- | src/nm-manager.c | 6 |
3 files changed, 33 insertions, 2 deletions
diff --git a/src/nm-activation-request.c b/src/nm-activation-request.c index 1a3cb77a..ce878c99 100644 --- a/src/nm-activation-request.c +++ b/src/nm-activation-request.c @@ -60,6 +60,7 @@ typedef struct { NMDevice *device; gboolean user_requested; gulong user_uid; + char *dbus_sender; NMActiveConnection *dep; guint dep_state_id; @@ -196,6 +197,22 @@ nm_act_request_get_user_requested (NMActRequest *req) return NM_ACT_REQUEST_GET_PRIVATE (req)->user_requested; } +gulong +nm_act_request_get_user_uid (NMActRequest *req) +{ + g_return_val_if_fail (NM_IS_ACT_REQUEST (req), 0); + + return NM_ACT_REQUEST_GET_PRIVATE (req)->user_uid; +} + +const char * +nm_act_request_get_dbus_sender (NMActRequest *req) +{ + g_return_val_if_fail (NM_IS_ACT_REQUEST (req), NULL); + + return NM_ACT_REQUEST_GET_PRIVATE (req)->dbus_sender; +} + GObject * nm_act_request_get_device (NMActRequest *req) { @@ -436,6 +453,7 @@ dep_state_changed (NMActiveConnection *dep, * @user_requested: pass %TRUE if the activation was requested via D-Bus, * otherwise %FALSE if requested internally by NM (ie, autoconnect) * @user_uid: if @user_requested is %TRUE, the Unix UID of the user that requested + * @dbus_sender: if @user_requested is %TRUE, the D-BUS sender that requested * the activation * @assumed: pass %TRUE if the activation should "assume" (ie, taking over) an * existing connection made before this instance of NM started @@ -453,6 +471,7 @@ nm_act_request_new (NMConnection *connection, const char *specific_object, gboolean user_requested, gulong user_uid, + const char *dbus_sender, gboolean assumed, gpointer *device, NMActiveConnection *dependency) @@ -479,6 +498,7 @@ nm_act_request_new (NMConnection *connection, priv->user_uid = user_uid; priv->user_requested = user_requested; + priv->dbus_sender = g_strdup (dbus_sender); priv->assumed = assumed; if (dependency) { @@ -558,6 +578,8 @@ dispose (GObject *object) g_object_unref (priv->connection); + g_free (priv->dbus_sender); + if (priv->dep) { g_object_weak_unref (G_OBJECT (priv->dep), (GWeakNotify) dep_gone, object); g_signal_handler_disconnect (priv->dep, priv->dep_state_id); diff --git a/src/nm-activation-request.h b/src/nm-activation-request.h index 16467f9c..16bd026a 100644 --- a/src/nm-activation-request.h +++ b/src/nm-activation-request.h @@ -15,7 +15,7 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * - * (C) Copyright 2005 - 2010 Red Hat, Inc. + * (C) Copyright 2005 - 2012 Red Hat, Inc. */ #ifndef NM_ACTIVATION_REQUEST_H @@ -62,6 +62,7 @@ NMActRequest *nm_act_request_new (NMConnection *connection, const char *specific_object, gboolean user_requested, gulong user_uid, + const char *dbus_sender, gboolean assumed, gpointer *device, /* An NMDevice */ NMActiveConnection *dependency); @@ -70,6 +71,10 @@ NMConnection *nm_act_request_get_connection (NMActRequest *req); gboolean nm_act_request_get_user_requested (NMActRequest *req); +gulong nm_act_request_get_user_uid (NMActRequest *req); + +const char *nm_act_request_get_dbus_sender (NMActRequest *req); + gboolean nm_act_request_get_shared (NMActRequest *req); void nm_act_request_set_shared (NMActRequest *req, gboolean shared); diff --git a/src/nm-manager.c b/src/nm-manager.c index 69850085..d8c6fbb2 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -149,6 +149,7 @@ static NMActiveConnection *internal_activate_device (NMManager *manager, const char *specific_object, gboolean user_requested, gulong sender_uid, + const char *dbus_sender, gboolean assumed, NMActiveConnection *master, GError **error); @@ -1759,7 +1760,7 @@ add_device (NMManager *self, NMDevice *device) nm_log_dbg (LOGD_DEVICE, "(%s): will attempt to assume existing connection", nm_device_get_iface (device)); - ac = internal_activate_device (self, device, existing, NULL, FALSE, 0, TRUE, NULL, &error); + ac = internal_activate_device (self, device, existing, NULL, FALSE, 0, NULL, TRUE, NULL, &error); if (ac) g_object_notify (G_OBJECT (self), NM_MANAGER_ACTIVE_CONNECTIONS); else { @@ -2241,6 +2242,7 @@ internal_activate_device (NMManager *manager, const char *specific_object, gboolean user_requested, gulong sender_uid, + const char *dbus_sender, gboolean assumed, NMActiveConnection *master, GError **error) @@ -2269,6 +2271,7 @@ internal_activate_device (NMManager *manager, specific_object, user_requested, sender_uid, + dbus_sender, assumed, (gpointer) device, master); @@ -2757,6 +2760,7 @@ nm_manager_activate_connection (NMManager *manager, specific_object, dbus_sender ? TRUE : FALSE, dbus_sender ? sender_uid : 0, + dbus_sender, FALSE, master_ac, error); |