[epiphany] Use GNetworkMonitor to monitor network status
- From: Xan Lopez <xan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] Use GNetworkMonitor to monitor network status
- Date: Tue, 15 Nov 2011 16:16:25 +0000 (UTC)
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]