diff options
author | Aki Niemi <aki.niemi@nokia.com> | 2009-09-16 13:42:45 +0300 |
---|---|---|
committer | Aki Niemi <aki.niemi@nokia.com> | 2009-09-16 23:37:23 +0300 |
commit | 866c394882bdf64fd0fbefbf59c4eaf52f3d71fc (patch) | |
tree | 58adce7c683a0996666645102fc0fb603690f0f7 /drivers | |
parent | 0b28b0567822875b8d94c9fa373a647d9792d791 (diff) | |
download | ofono-866c394882bdf64fd0fbefbf59c4eaf52f3d71fc.tar.bz2 |
Add proper bootstrapping to phonebook driver
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/isimodem/phonebook.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/drivers/isimodem/phonebook.c b/drivers/isimodem/phonebook.c index 922c35be..7d0fe2d9 100644 --- a/drivers/isimodem/phonebook.c +++ b/drivers/isimodem/phonebook.c @@ -330,6 +330,21 @@ static gboolean isi_phonebook_register(gpointer user) return FALSE; } +static void reachable_cb(GIsiClient *client, bool alive, void *opaque) +{ + struct ofono_phonebook *pb = opaque; + + if (alive == true) { + DBG("Resource 0x%02X, with version %03d.%03d reachable", + g_isi_client_resource(client), + g_isi_version_major(client), + g_isi_version_minor(client)); + g_idle_add(isi_phonebook_register, pb); + return; + } + DBG("Unable to bootsrap phonebook driver"); +} + static int isi_phonebook_probe(struct ofono_phonebook *pb, unsigned int vendor, void *user) { @@ -347,10 +362,8 @@ static int isi_phonebook_probe(struct ofono_phonebook *pb, unsigned int vendor, ofono_phonebook_set_data(pb, data); - /* FIXME: If this is running on a phone itself, phonebook - * initialization needs to be done here */ - - g_idle_add(isi_phonebook_register, pb); + if (!g_isi_verify(data->client, reachable_cb, pb)) + DBG("Unable to verify reachability"); return 0; } |