mirror of git://git.sysmocom.de/ofono
Add vendor flag capability to phonebook
This commit is contained in:
parent
271b042488
commit
1fb9ecca46
|
@ -518,9 +518,10 @@ static void at_list_charsets(struct ofono_phonebook *pb)
|
||||||
phonebook_not_supported(pb);
|
phonebook_not_supported(pb);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int at_phonebook_probe(struct ofono_phonebook *pb)
|
static int at_phonebook_probe(struct ofono_phonebook *pb, int vendor,
|
||||||
|
void *data)
|
||||||
{
|
{
|
||||||
GAtChat *chat = ofono_phonebook_get_data(pb);
|
GAtChat *chat = data;
|
||||||
struct pb_data *pbd;
|
struct pb_data *pbd;
|
||||||
|
|
||||||
pbd = g_new0(struct pb_data, 1);
|
pbd = g_new0(struct pb_data, 1);
|
||||||
|
|
|
@ -150,7 +150,7 @@ static int isi_modem_populate(struct ofono_modem *modem)
|
||||||
struct isi_data *isi = ofono_modem_get_data(modem);
|
struct isi_data *isi = ofono_modem_get_data(modem);
|
||||||
|
|
||||||
ofono_devinfo_create(isi->modem, 0, "isi", isi->idx);
|
ofono_devinfo_create(isi->modem, 0, "isi", isi->idx);
|
||||||
ofono_phonebook_create(isi->modem, "isi", isi->idx);
|
ofono_phonebook_create(isi->modem, 0, "isi", isi->idx);
|
||||||
ofono_netreg_create(isi->modem, 0, "isi", isi->idx);
|
ofono_netreg_create(isi->modem, 0, "isi", isi->idx);
|
||||||
ofono_voicecall_create(isi->modem, "isi", isi->idx);
|
ofono_voicecall_create(isi->modem, "isi", isi->idx);
|
||||||
ofono_sms_create(isi->modem, "isi", isi->idx);
|
ofono_sms_create(isi->modem, "isi", isi->idx);
|
||||||
|
|
|
@ -376,9 +376,10 @@ static gboolean isi_phonebook_register(gpointer user)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int isi_phonebook_probe(struct ofono_phonebook *pb)
|
static int isi_phonebook_probe(struct ofono_phonebook *pb, int vendor,
|
||||||
|
void *user)
|
||||||
{
|
{
|
||||||
GIsiModem *idx = ofono_phonebook_get_data(pb);
|
GIsiModem *idx = user;
|
||||||
struct pb_data *data = g_try_new0(struct pb_data, 1);
|
struct pb_data *data = g_try_new0(struct pb_data, 1);
|
||||||
|
|
||||||
if (!data)
|
if (!data)
|
||||||
|
|
|
@ -38,7 +38,7 @@ typedef void (*ofono_phonebook_cb_t)(const struct ofono_error *error,
|
||||||
*/
|
*/
|
||||||
struct ofono_phonebook_driver {
|
struct ofono_phonebook_driver {
|
||||||
const char *name;
|
const char *name;
|
||||||
int (*probe)(struct ofono_phonebook *pb);
|
int (*probe)(struct ofono_phonebook *pb, int vendor, void *data);
|
||||||
int (*remove)(struct ofono_phonebook *pb);
|
int (*remove)(struct ofono_phonebook *pb);
|
||||||
void (*export_entries)(struct ofono_phonebook *pb, const char *storage,
|
void (*export_entries)(struct ofono_phonebook *pb, const char *storage,
|
||||||
ofono_phonebook_cb_t cb, void *data);
|
ofono_phonebook_cb_t cb, void *data);
|
||||||
|
@ -56,6 +56,7 @@ int ofono_phonebook_driver_register(const struct ofono_phonebook_driver *d);
|
||||||
void ofono_phonebook_driver_unregister(const struct ofono_phonebook_driver *d);
|
void ofono_phonebook_driver_unregister(const struct ofono_phonebook_driver *d);
|
||||||
|
|
||||||
struct ofono_phonebook *ofono_phonebook_create(struct ofono_modem *modem,
|
struct ofono_phonebook *ofono_phonebook_create(struct ofono_modem *modem,
|
||||||
|
int vendor,
|
||||||
const char *driver,
|
const char *driver,
|
||||||
void *data);
|
void *data);
|
||||||
|
|
||||||
|
|
|
@ -520,7 +520,7 @@ static int generic_at_populate(struct ofono_modem *modem)
|
||||||
ofono_call_barring_create(modem, 0, "generic_at", chat);
|
ofono_call_barring_create(modem, 0, "generic_at", chat);
|
||||||
ofono_ssn_create(modem, "generic_at", chat);
|
ofono_ssn_create(modem, "generic_at", chat);
|
||||||
ofono_sms_create(modem, "generic_at", chat);
|
ofono_sms_create(modem, "generic_at", chat);
|
||||||
ofono_phonebook_create(modem, "generic_at", chat);
|
ofono_phonebook_create(modem, 0, "generic_at", chat);
|
||||||
|
|
||||||
mw = ofono_message_waiting_create(modem);
|
mw = ofono_message_waiting_create(modem);
|
||||||
if (mw)
|
if (mw)
|
||||||
|
|
|
@ -537,6 +537,7 @@ static void phonebook_remove(struct ofono_atom *atom)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ofono_phonebook *ofono_phonebook_create(struct ofono_modem *modem,
|
struct ofono_phonebook *ofono_phonebook_create(struct ofono_modem *modem,
|
||||||
|
int vendor,
|
||||||
const char *driver, void *data)
|
const char *driver, void *data)
|
||||||
{
|
{
|
||||||
struct ofono_phonebook *pb;
|
struct ofono_phonebook *pb;
|
||||||
|
@ -551,7 +552,6 @@ struct ofono_phonebook *ofono_phonebook_create(struct ofono_modem *modem,
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
pb->vcards = g_string_new(NULL);
|
pb->vcards = g_string_new(NULL);
|
||||||
pb->driver_data = data;
|
|
||||||
pb->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_PHONEBOOK,
|
pb->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_PHONEBOOK,
|
||||||
phonebook_remove, pb);
|
phonebook_remove, pb);
|
||||||
|
|
||||||
|
@ -561,7 +561,7 @@ struct ofono_phonebook *ofono_phonebook_create(struct ofono_modem *modem,
|
||||||
if (g_strcmp0(drv->name, driver))
|
if (g_strcmp0(drv->name, driver))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (drv->probe(pb) < 0)
|
if (drv->probe(pb, vendor, data) < 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
pb->driver = drv;
|
pb->driver = drv;
|
||||||
|
|
Loading…
Reference in New Issue