Sending PHONE_EVENT_ONLINE only once all configured plug-ins have initialized
This commit is contained in:
parent
6d8c7fd101
commit
3ad04fff22
@ -110,6 +110,8 @@ PhonePlugin plugin =
|
||||
/* private */
|
||||
/* functions */
|
||||
/* profiles_init */
|
||||
static gboolean _init_idle(gpointer data);
|
||||
|
||||
static int _profiles_init(PhonePlugin * plugin)
|
||||
{
|
||||
Profiles * profiles;
|
||||
@ -146,11 +148,21 @@ static int _profiles_init(PhonePlugin * plugin)
|
||||
}
|
||||
pa_context_connect(profiles->pac, NULL, 0, NULL);
|
||||
pa_threaded_mainloop_start(profiles->pam);
|
||||
/* XXX may already be online, may not be desired */
|
||||
plugin->helper->event(plugin->helper->phone, PHONE_EVENT_ONLINE);
|
||||
profiles->source = g_idle_add(_init_idle, plugin);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static gboolean _init_idle(gpointer data)
|
||||
{
|
||||
PhonePlugin * plugin = data;
|
||||
Profiles * profiles = plugin->priv;
|
||||
|
||||
/* FIXME may already be online, may not be desired */
|
||||
plugin->helper->event(plugin->helper->phone, PHONE_EVENT_ONLINE);
|
||||
profiles->source = 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/* profiles_destroy */
|
||||
static int _profiles_destroy(PhonePlugin * plugin)
|
||||
|
Loading…
Reference in New Issue
Block a user