mirror of git://git.sysmocom.de/ofono
Add vendor flag capability to ssn
This commit is contained in:
parent
8d380f8fa0
commit
afb0e2b854
|
@ -111,8 +111,11 @@ static gboolean at_ssn_register(gpointer user)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int at_ssn_probe(struct ofono_ssn *ssn)
|
static int at_ssn_probe(struct ofono_ssn *ssn, int vendor, void *data)
|
||||||
{
|
{
|
||||||
|
GAtChat *chat = data;
|
||||||
|
|
||||||
|
ofono_ssn_set_data(ssn, chat);
|
||||||
g_idle_add(at_ssn_register, ssn);
|
g_idle_add(at_ssn_register, ssn);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -155,7 +155,7 @@ static int isi_modem_populate(struct ofono_modem *modem)
|
||||||
ofono_voicecall_create(isi->modem, "isi", isi->idx);
|
ofono_voicecall_create(isi->modem, "isi", isi->idx);
|
||||||
ofono_sms_create(isi->modem, 0, "isi", isi->idx);
|
ofono_sms_create(isi->modem, 0, "isi", isi->idx);
|
||||||
ofono_sim_create(isi->modem, 0, "isi", isi->idx);
|
ofono_sim_create(isi->modem, 0, "isi", isi->idx);
|
||||||
ofono_ssn_create(isi->modem, "isi", isi->idx);
|
ofono_ssn_create(isi->modem, 0, "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, 0, "isi", isi->idx);
|
ofono_call_settings_create(isi->modem, 0, "isi", isi->idx);
|
||||||
|
|
|
@ -48,9 +48,9 @@ struct ssn_data {
|
||||||
struct isi_version version;
|
struct isi_version version;
|
||||||
};
|
};
|
||||||
|
|
||||||
static int isi_ssn_probe(struct ofono_ssn *ssn)
|
static int isi_ssn_probe(struct ofono_ssn *ssn, int vendor, void *user)
|
||||||
{
|
{
|
||||||
GIsiModem *idx = ofono_ssn_get_data(ssn);
|
GIsiModem *idx = user;
|
||||||
struct ssn_data *data = g_try_new0(struct ssn_data, 1);
|
struct ssn_data *data = g_try_new0(struct ssn_data, 1);
|
||||||
|
|
||||||
if (!data)
|
if (!data)
|
||||||
|
|
|
@ -32,7 +32,7 @@ struct ofono_ssn;
|
||||||
|
|
||||||
struct ofono_ssn_driver {
|
struct ofono_ssn_driver {
|
||||||
const char *name;
|
const char *name;
|
||||||
int (*probe)(struct ofono_ssn *ssn);
|
int (*probe)(struct ofono_ssn *ssn, int vendor, void *data);
|
||||||
int (*remove)(struct ofono_ssn *ssn);
|
int (*remove)(struct ofono_ssn *ssn);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ void ofono_ssn_cssu_notify(struct ofono_ssn *ssn, int code, int index,
|
||||||
int ofono_ssn_driver_register(const struct ofono_ssn_driver *d);
|
int ofono_ssn_driver_register(const struct ofono_ssn_driver *d);
|
||||||
void ofono_ssn_driver_unregister(const struct ofono_ssn_driver *d);
|
void ofono_ssn_driver_unregister(const struct ofono_ssn_driver *d);
|
||||||
|
|
||||||
struct ofono_ssn *ofono_ssn_create(struct ofono_modem *modem,
|
struct ofono_ssn *ofono_ssn_create(struct ofono_modem *modem, int vendor,
|
||||||
const char *driver, void *data);
|
const char *driver, void *data);
|
||||||
|
|
||||||
void ofono_ssn_register(struct ofono_ssn *ssn);
|
void ofono_ssn_register(struct ofono_ssn *ssn);
|
||||||
|
|
|
@ -518,7 +518,7 @@ static int generic_at_populate(struct ofono_modem *modem)
|
||||||
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);
|
||||||
ofono_call_barring_create(modem, 0, "generic_at", chat);
|
ofono_call_barring_create(modem, 0, "generic_at", chat);
|
||||||
ofono_ssn_create(modem, "generic_at", chat);
|
ofono_ssn_create(modem, 0, "generic_at", chat);
|
||||||
ofono_sms_create(modem, 0, "generic_at", chat);
|
ofono_sms_create(modem, 0, "generic_at", chat);
|
||||||
ofono_phonebook_create(modem, 0, "generic_at", chat);
|
ofono_phonebook_create(modem, 0, "generic_at", chat);
|
||||||
|
|
||||||
|
|
|
@ -248,6 +248,7 @@ static void ssn_remove(struct ofono_atom *atom)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ofono_ssn *ofono_ssn_create(struct ofono_modem *modem,
|
struct ofono_ssn *ofono_ssn_create(struct ofono_modem *modem,
|
||||||
|
int vendor,
|
||||||
const char *driver,
|
const char *driver,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
|
@ -262,7 +263,6 @@ struct ofono_ssn *ofono_ssn_create(struct ofono_modem *modem,
|
||||||
if (ssn == NULL)
|
if (ssn == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
ssn->driver_data = data;
|
|
||||||
ssn->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_SSN,
|
ssn->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_SSN,
|
||||||
ssn_remove, ssn);
|
ssn_remove, ssn);
|
||||||
|
|
||||||
|
@ -272,7 +272,7 @@ struct ofono_ssn *ofono_ssn_create(struct ofono_modem *modem,
|
||||||
if (g_strcmp0(drv->name, driver))
|
if (g_strcmp0(drv->name, driver))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (drv->probe(ssn) < 0)
|
if (drv->probe(ssn, vendor, data) < 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
ssn->driver = drv;
|
ssn->driver = drv;
|
||||||
|
|
Loading…
Reference in New Issue