summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denis.kenzior@intel.com>2009-09-01 16:57:24 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-09-01 18:14:57 -0500
commit15b1a733b0a3a99adcf619b82ee4304a43ade4dd (patch)
tree49d996399c2cdeb8a7ffa26002026daafd4feaa2
parent3f5851f4e9d64755af366dd4e349c2f08062a8b8 (diff)
downloadofono-15b1a733b0a3a99adcf619b82ee4304a43ade4dd.tar.bz2
Introduce vendor parameter to call-barring
-rw-r--r--drivers/atmodem/call-barring.c6
-rw-r--r--drivers/isimodem/call-barring.c5
-rw-r--r--drivers/isimodem/isimodem.c2
-rw-r--r--include/call-barring.h3
-rw-r--r--plugins/generic_at.c2
-rw-r--r--src/call-barring.c7
6 files changed, 16 insertions, 9 deletions
diff --git a/drivers/atmodem/call-barring.c b/drivers/atmodem/call-barring.c
index f2ac438d..1009f0bd 100644
--- a/drivers/atmodem/call-barring.c
+++ b/drivers/atmodem/call-barring.c
@@ -206,8 +206,12 @@ static gboolean at_call_barring_register(gpointer user)
return FALSE;
}
-static int at_call_barring_probe(struct ofono_call_barring *cb)
+static int at_call_barring_probe(struct ofono_call_barring *cb, int vendor,
+ void *user)
{
+ GAtChat *chat = user;
+
+ ofono_call_barring_set_data(cb, chat);
g_idle_add(at_call_barring_register, cb);
return 0;
diff --git a/drivers/isimodem/call-barring.c b/drivers/isimodem/call-barring.c
index a35dd9bc..d091930c 100644
--- a/drivers/isimodem/call-barring.c
+++ b/drivers/isimodem/call-barring.c
@@ -65,9 +65,10 @@ static void isi_set_passwd(struct ofono_call_barring *barr, const char *lock,
{
}
-static int isi_call_barring_probe(struct ofono_call_barring *barr)
+static int isi_call_barring_probe(struct ofono_call_barring *barr, int vendor,
+ void *user)
{
- GIsiModem *idx = ofono_call_barring_get_data(barr);
+ GIsiModem *idx = user;
struct call_barring_data *data = g_try_new0(struct call_barring_data, 1);
if (!data)
diff --git a/drivers/isimodem/isimodem.c b/drivers/isimodem/isimodem.c
index 3f3d179d..22e467ed 100644
--- a/drivers/isimodem/isimodem.c
+++ b/drivers/isimodem/isimodem.c
@@ -159,7 +159,7 @@ static int isi_modem_populate(struct ofono_modem *modem)
ofono_ussd_create(isi->modem, "isi", isi->idx);
ofono_call_forwarding_create(isi->modem, "isi", isi->idx);
ofono_call_settings_create(isi->modem, "isi", isi->idx);
- ofono_call_barring_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);
return 0;
diff --git a/include/call-barring.h b/include/call-barring.h
index 04f18c55..6350ec64 100644
--- a/include/call-barring.h
+++ b/include/call-barring.h
@@ -37,7 +37,7 @@ typedef void (*ofono_call_barring_query_cb_t)(const struct ofono_error *error,
struct ofono_call_barring_driver {
const char *name;
- int (*probe)(struct ofono_call_barring *cb);
+ int (*probe)(struct ofono_call_barring *cb, int vendor, void *data);
int (*remove)(struct ofono_call_barring *cb);
void (*set)(struct ofono_call_barring *barr, const char *lock,
int enable, const char *passwd, int cls,
@@ -53,6 +53,7 @@ int ofono_call_barring_driver_register(const struct ofono_call_barring_driver *d
void ofono_call_barring_driver_unregister(const struct ofono_call_barring_driver *d);
struct ofono_call_barring *ofono_call_barring_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 d93a154f..0676ae86 100644
--- a/plugins/generic_at.c
+++ b/plugins/generic_at.c
@@ -517,7 +517,7 @@ static int generic_at_populate(struct ofono_modem *modem)
ofono_netreg_create(modem, "generic_at", chat);
ofono_voicecall_create(modem, "generic_at", chat);
ofono_call_meter_create(modem, "generic_at", chat);
- ofono_call_barring_create(modem, "generic_at", chat);
+ ofono_call_barring_create(modem, 0, "generic_at", chat);
ofono_ssn_create(modem, "generic_at", chat);
ofono_sms_create(modem, "generic_at", chat);
ofono_phonebook_create(modem, "generic_at", chat);
diff --git a/src/call-barring.c b/src/call-barring.c
index a88cc616..2e831f84 100644
--- a/src/call-barring.c
+++ b/src/call-barring.c
@@ -1098,7 +1098,9 @@ static void call_barring_remove(struct ofono_atom *atom)
}
struct ofono_call_barring *ofono_call_barring_create(struct ofono_modem *modem,
- const char *driver, void *data)
+ int vendor,
+ const char *driver,
+ void *data)
{
struct ofono_call_barring *cb;
GSList *l;
@@ -1116,7 +1118,6 @@ struct ofono_call_barring *ofono_call_barring_create(struct ofono_modem *modem,
cb->cur_locks = g_new0(int, lcount);
cb->new_locks = g_new0(int, lcount);
- cb->driver_data = data;
cb->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_CALL_BARRING,
call_barring_remove, cb);
@@ -1126,7 +1127,7 @@ struct ofono_call_barring *ofono_call_barring_create(struct ofono_modem *modem,
if (g_strcmp0(drv->name, driver))
continue;
- if (drv->probe(cb) < 0)
+ if (drv->probe(cb, vendor, data) < 0)
continue;
cb->driver = drv;