---
plugins/ofono.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 46 insertions(+), 8 deletions(-)
diff --git a/plugins/ofono.c b/plugins/ofono.c
index 4cc98c7..566f6e3 100644
--- a/plugins/ofono.c
+++ b/plugins/ofono.c
@@ -1764,6 +1764,10 @@ static gboolean sim_changed(DBusConnection *connection,
DBusMessage *message,
OFONO_API_CM) == TRUE) {
if (ready_to_create_device(modem) == TRUE)
create_device(modem);
+ } else if (has_interface(modem->interfaces,
+ OFONO_API_CDMA_CM) == TRUE) {
+ if (ready_to_create_device(modem) == TRUE)
+ create_device(modem);
}
}
@@ -1804,6 +1808,12 @@ static void sim_properties_reply(struct modem_data
*modem,
cm_get_properties(modem);
cm_get_contexts(modem);
}
+ } else if (has_interface(modem->interfaces,
+ OFONO_API_CDMA_CM) == TRUE) {
+ if (ready_to_create_device(modem) == TRUE)
+ create_device(modem);
+ if (modem->device != NULL)
+ cdma_cm_get_properties(modem);
}
return;
}
@@ -1856,13 +1866,21 @@ static gboolean modem_changed(DBusConnection
*connection, DBusMessage *message,
if (modem->online == FALSE)
return TRUE;
- if (has_interface(modem->interfaces, OFONO_API_CM) == FALSE)
- return TRUE;
- if (ready_to_create_device(modem) == TRUE)
- create_device(modem);
- if (modem->device != NULL) {
- cm_get_properties(modem);
- cm_get_contexts(modem);
+ if (has_interface(modem->interfaces, OFONO_API_CM) == FALSE) {
+ if (ready_to_create_device(modem) == TRUE)
+ create_device(modem);
+ if (modem->device != NULL) {
+ cm_get_properties(modem);
+ cm_get_contexts(modem);
+ }
+ } else if (has_interface(modem->interfaces,
+ OFONO_API_CDMA_CM) == TRUE) {
+ if (ready_to_create_device(modem) == TRUE)
+ create_device(modem);
+ if (modem->device != NULL) {
+ cdma_cm_get_properties(modem);
+ cdma_netreg_get_properties(modem);
+ }
}
} else if (g_str_equal(key, "Interfaces") == TRUE) {
modem->interfaces = extract_interfaces(&value);
@@ -1890,6 +1908,12 @@ static gboolean modem_changed(DBusConnection
*connection, DBusMessage *message,
cm_get_contexts(modem);
return TRUE;
}
+ } else if (has_interface(modem->interfaces,
+ OFONO_API_CDMA_CM) == TRUE) {
+ if (ready_to_create_device(modem) == TRUE)
+ create_device(modem);
+ if (modem->device != NULL)
+ cdma_cm_get_properties(modem);
} else {
if (modem->context != NULL) {
remove_cm_context(modem,
@@ -1905,7 +1929,9 @@ static gboolean modem_changed(DBusConnection *connection,
DBusMessage *message,
if (has_interface(modem->interfaces, OFONO_API_NETREG) == TRUE)
{
if (modem->attached == TRUE)
netreg_get_properties(modem);
- }
+ } else if (has_interface(modem->interfaces,
+ OFONO_API_CDMA_NETREG) == TRUE)
+ cdma_netreg_get_properties(modem);
} else if (g_str_equal(key, "Serial") == TRUE) {
char *serial;
@@ -1923,6 +1949,12 @@ static gboolean modem_changed(DBusConnection
*connection, DBusMessage *message,
cm_get_properties(modem);
cm_get_contexts(modem);
}
+ } else if (has_interface(modem->interfaces, OFONO_API_CDMA_CM)
+ == TRUE) {
+ if (ready_to_create_device(modem) == TRUE)
+ create_device(modem);
+ if (modem->device != NULL)
+ cdma_cm_get_properties(modem);
}
}
@@ -2012,6 +2044,12 @@ static void add_modem(const char *path, DBusMessageIter
*prop)
cm_get_properties(modem);
cm_get_contexts(modem);
}
+ } else if (has_interface(modem->interfaces, OFONO_API_CDMA_CM)
+ == TRUE) {
+ if (ready_to_create_device(modem) == TRUE)
+ create_device(modem);
+ if (modem->device != NULL)
+ cdma_cm_get_properties(modem);
}
}
--
1.7.1
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman