void set_powered_cb(void *data, DBusMessage *reply, DBusError *error);
static Eina_Bool power_on_modem(void *data);
+void setup_new_modem(DBusMessageIter entry);
/*
* Per instance data
void modem_removed_cb(void *data, DBusMessage *msg)
{
- DBusMessageIter iter;
- const char *path;
-
- dbus_message_iter_init(msg, &iter);
- dbus_message_iter_get_basic(&iter, &path);
-
- json_t *object = json_object();
- json_object_set(object, "type", json_string("ModemRemoved"));
- json_object_set(object, "id", json_string(path));
- char *dump = json_dumps(object, 0);
- libwebsockets_broadcast(&protocols[PROTOCOL_DIALER], dump, strlen(dump));
- free(dump);
+ DBusMessageIter entry;
+ dbus_message_iter_init(msg, &entry);
+ setup_new_modem(entry);
}
}
}
-void
-get_modems_reply(void *data, DBusMessage *reply, DBusError *error)
+void setup_new_modem(DBusMessageIter entry)
{
- DBusMessageIter iter, entry;
- if (dbus_error_is_set(error)) {
- fprintf(stderr, "Error: %s - %s\n", error->name, error->message);
- return;
- }
-
- dbus_message_iter_init(reply, &iter);
- if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) {
- fprintf(stderr, "Unexpeced signature from ofono GetModems call\n");
- return;
- }
-
- dbus_message_iter_recurse(&iter, &entry);
-
while (dbus_message_iter_get_arg_type(&entry) == DBUS_TYPE_STRUCT) {
const char *path;
DBusMessageIter item, properties;
}
}
+void
+get_modems_reply(void *data, DBusMessage *reply, DBusError *error)
+{
+ DBusMessageIter iter, entry;
+ if (dbus_error_is_set(error)) {
+ fprintf(stderr, "Error: %s - %s\n", error->name, error->message);
+ return;
+ }
+
+ dbus_message_iter_init(reply, &iter);
+ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) {
+ fprintf(stderr, "Unexpeced signature from ofono GetModems call\n");
+ return;
+ }
+
+ dbus_message_iter_recurse(&iter, &entry);
+
+ setup_new_modem(entry);
+}
+
static struct option options[] = {
{ "help", no_argument, NULL, 'h' },
{ "port", required_argument, NULL, 'p' },