mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-08 03:40:16 +01:00
core: add statefile support for WWAN devices
This commit is contained in:
parent
c80b729e77
commit
843c251d26
4 changed files with 15 additions and 4 deletions
|
|
@ -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)");
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue