struct cf_ss_request *ss_req;
const struct ofono_call_forwarding_driver *driver;
void *driver_data;
- struct ofono_modem *modem;
struct ofono_atom *atom;
};
{
GSList *old = cf->cf_conditions[type];
DBusConnection *conn = ofono_dbus_get_connection();
- const char *path = ofono_modem_get_path(cf->modem);
+ const char *path = __ofono_atom_get_path(cf->atom);
GSList *l;
GSList *o;
struct ofono_call_forwarding_condition *lc;
static void cf_register_ss_controls(struct ofono_call_forwarding *cf)
{
- ss_control_register(cf->modem, "21", cf_ss_control);
- ss_control_register(cf->modem, "67", cf_ss_control);
- ss_control_register(cf->modem, "61", cf_ss_control);
- ss_control_register(cf->modem, "62", cf_ss_control);
+ struct ofono_modem *modem = __ofono_atom_get_modem(cf->atom);
- ss_control_register(cf->modem, "002", cf_ss_control);
- ss_control_register(cf->modem, "004", cf_ss_control);
+ ss_control_register(modem, "21", cf_ss_control);
+ ss_control_register(modem, "67", cf_ss_control);
+ ss_control_register(modem, "61", cf_ss_control);
+ ss_control_register(modem, "62", cf_ss_control);
+
+ ss_control_register(modem, "002", cf_ss_control);
+ ss_control_register(modem, "004", cf_ss_control);
}
static void cf_unregister_ss_controls(struct ofono_call_forwarding *cf)
{
- ss_control_unregister(cf->modem, "21", cf_ss_control);
- ss_control_unregister(cf->modem, "67", cf_ss_control);
- ss_control_unregister(cf->modem, "61", cf_ss_control);
- ss_control_unregister(cf->modem, "62", cf_ss_control);
+ struct ofono_modem *modem = __ofono_atom_get_modem(cf->atom);
+
+ ss_control_unregister(modem, "21", cf_ss_control);
+ ss_control_unregister(modem, "67", cf_ss_control);
+ ss_control_unregister(modem, "61", cf_ss_control);
+ ss_control_unregister(modem, "62", cf_ss_control);
- ss_control_unregister(cf->modem, "002", cf_ss_control);
- ss_control_unregister(cf->modem, "004", cf_ss_control);
+ ss_control_unregister(modem, "002", cf_ss_control);
+ ss_control_unregister(modem, "004", cf_ss_control);
}
int ofono_call_forwarding_driver_register(const struct ofono_call_forwarding_driver *d)
static void call_forwarding_unregister(struct ofono_atom *atom)
{
struct ofono_call_forwarding *cf = __ofono_atom_get_data(atom);
- const char *path = ofono_modem_get_path(cf->modem);
+ const char *path = __ofono_atom_get_path(cf->atom);
DBusConnection *conn = ofono_dbus_get_connection();
+ struct ofono_modem *modem = __ofono_atom_get_modem(cf->atom);
- ofono_modem_remove_interface(cf->modem, CALL_FORWARDING_INTERFACE);
+ ofono_modem_remove_interface(modem, CALL_FORWARDING_INTERFACE);
g_dbus_unregister_interface(conn, path, CALL_FORWARDING_INTERFACE);
cf_unregister_ss_controls(cf);
- cf->modem->call_forwarding = NULL;
+ modem->call_forwarding = NULL;
}
static void call_forwarding_remove(struct ofono_atom *atom)
if (cf == NULL)
return NULL;
- cf->modem = modem;
cf->driver_data = data;
cf->atom = __ofono_modem_add_atom(modem,
OFONO_ATOM_TYPE_CALL_FORWARDING,
void ofono_call_forwarding_register(struct ofono_call_forwarding *cf)
{
DBusConnection *conn = ofono_dbus_get_connection();
- const char *path = ofono_modem_get_path(cf->modem);
+ const char *path = __ofono_atom_get_path(cf->atom);
+ struct ofono_modem *modem = __ofono_atom_get_modem(cf->atom);
if (!g_dbus_register_interface(conn, path,
CALL_FORWARDING_INTERFACE,
return;
}
- cf->modem->call_forwarding = cf;
+ modem->call_forwarding = cf;
- ofono_modem_add_interface(cf->modem, CALL_FORWARDING_INTERFACE);
+ ofono_modem_add_interface(modem, CALL_FORWARDING_INTERFACE);
cf_register_ss_controls(cf);
__ofono_atom_register(cf->atom, call_forwarding_unregister);