core: add some helper functions to activation request
This commit is contained in:
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user