//register for sim state change
#define UC_UIM_QMI_EVENT_MASK_CARD_STATUS (1 << QMI_UIM_EVENT_CARD_STATUS_BIT_V01)
void uc_qmi_register_events(qmi_client_type uc_uim)
{
qmi_client_error_type qmi_err_code = 0;
uim_event_reg_resp_msg_v01 event_resp_msg;
uim_event_reg_req_msg_v01 event_reg_params;
/* Register for events first */
memset(&event_reg_params, 0, sizeof(uim_event_reg_req_msg_v01));
memset(&event_resp_msg, 0, sizeof(uim_event_reg_resp_msg_v01));
event_reg_params.event_mask |= (UC_UIM_QMI_EVENT_MASK_CARD_STATUS);
qmi_err_code = qmi_client_send_msg_sync(uc_uim,
QMI_UIM_EVENT_REG_REQ_V01,
(void *) &event_reg_params,
sizeof(uim_event_reg_req_msg_v01),
(void *) &event_resp_msg,
sizeof(uim_event_reg_resp_msg_v01),
5000);
ALOGI("error = %d\n", event_resp_msg.resp.error);
if (qmi_err_code != QMI_NO_ERR ||
(event_resp_msg.resp.result != QMI_RESULT_SUCCESS_V01 &&
event_resp_msg.resp.error != QMI_ERR_NO_EFFECT_V01)) {
ALOGI("Error for QMI_UIM_EVENT_REG_REQ_V01, qmi_err_code=%d Error=%d\n", qmi_err_code,event_resp_msg.resp.error);
}
if(event_resp_msg.event_mask_valid)
{
ALOGI("event_resp_msg.event=%d,\n",event_resp_msg.event_mask);
}
}