[Feature][T8TSK-289]merge old platform branch, add meta to public rep

Only Configure: No
Affected branch: MR3.0-Merge-v2.0
Affected module: all lynq
Is it affected on both ZXIC and MTK: only MTK
Self-test: No
Doc Update: No
diff --git a/common_src/lib/liblynq-qser-sim/lynq_qser_sim.cpp b/common_src/lib/liblynq-qser-sim/lynq_qser_sim.cpp
new file mode 100755
index 0000000..6416d9e
--- /dev/null
+++ b/common_src/lib/liblynq-qser-sim/lynq_qser_sim.cpp
@@ -0,0 +1,183 @@
+#include <stdio.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <string.h>
+#include <unistd.h>
+#include <log/log.h>
+#include <include/lynq_sim.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <liblog/lynq_deflog.h>
+#include "lynq_qser_sim.h"
+
+#define USER_LOG_TAG "LYNQ_QSER_SIM"
+
+sim_client_handle_type h_sim = 0;
+
+int qser_sim_client_init(sim_client_handle_type  *ph_sim)
+{
+    if(NULL == ph_sim)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    *ph_sim = (sim_client_handle_type)getpid();
+    //*ph_sim = (sim_client_handle_type)53234323;
+    h_sim = *ph_sim;
+    return lynq_sim_init(*ph_sim);
+}
+
+int qser_sim_client_deinit(sim_client_handle_type h_sim)
+{
+    if(h_sim == 0)
+    {
+        LYERRLOG("not init\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    return lynq_sim_deinit();
+}
+
+int qser_sim_getimsi(sim_client_handle_type h_sim, QSER_SIM_APP_ID_INFO_T *pt_info, char *imsi, size_t imsiLen)
+{
+    if(NULL == pt_info)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(NULL == imsi)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(h_sim == 0)
+    {
+        LYERRLOG("not init\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    return lynq_get_imsi(imsi);
+}
+
+int qser_sim_geticcid(sim_client_handle_type h_sim, QSER_SIM_SLOT_ID_TYPE_T simId, char *iccid, size_t iccidLen)
+{
+    if(NULL == iccid)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(h_sim == 0)
+    {
+        LYERRLOG("not init\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    return lynq_get_iccid(iccid);
+}
+
+int qser_sim_getphonenumber(sim_client_handle_type h_sim, QSER_SIM_APP_ID_INFO_T *pt_info,  char *phone_num, size_t phoneLen)
+{
+    if(NULL == pt_info)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(NULL == phone_num)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(h_sim == 0)
+    {
+        LYERRLOG("not init\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    return lynq_query_phone_number(phone_num);
+}
+
+int qser_sim_verifypin(sim_client_handle_type h_sim, QSER_SIM_VERIFY_PIN_INFO_T *pt_info)
+{
+    if(NULL == pt_info)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(h_sim == 0)
+    {
+        LYERRLOG("not init\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    return lynq_verify_pin(pt_info->pin_value);
+}
+
+int qser_sim_changepin(sim_client_handle_type h_sim,QSER_SIM_CHANGE_PIN_INFO_T *pt_info)
+{
+    if(NULL == pt_info)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(h_sim == 0)
+    {
+        LYERRLOG("not init\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    return lynq_change_pin(pt_info->old_pin_value, pt_info->new_pin_value);
+}
+
+int qser_sim_unblockpin(sim_client_handle_type h_sim, QSER_SIM_UNBLOCK_PIN_INFO_T *pt_info)
+{
+    if(NULL == pt_info)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(h_sim == 0)
+    {
+        LYERRLOG("not init\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    return lynq_unlock_pin(pt_info->puk_value, pt_info->new_pin_value);
+}
+
+int qser_sim_enablepin(sim_client_handle_type h_sim, QSER_SIM_ENABLE_PIN_INFO_T *pt_info)
+{
+    if(NULL == pt_info)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(h_sim == 0)
+    {
+        LYERRLOG("not init\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    return lynq_enable_pin(pt_info->pin_value);
+}
+
+int qser_sim_disablepin(sim_client_handle_type h_sim, QSER_SIM_DISABLE_PIN_INFO_T *pt_info)
+{
+    if(NULL == pt_info)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(h_sim == 0)
+    {
+        LYERRLOG("not init\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    return lynq_disable_pin(pt_info->pin_value);
+}
+
+int qser_sim_getcardstatus(sim_client_handle_type h_sim,QSER_SIM_SLOT_ID_TYPE_T simId, QSER_SIM_CARD_STATUS_INFO_T   *pt_info)
+{
+    if(NULL == pt_info)
+    {
+        LYERRLOG("input  error\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    if(h_sim == 0)
+    {
+        LYERRLOG("not init\n");
+        return E_QSER_ERROR_BADPARM;
+    }
+    return lynq_get_sim_status((int*)&pt_info->e_card_state);
+}
\ No newline at end of file