summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Klimeš <jklimes@redhat.com>2012-08-28 13:38:23 +0200
committerJiří Klimeš <jklimes@redhat.com>2012-09-24 10:38:26 +0200
commit65ce4e52ef97a9852c367dac5df298188410d3f6 (patch)
tree0b4afd5e0887eb2a45b89b6200db03e32a92b413
parent8fde1b1d2a1ec95ede3da488722a36043c69ad32 (diff)
core: add some helper functions to activation request
-rw-r--r--src/nm-activation-request.c22
-rw-r--r--src/nm-activation-request.h7
-rw-r--r--src/nm-manager.c6
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);