From: Samuel Ortiz Date: Tue, 30 Nov 2010 19:11:20 +0000 (+0100) Subject: technology: Add regulatory domain framework X-Git-Tag: accepted/2.0alpha-wayland/20121110.002834~2061 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fc5b4a1de772a71e6b0f67945b6ac790eaba50f5;p=profile%2Fivi%2Fconnman.git technology: Add regulatory domain framework --- diff --git a/include/technology.h b/include/technology.h index 7471a53..6117f8f 100644 --- a/include/technology.h +++ b/include/technology.h @@ -52,6 +52,8 @@ struct connman_technology_driver { int index); int (*set_tethering) (struct connman_technology *technology, const char *bridge, connman_bool_t enabled); + int (*set_regdom) (struct connman_technology *technology, + const char *alpha2); }; int connman_technology_driver_register(struct connman_technology_driver *driver); diff --git a/src/connman.h b/src/connman.h index 7dbd707..a2ffe10 100644 --- a/src/connman.h +++ b/src/connman.h @@ -318,6 +318,7 @@ void __connman_technology_remove_interface(enum connman_service_type type, int index, const char *name, const char *ident); int __connman_technology_enable_tethering(const char *bridge); int __connman_technology_disable_tethering(const char *bridge); +int __connman_technology_set_regdom(const char *alpha2); connman_bool_t __connman_technology_get_blocked(enum connman_service_type type); diff --git a/src/technology.c b/src/technology.c index 98fcf8d..d698ee9 100644 --- a/src/technology.c +++ b/src/technology.c @@ -216,6 +216,23 @@ int __connman_technology_disable_tethering(const char *bridge) return set_tethering(bridge, FALSE); } +int __connman_technology_set_regdom(const char *alpha2) +{ + GSList *list; + + for (list = technology_list; list; list = list->next) { + struct connman_technology *technology = list->data; + + if (technology->driver == NULL) + continue; + + if (technology->driver->set_regdom) + technology->driver->set_regdom(technology, alpha2); + } + + return 0; +} + static void free_rfkill(gpointer data) { struct connman_rfkill *rfkill = data;