NetworkManager r3335 - in trunk: . src
- From: dcbw svn gnome org
- To: svn-commits-list gnome org
- Subject: NetworkManager r3335 - in trunk: . src
- Date: Thu, 21 Feb 2008 03:04:19 +0000 (GMT)
Author: dcbw
Date: Thu Feb 21 03:04:18 2008
New Revision: 3335
URL: http://svn.gnome.org/viewvc/NetworkManager?rev=3335&view=rev
Log:
2008-02-20 Dan Williams <dcbw redhat com>
* src/NetworkManagerPolicy.c
- (nm_policy_device_change_check): get scope off the connection, not
using the manager helper
* src/nm-manager.c
src/nm-manager.h
- (get_scope_for_proxy): rename from get_type_for_proxy()
- (connection_get_settings_cb): set scope and path on connection, not
using GObject data items
- (get_connection_for_proxy): don't need to return path, since that
can be gotten from the connection
- (get_connection_for_proxy): get path off the connection, not from
parameters
- (connection_removed_cb, connection_updated_cb): don't need to get
path from get_connection_for_proxy(); get scope off the connection
instead of using GObject data items
- (connection_added_default_handler, add_one_connection_element): use
nm_connection_get_path() not nm_manager_get_connection_dbus_path()
- (nm_manager_get_connection_dbus_path): remove
- (nm_manager_get_connection_scope): remove
Modified:
trunk/ChangeLog
trunk/src/NetworkManagerPolicy.c
trunk/src/nm-manager.c
trunk/src/nm-manager.h
Modified: trunk/src/NetworkManagerPolicy.c
==============================================================================
--- trunk/src/NetworkManagerPolicy.c (original)
+++ trunk/src/NetworkManagerPolicy.c Thu Feb 21 03:04:18 2008
@@ -321,12 +321,12 @@
* don't switch.
*/
if ( old_connection
- && (nm_manager_get_connection_scope (old_connection) == NM_CONNECTION_SCOPE_SYSTEM)
- && (nm_manager_get_connection_scope (connection) == NM_CONNECTION_SCOPE_USER))
+ && (nm_connection_get_scope (old_connection) == NM_CONNECTION_SCOPE_SYSTEM)
+ && (nm_connection_get_scope (connection) == NM_CONNECTION_SCOPE_USER))
goto out;
- if ( (nm_manager_get_connection_scope (connection) == NM_CONNECTION_SCOPE_SYSTEM)
- && (nm_manager_get_connection_scope (old_connection) == NM_CONNECTION_SCOPE_USER)) {
+ if ( (nm_connection_get_scope (connection) == NM_CONNECTION_SCOPE_SYSTEM)
+ && (nm_connection_get_scope (old_connection) == NM_CONNECTION_SCOPE_USER)) {
do_switch = TRUE;
nm_info ("SWITCH: found system connection '%s (%s)', overrides"
" current connection '%s (%s)'.",
Modified: trunk/src/nm-manager.c
==============================================================================
--- trunk/src/nm-manager.c (original)
+++ trunk/src/nm-manager.c Thu Feb 21 03:04:18 2008
@@ -28,9 +28,6 @@
static gboolean impl_manager_sleep (NMManager *manager, gboolean sleep, GError **err);
-static const char * nm_manager_get_connection_dbus_path (NMManager *manager,
- NMConnection *connection);
-
static gboolean poke_system_settings_daemon_cb (gpointer user_data);
/* Legacy 0.6 compatibility interface */
@@ -432,7 +429,7 @@
#define DBUS_TYPE_G_DICT_OF_DICTS (dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, DBUS_TYPE_G_STRING_VARIANT_HASHTABLE))
static NMConnectionScope
-get_type_for_proxy (DBusGProxy *proxy)
+get_scope_for_proxy (DBusGProxy *proxy)
{
const char *bus_name = dbus_g_proxy_get_bus_name (proxy);
@@ -468,7 +465,7 @@
g_signal_emit (info->manager,
signals[CONNECTIONS_ADDED],
0,
- get_type_for_proxy (info->proxy));
+ get_scope_for_proxy (info->proxy));
}
}
@@ -516,6 +513,11 @@
if (connection == NULL)
goto out;
+ scope = get_scope_for_proxy (proxy);
+
+ nm_connection_set_path (connection, path);
+ nm_connection_set_scope (connection, scope);
+
g_object_set_data_full (G_OBJECT (connection),
NM_MANAGER_CONNECTION_PROXY_TAG,
proxy,
@@ -527,7 +529,6 @@
(GDestroyNotify) g_object_unref);
priv = NM_MANAGER_GET_PRIVATE (manager);
- scope = get_type_for_proxy (proxy);
switch (scope) {
case NM_CONNECTION_SCOPE_USER:
g_hash_table_insert (priv->user_connections,
@@ -545,10 +546,6 @@
break;
}
- g_object_set_data (G_OBJECT (connection),
- NM_MANAGER_CONNECTION_TYPE_TAG,
- GUINT_TO_POINTER (scope));
-
/* If the connection-added signal is supposed to be batched, don't
* emit the single connection-added here.
*/
@@ -569,17 +566,13 @@
static NMConnection *
get_connection_for_proxy (NMManager *manager,
DBusGProxy *proxy,
- GHashTable **out_hash,
- const char **out_path)
+ GHashTable **out_hash)
{
NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (manager);
NMConnection *connection = NULL;
const char *path = dbus_g_proxy_get_path (proxy);
- if (out_path)
- *out_path = path;
-
- switch (get_type_for_proxy (proxy)) {
+ switch (get_scope_for_proxy (proxy)) {
case NM_CONNECTION_SCOPE_USER:
*out_hash = priv->user_connections;
connection = g_hash_table_lookup (priv->user_connections, path);
@@ -599,19 +592,17 @@
static void
remove_connection (NMManager *manager,
NMConnection *connection,
- GHashTable *hash,
- const char *path)
+ GHashTable *hash)
{
- NMConnectionScope scope;
-
/* Destroys the connection, then associated DBusGProxy due to the
* weak reference notify function placed on the connection when it
* was created.
*/
g_object_ref (connection);
- g_hash_table_remove (hash, path);
- scope = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (connection), NM_MANAGER_CONNECTION_TYPE_TAG));
- g_signal_emit (manager, signals[CONNECTION_REMOVED], 0, connection, scope);
+ g_hash_table_remove (hash, nm_connection_get_path (connection));
+ g_signal_emit (manager, signals[CONNECTION_REMOVED], 0,
+ connection,
+ nm_connection_get_scope (connection));
g_object_unref (connection);
}
@@ -621,11 +612,10 @@
NMManager * manager = NM_MANAGER (user_data);
NMConnection *connection = NULL;
GHashTable *hash = NULL;
- const char *path;
- connection = get_connection_for_proxy (manager, proxy, &hash, &path);
+ connection = get_connection_for_proxy (manager, proxy, &hash);
if (connection)
- remove_connection (manager, connection, hash, path);
+ remove_connection (manager, connection, hash);
}
static void
@@ -635,30 +625,26 @@
NMConnection *new_connection;
NMConnection *old_connection;
GHashTable *hash;
- const char *path;
gboolean valid = FALSE;
- old_connection = get_connection_for_proxy (manager, proxy, &hash, &path);
- if (!old_connection)
- return;
+ old_connection = get_connection_for_proxy (manager, proxy, &hash);
+ g_return_if_fail (old_connection != NULL);
new_connection = nm_connection_new_from_hash (settings);
if (!new_connection) {
/* New connection invalid, remove existing connection */
- remove_connection (manager, old_connection, hash, path);
+ remove_connection (manager, old_connection, hash);
return;
}
g_object_unref (new_connection);
valid = nm_connection_replace_settings (old_connection, settings);
if (valid) {
- NMConnectionScope scope;
-
- scope = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (old_connection),
- NM_MANAGER_CONNECTION_TYPE_TAG));
- g_signal_emit (manager, signals[CONNECTION_UPDATED], 0, old_connection, scope);
+ g_signal_emit (manager, signals[CONNECTION_UPDATED], 0,
+ old_connection,
+ nm_connection_get_scope (old_connection));
} else {
- remove_connection (manager, old_connection, hash, path);
+ remove_connection (manager, old_connection, hash);
}
}
@@ -947,10 +933,10 @@
{
NMManager *manager = NM_MANAGER (user_data);
NMConnection *connection = NM_CONNECTION (value);
- NMConnectionScope scope;
- scope = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (connection), NM_MANAGER_CONNECTION_TYPE_TAG));
- g_signal_emit (manager, signals[CONNECTION_REMOVED], 0, connection, scope);
+ g_signal_emit (manager, signals[CONNECTION_REMOVED], 0,
+ connection,
+ nm_connection_get_scope (connection));
}
static void
@@ -1361,7 +1347,6 @@
{
NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (manager);
PendingConnectionInfo *info = priv->pending_connection_info;
- const char *path;
gboolean success;
GError *error = NULL;
@@ -1371,8 +1356,7 @@
if (scope != info->scope)
return;
- path = nm_manager_get_connection_dbus_path (manager, connection);
- if (strcmp (info->connection_path, path))
+ if (strcmp (info->connection_path, nm_connection_get_path (connection)))
return;
/* Will destroy below; can't be valid during the initial activation start */
@@ -1504,16 +1488,13 @@
const char *service_name = NULL;
NMConnection *connection;
const char *specific_object;
- gpointer type_ptr;
req = nm_device_get_act_request (device);
g_assert (req);
connection = nm_act_request_get_connection (req);
- type_ptr = g_object_get_data (G_OBJECT (connection), NM_MANAGER_CONNECTION_TYPE_TAG);
- g_return_val_if_fail (type_ptr != NULL, NULL);
- switch ((NMConnectionScope) GPOINTER_TO_UINT (type_ptr)) {
+ switch (nm_connection_get_scope (connection)) {
case NM_CONNECTION_SCOPE_USER:
service_name = NM_DBUS_SERVICE_USER_SETTINGS;
break;
@@ -1548,7 +1529,7 @@
g_value_take_boxed (&entry, dbus_g_type_specialized_construct (type));
dbus_g_type_struct_set (&entry,
0, service_name,
- 1, nm_manager_get_connection_dbus_path (manager, connection),
+ 1, nm_connection_get_path (connection),
2, specific_object ? specific_object : "/",
3, dev_array,
G_MAXUINT);
@@ -1793,21 +1774,3 @@
return connection;
}
-static const char *
-nm_manager_get_connection_dbus_path (NMManager *manager,
- NMConnection *connection)
-{
- DBusGProxy *proxy;
-
- g_return_val_if_fail (NM_IS_MANAGER (manager), NULL);
- g_return_val_if_fail (NM_IS_CONNECTION (connection), NULL);
-
- proxy = g_object_get_data (G_OBJECT (connection), NM_MANAGER_CONNECTION_PROXY_TAG);
- if (!DBUS_IS_G_PROXY (proxy)) {
- nm_warning ("Couldn't get dbus proxy for connection.");
- return NULL;
- }
-
- return dbus_g_proxy_get_path (proxy);
-}
-
Modified: trunk/src/nm-manager.h
==============================================================================
--- trunk/src/nm-manager.h (original)
+++ trunk/src/nm-manager.h Thu Feb 21 03:04:18 2008
@@ -19,7 +19,6 @@
#define NM_MANAGER_WIRELESS_HARDWARE_ENABLED "wireless-hardware-enabled"
#define NM_MANAGER_CONNECTION_PROXY_TAG "dbus-proxy"
-#define NM_MANAGER_CONNECTION_TYPE_TAG "service-type"
#define NM_MANAGER_CONNECTION_SECRETS_PROXY_TAG "dbus-secrets-proxy"
typedef struct {
@@ -90,17 +89,4 @@
NMConnectionScope scope,
const char *path);
-static inline NMConnectionScope
-nm_manager_get_connection_scope (NMConnection *connection)
-{
- NMConnectionScope scope;
-
- g_return_val_if_fail (NM_IS_CONNECTION (connection), NM_CONNECTION_SCOPE_UNKNOWN);
-
- scope = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (connection), NM_MANAGER_CONNECTION_TYPE_TAG));
- if (scope != NM_CONNECTION_SCOPE_USER && scope != NM_CONNECTION_SCOPE_SYSTEM)
- scope = NM_CONNECTION_SCOPE_UNKNOWN;
- return scope;
-}
-
#endif /* NM_MANAGER_H */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]