Hi Lucas,
On 01/04/2011 07:06 AM, Lucas De Marchi wrote:
---
include/sim.h | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/include/sim.h b/include/sim.h
index 7860e24..bf4aaf9 100644
--- a/include/sim.h
+++ b/include/sim.h
@@ -77,6 +77,11 @@ enum ofono_sim_state {
OFONO_SIM_STATE_READY,
};
+struct ofono_sim_pin_retry {
+ enum ofono_sim_password_type id;
+ int val;
+};
+
typedef void (*ofono_sim_file_info_cb_t)(const struct ofono_error *error,
int filelength,
enum ofono_sim_file_structure structure,
@@ -108,6 +113,10 @@ typedef void (*ofono_sim_passwd_cb_t)(const struct ofono_error
*error,
enum ofono_sim_password_type type,
void *data);
+typedef void (*ofono_sim_pin_retries_cb_t)(const struct ofono_error *error,
+ GSList *pin_retries,
One of the restrictions on the public ofono API is that we cannot use G*
types. We can solve this in several ways:
- Use an array of ints with the size always being
OFONO_SIM_PASSWORD_INVALID. The integer value contains the number of
retries or -1 if unknown / unsupported.
- Use an int length, struct ofono_sim_pin_retry *retries elements. This
is similar to the approach taken in e.g. voicecall ofono_call_list_cb_t
or netreg ofono_netreg_operator_list_cb_t
+ void *data);
+
typedef void (*ofono_sim_lock_unlock_cb_t)(const struct ofono_error *error,
void *data);
@@ -144,6 +153,8 @@ struct ofono_sim_driver {
ofono_sim_passwd_cb_t cb, void *data);
void (*send_passwd)(struct ofono_sim *sim, const char *passwd,
ofono_sim_lock_unlock_cb_t cb, void *data);
+ void (*query_pin_retries)(struct ofono_sim *sim,
+ ofono_sim_pin_retries_cb_t cb, void *data);
void (*reset_passwd)(struct ofono_sim *sim, const char *puk,
const char *passwd,
ofono_sim_lock_unlock_cb_t cb, void *data);
Regards,
-Denis