Constify GDBus signal tables
[platform/upstream/connman.git] / src / technology.c
index c523182..30a9f4d 100644 (file)
@@ -2,7 +2,7 @@
  *
  *  Connection Manager
  *
- *  Copyright (C) 2007-2010  Intel Corporation. All rights reserved.
+ *  Copyright (C) 2007-2012  Intel Corporation. All rights reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -292,6 +292,34 @@ static const char *get_name(enum connman_service_type type)
        return NULL;
 }
 
+static void save_state(struct connman_technology *technology)
+{
+       GKeyFile *keyfile;
+       gchar *identifier;
+
+       DBG("technology %p", technology);
+
+       keyfile = __connman_storage_load_global();
+       if (keyfile == NULL)
+               keyfile = g_key_file_new();
+
+       identifier = g_strdup_printf("%s", get_name(technology->type));
+       if (identifier == NULL)
+               goto done;
+
+       g_key_file_set_boolean(keyfile, identifier, "Enable",
+                               technology->enable_persistent);
+
+done:
+       g_free(identifier);
+
+       __connman_storage_save_global(keyfile);
+
+       g_key_file_free(keyfile);
+
+       return;
+}
+
 static void load_state(struct connman_technology *technology)
 {
        GKeyFile *keyfile;
@@ -324,6 +352,8 @@ static void load_state(struct connman_technology *technology)
                        technology->enable_persistent = TRUE;
                else
                        technology->enable_persistent = FALSE;
+
+               save_state(technology);
                g_clear_error(&error);
        }
 done:
@@ -334,34 +364,6 @@ done:
        return;
 }
 
-static void save_state(struct connman_technology *technology)
-{
-       GKeyFile *keyfile;
-       gchar *identifier;
-
-       DBG("technology %p", technology);
-
-       keyfile = __connman_storage_load_global();
-       if (keyfile == NULL)
-               keyfile = g_key_file_new();
-
-       identifier = g_strdup_printf("%s", get_name(technology->type));
-       if (identifier == NULL)
-               goto done;
-
-       g_key_file_set_boolean(keyfile, identifier, "Enable",
-                               technology->enable_persistent);
-
-done:
-       g_free(identifier);
-
-       __connman_storage_save_global(keyfile);
-
-       g_key_file_free(keyfile);
-
-       return;
-}
-
 connman_bool_t __connman_technology_get_offlinemode(void)
 {
        return global_offlinemode;
@@ -394,12 +396,12 @@ static connman_bool_t connman_technology_load_offlinemode()
        /* If there is a error, we enable offlinemode */
        keyfile = __connman_storage_load_global();
        if (keyfile == NULL)
-               return TRUE;
+               return FALSE;
 
        offlinemode = g_key_file_get_boolean(keyfile, "global",
                                                "OfflineMode", &error);
        if (error != NULL) {
-               offlinemode = TRUE;
+               offlinemode = FALSE;
                g_clear_error(&error);
        }
 
@@ -856,15 +858,16 @@ static DBusMessage *scan(DBusConnection *conn, DBusMessage *msg, void *data)
        return NULL;
 }
 
-static GDBusMethodTable technology_methods[] = {
-       { "GetProperties", "",   "a{sv}", get_properties },
+static const GDBusMethodTable technology_methods[] = {
+       { "GetProperties", "",   "a{sv}", get_properties,
+                                               G_DBUS_METHOD_FLAG_DEPRECATED },
        { "SetProperty",   "sv", "",      set_property   },
        { "Scan",          "",    "",     scan,
                                                G_DBUS_METHOD_FLAG_ASYNC },
        { },
 };
 
-static GDBusSignalTable technology_signals[] = {
+static const GDBusSignalTable technology_signals[] = {
        { "PropertyChanged", "sv" },
        { },
 };
@@ -1353,6 +1356,9 @@ int __connman_technology_init(void)
 
        global_offlinemode = connman_technology_load_offlinemode();
 
+       /* This will create settings file if it is missing */
+       connman_technology_save_offlinemode();
+
        return 0;
 }