Skip to content

Commit

Permalink
1. Optional networkmanager/modemmanages
Browse files Browse the repository at this point in the history
  • Loading branch information
filakhtov committed Dec 14, 2016
1 parent c80f86c commit 13a2308
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 21 deletions.
81 changes: 64 additions & 17 deletions configure.ac
Expand Up @@ -131,27 +131,69 @@ PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES libgnomekbd >= 2.91.91
#----------------------------------------------
# Network Manager Stuff

PKG_CHECK_MODULES(NETWORK_MANAGER, NetworkManager >= $NETWORK_MANAGER_REQUIRED_VERSION
libnm-glib >= $NETWORK_MANAGER_REQUIRED_VERSION
libnm-glib-vpn >= $NETWORK_MANAGER_REQUIRED_VERSION
libnm-util >= $NETWORK_MANAGER_REQUIRED_VERSION
libnm-gtk >= $NETWORK_MANAGER_APPLET_REQUIRED_VERSION
mm-glib >= $MODEM_MANAGER_REQUIRED_VERSION,
[have_networkmanager=yes], have_networkmanager=no)
if test "x$have_networkmanager" = xno ; then
AC_MSG_WARN(*** Network panel will not be built (NetworkManager or ModemManager not found) ***)
else
AC_DEFINE(BUILD_NETWORK, 1, [Define to 1 to build the Network panel])
AC_ARG_ENABLE(networkmanager,
AC_HELP_STRING([--disable-networkmanager],
[build NetworkManager support]),
[case "${enableval}" in
yes) enable_networkmanager=yes ;;
no) enable_networkmanager=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-networkmanager) ;;
esac],
[enable_networkmanager=yes]) dnl Enabled by default

if test "x$enable_networkmanager" = xyes; then
PKG_CHECK_MODULES(NETWORK_MANAGER, NetworkManager >= $NETWORK_MANAGER_REQUIRED_VERSION
libnm-glib >= $NETWORK_MANAGER_REQUIRED_VERSION
libnm-glib-vpn >= $NETWORK_MANAGER_REQUIRED_VERSION
libnm-util >= $NETWORK_MANAGER_REQUIRED_VERSION
libnm-gtk >= $NETWORK_MANAGER_APPLET_REQUIRED_VERSION,
[have_networkmanager=yes], have_networkmanager=no)
if test "x$have_networkmanager" = xno ; then
AC_MSG_ERROR(*** NetworkManager not found ***)
fi

AC_DEFINE(BUILD_NETWORK, 1, [Define to 1 to build the Network panel])

if test x${have_networkmanager} = xyes; then
AC_DEFINE(HAVE_NETWORK_MANAGER, 1, [Define to 1 if NetworkManager is available])
NM_VPN_CONFIG_DIR=`$PKG_CONFIG --variable configdir NetworkManager`/VPN
NM_VPN_MODULE_DIR=`$PKG_CONFIG --variable plugindir NetworkManager`
AC_SUBST(NM_VPN_CONFIG_DIR)
AC_SUBST(NM_VPN_MODULE_DIR)
fi
fi

AM_CONDITIONAL(BUILD_NETWORK, [test x$have_networkmanager = xyes])
if test x${have_networkmanager} = xyes; then
AC_DEFINE(HAVE_NETWORK_MANAGER, 1, [Define to 1 if NetworkManager is available])
NM_VPN_CONFIG_DIR=`$PKG_CONFIG --variable configdir NetworkManager`/VPN
NM_VPN_MODULE_DIR=`$PKG_CONFIG --variable plugindir NetworkManager`
AC_SUBST(NM_VPN_CONFIG_DIR)
AC_SUBST(NM_VPN_MODULE_DIR)

AC_ARG_ENABLE(modemmanager,
AC_HELP_STRING([--disable-modemmanager],
[build ModemManager support]),
[case "${enableval}" in
yes) enable_modemmanager=yes ;;
no) enable_modemmanager=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-modemmanager) ;;
esac],
[enable_modemmanager=yes]) dnl Enable by default

if test "x$enable_modemmanager" = xyes; then
if test "x$enable_networkmanager" = xno; then
AC_MSG_ERROR(*** NetworkManager is required by ModemManager ***)
fi
fi

if test "x$enable_modemmanager" = xyes; then
PKG_CHECK_MODULES(MODEM_MANAGER, mm-glib >= $MODEM_MANAGER_REQUIRED_VERSION,
[have_modemmanager=yes], have_modemmanager=no)

if test "x$have_modemmanager" = xno ; then
AC_MSG_ERROR(*** ModemManager not found ***)
fi

AC_DEFINE(BUILD_MODEM, 1, [Define 1 to build ModemManager support])
fi

AM_CONDITIONAL(BUILD_MODEM, [test x$have_modemmanager = xyes])

# Work-around for https://bugzilla.gnome.org/show_bug.cgi?id=723769
PKG_CHECK_MODULES(NM_UNSTABLE_CHECK, libnm-util >= 0.9.9.0, nm_unstable=yes, nm_unstable=no)
if test x$nm_unstable = xyes; then
Expand Down Expand Up @@ -381,6 +423,11 @@ if test "x$have_networkmanager" = "xyes"; then
else
AC_MSG_NOTICE([ Network panel disabled])
fi
if test "x$have_modemmanager" = "xyes"; then
AC_MSG_NOTICE([** ModemManager support enabled])
else
AC_MSG_NOTICE([ ModemManager support disabled])
fi
#if test "x$with_systemd" = "xyes"; then
# AC_MSG_NOTICE([** systemd (Systemd session tracking)])
#else
Expand Down
10 changes: 8 additions & 2 deletions panels/network/Makefile.am
Expand Up @@ -32,8 +32,6 @@ libnetwork_la_SOURCES = \
net-device-simple.h \
net-device-ethernet.c \
net-device-ethernet.h \
net-device-mobile.c \
net-device-mobile.h \
net-device-bond.c \
net-device-bond.h \
net-device-bridge.c \
Expand All @@ -51,6 +49,14 @@ libnetwork_la_SOURCES = \
cc-network-panel.c \
cc-network-panel.h

if BUILD_MODEM
libnetwork_la_SOURCES += \
net-device-mobile.c \
net-device-mobile.h
NETWORK_PANEL_CFLAGS += -DBUILD_MODEM
AM_CPPFLAGS += $(MODEM_MANAGER_CFLAGS)
endif

TEAM_FILES = net-device-team.c net-device-team.h
EXTRA_DIST = $(TEAM_FILES)
if HAVE_NM_UNSTABLE
Expand Down
12 changes: 10 additions & 2 deletions panels/network/cc-network-panel.c
Expand Up @@ -48,7 +48,9 @@
#include "network-dialogs.h"
#include "connection-editor/net-connection-editor.h"

#ifdef BUILD_MODEM
#include <libmm-glib.h>
#endif

CC_PANEL_REGISTER (CcNetworkPanel, cc_network_panel)

Expand All @@ -70,7 +72,11 @@ struct _CcNetworkPanelPrivate
GtkBuilder *builder;
GtkWidget *treeview;
NMClient *client;
#ifdef BUILD_MODEM
MMManager *modem_manager;
#else
void *modem_manager;
#endif
NMRemoteSettings *remote_settings;
gboolean updating_device;
guint nm_warning_idle;
Expand Down Expand Up @@ -1435,7 +1441,7 @@ cc_network_panel_init (CcNetworkPanel *panel)
G_CALLBACK (device_added_cb), panel);
g_signal_connect (panel->priv->client, "device-removed",
G_CALLBACK (device_removed_cb), panel);

#ifdef BUILD_MODEM
/* Setup ModemManager client */
system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
if (system_bus == NULL) {
Expand All @@ -1454,7 +1460,9 @@ cc_network_panel_init (CcNetworkPanel *panel)
}
g_object_unref (system_bus);
}

#else
panel->priv->modem_manager = NULL;
#endif
widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder,
"add_toolbutton"));
g_signal_connect (widget, "clicked",
Expand Down

0 comments on commit 13a2308

Please sign in to comment.