config: Read only wifi config
authorJukka Rissanen <jukka.rissanen@linux.intel.com>
Mon, 18 Feb 2013 15:23:30 +0000 (17:23 +0200)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Tue, 19 Feb 2013 10:22:36 +0000 (12:22 +0200)
include/provision.h
plugins/wifi.c
src/config.c

index f154d4f..d6d7c72 100644 (file)
@@ -42,7 +42,7 @@ struct connman_config_entry {
        connman_bool_t hidden;
 };
 
-struct connman_config_entry **connman_config_get_entries(void);
+struct connman_config_entry **connman_config_get_entries(const char *type);
 void connman_config_free_entries(struct connman_config_entry **entries);
 
 #ifdef __cplusplus
index 1e9d28c..4b097fc 100644 (file)
@@ -424,7 +424,7 @@ static int get_hidden_connections(int max_ssids,
        /*
         * Check if there are any hidden AP that needs to be provisioned.
         */
-       entries = connman_config_get_entries();
+       entries = connman_config_get_entries("wifi");
        for (i = 0; entries && entries[i]; i++) {
                int len;
 
index 686d8ce..6321663 100644 (file)
@@ -842,7 +842,7 @@ int __connman_config_provision_service_ident(struct connman_service *service,
        return ret;
 }
 
-struct connman_config_entry **connman_config_get_entries(void)
+struct connman_config_entry **connman_config_get_entries(const char *type)
 {
        GHashTableIter iter_file, iter_config;
        gpointer value, key;
@@ -866,6 +866,10 @@ struct connman_config_entry **connman_config_get_entries(void)
                                                        &value) == TRUE) {
                        struct connman_config_service *config = value;
 
+                       if (type != NULL &&
+                                       g_strcmp0(config->type, type) != 0)
+                               continue;
+
                        entries[i] = g_try_new0(struct connman_config_entry,
                                                1);
                        if (entries[i] == NULL)