Add vendor flag to call-forwarding

This commit is contained in:
Denis Kenzior 2009-09-01 17:03:43 -05:00 committed by Denis Kenzior
parent 15b1a733b0
commit 7ee954b28a
6 changed files with 17 additions and 9 deletions

View File

@ -262,8 +262,12 @@ static gboolean at_ccfc_register(gpointer user)
return FALSE;
}
static int at_ccfc_probe(struct ofono_call_forwarding *cf)
static int at_ccfc_probe(struct ofono_call_forwarding *cf, int vendor,
void *data)
{
GAtChat *chat = data;
ofono_call_forwarding_set_data(cf, chat);
g_idle_add(at_ccfc_register, cf);
return 0;

View File

@ -79,10 +79,13 @@ static void isi_query(struct ofono_call_forwarding *cf, int type, int cls,
{
}
static int isi_call_forwarding_probe(struct ofono_call_forwarding *cf)
static int isi_call_forwarding_probe(struct ofono_call_forwarding *cf,
int vendor, void *user)
{
GIsiModem *idx = ofono_call_forwarding_get_data(cf);
struct call_forwarding_data *data = g_try_new0(struct call_forwarding_data, 1);
GIsiModem *idx = user;
struct call_forwarding_data *data;
data = g_try_new0(struct call_forwarding_data, 1);
if (!data)
return -ENOMEM;

View File

@ -157,7 +157,7 @@ static int isi_modem_populate(struct ofono_modem *modem)
ofono_sim_create(isi->modem, "isi", isi->idx);
ofono_ssn_create(isi->modem, "isi", isi->idx);
ofono_ussd_create(isi->modem, "isi", isi->idx);
ofono_call_forwarding_create(isi->modem, "isi", isi->idx);
ofono_call_forwarding_create(isi->modem, 0, "isi", isi->idx);
ofono_call_settings_create(isi->modem, "isi", isi->idx);
ofono_call_barring_create(isi->modem, 0, "isi", isi->idx);
ofono_call_meter_create(isi->modem, "isi", isi->idx);

View File

@ -47,7 +47,7 @@ typedef void (*ofono_call_forwarding_query_cb_t)(const struct ofono_error *error
struct ofono_call_forwarding_driver {
const char *name;
int (*probe)(struct ofono_call_forwarding *cf);
int (*probe)(struct ofono_call_forwarding *cf, int vendor, void *data);
int (*remove)(struct ofono_call_forwarding *cf);
void (*activation)(struct ofono_call_forwarding *cf,
int type, int cls,
@ -71,6 +71,7 @@ int ofono_call_forwarding_driver_register(const struct ofono_call_forwarding_dri
void ofono_call_forwarding_driver_unregister(const struct ofono_call_forwarding_driver *d);
struct ofono_call_forwarding *ofono_call_forwarding_create(struct ofono_modem *modem,
int vendor,
const char *driver,
void *data);

View File

@ -512,7 +512,7 @@ static int generic_at_populate(struct ofono_modem *modem)
ofono_devinfo_create(modem, "generic_at", chat);
ofono_ussd_create(modem, "generic_at", chat);
ofono_sim_create(modem, "generic_at", chat);
ofono_call_forwarding_create(modem, "generic_at", chat);
ofono_call_forwarding_create(modem, 0, "generic_at", chat);
ofono_call_settings_create(modem, "generic_at", chat);
ofono_netreg_create(modem, "generic_at", chat);
ofono_voicecall_create(modem, "generic_at", chat);

View File

@ -1147,6 +1147,7 @@ static void call_forwarding_remove(struct ofono_atom *atom)
}
struct ofono_call_forwarding *ofono_call_forwarding_create(struct ofono_modem *modem,
int vendor,
const char *driver,
void *data)
{
@ -1161,7 +1162,6 @@ struct ofono_call_forwarding *ofono_call_forwarding_create(struct ofono_modem *m
if (cf == NULL)
return NULL;
cf->driver_data = data;
cf->atom = __ofono_modem_add_atom(modem,
OFONO_ATOM_TYPE_CALL_FORWARDING,
call_forwarding_remove, cf);
@ -1171,7 +1171,7 @@ struct ofono_call_forwarding *ofono_call_forwarding_create(struct ofono_modem *m
if (g_strcmp0(drv->name, driver))
continue;
if (drv->probe(cf) < 0)
if (drv->probe(cf, vendor, data) < 0)
continue;
cf->driver = drv;