From: Daniel Wagner <[email protected]>
---
include/notifier.h | 2 ++
src/connman.h | 2 ++
src/notifier.c | 13 +++++++++++++
src/service.c | 2 ++
4 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/include/notifier.h b/include/notifier.h
index 7ac7c99..896eaae 100644
--- a/include/notifier.h
+++ b/include/notifier.h
@@ -53,6 +53,8 @@ struct connman_notifier {
enum connman_service_state state);
void (*ipconfig_changed) (struct connman_service *service,
struct connman_ipconfig *ipconfig);
+ void (*roaming_changed) (struct connman_service *service,
+ connman_bool_t roaming);
};
int connman_notifier_register(struct connman_notifier *notifier);
diff --git a/src/connman.h b/src/connman.h
index f80268e..e564068 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -607,6 +607,8 @@ void __connman_notifier_service_state_changed(struct
connman_service *service,
enum connman_service_state state);
void __connman_notifier_ipconfig_changed(struct connman_service *service,
struct connman_ipconfig *ipconfig);
+void __connman_notifier_roaming_changed(struct connman_service *service,
+ connman_bool_t roaming);
connman_bool_t __connman_notifier_is_registered(enum connman_service_type
type);
connman_bool_t __connman_notifier_is_enabled(enum connman_service_type type);
diff --git a/src/notifier.c b/src/notifier.c
index 27e53a1..ce86fe2 100644
--- a/src/notifier.c
+++ b/src/notifier.c
@@ -474,6 +474,19 @@ void __connman_notifier_ipconfig_changed(struct
connman_service *service,
}
}
+void __connman_notifier_roaming_changed(struct connman_service *service,
+ connman_bool_t roaming)
+{
+ GSList *list;
+
+ for (list = notifier_list; list; list = list->next) {
+ struct connman_notifier *notifier = list->data;
+
+ if (notifier->roaming_changed)
+ notifier->roaming_changed(service, roaming);
+ }
+}
+
static connman_bool_t technology_supported(enum connman_service_type type)
{
switch (type) {
diff --git a/src/service.c b/src/service.c
index 290781b..acc32f8 100644
--- a/src/service.c
+++ b/src/service.c
@@ -883,6 +883,8 @@ static void immutable_changed(struct connman_service
*service)
static void roaming_changed(struct connman_service *service)
{
+ __connman_notifier_roaming_changed(service, service->roaming);
+
if (service->path == NULL)
return;
--
1.7.4
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman