static gboolean query_manufacturer(gpointer user) { struct ofono_devinfo *info = user; if (info->driver->query_manufacturer == NULL) { query_model(info); return FALSE; } info->driver->query_manufacturer(info, query_manufacturer_cb, info); return FALSE; }
static void query_manufacturer_cb(const struct ofono_error *error, const char *manufacturer, void *user) { struct ofono_devinfo *info = user; DBusConnection *conn = ofono_dbus_get_connection(); const char *path = __ofono_atom_get_path(info->atom); if (error->type != OFONO_ERROR_TYPE_NO_ERROR) goto out; info->manufacturer = g_strdup(manufacturer); ofono_dbus_signal_property_changed(conn, path, OFONO_MODEM_INTERFACE, "Manufacturer", DBUS_TYPE_STRING, &info->manufacturer); out: query_model(info); }