mirror of git://git.sysmocom.de/ofono
Add vendor flag to call-settings
This commit is contained in:
parent
390bd82109
commit
933f803967
|
@ -365,8 +365,12 @@ static gboolean at_call_settings_register(gpointer user)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int at_call_settings_probe(struct ofono_call_settings *cs)
|
static int at_call_settings_probe(struct ofono_call_settings *cs, int vendor,
|
||||||
|
void *data)
|
||||||
{
|
{
|
||||||
|
GAtChat *chat = data;
|
||||||
|
|
||||||
|
ofono_call_settings_set_data(cs, chat);
|
||||||
g_idle_add(at_call_settings_register, cs);
|
g_idle_add(at_call_settings_register, cs);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -83,15 +83,19 @@ static void isi_cw_set(struct ofono_call_settings *cs, int mode, int cls,
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static int isi_call_settings_probe(struct ofono_call_settings *cs)
|
static int isi_call_settings_probe(struct ofono_call_settings *cs, int vendor,
|
||||||
|
void *user)
|
||||||
{
|
{
|
||||||
GIsiModem *idx = ofono_call_settings_get_data(cs);
|
GIsiModem *idx = user;
|
||||||
struct call_settings_data *data = g_try_new0(struct call_settings_data, 1);
|
struct call_settings_data *data;
|
||||||
|
|
||||||
|
data = g_try_new0(struct call_settings_data, 1);
|
||||||
|
|
||||||
if (!data)
|
if (!data)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
data->client = g_isi_client_create(idx, PN_SS);
|
data->client = g_isi_client_create(idx, PN_SS);
|
||||||
|
|
||||||
if (!data->client)
|
if (!data->client)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
|
|
@ -158,7 +158,7 @@ static int isi_modem_populate(struct ofono_modem *modem)
|
||||||
ofono_ssn_create(isi->modem, "isi", isi->idx);
|
ofono_ssn_create(isi->modem, "isi", isi->idx);
|
||||||
ofono_ussd_create(isi->modem, "isi", isi->idx);
|
ofono_ussd_create(isi->modem, "isi", isi->idx);
|
||||||
ofono_call_forwarding_create(isi->modem, 0, "isi", isi->idx);
|
ofono_call_forwarding_create(isi->modem, 0, "isi", isi->idx);
|
||||||
ofono_call_settings_create(isi->modem, "isi", isi->idx);
|
ofono_call_settings_create(isi->modem, 0, "isi", isi->idx);
|
||||||
ofono_call_barring_create(isi->modem, 0, "isi", isi->idx);
|
ofono_call_barring_create(isi->modem, 0, "isi", isi->idx);
|
||||||
ofono_call_meter_create(isi->modem, 0, "isi", isi->idx);
|
ofono_call_meter_create(isi->modem, 0, "isi", isi->idx);
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ typedef void (*ofono_call_settings_clir_cb_t)(const struct ofono_error *error,
|
||||||
|
|
||||||
struct ofono_call_settings_driver {
|
struct ofono_call_settings_driver {
|
||||||
const char *name;
|
const char *name;
|
||||||
int (*probe)(struct ofono_call_settings *cs);
|
int (*probe)(struct ofono_call_settings *cs, int vendor, void *data);
|
||||||
int (*remove)(struct ofono_call_settings *cs);
|
int (*remove)(struct ofono_call_settings *cs);
|
||||||
void (*clip_query)(struct ofono_call_settings *cs,
|
void (*clip_query)(struct ofono_call_settings *cs,
|
||||||
ofono_call_settings_status_cb_t cb, void *data);
|
ofono_call_settings_status_cb_t cb, void *data);
|
||||||
|
@ -63,6 +63,7 @@ int ofono_call_settings_driver_register(const struct ofono_call_settings_driver
|
||||||
void ofono_call_settings_driver_unregister(const struct ofono_call_settings_driver *d);
|
void ofono_call_settings_driver_unregister(const struct ofono_call_settings_driver *d);
|
||||||
|
|
||||||
struct ofono_call_settings *ofono_call_settings_create(struct ofono_modem *modem,
|
struct ofono_call_settings *ofono_call_settings_create(struct ofono_modem *modem,
|
||||||
|
int vendor,
|
||||||
const char *driver,
|
const char *driver,
|
||||||
void *data);
|
void *data);
|
||||||
|
|
||||||
|
|
|
@ -513,7 +513,7 @@ static int generic_at_populate(struct ofono_modem *modem)
|
||||||
ofono_ussd_create(modem, "generic_at", chat);
|
ofono_ussd_create(modem, "generic_at", chat);
|
||||||
ofono_sim_create(modem, "generic_at", chat);
|
ofono_sim_create(modem, "generic_at", chat);
|
||||||
ofono_call_forwarding_create(modem, 0, "generic_at", chat);
|
ofono_call_forwarding_create(modem, 0, "generic_at", chat);
|
||||||
ofono_call_settings_create(modem, "generic_at", chat);
|
ofono_call_settings_create(modem, 0, "generic_at", chat);
|
||||||
ofono_netreg_create(modem, "generic_at", chat);
|
ofono_netreg_create(modem, "generic_at", chat);
|
||||||
ofono_voicecall_create(modem, "generic_at", chat);
|
ofono_voicecall_create(modem, "generic_at", chat);
|
||||||
ofono_call_meter_create(modem, 0, "generic_at", chat);
|
ofono_call_meter_create(modem, 0, "generic_at", chat);
|
||||||
|
|
|
@ -1229,6 +1229,7 @@ static void call_settings_remove(struct ofono_atom *atom)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ofono_call_settings *ofono_call_settings_create(struct ofono_modem *modem,
|
struct ofono_call_settings *ofono_call_settings_create(struct ofono_modem *modem,
|
||||||
|
int vendor,
|
||||||
const char *driver,
|
const char *driver,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
|
@ -1248,7 +1249,6 @@ struct ofono_call_settings *ofono_call_settings_create(struct ofono_modem *modem
|
||||||
cs->clir = 2;
|
cs->clir = 2;
|
||||||
cs->colp = 2;
|
cs->colp = 2;
|
||||||
cs->colr = 2;
|
cs->colr = 2;
|
||||||
cs->driver_data = data;
|
|
||||||
cs->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_CALL_SETTINGS,
|
cs->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_CALL_SETTINGS,
|
||||||
call_settings_remove, cs);
|
call_settings_remove, cs);
|
||||||
|
|
||||||
|
@ -1258,7 +1258,7 @@ struct ofono_call_settings *ofono_call_settings_create(struct ofono_modem *modem
|
||||||
if (g_strcmp0(drv->name, driver))
|
if (g_strcmp0(drv->name, driver))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (drv->probe(cs) < 0)
|
if (drv->probe(cs, vendor, data) < 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
cs->driver = drv;
|
cs->driver = drv;
|
||||||
|
|
Loading…
Reference in New Issue