[epiphany] Use GNetworkMonitor to monitor network status



commit 1e8f2bd6fdf325a412343b475d89d7afc0ba394b
Author: Xan Lopez <xlopez igalia com>
Date:   Tue Nov 15 17:06:16 2011 +0100

    Use GNetworkMonitor to monitor network status
    
    We can now get rid of the NetworkManager custom code.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=664096

 data/Makefile.am                   |    1 -
 data/ephy-network-manager.xml      |    9 ------
 lib/Makefile.am                    |    1 -
 lib/ephy-network-manager-defines.h |   54 ------------------------------------
 src/Makefile.am                    |   15 ----------
 src/ephy-shell.c                   |   37 +++++++++---------------
 6 files changed, 14 insertions(+), 103 deletions(-)
---
diff --git a/data/Makefile.am b/data/Makefile.am
index 4d9cf6a..6fcfa81 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -72,7 +72,6 @@ EXTRA_DIST = \
 	$(gsettings_files)		\
 	$(convert_DATA)			\
 	epiphany-service.xml		\
-	ephy-network-manager.xml	\
 	check-mime.py
 
 DISTCLEANFILES = \
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 972eaf0..2a1ec75 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -17,7 +17,6 @@ NOINST_H_FILES = \
 	ephy-module.h				\
 	ephy-node-filter.h			\
 	ephy-node-common.h			\
-	ephy-network-manager-defines.h		\
 	ephy-object-helpers.h			\
 	ephy-prefs.h				\
 	ephy-profile-utils.h			\
diff --git a/src/Makefile.am b/src/Makefile.am
index c46160c..f491450 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -113,21 +113,6 @@ libephymain_la_CFLAGS = \
 BUILT_SOURCES =		\
 	$(TYPES_SOURCE)
 
-nodist_libephymain_la_SOURCES += \
-	ephy-network-manager.c	 \
-	ephy-network-manager.h
-
-BUILT_SOURCES +=		\
-	ephy-network-manager.h	\
-	ephy-network-manager.c
-
-ephy-network-manager.c ephy-network-manager.h: $(top_srcdir)/data/ephy-network-manager.xml
-	$(AM_V_GEN) $(GDBUS_CODEGEN) 			\
-		--c-namespace Ephy			\
-		--generate-c-code ephy-network-manager  \
-		--interface-prefix org.freedesktop. 	\
-		$<
-
 if ENABLE_SEED
 NOINST_H_FILES += \
 	ephy-seed-extension.h \
diff --git a/src/ephy-shell.c b/src/ephy-shell.c
index c436da1..fe6b04c 100644
--- a/src/ephy-shell.c
+++ b/src/ephy-shell.c
@@ -37,8 +37,6 @@
 #include "ephy-gui.h"
 #include "ephy-history-window.h"
 #include "ephy-lockdown.h"
-#include "ephy-network-manager-defines.h"
-#include "ephy-network-manager.h"
 #include "ephy-prefs.h"
 #include "ephy-profile-utils.h"
 #include "ephy-session.h"
@@ -63,7 +61,7 @@ struct _EphyShellPrivate {
   EggToolbarsModel *toolbars_model;
   EggToolbarsModel *fs_toolbars_model;
   EphyExtensionsManager *extensions_manager;
-  EphyNetworkManager *nm_proxy;
+  GNetworkMonitor *network_monitor;
   GtkWidget *bme;
   GtkWidget *history_window;
   GObject *pdm_dialog;
@@ -436,20 +434,18 @@ ephy_shell_new_window_cb (EphyEmbedSingle *single,
 }
 
 static void
-ephy_shell_sync_network_status (EphyNetworkManager *nm_proxy,
-                                NMState state,
+ephy_shell_sync_network_status (GNetworkMonitor *monitor,
+                                gboolean available,
                                 EphyShell *shell)
 {
   EphyShellPrivate *priv = shell->priv;
   EphyEmbedSingle *single;
-  gboolean net_status;
 
   if (!priv->embed_single_connected) return;
 
   single = EPHY_EMBED_SINGLE (ephy_embed_shell_get_embed_single (EPHY_EMBED_SHELL (shell)));
 
-  net_status = state == NM_STATE_CONNECTED_GLOBAL;
-  ephy_embed_single_set_network_status (single, net_status);
+  ephy_embed_single_set_network_status (single, available);
 }
 
 static GObject*
@@ -471,8 +467,8 @@ impl_get_embed_single (EphyEmbedShell *embed_shell)
 
     /* Now we need the net monitor   */
     if (ephy_shell_get_net_monitor (shell)) {
-        ephy_shell_sync_network_status (priv->nm_proxy,
-                                        ephy_network_manager_get_state (priv->nm_proxy),
+        ephy_shell_sync_network_status (priv->network_monitor,
+                                        g_network_monitor_get_network_available (priv->network_monitor),
                                         shell);
     }
   }
@@ -563,12 +559,12 @@ ephy_shell_dispose (GObject *object)
     priv->bookmarks = NULL;
   }
 
-  if (priv->nm_proxy != NULL) {
+  if (priv->network_monitor != NULL) {
     LOG ("Unref net monitor ");
     g_signal_handlers_disconnect_by_func
-      (priv->nm_proxy, G_CALLBACK (ephy_shell_sync_network_status), shell);
-    g_object_unref (priv->nm_proxy);
-    priv->nm_proxy = NULL;
+      (priv->network_monitor, G_CALLBACK (ephy_shell_sync_network_status), shell);
+    g_object_unref (priv->network_monitor);
+    priv->network_monitor = NULL;
   }
 
   G_OBJECT_CLASS (ephy_shell_parent_class)->dispose (object);
@@ -917,18 +913,13 @@ ephy_shell_get_net_monitor (EphyShell *shell)
 {
   EphyShellPrivate *priv = shell->priv;
 
-  if (priv->nm_proxy == NULL) {
-    priv->nm_proxy = ephy_network_manager_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
-                                                                  G_DBUS_PROXY_FLAGS_NONE,
-                                                                  NM_DBUS_SERVICE,
-                                                                  NM_DBUS_PATH,
-                                                                  NULL,
-                                                                  NULL);
-    g_signal_connect (priv->nm_proxy, "state-changed",
+  if (priv->network_monitor == NULL) {
+    priv->network_monitor = g_network_monitor_get_default ();
+    g_signal_connect (priv->network_monitor, "network-changed",
                       G_CALLBACK (ephy_shell_sync_network_status), shell);
   }
 
-  return G_OBJECT (priv->nm_proxy);
+  return G_OBJECT (priv->network_monitor);
 }
 
 static void



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