Add some core object type for new plugins on 4.0 81/118181/1
authorsinikang <sinikang@samsung.com>
Thu, 9 Mar 2017 06:03:39 +0000 (15:03 +0900)
committersinikang <sinikang@samsung.com>
Thu, 9 Mar 2017 06:03:39 +0000 (15:03 +0900)
Change-Id: Ib8db4f04230c016f56ecaa2312f5d112cfd3cca4

16 files changed:
include/co_call.h
include/co_sim.h
include/co_sms.h
include/type/call.h
include/type/modem.h
include/type/network.h
include/type/notification.h
include/type/ps.h
include/type/request.h
include/type/response.h
include/type/sat.h
include/type/sim.h
packaging/libtcore.spec
src/core_object/co_call.c
src/core_object/co_sim.c
src/core_object/co_sms.c

index 920db73..87adf4e 100644 (file)
@@ -142,6 +142,9 @@ struct tcore_call_operations {
        TReturn (*start_conference)(CoreObject *o, UserRequest *ur);
        TReturn (*modify_participants_in_conference)(CoreObject *o, UserRequest *ur);
        TReturn (*set_ecc_status)(CoreObject *o, UserRequest *ur);
+       TReturn (*set_call_list)(CoreObject *o, UserRequest *ur);
+       TReturn (*set_volte_call_connection_status)(CoreObject *o, UserRequest *ur);
+       TReturn (*set_ssac_status)(CoreObject *o, UserRequest *ur);
 };
 
 struct tcore_call_information_operations {
@@ -271,6 +274,9 @@ gboolean tcore_call_object_get_added_to_conference(CallObject *co);
 gboolean tcore_call_object_set_audio_codec(CallObject *co, gchar *audio_codec);
 gchar *tcore_call_object_get_audio_codec(CallObject* co);
 
+gboolean tcore_call_object_set_emergency_category(CallObject *co, enum telephony_call_emergency_category ecc_category);
+enum telephony_call_emergency_category tcore_call_object_get_emergency_category(CallObject* co);
+
 /* Call Control APIs */
 gboolean tcore_call_control_new(CoreObject *o, struct tcore_call_control_operations *ops);
 void tcore_call_control_free(CoreObject *o);
index 1006014..0a8b02c 100644 (file)
@@ -36,6 +36,7 @@ struct tcore_sim_operations {
        TReturn (*read_file)(CoreObject *o, UserRequest *ur);
        TReturn (*update_file)(CoreObject *o, UserRequest *ur);
        TReturn (*transmit_apdu)(CoreObject *o, UserRequest *ur);
+       TReturn (*access_rsim_io)(CoreObject *o, UserRequest *ur);
        TReturn (*get_atr)(CoreObject *o, UserRequest *ur);
        TReturn (*req_authentication)(CoreObject *o, UserRequest *ur);
        TReturn (*set_powerstate)(CoreObject *o, UserRequest *ur);
index 5e66ec0..97f248e 100644 (file)
@@ -40,6 +40,17 @@ __BEGIN_DECLS
 #define nDCSOffset                             26
 #define nVPOffset                                      27
 
+struct property_sms_info {
+       int     g_trans_id;
+       int     SMSPRecordLen;
+};
+
+enum tcore_sms_routing_policy {
+       TCORE_SMS_ROUTING_POLICY_CS_ALWAYS,
+       TCORE_SMS_ROUTING_POLICY_IMS_ALWAYS,
+       TCORE_SMS_ROUTING_POLICY_IMS_CS
+};
+
 struct tcore_sms_operations {
        TReturn (*send_umts_msg)(CoreObject *o, UserRequest *ur);
        TReturn (*read_msg)(CoreObject *o, UserRequest *ur);
@@ -83,6 +94,8 @@ CoreObject *tcore_sms_new(TcorePlugin *p, const char *name, struct tcore_sms_ope
 void  tcore_sms_free(CoreObject * n);
 
 void tcore_sms_set_ops(CoreObject *o, struct tcore_sms_operations *ops, enum tcore_ops_type ops_type);
+void tcore_sms_set_sms_routing(CoreObject *o, enum tcore_sms_routing_policy sms_routing_policy);
+enum tcore_sms_routing_policy tcore_sms_get_sms_routing(CoreObject *o);
 
 __END_DECLS
 
index ac4fd31..8c1f8ca 100644 (file)
@@ -616,6 +616,10 @@ enum telephony_call_ecc_status {
        CALL_ECC_STATUS_FAILED =4,
 };
 
+enum telephony_call_volte_call_connection_status {
+       CALL_VOLTE_CONNECTION_STATUS_DISCONNECTED = 0,
+       CALL_VOLTE_CONNECTION_STATUS_CONNECTED =1,
+};
 
 /**********
   Struct
@@ -810,8 +814,25 @@ struct treq_call_modify_participans_in_conference {
 
 struct treq_call_set_ecc_status {
        enum telephony_call_ecc_status status;
+       enum telephony_network_access_technology ecc_rat;
+};
+
+struct treq_call_set_call_list {
+       GSList *call_list;
+};
+
+struct treq_call_set_volte_call_connection_status {
+       enum telephony_call_volte_call_connection_status status;
 };
 
+struct treq_call_set_ssac_status {
+       unsigned int voice_factor;
+       unsigned int voice_time;
+       unsigned int video_factor;
+       unsigned int video_time;
+};
+
+
 // Response
 
 struct tresp_call_dial {
@@ -955,6 +976,14 @@ struct tresp_call_set_ecc_status {
        enum telephony_call_error err;
 };
 
+struct tresp_call_set_call_list {
+       enum telephony_call_error err;
+};
+
+
+struct tresp_call_set_ssac_status {
+       enum telephony_call_error err;
+};
 
 // Notification
 
@@ -1072,6 +1101,11 @@ struct tnoti_call_info_rec {
        struct telephony_call_rec_info rec_info;
 };
 
+struct tnoti_call_info_held {
+       unsigned int handle;
+       gboolean remote_held_tone;
+};
+
 /* IMS specific */
 struct tnoti_call_upgrade_requested {
        unsigned int handle;
index 93fa454..e8d79a2 100644 (file)
@@ -144,6 +144,7 @@ struct tresp_modem_get_version {
        char product_code[33];
        char prl_version[18];
        char eri_version[18];
+       char cp_chipset[17];
 };
 
 struct tresp_modem_get_sn {
index 4c01c42..c3061b1 100644 (file)
@@ -271,6 +271,7 @@ enum telephony_network_epdg_status {
        NETWORK_EPDG_STATUS_CONNECTED, /* 0x03: Connected */
        NETWORK_EPDG_STATUS_HO_LTE_TO_IWLAN, /* 0x04: L2W */
        NETWORK_EPDG_STATUS_HO_IWLAN_TO_LTE, /* 0x05: W2L */
+       NETWORK_EPDG_STATUS_THROTTLING, /* 0x06: Throttling */
 };
 
 struct tel_network_geran_cell_info {
index dcd795e..7b19e6d 100644 (file)
@@ -157,6 +157,8 @@ enum tcore_notification_command {
        TNOTI_PS_EXTERNAL_CALL,
        TNOTI_PS_PROTOCOL_STATUS,
        TNOTI_PS_ALL_PDP_DISCONNECTED,
+       TNOTI_PS_GPRS_BACKOFF_TIMER,
+       TNOTI_PS_GPRS_NAS_TIMER,
 
        TNOTI_SMS = TCORE_NOTIFICATION | TCORE_TYPE_SMS,
        TNOTI_SMS_INCOM_MSG,                    /* This is an unsolicited Incoming SMS Event*/
index 9b13d0b..5e1b594 100644 (file)
@@ -138,6 +138,19 @@ struct tnoti_ps_call_status {
        int result; /* specified in 3GPP TS 24.008 10.5.6.6. */
 };
 
+struct tnoti_ps_backoff_timer {
+       int context_id;
+       int result;
+       unsigned int retry_time;
+       char apn[102];
+};
+
+struct tnoti_ps_nas_timer {
+       int timer_type;
+       int timer_status;
+       int timer_value;
+};
+
 struct tnoti_ps_pdp_ipconfiguration {
        int context_id;
        int secondary_context_id;
index 8dc1de3..843cd15 100644 (file)
@@ -86,6 +86,9 @@ enum tcore_request_command {
        TREQ_CALL_START_CONFERENCE,
        TREQ_CALL_MODIFY_PARTICIPANTS_IN_CONFERENCE,
        TREQ_CALL_SET_ECC_STATUS,
+       TREQ_CALL_SET_CALL_LIST,
+       TREQ_CALL_SET_VOLTE_CALL_CONNECTION_STATUS,
+       TREQ_CALL_SET_SSAC_STATUS,
 
        TREQ_SS = TCORE_REQUEST | TCORE_TYPE_SS,
        TREQ_SS_BARRING_ACTIVATE,
@@ -116,6 +119,7 @@ enum tcore_request_command {
        TREQ_SIM_DISABLE_FACILITY,
        TREQ_SIM_ENABLE_FACILITY,
        TREQ_SIM_TRANSMIT_APDU,
+       TREQ_SIM_ACCESS_RSIM_IO,
        TREQ_SIM_GET_ATR,
        TREQ_SIM_GET_ECC,
        TREQ_SIM_GET_LANGUAGE,
@@ -147,6 +151,7 @@ enum tcore_request_command {
        TREQ_SIM_GET_DOMAIN,
        TREQ_SIM_GET_PCSCF,
        TREQ_SIM_GET_ISIM_SERVICE_TABLE,
+       TREQ_SIM_GET_CDMAIMSI,
        TREQ_SIM_SET_PROVISIONING,
 
        TREQ_SAT = TCORE_REQUEST | TCORE_TYPE_SAT,
index b2f6649..60f2e62 100644 (file)
@@ -81,7 +81,9 @@ enum tcore_response_command {
        TRESP_CALL_MODIFY_PARTICIPANTS_IN_CONFERENCE,
 
        TRESP_CALL_SET_ECC_STATUS,
-
+       TRESP_CALL_SET_CALL_LIST,
+       TRESP_CALL_SET_VOLTE_CALL_CONNECTION_STATUS,
+       TRESP_CALL_SET_SSAC_STATUS,
 
        TRESP_SS = TCORE_RESPONSE | TCORE_TYPE_SS,
        TRESP_SS_BARRING_ACTIVATE,
@@ -112,6 +114,7 @@ enum tcore_response_command {
        TRESP_SIM_DISABLE_FACILITY,
        TRESP_SIM_ENABLE_FACILITY,
        TRESP_SIM_TRANSMIT_APDU,
+       TRESP_SIM_ACCESS_RSIM_IO,
        TRESP_SIM_GET_ATR,
        TRESP_SIM_GET_ECC,
        TRESP_SIM_GET_LANGUAGE,
@@ -142,6 +145,7 @@ enum tcore_response_command {
        TRESP_SIM_GET_DOMAIN,
        TRESP_SIM_GET_PCSCF,
        TRESP_SIM_GET_ISIM_SERVICE_TABLE,
+       TRESP_SIM_GET_CDMAIMSI,
 
        TRESP_SAT = TCORE_RESPONSE | TCORE_TYPE_SAT,
        TRESP_SAT_REQ_ENVELOPE,
index 6b3f965..02be21c 100644 (file)
@@ -1802,6 +1802,10 @@ struct tresp_sat_envelop_data{
        enum envelop_rsp envelop_resp;
 };
 
+struct tresp_sat_terminal_response {
+       int result;
+};
+
 /*
  * Define SAT Notification structure
  */
index 18ca1aa..8553e35 100644 (file)
@@ -103,6 +103,11 @@ enum tel_sim_file_id {
        SIM_EF_EXT5 = 0x6F4E,                                   /**< Extension File-5 */
        SIM_EF_EXT6 = 0x6FC8,                                   /**< Extension File-6 */
        SIM_EF_IMG = 0x4F20,                                    /**Image file*/
+       SIM_EF_ROAMING = 0x2F50,
+       SIM_EF_FPLMN = 0x6F7B,
+       SIM_EF_EPSLOCI = 0x6FE3,
+       SIM_EF_PSLOCI = 0x6F73,
+       SIM_EF_LOCI = 0x6F7E,
 
        SIM_EF_USIM_LI = 0x6A05,                                /**< USIM: Language Indication */
        SIM_EF_USIM_PL = 0x2A05,                                /**< the Language Preference file of USIM */
@@ -1138,6 +1143,11 @@ struct tel_sim_pcscf_list {
        struct tel_sim_pcscf pcscf[SIM_PCSCF_CNT_MAX]; /**< ISIM P-CSCF list */
 };
 
+struct tel_sim_cdma_imsi {
+       unsigned short provisioned;
+       char *min;
+};
+
 struct treq_sim_verify_pins {
        enum tel_sim_pin_type pin_type;
        unsigned int pin_length;
@@ -1185,6 +1195,13 @@ struct treq_sim_transmit_apdu {
        unsigned char apdu[SIM_APDU_DATA_LEN_MAX];
 };
 
+struct treq_sim_access_rsim_io {
+       unsigned int field;
+       unsigned int data_len;
+       unsigned char data[SIM_APDU_DATA_LEN_MAX];
+       unsigned int rec_index;
+};
+
 struct treq_sim_set_language {
        enum tel_sim_language_type language;
 };
@@ -1305,6 +1322,7 @@ struct tresp_sim_read {
                struct tel_sim_pcscf_list pcscf_list;
                struct tel_sim_ist ist;
                struct tel_sim_cphs_csp csp;
+               struct tel_sim_cdma_imsi imsim;
        } data;
 };
 
index 6648f13..3339c08 100644 (file)
@@ -1,6 +1,6 @@
 %define major 0
 %define minor 3
-%define patchlevel 10
+%define patchlevel 11
 
 Name:           libtcore
 Version:        %{major}.%{minor}.%{patchlevel}
index f324f0d..5b7d997 100644 (file)
@@ -66,6 +66,8 @@ struct call_object {
                long end; /* In seconds */
        } time;
 
+       enum telephony_call_emergency_category ecc_category;
+
        /* IMS: VoLTE/ViLTE speciifc parameters */
        gboolean is_volte_call; /* True: VoLTE Call, False: CS Call */
        int session_id; /* IMS Session ID */
@@ -321,6 +323,23 @@ static TReturn _dispatcher(CoreObject *o, UserRequest *ur, enum tcore_ops_type o
 
                return ops->set_ecc_status(o, ur);
 
+       case TREQ_CALL_SET_CALL_LIST:
+               tcore_check_null_ret_err("ops->set_call_list",
+                       ops->set_call_list, TCORE_RETURN_ENOSYS);
+
+               return ops->set_call_list(o, ur);
+
+       case TREQ_CALL_SET_VOLTE_CALL_CONNECTION_STATUS:
+               tcore_check_null_ret_err("ops->set_volte_call_connection_status",
+                       ops->set_volte_call_connection_status, TCORE_RETURN_ENOSYS);
+
+               return ops->set_volte_call_connection_status(o, ur);
+
+       case TREQ_CALL_SET_SSAC_STATUS:
+               tcore_check_null_ret_err("ops->set_ssac_status",
+                       ops->set_ssac_status, TCORE_RETURN_ENOSYS);
+
+               return ops->set_ssac_status(o, ur);
 
        default:
                break;
@@ -1020,6 +1039,19 @@ CallObject *tcore_call_object_find_by_session_id(CoreObject *o, int session_id)
        return _find_object(po->cobjs, &session_id, _compare_by_session_id);
 }
 
+gboolean tcore_call_object_set_emergency_category(CallObject *co, enum telephony_call_emergency_category ecc_category)
+{
+       tcore_check_null_ret_err("co", co, FALSE);
+       co->ecc_category = ecc_category;
+       return TRUE;
+}
+
+enum telephony_call_emergency_category tcore_call_object_get_emergency_category(CallObject* co)
+{
+       tcore_check_null_ret_err("co", co, FALSE);
+       return co->ecc_category;
+}
+
 gboolean tcore_call_object_check_cs_call_existence(CoreObject *o)
 {
        struct private_object_data *po = NULL;
index d6f2871..4aaad2c 100644 (file)
@@ -227,6 +227,12 @@ static TReturn _dispatcher(CoreObject *o, UserRequest *ur, enum tcore_ops_type o
 
                return ops->transmit_apdu(o, ur);
 
+       case TREQ_SIM_ACCESS_RSIM_IO:
+               tcore_check_null_ret_err("ops->access_rsim_io",
+                       ops->access_rsim_io, TCORE_RETURN_ENOSYS);
+
+               return ops->access_rsim_io(o, ur);
+
        case TREQ_SIM_GET_ATR:
                tcore_check_null_ret_err("ops->get_atr",
                        ops->get_atr, TCORE_RETURN_ENOSYS);
@@ -265,6 +271,7 @@ static TReturn _dispatcher(CoreObject *o, UserRequest *ur, enum tcore_ops_type o
        case TREQ_SIM_GET_DOMAIN:
        case TREQ_SIM_GET_PCSCF:
        case TREQ_SIM_GET_ISIM_SERVICE_TABLE:
+       case TREQ_SIM_GET_CDMAIMSI:
                tcore_check_null_ret_err("ops->read_file",
                        ops->read_file, TCORE_RETURN_ENOSYS);
 
index 9601377..144c146 100644 (file)
@@ -33,6 +33,7 @@
 struct private_object_data {
        struct tcore_sms_operations *ops[TCORE_OPS_TYPE_MAX];
        enum telephony_sms_ready_status SmsReadyStatus;
+       enum tcore_sms_routing_policy sms_routing_policy;
 };
 
 int _tcore_util_sms_encode_smsParameters(const struct telephony_sms_Params *incoming,
@@ -484,6 +485,29 @@ gboolean tcore_sms_set_ready_status(CoreObject *o, enum telephony_sms_ready_stat
        return TRUE;
 }
 
+void tcore_sms_set_sms_routing(CoreObject *o, enum tcore_sms_routing_policy sms_routing_policy)
+{
+       struct private_object_data *po = NULL;
+
+       po = tcore_object_ref_object(o);
+       if (!po)
+               return;
+
+       po->sms_routing_policy = sms_routing_policy;
+}
+
+enum tcore_sms_routing_policy tcore_sms_get_sms_routing(CoreObject *o)
+{
+       struct private_object_data *po = NULL;
+
+       po = tcore_object_ref_object(o);
+       if (!po)
+               return TCORE_SMS_ROUTING_POLICY_CS_ALWAYS; /* 'default' to CS */
+
+       return po->sms_routing_policy;
+}
+
+
 CoreObject *tcore_sms_new(TcorePlugin *p, const char *name,
        struct tcore_sms_operations *ops, TcoreHal *hal)
 {
@@ -505,6 +529,7 @@ CoreObject *tcore_sms_new(TcorePlugin *p, const char *name,
 
        /* set ops to default type when core object is created. */
        po->ops[TCORE_OPS_TYPE_CP] = ops;
+       po->sms_routing_policy = TCORE_SMS_ROUTING_POLICY_IMS_CS;
 
        tcore_object_set_type(o, CORE_OBJECT_TYPE_SMS);
        tcore_object_link_object(o, po);