summaryrefslogtreecommitdiffstats
path: root/src/call-meter.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-08-14 15:50:02 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-08-14 16:31:48 -0500
commit3e50c22f57fb9b07a2364f7ca9241bffc63a9ac6 (patch)
tree40ffb042bbd028fe4ddad7a579e126f44ff3d0c4 /src/call-meter.c
parent8a64f93f301e84aee7d73a9d73669b79c770ba33 (diff)
downloadofono-3e50c22f57fb9b07a2364f7ca9241bffc63a9ac6.tar.bz2
Use atom's modem in call meter
Diffstat (limited to 'src/call-meter.c')
-rw-r--r--src/call-meter.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/call-meter.c b/src/call-meter.c
index dac72845..51f0a513 100644
--- a/src/call-meter.c
+++ b/src/call-meter.c
@@ -53,7 +53,6 @@ struct ofono_call_meter {
char currency[4];
const struct ofono_call_meter_driver *driver;
void *driver_data;
- struct ofono_modem *modem;
struct ofono_atom *atom;
};
@@ -68,7 +67,7 @@ static void set_call_meter(struct ofono_call_meter *cm, int value)
cm->call_meter = value;
conn = ofono_dbus_get_connection();
- path = ofono_modem_get_path(cm->modem);
+ path = __ofono_atom_get_path(cm->atom);
ofono_dbus_signal_property_changed(conn, path, CALL_METER_INTERFACE,
"CallMeter", DBUS_TYPE_UINT32,
@@ -86,7 +85,7 @@ static void set_acm(struct ofono_call_meter *cm, int value)
cm->acm = value;
conn = ofono_dbus_get_connection();
- path = ofono_modem_get_path(cm->modem);
+ path = __ofono_atom_get_path(cm->atom);
ofono_dbus_signal_property_changed(conn, path, CALL_METER_INTERFACE,
"AccumulatedCallMeter",
@@ -104,7 +103,7 @@ static void set_acm_max(struct ofono_call_meter *cm, int value)
cm->acm_max = value;
conn = ofono_dbus_get_connection();
- path = ofono_modem_get_path(cm->modem);
+ path = __ofono_atom_get_path(cm->atom);
ofono_dbus_signal_property_changed(conn, path, CALL_METER_INTERFACE,
"AccumulatedCallMeterMaximum",
@@ -122,7 +121,7 @@ static void set_ppu(struct ofono_call_meter *cm, double value)
cm->ppu = value;
conn = ofono_dbus_get_connection();
- path = ofono_modem_get_path(cm->modem);
+ path = __ofono_atom_get_path(cm->atom);
ofono_dbus_signal_property_changed(conn, path, CALL_METER_INTERFACE,
"PricePerUnit",
@@ -147,7 +146,7 @@ static void set_currency(struct ofono_call_meter *cm, const char *value)
cm->currency[3] = '\0';
conn = ofono_dbus_get_connection();
- path = ofono_modem_get_path(cm->modem);
+ path = __ofono_atom_get_path(cm->atom);
dbusval = cm->currency;
ofono_dbus_signal_property_changed(conn, path, CALL_METER_INTERFACE,
@@ -657,7 +656,7 @@ void ofono_call_meter_maximum_notify(struct ofono_call_meter *cm)
{
DBusConnection *conn = ofono_dbus_get_connection();
DBusMessage *signal;
- const char *path = ofono_modem_get_path(cm->modem);
+ const char *path = __ofono_atom_get_path(cm->atom);
signal = dbus_message_new_signal(path, CALL_METER_INTERFACE,
"NearMaximumWarning");
@@ -692,17 +691,17 @@ void ofono_call_meter_driver_unregister(const struct ofono_call_meter_driver *d)
static void call_meter_unregister(struct ofono_atom *atom)
{
struct ofono_call_meter *cm = __ofono_atom_get_data(atom);
- const char *path = ofono_modem_get_path(cm->modem);
+ const char *path = __ofono_atom_get_path(cm->atom);
DBusConnection *conn = ofono_dbus_get_connection();
+ struct ofono_modem *modem = __ofono_atom_get_modem(cm->atom);
- ofono_modem_remove_interface(cm->modem, CALL_METER_INTERFACE);
+ ofono_modem_remove_interface(modem, CALL_METER_INTERFACE);
g_dbus_unregister_interface(conn, path, CALL_METER_INTERFACE);
}
static void call_meter_remove(struct ofono_atom *atom)
{
struct ofono_call_meter *cm = __ofono_atom_get_data(atom);
- struct ofono_modem *modem = cm->modem;
DBG("atom: %p", atom);
@@ -730,7 +729,6 @@ struct ofono_call_meter *ofono_call_meter_create(struct ofono_modem *modem,
if (cm == NULL)
return NULL;
- cm->modem = modem;
cm->driver_data = data;
cm->atom = __ofono_modem_add_atom(modem,
OFONO_ATOM_TYPE_CALL_METER,
@@ -755,7 +753,8 @@ struct ofono_call_meter *ofono_call_meter_create(struct ofono_modem *modem,
void ofono_call_meter_register(struct ofono_call_meter *cm)
{
DBusConnection *conn = ofono_dbus_get_connection();
- const char *path = ofono_modem_get_path(cm->modem);
+ const char *path = __ofono_atom_get_path(cm->atom);
+ struct ofono_modem *modem = __ofono_atom_get_modem(cm->atom);
if (!g_dbus_register_interface(conn, path, CALL_METER_INTERFACE,
cm_methods, cm_signals, NULL, cm,
@@ -766,7 +765,7 @@ void ofono_call_meter_register(struct ofono_call_meter *cm)
return;
}
- ofono_modem_add_interface(cm->modem, CALL_METER_INTERFACE);
+ ofono_modem_add_interface(modem, CALL_METER_INTERFACE);
__ofono_atom_register(cm->atom, call_meter_unregister);
}