Rearrange sim password enum

This commit is contained in:
Denis Kenzior 2009-09-21 08:03:56 -05:00
parent d67ded70ea
commit 63416e2851
3 changed files with 77 additions and 73 deletions

View File

@ -399,24 +399,24 @@ error:
}
static struct {
enum ofono_passwd_type type;
enum ofono_sim_password_type type;
const char *name;
} const at_sim_name[] = {
{ OFONO_PASSWD_SIM_PIN, "SIM PIN" },
{ OFONO_PASSWD_SIM_PUK, "SIM PUK" },
{ OFONO_PASSWD_PHSIM_PIN, "PH-SIM PIN" },
{ OFONO_PASSWD_PHFSIM_PIN, "PH-FSIM PIN" },
{ OFONO_PASSWD_PHFSIM_PUK, "PH-FSIM PUK" },
{ OFONO_PASSWD_SIM_PIN2, "SIM PIN2" },
{ OFONO_PASSWD_SIM_PUK2, "SIM PUK2" },
{ OFONO_PASSWD_PHNET_PIN, "PH-NET PIN" },
{ OFONO_PASSWD_PHNET_PUK, "PH-NET PUK" },
{ OFONO_PASSWD_PHNETSUB_PIN, "PH-NETSUB PIN" },
{ OFONO_PASSWD_PHNETSUB_PUK, "PH-NETSUB PUK" },
{ OFONO_PASSWD_PHSP_PIN, "PH-SP PIN" },
{ OFONO_PASSWD_PHSP_PUK, "PH-SP PUK" },
{ OFONO_PASSWD_PHCORP_PIN, "PH-CORP PIN" },
{ OFONO_PASSWD_PHCORP_PUK, "PH-CORP PUK" },
{ OFONO_SIM_PASSWORD_SIM_PIN, "SIM PIN" },
{ OFONO_SIM_PASSWORD_SIM_PUK, "SIM PUK" },
{ OFONO_SIM_PASSWORD_PHSIM_PIN, "PH-SIM PIN" },
{ OFONO_SIM_PASSWORD_PHFSIM_PIN, "PH-FSIM PIN" },
{ OFONO_SIM_PASSWORD_PHFSIM_PUK, "PH-FSIM PUK" },
{ OFONO_SIM_PASSWORD_SIM_PIN2, "SIM PIN2" },
{ OFONO_SIM_PASSWORD_SIM_PUK2, "SIM PUK2" },
{ OFONO_SIM_PASSWORD_PHNET_PIN, "PH-NET PIN" },
{ OFONO_SIM_PASSWORD_PHNET_PUK, "PH-NET PUK" },
{ OFONO_SIM_PASSWORD_PHNETSUB_PIN, "PH-NETSUB PIN" },
{ OFONO_SIM_PASSWORD_PHNETSUB_PUK, "PH-NETSUB PUK" },
{ OFONO_SIM_PASSWORD_PHSP_PIN, "PH-SP PIN" },
{ OFONO_SIM_PASSWORD_PHSP_PUK, "PH-SP PUK" },
{ OFONO_SIM_PASSWORD_PHCORP_PIN, "PH-CORP PIN" },
{ OFONO_SIM_PASSWORD_PHCORP_PUK, "PH-CORP PUK" },
};
static void at_cpin_cb(gboolean ok, GAtResult *result, gpointer user_data)
@ -426,7 +426,7 @@ static void at_cpin_cb(gboolean ok, GAtResult *result, gpointer user_data)
ofono_sim_passwd_cb_t cb = cbd->cb;
struct ofono_error error;
const char *pin_required;
int pin_type;
int pin_type = OFONO_SIM_PASSWORD_INVALID;
int i;
int len = sizeof(at_sim_name) / sizeof(*at_sim_name);
@ -449,7 +449,7 @@ static void at_cpin_cb(gboolean ok, GAtResult *result, gpointer user_data)
pin_type = -1;
if (!strcmp(pin_required, "READY"))
pin_type = OFONO_PASSWD_NONE;
pin_type = OFONO_SIM_PASSWD_NONE;
else
for (i = 0; i < len; i++)
if (!strcmp(pin_required, at_sim_name[i].name)) {
@ -457,7 +457,7 @@ static void at_cpin_cb(gboolean ok, GAtResult *result, gpointer user_data)
break;
}
if (pin_type == -1) {
if (pin_type == OFONO_SIM_PASSWORD_INVALID) {
CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
return;
}
@ -556,14 +556,14 @@ error:
}
static const char *const at_clck_cpwd_fac[] = {
[OFONO_PASSWD_SIM_PIN] = "SC",
[OFONO_PASSWD_SIM_PIN2] = "P2",
[OFONO_PASSWD_PHSIM_PIN] = "PS",
[OFONO_PASSWD_PHFSIM_PIN] = "PF",
[OFONO_PASSWD_PHNET_PIN] = "PN",
[OFONO_PASSWD_PHNETSUB_PIN] = "PU",
[OFONO_PASSWD_PHSP_PIN] = "PP",
[OFONO_PASSWD_PHCORP_PIN] = "PC",
[OFONO_SIM_PASSWORD_SIM_PIN] = "SC",
[OFONO_SIM_PASSWORD_SIM_PIN2] = "P2",
[OFONO_SIM_PASSWORD_PHSIM_PIN] = "PS",
[OFONO_SIM_PASSWORD_PHFSIM_PIN] = "PF",
[OFONO_SIM_PASSWORD_PHNET_PIN] = "PN",
[OFONO_SIM_PASSWORD_PHNETSUB_PIN] = "PU",
[OFONO_SIM_PASSWORD_PHSP_PIN] = "PP",
[OFONO_SIM_PASSWORD_PHCORP_PIN] = "PC",
};
static void at_pin_enable(struct ofono_sim *sim, int passwd_type, int enable,
@ -600,7 +600,8 @@ error:
CALLBACK_WITH_FAILURE(cb, data);
}
static void at_change_passwd(struct ofono_sim *sim, int passwd_type,
static void at_change_passwd(struct ofono_sim *sim,
enum ofono_sim_password_type passwd_type,
const char *old, const char *new,
ofono_sim_lock_unlock_cb_t cb, void *data)
{
@ -608,12 +609,12 @@ static void at_change_passwd(struct ofono_sim *sim, int passwd_type,
struct cb_data *cbd = cb_data_new(cb, data);
char buf[64];
int ret;
int len = sizeof(at_clck_cpwd_fac) / sizeof(*at_clck_cpwd_fac);
unsigned int len = sizeof(at_clck_cpwd_fac) / sizeof(*at_clck_cpwd_fac);
if (!cbd)
goto error;
if (passwd_type < 0 || passwd_type >= len ||
if (passwd_type >= len ||
!at_clck_cpwd_fac[passwd_type])
goto error;

View File

@ -37,23 +37,24 @@ enum ofono_sim_file_structure {
OFONO_SIM_FILE_STRUCTURE_CYCLIC = 3
};
enum ofono_passwd_type {
OFONO_PASSWD_NONE = 0,
OFONO_PASSWD_SIM_PIN,
OFONO_PASSWD_SIM_PUK,
OFONO_PASSWD_PHSIM_PIN,
OFONO_PASSWD_PHFSIM_PIN,
OFONO_PASSWD_PHFSIM_PUK,
OFONO_PASSWD_SIM_PIN2,
OFONO_PASSWD_SIM_PUK2,
OFONO_PASSWD_PHNET_PIN,
OFONO_PASSWD_PHNET_PUK,
OFONO_PASSWD_PHNETSUB_PIN,
OFONO_PASSWD_PHNETSUB_PUK,
OFONO_PASSWD_PHSP_PIN,
OFONO_PASSWD_PHSP_PUK,
OFONO_PASSWD_PHCORP_PIN,
OFONO_PASSWD_PHCORP_PUK,
enum ofono_sim_password_type {
OFONO_SIM_PASSWORD_NONE = 0,
OFONO_SIM_PASSWORD_SIM_PIN,
OFONO_SIM_PASSWORD_PHSIM_PIN,
OFONO_SIM_PASSWORD_PHFSIM_PIN,
OFONO_SIM_PASSWORD_SIM_PIN2,
OFONO_SIM_PASSWORD_PHNET_PIN,
OFONO_SIM_PASSWORD_PHNETSUB_PIN,
OFONO_SIM_PASSWORD_PHSP_PIN,
OFONO_SIM_PASSWORD_PHCORP_PIN,
OFONO_SIM_PASSWORD_SIM_PUK,
OFONO_SIM_PASSWORD_PHFSIM_PUK,
OFONO_SIM_PASSWORD_SIM_PUK2,
OFONO_SIM_PASSWORD_PHNET_PUK,
OFONO_SIM_PASSWORD_PHNETSUB_PUK,
OFONO_SIM_PASSWORD_PHSP_PUK,
OFONO_SIM_PASSWORD_PHCORP_PUK,
OFONO_SIM_PASSWORD_INVALID,
};
typedef void (*ofono_sim_file_info_cb_t)(const struct ofono_error *error,
@ -122,7 +123,8 @@ struct ofono_sim_driver {
void (*reset_passwd)(struct ofono_sim *sim, const char *puk,
const char *passwd,
ofono_sim_lock_unlock_cb_t cb, void *data);
void (*change_passwd)(struct ofono_sim *sim, int passwd_type,
void (*change_passwd)(struct ofono_sim *sim,
enum ofono_sim_password_type type,
const char *old, const char *new,
ofono_sim_lock_unlock_cb_t cb, void *data);
void (*lock)(struct ofono_sim *sim, int passwd_type, int enable,

View File

@ -113,30 +113,30 @@ struct service_number {
};
static const char *const passwd_name[] = {
[OFONO_PASSWD_NONE] = "none",
[OFONO_PASSWD_SIM_PIN] = "pin",
[OFONO_PASSWD_SIM_PUK] = "puk",
[OFONO_PASSWD_PHSIM_PIN] = "phone",
[OFONO_PASSWD_PHFSIM_PIN] = "firstphone",
[OFONO_PASSWD_PHFSIM_PUK] = "firstphonepuk",
[OFONO_PASSWD_SIM_PIN2] = "pin2",
[OFONO_PASSWD_SIM_PUK2] = "puk2",
[OFONO_PASSWD_PHNET_PIN] = "network",
[OFONO_PASSWD_PHNET_PUK] = "networkpuk",
[OFONO_PASSWD_PHNETSUB_PIN] = "netsub",
[OFONO_PASSWD_PHNETSUB_PUK] = "netsubpuk",
[OFONO_PASSWD_PHSP_PIN] = "service",
[OFONO_PASSWD_PHSP_PUK] = "servicepuk",
[OFONO_PASSWD_PHCORP_PIN] = "corp",
[OFONO_PASSWD_PHCORP_PUK] = "corppuk",
[OFONO_SIM_PASSWORD_NONE] = "none",
[OFONO_SIM_PASSWORD_SIM_PIN] = "pin",
[OFONO_SIM_PASSWORD_SIM_PUK] = "puk",
[OFONO_SIM_PASSWORD_PHSIM_PIN] = "phone",
[OFONO_SIM_PASSWORD_PHFSIM_PIN] = "firstphone",
[OFONO_SIM_PASSWORD_PHFSIM_PUK] = "firstphonepuk",
[OFONO_SIM_PASSWORD_SIM_PIN2] = "pin2",
[OFONO_SIM_PASSWORD_SIM_PUK2] = "puk2",
[OFONO_SIM_PASSWORD_PHNET_PIN] = "network",
[OFONO_SIM_PASSWORD_PHNET_PUK] = "networkpuk",
[OFONO_SIM_PASSWORD_PHNETSUB_PIN] = "netsub",
[OFONO_SIM_PASSWORD_PHNETSUB_PUK] = "netsubpuk",
[OFONO_SIM_PASSWORD_PHSP_PIN] = "service",
[OFONO_SIM_PASSWORD_PHSP_PUK] = "servicepuk",
[OFONO_SIM_PASSWORD_PHCORP_PIN] = "corp",
[OFONO_SIM_PASSWORD_PHCORP_PUK] = "corppuk",
};
static const char *sim_passwd_name(enum ofono_passwd_type type)
static const char *sim_passwd_name(enum ofono_sim_password_type type)
{
return passwd_name[type];
}
static enum ofono_passwd_type sim_string_to_passwd(const char *name)
static enum ofono_sim_password_type sim_string_to_passwd(const char *name)
{
int len = sizeof(passwd_name) / sizeof(*passwd_name);
int i;
@ -145,7 +145,7 @@ static enum ofono_passwd_type sim_string_to_passwd(const char *name)
if (!strcmp(passwd_name[i], name))
return i;
return OFONO_PASSWD_NONE;
return OFONO_SIM_PASSWORD_INVALID;
}
static char **get_own_numbers(GSList *own_numbers)
@ -450,7 +450,7 @@ static DBusMessage *sim_change_pin(DBusConnection *conn, DBusMessage *msg,
struct ofono_sim *sim = data;
struct pin_enable_request *req;
DBusMessageIter iter;
enum ofono_passwd_type type;
enum ofono_sim_password_type type;
const char *typestr;
const char *old;
const char *new;
@ -467,7 +467,8 @@ static DBusMessage *sim_change_pin(DBusConnection *conn, DBusMessage *msg,
dbus_message_iter_get_basic(&iter, &typestr);
type = sim_string_to_passwd(typestr);
if (type == OFONO_PASSWD_NONE)
if (type == OFONO_SIM_PASSWORD_NONE ||
type == OFONO_SIM_PASSWORD_INVALID)
return __ofono_error_invalid_format(msg);
dbus_message_iter_next(&iter);
@ -553,7 +554,7 @@ static DBusMessage *sim_enter_pin(DBusConnection *conn, DBusMessage *msg,
dbus_message_iter_get_basic(&iter, &typestr);
type = sim_string_to_passwd(typestr);
if (type == OFONO_PASSWD_NONE || type != sim->pin_type)
if (type == OFONO_SIM_PASSWORD_NONE || type != sim->pin_type)
return __ofono_error_invalid_format(msg);
dbus_message_iter_next(&iter);
@ -596,7 +597,7 @@ static DBusMessage *sim_reset_pin(DBusConnection *conn, DBusMessage *msg,
dbus_message_iter_get_basic(&iter, &typestr);
type = sim_string_to_passwd(typestr);
if (type == OFONO_PASSWD_NONE || type != sim->pin_type)
if (type == OFONO_SIM_PASSWORD_NONE || type != sim->pin_type)
return __ofono_error_invalid_format(msg);
dbus_message_iter_next(&iter);
@ -889,7 +890,7 @@ static void sim_retrieve_imsi(struct ofono_sim *sim)
}
static void sim_pin_query_cb(const struct ofono_error *error, int pin_type,
void *data)
void *data)
{
struct ofono_sim *sim = data;
DBusConnection *conn = ofono_dbus_get_connection();
@ -914,7 +915,7 @@ static void sim_pin_query_cb(const struct ofono_error *error, int pin_type,
}
checkdone:
if (pin_type == OFONO_PASSWD_NONE)
if (pin_type == OFONO_SIM_PASSWORD_NONE)
sim_retrieve_imsi(sim);
}