mirror of git://git.sysmocom.de/ofono
Introduce vendor parameter to call-barring
This commit is contained in:
parent
3f5851f4e9
commit
15b1a733b0
|
@ -206,8 +206,12 @@ static gboolean at_call_barring_register(gpointer user)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static int at_call_barring_probe(struct ofono_call_barring *cb)
|
||||
static int at_call_barring_probe(struct ofono_call_barring *cb, int vendor,
|
||||
void *user)
|
||||
{
|
||||
GAtChat *chat = user;
|
||||
|
||||
ofono_call_barring_set_data(cb, chat);
|
||||
g_idle_add(at_call_barring_register, cb);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -65,9 +65,10 @@ static void isi_set_passwd(struct ofono_call_barring *barr, const char *lock,
|
|||
{
|
||||
}
|
||||
|
||||
static int isi_call_barring_probe(struct ofono_call_barring *barr)
|
||||
static int isi_call_barring_probe(struct ofono_call_barring *barr, int vendor,
|
||||
void *user)
|
||||
{
|
||||
GIsiModem *idx = ofono_call_barring_get_data(barr);
|
||||
GIsiModem *idx = user;
|
||||
struct call_barring_data *data = g_try_new0(struct call_barring_data, 1);
|
||||
|
||||
if (!data)
|
||||
|
|
|
@ -159,7 +159,7 @@ static int isi_modem_populate(struct ofono_modem *modem)
|
|||
ofono_ussd_create(isi->modem, "isi", isi->idx);
|
||||
ofono_call_forwarding_create(isi->modem, "isi", isi->idx);
|
||||
ofono_call_settings_create(isi->modem, "isi", isi->idx);
|
||||
ofono_call_barring_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);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -37,7 +37,7 @@ typedef void (*ofono_call_barring_query_cb_t)(const struct ofono_error *error,
|
|||
|
||||
struct ofono_call_barring_driver {
|
||||
const char *name;
|
||||
int (*probe)(struct ofono_call_barring *cb);
|
||||
int (*probe)(struct ofono_call_barring *cb, int vendor, void *data);
|
||||
int (*remove)(struct ofono_call_barring *cb);
|
||||
void (*set)(struct ofono_call_barring *barr, const char *lock,
|
||||
int enable, const char *passwd, int cls,
|
||||
|
@ -53,6 +53,7 @@ int ofono_call_barring_driver_register(const struct ofono_call_barring_driver *d
|
|||
void ofono_call_barring_driver_unregister(const struct ofono_call_barring_driver *d);
|
||||
|
||||
struct ofono_call_barring *ofono_call_barring_create(struct ofono_modem *modem,
|
||||
int vendor,
|
||||
const char *driver,
|
||||
void *data);
|
||||
|
||||
|
|
|
@ -517,7 +517,7 @@ static int generic_at_populate(struct ofono_modem *modem)
|
|||
ofono_netreg_create(modem, "generic_at", chat);
|
||||
ofono_voicecall_create(modem, "generic_at", chat);
|
||||
ofono_call_meter_create(modem, "generic_at", chat);
|
||||
ofono_call_barring_create(modem, "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);
|
||||
ofono_phonebook_create(modem, "generic_at", chat);
|
||||
|
|
|
@ -1098,7 +1098,9 @@ static void call_barring_remove(struct ofono_atom *atom)
|
|||
}
|
||||
|
||||
struct ofono_call_barring *ofono_call_barring_create(struct ofono_modem *modem,
|
||||
const char *driver, void *data)
|
||||
int vendor,
|
||||
const char *driver,
|
||||
void *data)
|
||||
{
|
||||
struct ofono_call_barring *cb;
|
||||
GSList *l;
|
||||
|
@ -1116,7 +1118,6 @@ struct ofono_call_barring *ofono_call_barring_create(struct ofono_modem *modem,
|
|||
|
||||
cb->cur_locks = g_new0(int, lcount);
|
||||
cb->new_locks = g_new0(int, lcount);
|
||||
cb->driver_data = data;
|
||||
cb->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_CALL_BARRING,
|
||||
call_barring_remove, cb);
|
||||
|
||||
|
@ -1126,7 +1127,7 @@ struct ofono_call_barring *ofono_call_barring_create(struct ofono_modem *modem,
|
|||
if (g_strcmp0(drv->name, driver))
|
||||
continue;
|
||||
|
||||
if (drv->probe(cb) < 0)
|
||||
if (drv->probe(cb, vendor, data) < 0)
|
||||
continue;
|
||||
|
||||
cb->driver = drv;
|
||||
|
|
Loading…
Reference in New Issue