mirror of
https://gitlab.gnome.org/GNOME/calls.git
synced 2025-01-07 12:25:31 +00:00
ofono: use g_bus_watch_name
Otherwise the load plugins test fails in CI.
This commit is contained in:
parent
649da75a2f
commit
a32f6e4dc4
1 changed files with 36 additions and 6 deletions
|
@ -39,6 +39,8 @@ struct _CallsOfonoProvider
|
||||||
{
|
{
|
||||||
CallsProvider parent_instance;
|
CallsProvider parent_instance;
|
||||||
|
|
||||||
|
/** ID for the D-Bus watch */
|
||||||
|
guint watch_id;
|
||||||
/** D-Bus connection */
|
/** D-Bus connection */
|
||||||
GDBusConnection *connection;
|
GDBusConnection *connection;
|
||||||
/** D-Bus proxy for the oFono Manager object */
|
/** D-Bus proxy for the oFono Manager object */
|
||||||
|
@ -366,14 +368,14 @@ calls_ofono_provider_get_origins (CallsProvider *provider)
|
||||||
return G_LIST_MODEL (self->origins);
|
return G_LIST_MODEL (self->origins);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
constructed (GObject *object)
|
ofono_appeared_cb (GDBusConnection *connection,
|
||||||
|
const gchar *name,
|
||||||
|
const gchar *name_owner,
|
||||||
|
CallsOfonoProvider *self)
|
||||||
{
|
{
|
||||||
CallsOfonoProvider *self = CALLS_OFONO_PROVIDER (object);
|
g_autoptr (GError) error = NULL;
|
||||||
GError *error = NULL;
|
self->connection = connection;
|
||||||
|
|
||||||
self->connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
|
|
||||||
if (!self->connection)
|
if (!self->connection)
|
||||||
{
|
{
|
||||||
g_error ("Error creating D-Bus connection: %s",
|
g_error ("Error creating D-Bus connection: %s",
|
||||||
|
@ -403,6 +405,34 @@ constructed (GObject *object)
|
||||||
NULL,
|
NULL,
|
||||||
(GAsyncReadyCallback) get_modems_cb,
|
(GAsyncReadyCallback) get_modems_cb,
|
||||||
self);
|
self);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
ofono_vanished_cb (GDBusConnection *connection,
|
||||||
|
const gchar *name,
|
||||||
|
CallsOfonoProvider *self)
|
||||||
|
{
|
||||||
|
g_debug ("Ofono vanished from D-Bus");
|
||||||
|
g_list_store_remove_all (self->origins);
|
||||||
|
//update_status (self);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
constructed (GObject *object)
|
||||||
|
{
|
||||||
|
CallsOfonoProvider *self = CALLS_OFONO_PROVIDER (object);
|
||||||
|
|
||||||
|
self->watch_id =
|
||||||
|
g_bus_watch_name (G_BUS_TYPE_SYSTEM,
|
||||||
|
"org.ofono",
|
||||||
|
G_BUS_NAME_WATCHER_FLAGS_AUTO_START,
|
||||||
|
(GBusNameAppearedCallback) ofono_appeared_cb,
|
||||||
|
(GBusNameVanishedCallback) ofono_vanished_cb,
|
||||||
|
self, NULL);
|
||||||
|
|
||||||
|
g_debug ("Watching for Ofono");
|
||||||
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (calls_ofono_provider_parent_class)->constructed (object);
|
G_OBJECT_CLASS (calls_ofono_provider_parent_class)->constructed (object);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue