---
 include/storage.h |    3 +++
 src/connman.h     |    2 ++
 src/storage.c     |   36 ++++++++++++++++++++++++++++++++++++
 3 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/include/storage.h b/include/storage.h
index 4cee761..d41eaf2 100644
--- a/include/storage.h
+++ b/include/storage.h
@@ -49,6 +49,9 @@ struct connman_storage {
        enum connman_service_type service_type;
        int (*service_load) (struct connman_service *service);
        int (*service_save) (struct connman_service *service);
+       enum connman_network_type network_type;
+       int (*network_load) (struct connman_network *network);
+       int (*network_save) (struct connman_network *network);
        enum connman_device_type device_type;
        int (*device_load) (struct connman_device *device);
        int (*device_save) (struct connman_device *device);
diff --git a/src/connman.h b/src/connman.h
index 848fe43..741eeee 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -134,6 +134,8 @@ int __connman_storage_load_profile(struct connman_profile 
*profile);
 int __connman_storage_save_profile(struct connman_profile *profile);
 int __connman_storage_load_service(struct connman_service *service);
 int __connman_storage_save_service(struct connman_service *service);
+int __connman_storage_load_network(struct connman_network *network);
+int __connman_storage_save_network(struct connman_network *network);
 int __connman_storage_load_device(struct connman_device *device);
 int __connman_storage_save_device(struct connman_device *device);
 
diff --git a/src/storage.c b/src/storage.c
index 0472169..4e85bd4 100644
--- a/src/storage.c
+++ b/src/storage.c
@@ -270,6 +270,42 @@ int __connman_storage_save_device(struct connman_device 
*device)
        return -ENOENT;
 }
 
+int __connman_storage_load_network(struct connman_network *network)
+{
+       GSList *list;
+
+       DBG("network %p", network);
+
+       for (list = storage_list; list; list = list->next) {
+               struct connman_storage *storage = list->data;
+
+               if (storage->network_load) {
+                       if (storage->network_load(network) == 0)
+                               return 0;
+               }
+       }
+
+       return -ENOENT;
+}
+
+int __connman_storage_save_network(struct connman_network *network)
+{
+       GSList *list;
+
+       DBG("network %p", network);
+
+       for (list = storage_list; list; list = list->next) {
+               struct connman_storage *storage = list->data;
+
+               if (storage->network_save) {
+                       if (storage->network_save(network) == 0)
+                               return 0;
+               }
+       }
+
+       return -ENOENT;
+}
+
 int __connman_storage_init(void)
 {
        DBG("");
-- 
1.6.1.3

_______________________________________________
connman mailing list
connman@connman.net
http://lists.connman.net/listinfo/connman

Reply via email to