diff options
author | Denis Kenzior <denis.kenzior@intel.com> | 2009-09-01 17:03:43 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-09-01 18:14:57 -0500 |
commit | 7ee954b28ae62e15838a82dbfa9eab4a88eca70f (patch) | |
tree | 62f9d5f451fdc653882c8f4b7c34d0cd3def29e4 | |
parent | 15b1a733b0a3a99adcf619b82ee4304a43ade4dd (diff) | |
download | ofono-7ee954b28ae62e15838a82dbfa9eab4a88eca70f.tar.bz2 |
Add vendor flag to call-forwarding
-rw-r--r-- | drivers/atmodem/call-forwarding.c | 6 | ||||
-rw-r--r-- | drivers/isimodem/call-forwarding.c | 9 | ||||
-rw-r--r-- | drivers/isimodem/isimodem.c | 2 | ||||
-rw-r--r-- | include/call-forwarding.h | 3 | ||||
-rw-r--r-- | plugins/generic_at.c | 2 | ||||
-rw-r--r-- | src/call-forwarding.c | 4 |
6 files changed, 17 insertions, 9 deletions
diff --git a/drivers/atmodem/call-forwarding.c b/drivers/atmodem/call-forwarding.c index d6224680..24fd8332 100644 --- a/drivers/atmodem/call-forwarding.c +++ b/drivers/atmodem/call-forwarding.c @@ -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; diff --git a/drivers/isimodem/call-forwarding.c b/drivers/isimodem/call-forwarding.c index 08236c8c..ce5e40f0 100644 --- a/drivers/isimodem/call-forwarding.c +++ b/drivers/isimodem/call-forwarding.c @@ -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; diff --git a/drivers/isimodem/isimodem.c b/drivers/isimodem/isimodem.c index 22e467ed..bac07fc0 100644 --- a/drivers/isimodem/isimodem.c +++ b/drivers/isimodem/isimodem.c @@ -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); diff --git a/include/call-forwarding.h b/include/call-forwarding.h index 49702855..3f6ce443 100644 --- a/include/call-forwarding.h +++ b/include/call-forwarding.h @@ -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); diff --git a/plugins/generic_at.c b/plugins/generic_at.c index 0676ae86..0a7b214d 100644 --- a/plugins/generic_at.c +++ b/plugins/generic_at.c @@ -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); diff --git a/src/call-forwarding.c b/src/call-forwarding.c index 649040fa..7c66bec3 100644 --- a/src/call-forwarding.c +++ b/src/call-forwarding.c @@ -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; |