[tracker] libtracker-miner: port to libnm



commit 8c2b6951b666d24a4b1c0bad169cc725c01e7b9b
Author: Lubomir Rintel <lkundrak v3 sk>
Date:   Thu Jan 12 16:27:24 2017 +0100

    libtracker-miner: port to libnm
    
    It's the perferred NetworkManager's library for a couple of years now
    already. Keep compatibility with the older one, since it's reasonably
    similar.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=777178

 configure.ac                                |    6 ++--
 meson.build                                 |    2 +-
 src/libtracker-miner/tracker-miner-online.c |   36 +++++++++------------------
 3 files changed, 16 insertions(+), 28 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 4ccacc3..093dd7a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -231,7 +231,6 @@ EDS_REQUIRED=2.32.0
 CAMEL_REQUIRED=2.32.0
 TAGLIB_REQUIRED=1.6
 LIBGRSS_REQUIRED=0.7
-NETWORK_MANAGER_REQUIRED=0.8
 GSTREAMER_REQUIRED=0.10.31
 GUPNP_DLNA_REQUIRED=0.9.4
 LIBPNG_REQUIRED=1.2
@@ -946,8 +945,9 @@ AC_ARG_ENABLE(network_manager,
               [enable_network_manager=auto])
 
 if test "x$enable_network_manager" != "xno"; then
+
    PKG_CHECK_MODULES(NETWORK_MANAGER,
-                     [libnm-glib >= $NETWORK_MANAGER_REQUIRED],
+                     [libnm],
                      [have_network_manager=yes],
                      [have_network_manager=no])
 
@@ -961,7 +961,7 @@ fi
 
 if test "x$enable_network_manager" = "xyes"; then
    if test "x$have_network_manager" != "xyes"; then
-      AC_MSG_ERROR([Could not find libnm-glib >= $NETWORK_MANAGER_REQUIRED.])
+      AC_MSG_ERROR([Could not find libnm.])
    fi
 fi
 
diff --git a/meson.build b/meson.build
index c306bf0..ed930cf 100644
--- a/meson.build
+++ b/meson.build
@@ -53,7 +53,7 @@ libsoup = dependency('libsoup-2.4', version: '> 2.40', required: true)
 libtiff = dependency('libtiff-4', required: false)
 libxml2 = dependency('libxml-2.0', version: '> 2.6')
 libvorbis = dependency('vorbisfile', version: '> 0.22')
-network_manager = dependency('libnm-glib', version: '> 0.8', required: false)
+network_manager = dependency('libnm')
 poppler = dependency('poppler-glib', version: '> 0.16.0', required: false)
 sqlite = dependency('sqlite3', version: '>' + sqlite_required)
 taglib = dependency('taglib_c', version: '> 1.6', required: false)
diff --git a/src/libtracker-miner/tracker-miner-online.c b/src/libtracker-miner/tracker-miner-online.c
index b1f1a6e..9717f3a 100644
--- a/src/libtracker-miner/tracker-miner-online.c
+++ b/src/libtracker-miner/tracker-miner-online.c
@@ -26,21 +26,7 @@
 #include <glib/gi18n.h>
 
 #ifdef HAVE_NETWORK_MANAGER
-#include <libnm-glib/nm-client.h>
-
-#ifndef NM_CHECK_VERSION
-#define NM_CHECK_VERSION(x,y,z) (0)
-#endif /* NM_CHECK_VERSION */
-
-#include <libnm-glib/nm-device-ethernet.h>
-#include <libnm-glib/nm-device-wifi.h>
-#if (NM_CHECK_VERSION (0,8,992))
-#include <libnm-glib/nm-device-modem.h>
-#include <libnm-glib/nm-device-wimax.h>
-#else
-#include <libnm-glib/nm-gsm-device.h>
-#include <libnm-glib/nm-cdma-device.h>
-#endif
+#include <NetworkManager.h>
 #endif /* HAVE_NETWORK_MANAGER */
 
 /**
@@ -241,19 +227,17 @@ _nm_client_get_network_type (NMClient *nm_client)
        NMActiveConnection *default_active_connection;
        const GPtrArray *devices;
        NMDevice *device;
+       NMState state;
 
-       if (!nm_client_get_manager_running (nm_client)) {
+       if (!nm_client_get_nm_running (nm_client)) {
                return TRACKER_NETWORK_TYPE_UNKNOWN;
        }
 
-       switch (nm_client_get_state (nm_client)) {
-       case NM_STATE_UNKNOWN:
+       state = nm_client_get_state (nm_client);
+       if (state == NM_STATE_UNKNOWN)
+               return TRACKER_NETWORK_TYPE_UNKNOWN;
+       if (state <= NM_STATE_DISCONNECTING)
                return TRACKER_NETWORK_TYPE_UNKNOWN;
-       case NM_STATE_CONNECTED:
-               break;
-       default:
-               return TRACKER_NETWORK_TYPE_NONE;
-       }
 
        default_active_connection = find_default_active_connection (nm_client);
 
@@ -379,7 +363,11 @@ miner_online_initable_init (GInitable     *initable,
        }
 
 #ifdef HAVE_NETWORK_MANAGER
-       priv->client = nm_client_new ();
+       priv->client = nm_client_new (NULL, error);
+       if (!priv->client) {
+               g_prefix_error (error, "Couldn't create NetworkManager client: ");
+               return FALSE;
+       }
        g_signal_connect (priv->client, "notify::state",
                          G_CALLBACK (_nm_client_state_notify_cb), miner);
        network_type = _nm_client_get_network_type (priv->client);


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