Add class parameter to the query function for CB

This commit is contained in:
Denis Kenzior 2009-05-20 12:36:43 -05:00
parent a76864dd5f
commit 80828c5ee3
3 changed files with 16 additions and 8 deletions

View File

@ -78,16 +78,21 @@ static void clck_query_cb(gboolean ok, GAtResult *result, gpointer user_data)
}
static void at_call_barring_query(struct ofono_modem *modem, const char *lock,
ofono_call_barring_cb_t cb, void *data)
int cls, ofono_call_barring_cb_t cb,
void *data)
{
struct at_data *at = ofono_modem_userdata(modem);
struct cb_data *cbd = cb_data_new(modem, cb, data);
char buf[64];
int len;
if (!cbd || strlen(lock) != 2)
goto error;
sprintf(buf, "AT+CLCK=\"%s\",2", lock);
len = sprintf(buf, "AT+CLCK=\"%s\",2", lock);
if (cls != 7)
sprintf(buf + len, ",%d", cls);
if (g_at_chat_send(at->parser, buf, clck_prefix,
clck_query_cb, cbd, g_free) > 0)
@ -115,8 +120,8 @@ static void clck_set_cb(gboolean ok, GAtResult *result, gpointer user_data)
}
static void at_call_barring_set(struct ofono_modem *modem, const char *lock,
int enable, const char *passwd, int cls,
ofono_generic_cb_t cb, void *data)
int enable, const char *passwd, int cls,
ofono_generic_cb_t cb, void *data)
{
struct at_data *at = ofono_modem_userdata(modem);
struct cb_data *cbd = cb_data_new(modem, cb, data);

View File

@ -312,8 +312,11 @@ static gboolean cb_ss_query_next_lock(gpointer user)
{
struct ofono_modem *modem = user;
struct call_barring_data *cb = modem->call_barring;
int cls;
cb->ops->query(modem, cb_locks[cb->query_next].fac,
cls = cb->ss_req_cls | BEARER_CLASS_DEFAULT;
cb->ops->query(modem, cb_locks[cb->query_next].fac, cls,
cb_ss_query_next_lock_callback, modem);
return FALSE;
@ -602,7 +605,7 @@ static gboolean get_query_next_lock(gpointer user)
struct call_barring_data *cb = modem->call_barring;
cb->ops->query(modem, cb_locks[cb->query_next].fac,
get_query_lock_callback, modem);
BEARER_CLASS_DEFAULT, get_query_lock_callback, modem);
return FALSE;
}
@ -667,7 +670,7 @@ static gboolean set_query_next_lock(gpointer user)
struct call_barring_data *cb = modem->call_barring;
cb->ops->query(modem, cb_locks[cb->query_next].fac,
set_query_lock_callback, modem);
BEARER_CLASS_DEFAULT, set_query_lock_callback, modem);
return FALSE;
}

View File

@ -340,7 +340,7 @@ struct ofono_call_barring_ops {
void (*set)(struct ofono_modem *modem, const char *lock,
int enable, const char *passwd, int cls,
ofono_generic_cb_t cb, void *data);
void (*query)(struct ofono_modem *modem, const char *lock,
void (*query)(struct ofono_modem *modem, const char *lock, int cls,
ofono_call_barring_cb_t cb, void *data);
};