--- 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