diff --git a/src/NetworkManager.c b/src/NetworkManager.c index a79d5c86ec..257a996a0e 100644 --- a/src/NetworkManager.c +++ b/src/NetworkManager.c @@ -329,6 +329,7 @@ static gboolean parse_state_file (const char *filename, gboolean *net_enabled, gboolean *wifi_enabled, + gboolean *wwan_enabled, GError **error) { GKeyFile *state_file; @@ -337,6 +338,7 @@ parse_state_file (const char *filename, g_return_val_if_fail (net_enabled != NULL, FALSE); g_return_val_if_fail (wifi_enabled != NULL, FALSE); + g_return_val_if_fail (wwan_enabled != NULL, FALSE); state_file = g_key_file_new (); if (!state_file) { @@ -374,6 +376,7 @@ parse_state_file (const char *filename, /* Write out the initial state to the state file */ g_key_file_set_boolean (state_file, "main", "NetworkingEnabled", *net_enabled); g_key_file_set_boolean (state_file, "main", "WirelessEnabled", *wifi_enabled); + g_key_file_set_boolean (state_file, "main", "WWANEnabled", *wwan_enabled); data = g_key_file_to_data (state_file, &len, NULL); if (data) @@ -426,7 +429,7 @@ main (int argc, char *argv[]) char *pidfile = NULL, *user_pidfile = NULL; char *config = NULL, *plugins = NULL; char *state_file = NM_DEFAULT_SYSTEM_STATE_FILE; - gboolean wifi_enabled = TRUE, net_enabled = TRUE; + gboolean wifi_enabled = TRUE, net_enabled = TRUE, wwan_enabled = TRUE; gboolean success; NMPolicy *policy = NULL; NMVPNManager *vpn_manager = NULL; @@ -509,7 +512,7 @@ main (int argc, char *argv[]) g_clear_error (&error); /* Parse the state file */ - if (!parse_state_file (state_file, &net_enabled, &wifi_enabled, &error)) { + if (!parse_state_file (state_file, &net_enabled, &wifi_enabled, &wwan_enabled, &error)) { g_warning ("State file %s parsing failed: (%d) %s.", state_file, error ? error->code : -1, @@ -583,7 +586,13 @@ main (int argc, char *argv[]) goto done; } - manager = nm_manager_get (config, plugins, state_file, net_enabled, wifi_enabled, &error); + manager = nm_manager_get (config, + plugins, + state_file, + net_enabled, + wifi_enabled, + wwan_enabled, + &error); if (manager == NULL) { nm_error ("Failed to initialize the network manager: %s", error && error->message ? error->message : "(unknown)"); diff --git a/src/nm-device-olpc-mesh.c b/src/nm-device-olpc-mesh.c index fb47cf7d56..ad81a5a78b 100644 --- a/src/nm-device-olpc-mesh.c +++ b/src/nm-device-olpc-mesh.c @@ -909,7 +909,7 @@ check_companion_cb (gpointer user_data) if (priv->device_added_cb != 0) return FALSE; - manager = nm_manager_get (NULL, NULL, NULL, FALSE, FALSE, NULL); + manager = nm_manager_get (NULL, NULL, NULL, FALSE, FALSE, FALSE, NULL); priv->device_added_cb = g_signal_connect (manager, "device-added", G_CALLBACK (device_added_cb), self); diff --git a/src/nm-manager.c b/src/nm-manager.c index 8ce6e90842..0d315f4bbc 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -2742,6 +2742,7 @@ nm_manager_get (const char *config_file, const char *state_file, gboolean initial_net_enabled, gboolean initial_wifi_enabled, + gboolean initial_wwan_enabled, GError **error) { static NMManager *singleton = NULL; diff --git a/src/nm-manager.h b/src/nm-manager.h index a17323d42f..5e8fcda11c 100644 --- a/src/nm-manager.h +++ b/src/nm-manager.h @@ -79,6 +79,7 @@ NMManager *nm_manager_get (const char *config_file, const char *state_file, gboolean initial_net_enabled, gboolean initial_wifi_enabled, + gboolean initial_wwan_enabled, GError **error); void nm_manager_start (NMManager *manager);