summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denis.kenzior@intel.com>2009-09-01 17:08:37 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-09-01 18:14:57 -0500
commit390bd821094dceee3215718cf27cecd2709e14eb (patch)
tree18167512605c27b66b7b2b7e09c1d5fe5fc283f5
parent7ee954b28ae62e15838a82dbfa9eab4a88eca70f (diff)
downloadofono-390bd821094dceee3215718cf27cecd2709e14eb.tar.bz2
Add vendor parameter to call-meter
-rw-r--r--drivers/atmodem/call-meter.c6
-rw-r--r--drivers/isimodem/call-meter.c5
-rw-r--r--drivers/isimodem/isimodem.c2
-rw-r--r--include/call-meter.h3
-rw-r--r--plugins/generic_at.c2
-rw-r--r--src/call-meter.c4
6 files changed, 13 insertions, 9 deletions
diff --git a/drivers/atmodem/call-meter.c b/drivers/atmodem/call-meter.c
index 15c270fc..2b68d058 100644
--- a/drivers/atmodem/call-meter.c
+++ b/drivers/atmodem/call-meter.c
@@ -365,9 +365,11 @@ static void at_call_meter_initialized(gboolean ok, GAtResult *result,
ofono_call_meter_register(cm);
}
-static int at_caoc_probe(struct ofono_call_meter *cm)
+static int at_caoc_probe(struct ofono_call_meter *cm, int vendor, void *data)
{
- GAtChat *chat = ofono_call_meter_get_data(cm);
+ GAtChat *chat = data;
+
+ ofono_call_meter_set_data(cm, chat);
g_at_chat_send(chat, "AT+CAOC=2", NULL, NULL, NULL, NULL);
g_at_chat_send(chat, "AT+CCWE=1", NULL,
diff --git a/drivers/isimodem/call-meter.c b/drivers/isimodem/call-meter.c
index 7a7930f7..712b98ee 100644
--- a/drivers/isimodem/call-meter.c
+++ b/drivers/isimodem/call-meter.c
@@ -87,9 +87,10 @@ static void isi_puct_set(struct ofono_call_meter *cm, const char *currency,
{
}
-static int isi_call_meter_probe(struct ofono_call_meter *cm)
+static int isi_call_meter_probe(struct ofono_call_meter *cm, int vendor,
+ void *user)
{
- GIsiModem *idx = ofono_call_meter_get_data(cm);
+ GIsiModem *idx = user;
struct call_meter_data *data = g_try_new0(struct call_meter_data, 1);
if (!data)
diff --git a/drivers/isimodem/isimodem.c b/drivers/isimodem/isimodem.c
index bac07fc0..becda1f5 100644
--- a/drivers/isimodem/isimodem.c
+++ b/drivers/isimodem/isimodem.c
@@ -160,7 +160,7 @@ static int isi_modem_populate(struct ofono_modem *modem)
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);
+ ofono_call_meter_create(isi->modem, 0, "isi", isi->idx);
return 0;
}
diff --git a/include/call-meter.h b/include/call-meter.h
index b86937e2..bb8d05c6 100644
--- a/include/call-meter.h
+++ b/include/call-meter.h
@@ -42,7 +42,7 @@ typedef void(*ofono_call_meter_set_cb_t)(const struct ofono_error *error,
struct ofono_call_meter_driver {
const char *name;
- int (*probe)(struct ofono_call_meter *cm);
+ int (*probe)(struct ofono_call_meter *cm, int vendor, void *data);
int (*remove)(struct ofono_call_meter *cm);
void (*call_meter_query)(struct ofono_call_meter *cm,
ofono_call_meter_query_cb_t cb, void *data);
@@ -66,6 +66,7 @@ int ofono_call_meter_driver_register(const struct ofono_call_meter_driver *d);
void ofono_call_meter_driver_unregister(const struct ofono_call_meter_driver *d);
struct ofono_call_meter *ofono_call_meter_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 0a7b214d..a8dd8dd0 100644
--- a/plugins/generic_at.c
+++ b/plugins/generic_at.c
@@ -516,7 +516,7 @@ static int generic_at_populate(struct ofono_modem *modem)
ofono_call_settings_create(modem, "generic_at", chat);
ofono_netreg_create(modem, "generic_at", chat);
ofono_voicecall_create(modem, "generic_at", chat);
- ofono_call_meter_create(modem, "generic_at", chat);
+ ofono_call_meter_create(modem, 0, "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);
diff --git a/src/call-meter.c b/src/call-meter.c
index 6030e547..b56169cd 100644
--- a/src/call-meter.c
+++ b/src/call-meter.c
@@ -717,6 +717,7 @@ static void call_meter_remove(struct ofono_atom *atom)
}
struct ofono_call_meter *ofono_call_meter_create(struct ofono_modem *modem,
+ int vendor,
const char *driver,
void *data)
{
@@ -731,7 +732,6 @@ struct ofono_call_meter *ofono_call_meter_create(struct ofono_modem *modem,
if (cm == NULL)
return NULL;
- cm->driver_data = data;
cm->atom = __ofono_modem_add_atom(modem,
OFONO_ATOM_TYPE_CALL_METER,
call_meter_remove, cm);
@@ -742,7 +742,7 @@ struct ofono_call_meter *ofono_call_meter_create(struct ofono_modem *modem,
if (g_strcmp0(drv->name, driver))
continue;
- if (drv->probe(cm) < 0)
+ if (drv->probe(cm, vendor, data) < 0)
continue;
cm->driver = drv;