core: add some helper functions to activation request
This commit is contained in:
@@ -60,6 +60,7 @@ typedef struct {
|
|||||||
NMDevice *device;
|
NMDevice *device;
|
||||||
gboolean user_requested;
|
gboolean user_requested;
|
||||||
gulong user_uid;
|
gulong user_uid;
|
||||||
|
char *dbus_sender;
|
||||||
|
|
||||||
NMActiveConnection *dep;
|
NMActiveConnection *dep;
|
||||||
guint dep_state_id;
|
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;
|
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 *
|
GObject *
|
||||||
nm_act_request_get_device (NMActRequest *req)
|
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,
|
* @user_requested: pass %TRUE if the activation was requested via D-Bus,
|
||||||
* otherwise %FALSE if requested internally by NM (ie, autoconnect)
|
* otherwise %FALSE if requested internally by NM (ie, autoconnect)
|
||||||
* @user_uid: if @user_requested is %TRUE, the Unix UID of the user that requested
|
* @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
|
* the activation
|
||||||
* @assumed: pass %TRUE if the activation should "assume" (ie, taking over) an
|
* @assumed: pass %TRUE if the activation should "assume" (ie, taking over) an
|
||||||
* existing connection made before this instance of NM started
|
* existing connection made before this instance of NM started
|
||||||
@@ -453,6 +471,7 @@ nm_act_request_new (NMConnection *connection,
|
|||||||
const char *specific_object,
|
const char *specific_object,
|
||||||
gboolean user_requested,
|
gboolean user_requested,
|
||||||
gulong user_uid,
|
gulong user_uid,
|
||||||
|
const char *dbus_sender,
|
||||||
gboolean assumed,
|
gboolean assumed,
|
||||||
gpointer *device,
|
gpointer *device,
|
||||||
NMActiveConnection *dependency)
|
NMActiveConnection *dependency)
|
||||||
@@ -479,6 +498,7 @@ nm_act_request_new (NMConnection *connection,
|
|||||||
|
|
||||||
priv->user_uid = user_uid;
|
priv->user_uid = user_uid;
|
||||||
priv->user_requested = user_requested;
|
priv->user_requested = user_requested;
|
||||||
|
priv->dbus_sender = g_strdup (dbus_sender);
|
||||||
priv->assumed = assumed;
|
priv->assumed = assumed;
|
||||||
|
|
||||||
if (dependency) {
|
if (dependency) {
|
||||||
@@ -558,6 +578,8 @@ dispose (GObject *object)
|
|||||||
|
|
||||||
g_object_unref (priv->connection);
|
g_object_unref (priv->connection);
|
||||||
|
|
||||||
|
g_free (priv->dbus_sender);
|
||||||
|
|
||||||
if (priv->dep) {
|
if (priv->dep) {
|
||||||
g_object_weak_unref (G_OBJECT (priv->dep), (GWeakNotify) dep_gone, object);
|
g_object_weak_unref (G_OBJECT (priv->dep), (GWeakNotify) dep_gone, object);
|
||||||
g_signal_handler_disconnect (priv->dep, priv->dep_state_id);
|
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.,
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 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
|
#ifndef NM_ACTIVATION_REQUEST_H
|
||||||
@@ -62,6 +62,7 @@ NMActRequest *nm_act_request_new (NMConnection *connection,
|
|||||||
const char *specific_object,
|
const char *specific_object,
|
||||||
gboolean user_requested,
|
gboolean user_requested,
|
||||||
gulong user_uid,
|
gulong user_uid,
|
||||||
|
const char *dbus_sender,
|
||||||
gboolean assumed,
|
gboolean assumed,
|
||||||
gpointer *device, /* An NMDevice */
|
gpointer *device, /* An NMDevice */
|
||||||
NMActiveConnection *dependency);
|
NMActiveConnection *dependency);
|
||||||
@@ -70,6 +71,10 @@ NMConnection *nm_act_request_get_connection (NMActRequest *req);
|
|||||||
|
|
||||||
gboolean nm_act_request_get_user_requested (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);
|
gboolean nm_act_request_get_shared (NMActRequest *req);
|
||||||
|
|
||||||
void nm_act_request_set_shared (NMActRequest *req, gboolean shared);
|
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,
|
const char *specific_object,
|
||||||
gboolean user_requested,
|
gboolean user_requested,
|
||||||
gulong sender_uid,
|
gulong sender_uid,
|
||||||
|
const char *dbus_sender,
|
||||||
gboolean assumed,
|
gboolean assumed,
|
||||||
NMActiveConnection *master,
|
NMActiveConnection *master,
|
||||||
GError **error);
|
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_log_dbg (LOGD_DEVICE, "(%s): will attempt to assume existing connection",
|
||||||
nm_device_get_iface (device));
|
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)
|
if (ac)
|
||||||
g_object_notify (G_OBJECT (self), NM_MANAGER_ACTIVE_CONNECTIONS);
|
g_object_notify (G_OBJECT (self), NM_MANAGER_ACTIVE_CONNECTIONS);
|
||||||
else {
|
else {
|
||||||
@@ -2241,6 +2242,7 @@ internal_activate_device (NMManager *manager,
|
|||||||
const char *specific_object,
|
const char *specific_object,
|
||||||
gboolean user_requested,
|
gboolean user_requested,
|
||||||
gulong sender_uid,
|
gulong sender_uid,
|
||||||
|
const char *dbus_sender,
|
||||||
gboolean assumed,
|
gboolean assumed,
|
||||||
NMActiveConnection *master,
|
NMActiveConnection *master,
|
||||||
GError **error)
|
GError **error)
|
||||||
@@ -2269,6 +2271,7 @@ internal_activate_device (NMManager *manager,
|
|||||||
specific_object,
|
specific_object,
|
||||||
user_requested,
|
user_requested,
|
||||||
sender_uid,
|
sender_uid,
|
||||||
|
dbus_sender,
|
||||||
assumed,
|
assumed,
|
||||||
(gpointer) device,
|
(gpointer) device,
|
||||||
master);
|
master);
|
||||||
@@ -2757,6 +2760,7 @@ nm_manager_activate_connection (NMManager *manager,
|
|||||||
specific_object,
|
specific_object,
|
||||||
dbus_sender ? TRUE : FALSE,
|
dbus_sender ? TRUE : FALSE,
|
||||||
dbus_sender ? sender_uid : 0,
|
dbus_sender ? sender_uid : 0,
|
||||||
|
dbus_sender,
|
||||||
FALSE,
|
FALSE,
|
||||||
master_ac,
|
master_ac,
|
||||||
error);
|
error);
|
||||||
|
Reference in New Issue
Block a user