[gnome-settings-daemon/gnome-3-10] Revert "rfkill: watch and set NetworkManager wwan-enabled"



commit b007fc84ca0c8341df322fdc3b1a83a8d307ec67
Author: Rui Matos <tiagomatos gmail com>
Date:   Tue Nov 12 18:58:22 2013 +0100

    Revert "rfkill: watch and set NetworkManager wwan-enabled"
    
    There are no consumers for this API in 3.10 so there's no point in
    having it.
    
    This reverts commit 5ad90d8e5b44b0a55a6446c54068d3bf7003054c.

 plugins/rfkill/gsd-rfkill-manager.c |  215 +----------------------------------
 1 files changed, 3 insertions(+), 212 deletions(-)
---
diff --git a/plugins/rfkill/gsd-rfkill-manager.c b/plugins/rfkill/gsd-rfkill-manager.c
index b0bc027..35cf569 100644
--- a/plugins/rfkill/gsd-rfkill-manager.c
+++ b/plugins/rfkill/gsd-rfkill-manager.c
@@ -41,20 +41,6 @@ struct GsdRfkillManagerPrivate
 
         CcRfkillGlib            *rfkill;
         GHashTable              *killswitches;
-
-        /* In addition to using the rfkill kernel subsystem
-           (which is exposed by wlan, wimax, bluetooth, nfc,
-           some platform drivers and some usb modems), we
-           need to go through NetworkManager, which in turn
-           will tell ModemManager to write the right commands
-           in the USB bus to take external modems down, all
-           from userspace.
-        */
-        GCancellable            *nm_cancellable;
-        GDBusProxy              *nm_client;
-        gboolean                 wwan_enabled;
-        GDBusObjectManager      *mm_client;
-        gboolean                 wwan_interesting;
 };
 
 #define GSD_RFKILL_DBUS_NAME GSD_DBUS_NAME ".Rfkill"
@@ -99,9 +85,9 @@ engine_get_airplane_mode (GsdRfkillManager *manager)
        GHashTableIter iter;
        gpointer key, value;
 
-        /* If we have no killswitches, airplane mode only depends on NM's wwan state. */
+        /* If we have no killswitches, airplane mode is off. */
         if (g_hash_table_size (manager->priv->killswitches) == 0) {
-                return manager->priv->wwan_interesting && !manager->priv->wwan_enabled;
+                return FALSE;
         }
 
        g_hash_table_iter_init (&iter, manager->priv->killswitches);
@@ -116,19 +102,13 @@ engine_get_airplane_mode (GsdRfkillManager *manager)
                 }
        }
 
-        /* wwan enabled? then airplane mode is off (because an USB modem
-           could be on in this state) */
-        if (manager->priv->wwan_interesting && manager->priv->wwan_enabled)
-                return FALSE;
-
         return TRUE;
 }
 
 static gboolean
 engine_get_has_airplane_mode (GsdRfkillManager *manager)
 {
-        return (g_hash_table_size (manager->priv->killswitches) > 0) ||
-                manager->priv->wwan_interesting;
+        return (g_hash_table_size (manager->priv->killswitches) > 0);
 }
 
 static void
@@ -202,27 +182,6 @@ rfkill_set_cb (GObject      *source_object,
        }
 }
 
-static void
-set_wwan_complete (GObject      *object,
-                   GAsyncResult *result,
-                   gpointer      user_data)
-{
-        GError *error;
-        GVariant *variant;
-
-        error = NULL;
-        variant = g_dbus_proxy_call_finish (G_DBUS_PROXY (object), result, &error);
-
-        if (variant == NULL) {
-                if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-                        g_warning ("Failed to set WWAN power status: %s", error->message);
-
-                g_error_free (error);
-        } else {
-                g_variant_unref (variant);
-        }
-}
-
 static gboolean
 engine_set_airplane_mode (GsdRfkillManager *manager,
                           gboolean          enable)
@@ -235,21 +194,6 @@ engine_set_airplane_mode (GsdRfkillManager *manager,
        event.soft = enable ? 1 : 0;
        cc_rfkill_glib_send_event (manager->priv->rfkill, &event, NULL, rfkill_set_cb, manager);
 
-        /* Note: we set the the NM property even if there are no modems, so we don't
-           need to resync when one is plugged in */
-        if (manager->priv->nm_client) {
-                g_dbus_proxy_call (manager->priv->nm_client,
-                                   "org.freedesktop.DBus.Properties.Set",
-                                   g_variant_new ("(ssv)",
-                                                  "org.freedesktop.NetworkManager",
-                                                  "WwanEnabled",
-                                                  g_variant_new_boolean (!enable)),
-                                   G_DBUS_CALL_FLAGS_NONE,
-                                   -1, /* timeout */
-                                   manager->priv->nm_cancellable,
-                                   set_wwan_complete, NULL);
-        }
-
        return TRUE;
 }
 
@@ -346,130 +290,6 @@ on_bus_gotten (GObject               *source_object,
                                                                NULL);
 }
 
-static void
-sync_wwan_enabled (GsdRfkillManager *manager)
-{
-        GVariant *property;
-
-        property = g_dbus_proxy_get_cached_property (manager->priv->nm_client,
-                                                     "WwanEnabled");
-
-        if (property == NULL) {
-                /* GDBus telling us NM went down */
-                return;
-        }
-
-        manager->priv->wwan_enabled = g_variant_get_boolean (property);
-        engine_properties_changed (manager);
-
-        g_variant_unref (property);
-}
-
-static void
-nm_signal (GDBusProxy *proxy,
-           char       *sender_name,
-           char       *signal_name,
-           GVariant   *parameters,
-           gpointer    user_data)
-{
-        GsdRfkillManager *manager = user_data;
-        GVariant *changed;
-        GVariant *property;
-
-        if (g_strcmp0 (signal_name, "PropertiesChanged") == 0) {
-                changed = g_variant_get_child_value (parameters, 0);
-                property = g_variant_lookup_value (changed, "WwanEnabled", G_VARIANT_TYPE ("b"));
-                g_dbus_proxy_set_cached_property (proxy, "WwanEnabled", property);
-
-                if (property != NULL) {
-                        sync_wwan_enabled (manager);
-                        g_variant_unref (property);
-                }
-
-                g_variant_unref (changed);
-        }
-}
-
-static void
-on_nm_proxy_gotten (GObject      *source,
-                    GAsyncResult *result,
-                    gpointer      user_data)
-{
-        GsdRfkillManager *manager = user_data;
-        GDBusProxy *proxy;
-        GError *error;
-
-        error = NULL;
-        proxy = g_dbus_proxy_new_for_bus_finish (result, &error);
-
-        if (proxy == NULL) {
-                if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED) &&
-                    !g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_SERVICE_UNKNOWN))
-                        g_warning ("Failed to acquire NetworkManager proxy: %s", error->message);
-
-                g_error_free (error);
-                goto out;
-        }
-
-        manager->priv->nm_client = proxy;
-
-        g_signal_connect (manager->priv->nm_client, "g-signal",
-                          G_CALLBACK (nm_signal), manager);
-        sync_wwan_enabled (manager);
-
- out:
-        g_object_unref (manager);
-}
-
-static void
-sync_wwan_interesting (GDBusObjectManager *object_manager,
-                       GDBusObject        *object,
-                       GDBusInterface     *interface,
-                       gpointer            user_data)
-{
-        GsdRfkillManager *manager = user_data;
-        GList *objects;
-
-        objects = g_dbus_object_manager_get_objects (object_manager);
-        manager->priv->wwan_interesting = (objects != NULL);
-        engine_properties_changed (manager);
-
-        g_list_free_full (objects, g_object_unref);
-}
-
-static void
-on_mm_proxy_gotten (GObject      *source,
-                    GAsyncResult *result,
-                    gpointer      user_data)
-{
-        GsdRfkillManager *manager = user_data;
-        GDBusObjectManager *proxy;
-        GError *error;
-
-        error = NULL;
-        proxy = g_dbus_object_manager_client_new_for_bus_finish (result, &error);
-
-        if (proxy == NULL) {
-                if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED) &&
-                    !g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_SERVICE_UNKNOWN))
-                        g_warning ("Failed to acquire ModemManager proxy: %s", error->message);
-
-                g_error_free (error);
-                goto out;
-        }
-
-        manager->priv->mm_client = proxy;
-
-        g_signal_connect (manager->priv->mm_client, "interface-added",
-                          G_CALLBACK (sync_wwan_interesting), manager);
-        g_signal_connect (manager->priv->mm_client, "interface-removed",
-                          G_CALLBACK (sync_wwan_interesting), manager);
-        sync_wwan_interesting (manager->priv->mm_client, NULL, NULL, manager);
-
- out:
-        g_object_unref (manager);
-}
-
 gboolean
 gsd_rfkill_manager_start (GsdRfkillManager *manager,
                          GError         **error)
@@ -485,25 +305,6 @@ gsd_rfkill_manager_start (GsdRfkillManager *manager,
                           G_CALLBACK (rfkill_changed), manager);
         cc_rfkill_glib_open (manager->priv->rfkill);
 
-        manager->priv->nm_cancellable = g_cancellable_new ();
-
-        g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
-                                  G_DBUS_PROXY_FLAGS_NONE,
-                                  NULL, /* g-interface-info */
-                                  "org.freedesktop.NetworkManager",
-                                  "/org/freedesktop/NetworkManager",
-                                  "org.freedesktop.NetworkManager",
-                                  manager->priv->nm_cancellable,
-                                  on_nm_proxy_gotten, g_object_ref (manager));
-
-        g_dbus_object_manager_client_new_for_bus (G_BUS_TYPE_SYSTEM,
-                                                  G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE,
-                                                  "org.freedesktop.ModemManager1",
-                                                  "/org/freedesktop/ModemManager1",
-                                                  NULL, NULL, NULL, /* get_proxy_type and closure */
-                                                  manager->priv->nm_cancellable,
-                                                  on_mm_proxy_gotten, g_object_ref (manager));
-
         /* Start process of owning a D-Bus name */
         g_bus_get (G_BUS_TYPE_SESSION,
                    NULL,
@@ -529,16 +330,6 @@ gsd_rfkill_manager_stop (GsdRfkillManager *manager)
         g_clear_object (&p->connection);
         g_clear_object (&p->rfkill);
         g_clear_pointer (&p->killswitches, g_hash_table_destroy);
-
-        if (p->nm_cancellable) {
-                g_cancellable_cancel (p->nm_cancellable);
-                g_clear_object (&p->nm_cancellable);
-        }
-
-        g_clear_object (&p->nm_client);
-        g_clear_object (&p->mm_client);
-        p->wwan_enabled = FALSE;
-        p->wwan_interesting = FALSE;
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]