-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ciss-converter.h"
-
-static const sc_table_element_type sc_conversion_table_ss[] = {
- {CISS_ENG_SC_CF, TAPI_SS_FORWARD_WHEN_ALL_FORWARDING_EV, TAPI_SS_TYPE_FORWARDING},
- {CISS_ENG_SC_CFC, TAPI_SS_FORWARD_WHEN_ALL_CONDITIONAL_EV, TAPI_SS_TYPE_FORWARDING},
- {CISS_ENG_SC_CFU, TAPI_SS_FORWARD_WHEN_UNCONDITIONAL_EV, TAPI_SS_TYPE_FORWARDING},
- {CISS_ENG_SC_CFB, TAPI_SS_FORWARD_WHEN_BUSY_EV, TAPI_SS_TYPE_FORWARDING},
- {CISS_ENG_SC_CFNRY, TAPI_SS_FORWARD_WHEN_NO_ANSWER_EV, TAPI_SS_TYPE_FORWARDING},
- {CISS_ENG_SC_CFNRC, TAPI_SS_FORWARD_WHEN_NOT_REACHABLE_EV, TAPI_SS_TYPE_FORWARDING},
- {CISS_ENG_SC_CLIP, TAPI_SS_CLI_CLIP, TAPI_SS_TYPE_IDENTIFICATION},
- {CISS_ENG_SC_CLIR, TAPI_SS_CLI_CLIR, TAPI_SS_TYPE_IDENTIFICATION},
- {CISS_ENG_SC_COLP, TAPI_SS_CLI_COLP, TAPI_SS_TYPE_IDENTIFICATION},
- {CISS_ENG_SC_COLR, TAPI_SS_CLI_COLR, TAPI_SS_TYPE_IDENTIFICATION},
- {CISS_ENG_SC_CNAP, TAPI_SS_CLI_CNAP, TAPI_SS_TYPE_IDENTIFICATION},
- {CISS_ENG_SC_CW, 0, TAPI_SS_TYPE_WAITING},
- {CISS_ENG_SC_B, TAPI_CALL_BARRING_ALL, TAPI_SS_TYPE_BARRING},
- {CISS_ENG_SC_OB, TAPI_CALL_BARRING_OUTGOING, TAPI_SS_TYPE_BARRING},
- {CISS_ENG_SC_IB, TAPI_CALL_BARRING_INCOMING, TAPI_SS_TYPE_BARRING},
- {CISS_ENG_SC_BAOC, TAPI_CALL_BARRING_ALL_OUTGOING_CALLS, TAPI_SS_TYPE_BARRING},
- {CISS_ENG_SC_BOIC, TAPI_CALL_BARRING_ALL_OUTGOING_INTERN_CALL, TAPI_SS_TYPE_BARRING},
- {CISS_ENG_SC_BOICEXHC, TAPI_CALL_BARRING_ALL_OUTGOING_INTERN_CALL_EXCEPT, TAPI_SS_TYPE_BARRING},
- {CISS_ENG_SC_BAIC, TAPI_CALL_BARRING_ALL_INCOMING_CALLS, TAPI_SS_TYPE_BARRING},
- {CISS_ENG_SC_BICROAM, TAPI_CALL_BARRING_ALL_INCOMING_CALLS_ROAMING, TAPI_SS_TYPE_BARRING}
-};
-
-/* table for conversion between local basic service group (BSG)
- and tapi BSG.
-
- elements represent - local BSG value,
- BSG code : basic service code (BS code) or
- tele service code (TS code)
- tapi BSG value
-
-*/
-
-/* need to find mapping with the call type or forward type for call barring and call diverting else not required */
-static const bsg_table_element_type bsg_conversion_table[MAX_BSG_ENTRY] = {
- {CISS_ENG_BSG_ALL, 0, TAPI_SS_TS_ALL_TELE_AND_BEARER_SERVICES},
- {CISS_ENG_BSG_ALL_TS, TS_CODE, TAPI_SS_TS_ALL_TELESERVICES},
- {CISS_ENG_BSG_TELEPHONY, TS_CODE, TAPI_SS_TS_ALL_SPEECH },
- /* ALS_SUPPORT : added mapping for auxilliary telephony */
-#ifdef FEATURE_SAMSUNG_ALS
- {CISS_ENG_BSG_AUX_TELEPHONY, TS_CODE, TAPI_SS_TS_AUX_VOICE},
-#endif
- {CISS_ENG_BSG_ALL_DATA, TS_CODE, TAPI_SS_TS_ALL_DATA_TELESERVICES},
- {CISS_ENG_BSG_FAX, TS_CODE, TAPI_SS_TS_FACS},
- {CISS_ENG_BSG_SMS, TS_CODE, TAPI_SS_TS_SMS},
- {CISS_ENG_BSG_ALL_TELE_EX_SMS, TS_CODE, TAPI_SS_TS_ALL_TELESERVICES_EXCEPT_SMS},
- {CISS_ENG_BSG_PLMN_TELE_ALL, TS_CODE, TAPI_SS_TS_ALL_PLMN_SPEC_TELE },
- {CISS_ENG_BSG_PLMN_TELE_1, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_1},
- {CISS_ENG_BSG_PLMN_TELE_2, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_2},
- {CISS_ENG_BSG_PLMN_TELE_3, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_3},
- {CISS_ENG_BSG_PLMN_TELE_4, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_4},
- {CISS_ENG_BSG_PLMN_TELE_5, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_5},
- {CISS_ENG_BSG_PLMN_TELE_6, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_6},
- {CISS_ENG_BSG_PLMN_TELE_7, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_7},
- {CISS_ENG_BSG_PLMN_TELE_8, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_8},
- {CISS_ENG_BSG_PLMN_TELE_9, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_9},
- {CISS_ENG_BSG_PLMN_TELE_A, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_A},
- {CISS_ENG_BSG_PLMN_TELE_B, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_B},
- {CISS_ENG_BSG_PLMN_TELE_C, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_C},
- {CISS_ENG_BSG_PLMN_TELE_D, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_D},
- {CISS_ENG_BSG_PLMN_TELE_E, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_E},
- {CISS_ENG_BSG_PLMN_TELE_F, TS_CODE, TAPI_SS_TS_PLMN_SPEC_TELE_F},
- {CISS_ENG_BSG_ALL_BS, BS_CODE, TAPI_SS_BS_ALL_BEARER_SERVICES},
- {CISS_ENG_BSG_ALL_ASYNC, BS_CODE, TAPI_SS_BS_ALL_ASYNCHRONOUS},
- {CISS_ENG_BSG_ALL_SYNC, BS_CODE, TAPI_SS_BS_ALL_SYNCHRONOUS},
- {CISS_ENG_BSG_ALL_DC_SYNC, BS_CODE, TAPI_SS_BS_DATA_CIRCUIT_SYNC},
- {CISS_ENG_BSG_ALL_DC_ASYNC, BS_CODE, TAPI_SS_BS_DATA_CIRCUIT_ASYNC},
- {CISS_ENG_BSG_ALL_DED_PACKET, BS_CODE, TAPI_SS_BS_DATA_ALL_PDS},
- {CISS_ENG_BSG_ALL_DED_PAD, BS_CODE, TAPI_SS_BS_ALL_DATA_PADCA},
- {CISS_ENG_BSG_PLMN_BEAR_ALL, BS_CODE, TAPI_SS_BS_ALL_PLMN_SPEC_BS},
- {CISS_ENG_BSG_PLMN_BEAR_1, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_1},
- {CISS_ENG_BSG_PLMN_BEAR_2, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_2},
- {CISS_ENG_BSG_PLMN_BEAR_3, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_3},
- {CISS_ENG_BSG_PLMN_BEAR_4, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_4},
- {CISS_ENG_BSG_PLMN_BEAR_5, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_5},
- {CISS_ENG_BSG_PLMN_BEAR_6, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_6},
- {CISS_ENG_BSG_PLMN_BEAR_7, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_7},
- {CISS_ENG_BSG_PLMN_BEAR_8, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_8},
- {CISS_ENG_BSG_PLMN_BEAR_9, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_9},
- {CISS_ENG_BSG_PLMN_BEAR_A, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_A},
- {CISS_ENG_BSG_PLMN_BEAR_B, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_B},
- {CISS_ENG_BSG_PLMN_BEAR_C, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_C},
- {CISS_ENG_BSG_PLMN_BEAR_D, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_C},
- {CISS_ENG_BSG_PLMN_BEAR_E, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_D},
- {CISS_ENG_BSG_PLMN_BEAR_F, BS_CODE, TAPI_SS_BS_PLMN_SPEC_TELE_F}
-};
-
-int _ciss_convert_bsg_to_tapi_bsg(char *local_bsg, TelSsTeleService_t *tapi_bsg)
-{
- int valid_bsg = false;
-
- int n = 0;
- int local_bsg_len =0;
-
- local_bsg_len = strlen(local_bsg);
- if (local_bsg_len > MAX_BSG_LEN)
- return false;
-
- DBG("\n [CISS-ENGINE] local_bsg : %s", local_bsg);
- while (n < MAX_BSG_ENTRY) {
- DBG("\n [CISS-ENGINE] n : %d", n);
- if (!strncmp(bsg_conversion_table[n].local_bsg, local_bsg, MAX_SC_LEN)) {
- DBG("\n [CISS-ENGINE] bsg_conversion_table[n].local_bsg : %s", bsg_conversion_table[n].local_bsg);
- *tapi_bsg = bsg_conversion_table[n].tapi_bsg_code;
- valid_bsg = TRUE;
- break;
- }
- n++;
- }
- DBG("\n [CISS-ENGINE] end _ciss_convert_bsg_to_tapi_bsg()");
- return(valid_bsg);
-}
-
-int _ciss_convert_sc_to_tapi_flavor(char *sc, unsigned char *tapi_flavor, unsigned char *ss_type)
-{
- int valid_sc = false;
-
- int n = 0;
- DBG("\n [CISS-ENGINE] sc : %s", sc);
- while (n < MAX_SC_ENTRY) {
- if (!strncmp(sc_conversion_table_ss[n].local_sc, sc, MAX_SC_LEN)) {
- DBG("\n [CISS-ENGINE] sc_conversion_table_ss[n].local_sc : %s", sc_conversion_table_ss[n].local_sc);
- *tapi_flavor = sc_conversion_table_ss[n].tapi_flavor;
- *ss_type = sc_conversion_table_ss[n].ss_type;
- valid_sc = TRUE;
- break;
- }
- n++;
- }
- return(valid_sc);
-}
-
-int _ciss_get_tapi_forward_type(TelSsTeleService_t TelecommSvc, TelSsForwardType_t *pForwardType)
-{
- switch (TelecommSvc) {
- case TAPI_SS_TS_ALL_SPEECH:
- *pForwardType = TAPI_CS_FORWARD_TYPE_VOICE_EV;
- DBG("\n [CISS-ENGINE] ********TAPI_SS_TS_ALL_SPEECH\n");
- break;
- case TAPI_SS_TS_ALL_TELESERVICES:
- *pForwardType = TAPI_CS_FORWARD_TYPE_ALL_TELE;
- DBG("\n [CISS-ENGINE] ********TAPI_SS_TS_ALL_TELESERVICES\n");
- break;
- case TAPI_SS_TS_FACS:
- *pForwardType = TAPI_CS_FORWARD_TYPE_FAX_EV;
- break;
- case TAPI_SS_TS_ALL_TELE_AND_BEARER_SERVICES:
- *pForwardType = TAPI_CS_FORWARD_TYPE_ALL_TELE_BEARER;
- break;
- case TAPI_SS_BS_ALL_ASYNCHRONOUS:
- *pForwardType = TAPI_CS_FORWARD_TYPE_ALL_ASYNC_EV;
- break;
- case TAPI_SS_BS_ALL_SYNCHRONOUS:
- *pForwardType = TAPI_CS_FORWARD_TYPE_ALL_SYNC_EV;
- break;
- case TAPI_SS_BS_ALL_BEARER_SERVICES:
- case TAPI_SS_BS_DATA_CIRCUIT_SYNC:
- *pForwardType = TAPI_CS_FORWARD_TYPE_DATA_EV;
- DBG("\n [CISS-ENGINE] ********TAPI_SS_BS_DATA_CIRCUIT_SYNC\n");
- break;
- case TAPI_SS_TS_SMS:
- *pForwardType = TAPI_CS_FORWARD_TYPE_ALL_SYNC_EV;
- break;
- default:
- DBG("\n [CISS-ENGINE] _ciss_get_tapi_forward_type:undefined =%d\n", TelecommSvc);
- *pForwardType = TAPI_CS_FORWARD_TYPE_ALL_TELE_BEARER;
- break;
- }
-
- DBG("\n [CISS-ENGINE] TelecommSvc = %d, pForwardType= %d\n", TelecommSvc, *pForwardType);
- return TRUE;
-}
-
-int _ciss_get_tapi_call_type(TelSsTeleService_t TelecommSvc, TelSsCallType_t *pCallType)
-{
- switch (TelecommSvc) {
- case TAPI_SS_TS_ALL_SPEECH: /* Voice */
- *pCallType = TAPI_CALL_TYPE_VOICE_EV;
- DBG("\n [CISS-ENGINE] ********TAPI_SS_TS_ALL_SPEECH\n");
- break;
- case TAPI_SS_TS_ALL_TELESERVICES:
- *pCallType = TAPI_CALL_TYPE_ALL_TELE;
- DBG("\n [CISS-ENGINE] ********TAPI_SS_TS_ALL_TELESERVICES\n");
- break;
- case TAPI_SS_TS_ALL_DATA_TELESERVICES: /* Data */
- *pCallType = TAPI_CALL_TYPE_DATA_EV;
- break;
- case TAPI_SS_TS_FACS: /* Fax */
- *pCallType = TAPI_CALL_TYPE_FAX_EV;
- break;
-
- case TAPI_SS_TS_SMS: /* SMS */
- *pCallType = TAPI_CALL_TYPE_SHORT_MESS_EV;
- break;
- case TAPI_SS_BS_ALL_ASYNCHRONOUS:
- *pCallType = TAPI_CALL_TYPE_ALL_ASYNC_EV;
- break;
- case TAPI_SS_BS_ALL_SYNCHRONOUS:
- *pCallType = TAPI_CALL_TYPE_ALL_SYNC_EV;
- break;
- case TAPI_SS_BS_ALL_BEARER_SERVICES: /* Video */
- case TAPI_SS_BS_DATA_CIRCUIT_SYNC:
- *pCallType = TAPI_CALL_TYPE_DATA_CIRCUIT_SYNC_EV;
- DBG("\n [CISS-ENGINE] ********TAPI_SS_BS_DATA_CIRCUIT_SYNC\n");
- break;
- case TAPI_SS_TS_ALL_TELE_AND_BEARER_SERVICES: /* ALL */
- *pCallType = TAPI_CALL_TYPE_ALL_TELE_BEARER;
- break;
- default:
- DBG("\n [CISS-ENGINE] _ciss_get_tapi_call_type:undefined =%d\n", TelecommSvc);
- *pCallType = TAPI_CALL_TYPE_ALL_TELE_BEARER;
- break;
- }
- return TRUE;
-}
-
-int _ciss_get_error_from_tapi_error(ciss_err_t *ciss_err, TelSsCause_t tapi_err)
-{
- DBG("\n [CISS-ENGINE] _ciss_get_error_from_tapi_error:defined =%x\n", tapi_err);
- switch (tapi_err) {
- case TAPI_SS_UNKNOWNSUBSCRIBER:
- *ciss_err = CISS_ERR_UNKNOWN_SUBSCRIBER;
- break;
- case TAPI_SS_BEARERSERVICENOTPROVISIONED:
- *ciss_err = CISS_ERR_BEARER_NOT_PROVISIONED;
- break;
- case TAPI_SS_TELESERVICENOTPROVISIONED:
- *ciss_err = CISS_ERR_TELESERVICE_NOT_PROVISIONED;
- break;
- case TAPI_SS_CALLBARRED:
- *ciss_err = CISS_ERR_CALL_BARRED;
- break;
- case TAPI_SS_ILLEGALSSOPERATION:
- *ciss_err = CISS_ERR_ILLEGAL_SS_OPER;
- break;
- case TAPI_SS_ERRORSTATUS:
- *ciss_err = CISS_ERR_ERR_STATUS;
- break;
- case TAPI_SS_NOTAVAILABLE:
- *ciss_err = CISS_ERR_NOT_AVAIL;
- break;
- case TAPI_SS_SUBSCRIPTIONVIOLATION:
- *ciss_err = CISS_ERR_SUBSCRIPTION_VIOLATION;
- break;
- case TAPI_SS_INCOMPATIBILITY:
- *ciss_err = CISS_ERR_INCOMPATIBILITY;
- break;
- case TAPI_SS_FACILITYNOTSUPPORTED:
- *ciss_err = CISS_ERR_FACILITY_NOT_SUPPORT;
- break;
- case TAPI_SS_SYSTEMFAILURE:
- *ciss_err = CISS_ERR_SYS_FAILURE;
- break;
- case TAPI_SS_DATAMISSING:
- *ciss_err = CISS_ERR_DATA_MISSING;
- break;
- case TAPI_SS_UNEXPECTEDDATAVALUE:
- *ciss_err = CISS_ERR_UNEXPECTED_DATA;
- break;
- case TAPI_SS_MAXNOMPTYEXCEEDED:
- *ciss_err = CISS_ERR_MPTY_PARTICIPANTS_EXCEED;
- break;
- case TAPI_SS_RESOURCESNOTAVAILABLE:
- *ciss_err = CISS_ERR_RESOURCE_NOT_AVAIL;
- break;
- case TAPI_SS_PWREGISTRATIONFAILURE:
- *ciss_err = CISS_ERR_PW_REGIST_FAIL;
- break;
- case TAPI_SS_NEGATIVEPWCHECK:
- *ciss_err = CISS_ERR_NEGATIVE_PW_CHECK;
- break;
- case TAPI_SS_NUMBEROFPWATTEMPTSVIOLATION:
- *ciss_err = CISS_ERR_PW_ATTEMPS_VIOLATION;
- break;
- default:
- DBG("\n [CISS-ENGINE] _ciss_get_error_from_tapi_error:undefined =%x\n", tapi_err);
- *ciss_err = CISS_ERR_UNKNOWN;
- break;
- }
- return TRUE;
-}
-
-int _ciss_get_tapi_ussd_resp_type(ciss_ussd_response_type_t resp_type, TelSsUssdRespType_t *pTapiRespType)
-{
- DBG("\n [CISS-ENGINE] _ciss_get_tapi_ussd_resp_type:defined =%d\n", resp_type);
- switch (resp_type) {
- case CISS_USSD_RES_UNKNOWN_ALPHABET:
- *pTapiRespType = TAPI_USSD_RES_UNKNOWN_ALPHABET;
- break;
- case CISS_USSD_RES_DISPL_BUSY:
- *pTapiRespType = TAPI_USSD_RES_DISPL_BUSY;
- break;
- case CISS_USSD_RES_OK:
- *pTapiRespType = TAPI_USSD_RES_OK;
- break;
- case CISS_USSD_RES_NONE:
- *pTapiRespType = TAPI_USSD_RES_NONE;
- break;
- default:
- DBG("\n [CISS-ENGINE] _ciss_get_tapi_ussd_resp_type:undefined =%d\n", resp_type);
- break;
- }
- return TRUE;
-}
-
-int _ciss_get_tapi_ussd_ind_type(ciss_ussd_ind_type_t ind_type, TelSsUssdIndType_t *pTapiIndType)
-{
- DBG("\n [CISS-ENGINE] _ciss_get_tapi_ussd_ind_type:defined =%d\n", ind_type);
- switch (ind_type) {
- case CISS_USSD_NOTIFY:
- *pTapiIndType = TAPI_USSD_IND_NOTIFY;
- break;
- case CISS_USSD_IND_NO_ACTION_REQUIRE:
- *pTapiIndType = TAPI_USSD_IND_NO_ACTION_REQUIRE;
- break;
- case CISS_USSD_IND_ACTION_REQUIRE:
- *pTapiIndType = TAPI_USSD_IND_ACTION_REQUIRE;
- break;
- case CISS_USSD_TERMINATED_BY_NET:
- *pTapiIndType = TAPI_USSD_IND_TERMINATED_BY_NET;
- break;
- case CISS_USSD_OTHER_CLIENT:
- *pTapiIndType = TAPI_USSD_IND_OTHER_CLIENT;
- break;
- case CISS_USSD_NOT_SUPPORT:
- *pTapiIndType = TAPI_USSD_IND_NOT_SUPPORT;
- break;
- case CISS_USSD_TIME_OUT:
- *pTapiIndType = TAPI_USSD_IND_TIME_OUT;
- break;
- default:
- DBG("\n [CISS-ENGINE] _ciss_get_tapi_ussd_ind_type:undefined =%d\n", ind_type);
- break;
- }
- return TRUE;
-}
-
-int _ciss_get_telecomm_svc(TelSsTeleService_t in_teleservice, ciss_telecomm_svc_t *out_teleservice)
-{
- switch (in_teleservice) {
-#ifdef _SHP_CPHS
- case TAPI_SS_TS_ALL_SPEECH:
- *out_teleservice = CISS_TELECOMM_SVC_VOICE;
- break;
- case TAPI_SS_TS_AUX_VOICE:
- *out_teleservice = CISS_TELECOMM_SVC_AUX_VOICE:
- break;
-#else
- case TAPI_SS_TS_ALL_SPEECH:
- *out_teleservice = CISS_TELECOMM_SVC_VOICE;
- break;
-#endif
-
- case TAPI_SS_TS_FACS:
- *out_teleservice = CISS_TELECOMM_SVC_FAX;
- break;
- case TAPI_SS_TS_SMS:
- *out_teleservice = CISS_TELECOMM_SVC_SMS;
- break;
- case TAPI_SS_BS_DATA_CIRCUIT_SYNC:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_CS_SYNC;
- break;
- case TAPI_SS_ALL_TELE_BEARER:
- case TAPI_SS_TS_ALL_TELE_AND_BEARER_SERVICES:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_TELE_BEARER;
- break;
- case TAPI_SS_TS_ALL_TELESERVICES:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_TELE;
- break;
- case TAPI_SS_TS_ALL_DATA_TELESERVICES:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_DATA_TELE;
- break;
- case TAPI_SS_TS_ALL_TELESERVICES_EXCEPT_SMS:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_TELE_EXPT_SMS;
- break;
- case TAPI_SS_TS_ALL_PLMN_SPEC_TELE:
- *out_teleservice = CISS_TELECOMM_SVC_PLMN_TELE_ALL;
- break;
- case TAPI_SS_BS_ALL_BEARER_SERVICES:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_BEARER;
- break;
- case TAPI_SS_BS_ALL_DATA_CDA:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_DATA_CDA;
- break;
- case TAPI_SS_BS_ALL_SYNCHRONOUS:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_SYNC;
- break;
- case TAPI_SS_BS_ALL_ASYNCHRONOUS:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_ASYNC;
- break;
- case TAPI_SS_BS_ALL_DATA_PADCA:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_DEDI_PAD;
- break;
- case TAPI_SS_BS_ALL_PLMN_SPEC_BS:
- *out_teleservice = CISS_TELECOMM_SVC_PLMN_BEAR_ALL;
- break;
- case TAPI_SS_BS_DATA_CIRCUIT_ASYNC:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_CS_ASYNC;
- break;
- case TAPI_SS_BS_DATA_ALL_PDS:
- *out_teleservice = CISS_TELECOMM_SVC_ALL_DEDI_PS;
- break;
- case TAPI_SS_TS_NONE:
- default:
- *out_teleservice = CISS_TELECOMM_SVC_NONE;
- DBG("\n [CISS-ENGINE] _ciss_get_telecomm_svc: ERROR Wrong Bearer = %d come. \n", in_teleservice);
- break;
- }
- return TRUE;
-}
-
-int _ciss_get_forward_flavor_type(TelSsForwardWhen_t in_flavor, ciss_flavor_t *out_flavor)
-{
- switch (in_flavor) {
- case TAPI_SS_FORWARD_WHEN_UNCONDITIONAL_EV:
- *out_flavor = CISS_FLAVOR_DIVERT_UNCONDITIONAL;
- break;
- case TAPI_SS_FORWARD_WHEN_BUSY_EV:
- *out_flavor = CISS_FLAVOR_DIVERT_BUSY;
- break;
- case TAPI_SS_FORWARD_WHEN_NO_ANSWER_EV:
- *out_flavor = CISS_FLAVOR_DIVERT_NOREPLY;
- break;
- case TAPI_SS_FORWARD_WHEN_NOT_REACHABLE_EV:
- *out_flavor = CISS_FLAVOR_DIVERT_UNREACHABLE;
- break;
- case TAPI_SS_FORWARD_WHEN_ALL_CONDITIONAL_EV:
- *out_flavor = CISS_FLAVOR_DIVERT_ALL_CONDITIONAL_FLAVORS;
- break;
- case TAPI_SS_FORWARD_WHEN_ALL_FORWARDING_EV:
- *out_flavor = CISS_FLAVOR_DIVERT_ALL_FLAVORS;
- break;
- default:
- *out_flavor = CISS_FLAVOR_NONE;
- DBG("\n [CISS-ENGINE] _ciss_get_forward_flavor_type: ERROR Wrong Flavor = %d come. \n", in_flavor);
- break;
- }
- return TRUE;
-}
-
-int _ciss_get_barring_flavor_type(TelSsCallBarType_t in_flavor, ciss_flavor_t *out_flavor)
-{
- switch (in_flavor) {
- case TAPI_CALL_BARRING_ALL:
- *out_flavor = CISS_FLAVOR_BARRING_ALL_FLAVORS;
- break;
- case TAPI_CALL_BARRING_ALL_OUTGOING_CALLS:
- *out_flavor = CISS_FLAVOR_BARRING_ALL_OUTGOING_CALLS;
- break;
- case TAPI_CALL_BARRING_ALL_OUTGOING_INTERN_CALL:
- *out_flavor = CISS_FLAVOR_BARRING_ALL_OUTGOING_INTERNATIONAL;
- break;
- case TAPI_CALL_BARRING_ALL_OUTGOING_INTERN_CALL_EXCEPT:
- *out_flavor = CISS_FLAVOR_BARRING_OUTGOING_INTERNATIONAL_CALLS_EXCEPT_HOME;
- break;
- case TAPI_CALL_BARRING_ALL_INCOMING_CALLS:
- *out_flavor = CISS_FLAVOR_BARRING_ALL_INCOMING_CALLS;
- break;
- case TAPI_CALL_BARRING_ALL_INCOMING_CALLS_ROAMING:
- *out_flavor = CISS_FLAVOR_BARRING_INCOMING_CALLS_WHEN_ROAMING;
- break;
- case TAPI_CALL_BARRING_OUTGOING:
- *out_flavor = CISS_FLAVOR_BARRING_ALL_OUTGOING_CALLS;
- break;
- case TAPI_CALL_BARRING_INCOMING:
- *out_flavor = CISS_FLAVOR_BARRING_ALL_INCOMING_CALLS;
- break;
- default:
- *out_flavor = CISS_FLAVOR_NONE;
- DBG("\n [CISS-ENGINE] _ciss_get_barring_flavor_type: ERROR Wrong Flavor = %d come. \n", in_flavor);
- break;
- }
- return TRUE;
-}
-
-int _ciss_get_result_status_type(TelSsStatus_t in_status, ciss_status_t *out_status)
-{
- switch (in_status) {
- case TAPI_SS_STATUS_ACTIVE:
- *out_status = CISS_STATUS_ACTIVE;
- break;
- case TAPI_SS_STATUS_REGISTERED:
- *out_status = CISS_STATUS_REGISTERED;
- break;
- case TAPI_SS_STATUS_PROVISIONED:
- *out_status = CISS_STATUS_PROVISIONED;
- break;
- case TAPI_SS_STATUS_QUIESCENT:
- *out_status = CISS_STATUS_QUIESCENT;
- break;
- case TAPI_SS_STATUS_NOTHING:
- *out_status = CISS_STATUS_NOTHING;
- break;
- default:
- *out_status = CISS_STATUS_NOTHING;
- DBG("\n [CISS-ENGINE] _ciss_get_result_status_type: ERROR Wrong TelSsStatus_t = %d come. \n", in_status);
- break;
- }
- return TRUE;
-}
-
-int _ciss_get_requested_tapi_ussd_ind_type(ciss_ussd_ind_type_t *ind_type, TelSsUssdIndType_t pTapiIndType)
-{
- DBG("\n [CISS-ENGINE] _ciss_get_requested_tapi_ussd_ind_type:defined =%d\n", pTapiIndType);
- switch (pTapiIndType) {
- case TAPI_USSD_IND_NOTIFY:
- *ind_type = CISS_USSD_NOTIFY;
- break;
- case TAPI_USSD_IND_NO_ACTION_REQUIRE:
- *ind_type = CISS_USSD_IND_NO_ACTION_REQUIRE;
- break;
- case TAPI_USSD_IND_ACTION_REQUIRE:
- *ind_type = CISS_USSD_IND_ACTION_REQUIRE;
- break;
- case TAPI_USSD_IND_TERMINATED_BY_NET:
- *ind_type = CISS_USSD_TERMINATED_BY_NET;
- break;
- case TAPI_USSD_IND_OTHER_CLIENT:
- *ind_type = CISS_USSD_OTHER_CLIENT;
- break;
- case TAPI_USSD_IND_NOT_SUPPORT:
- *ind_type = CISS_USSD_NOT_SUPPORT;
- break;
- case TAPI_USSD_IND_TIME_OUT:
- *ind_type = CISS_USSD_TIME_OUT;
- break;
- default:
- DBG("\n [CISS-ENGINE] _ciss_get_requested_tapi_ussd_ind_type:undefined =%d\n", pTapiIndType);
- break;
- }
- return TRUE;
-}
-
-void _ciss_ui_mmi_get_service_name(ciss_service_t in_service, char *service_name)
-{
- switch (in_service) {
- case CISS_SERVICE_DIVERTING:
- strncpy(service_name, CISS_STR_CALL_DIVERTING, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_SERVICE_BARRING:
- strncpy(service_name, CISS_STR_CALL_BARRING, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_SERVICE_WAITING:
- strncpy(service_name, CISS_STR_CALL_WAITING, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_SERVICE_CHANGE_BARRING_PASSWD:
- strncpy(service_name, CISS_STR_CHANGE_PASSWORD, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_SERVICE_USSD:
- strncpy(service_name, CISS_STR_INFORMATION, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_SERVICE_IDENTIFICATION:
- default:
- strncpy(service_name, "", CISS_TEXT_LEN_MAX - 1);
- break;
- }
- service_name[CISS_TEXT_LEN_MAX - 1] = '\0';
-}
-
-void _ciss_ui_mmi_get_flavor_name(ciss_flavor_t in_flavor, char *flavor_name)
-{
- switch (in_flavor) {
- case CISS_FLAVOR_DIVERT_UNCONDITIONAL:
- strncpy(flavor_name, CISS_STR_CALL_DIVERTING_ACTIVE_C_ALWAYS, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_DIVERT_BUSY:
- strncpy(flavor_name, CISS_STR_CALL_DIVERTING_ACTIVE_C_WHEN_BUSY, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_DIVERT_NOREPLY:
- strncpy(flavor_name, CISS_STR_CALL_DIVERTING_ACTIVE_C_WHEN_NOREPLY, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_DIVERT_UNREACHABLE:
- strncpy(flavor_name, CISS_STR_CALL_DIVERTING_ACTIVE_C_UNREACHABLE, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_DIVERT_ALL_FLAVORS:
- strncpy(flavor_name, CISS_STR_ALL_CALLS, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_DIVERT_ALL_CONDITIONAL_FLAVORS:
- strncpy(flavor_name, CISS_STR_CONDITIONAL, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_BARRING_ALL_OUTGOING_CALLS:
- strncpy(flavor_name, CISS_STR_ALL_OUTGOING_CALLS_BARRED, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_BARRING_ALL_OUTGOING_INTERNATIONAL:
- strncpy(flavor_name, CISS_STR_OUTGOING_INTERNATIONAL_CALLS_BARRED, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_BARRING_OUTGOING_INTERNATIONAL_CALLS_EXCEPT_HOME:
- strncpy(flavor_name, CISS_STR_OUTGOING_INTERNATIONAL_CALLS_EXCEPT_HOME_BARRED, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_BARRING_ALL_INCOMING_CALLS:
- strncpy(flavor_name, CISS_STR_ALL_INCOMING_CALLS_BARRED, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_BARRING_INCOMING_CALLS_WHEN_ROAMING:
- strncpy(flavor_name, CISS_STR_INCOMING_CALLS_BARRED_WHEN_ROAMING, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_BARRING_ALL_FLAVORS:
- strncpy(flavor_name, CISS_STR_ALL_BARRING, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_BARRING_OUTGOING:
- strncpy(flavor_name, CISS_STR_OUTGOING_BARRING, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_FLAVOR_BARRING_INCOMING:
- strncpy(flavor_name, CISS_STR_INCOMING_BARRING, CISS_TEXT_LEN_MAX - 1);
- break;
- default:
- strncpy(flavor_name, "", CISS_TEXT_LEN_MAX - 1);
- }
- flavor_name[CISS_TEXT_LEN_MAX - 1] = '\0';
-}
-
-void _ciss_ui_mmi_get_bearer_name(ciss_service_t ss_type, ciss_telecomm_svc_t in_teleservice, char *teleservice_name)
-{
- DBG("\n [CISS-MMI] _ciss_ui_get_bearer_name: in_teleservice = %d come. \n", in_teleservice);
-
- switch (in_teleservice) {
-#ifdef _SHP_CPHS
- case CISS_TELECOMM_SVC_VOICE:
- if (PshCphsCheckCsp(PSH_CPHS_CSP_ALS))
- strncpy(teleservice_name, CISS_STR_VOICE, CISS_TEXT_LEN_MAX - 1);
- else
- strncpy(teleservice_name, CISS_STR_VOICE, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_PLMN_TELE_1:
- strncpy(teleservice_name, CISS_STR_VOICE, CISS_TEXT_LEN_MAX - 1);
- break;
-#else
- case CISS_TELECOMM_SVC_VOICE:
- strncpy(teleservice_name, CISS_STR_VOICE, CISS_TEXT_LEN_MAX - 1);
- break;
-#endif
- case CISS_TELECOMM_SVC_FAX:
- strncpy(teleservice_name, CISS_STR_FAX, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_ALL_CS_SYNC:
- strncpy(teleservice_name, CISS_STR_VIDEO, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_ALL_TELE_BEARER:
- strncpy(teleservice_name, CISS_STR_ALL_SERVICES, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_ALL_TELE:
- strncpy(teleservice_name, CISS_STR_ALL_TELECOM_SERVICES, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_ALL_DATA_TELE:
- strncpy(teleservice_name, CISS_STR_ALL_DATA_SERVICES, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_ALL_TELE_EXPT_SMS:
- strncpy(teleservice_name, CISS_STR_FOR_ALL_TELE_SERVICES_EXCEPT_SMS, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_PLMN_TELE_ALL:
- strncpy(teleservice_name, CISS_STR_ALL_PLMN_BEARERS, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_ALL_BEARER:
- strncpy(teleservice_name, CISS_STR_ALL_BEARER_SERVICES, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_ALL_DATA_CDA:
- strncpy(teleservice_name, CISS_STR_ALL_ASYNCHRONOUS_DATA, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_ALL_SYNC:
- strncpy(teleservice_name, CISS_STR_ALL_SYNCHRONOUS_SERVICES, CISS_TEXT_LEN_MAX - 1);
- break;
-#ifdef _SHP_OPERATOR_VODAFONE
- case CISS_TELECOMM_SVC_ALL_ASYNC:
- strncpy(teleservice_name, CISS_STR_ALL_ASYNCHRONOUS_DATA, CISS_TEXT_LEN_MAX - 1);
- break;
-#else
- case CISS_TELECOMM_SVC_ALL_ASYNC:
- strncpy(teleservice_name, CISS_STR_ALL_ASYNCHRONOUS_DATA, CISS_TEXT_LEN_MAX - 1);
- break;
-#endif
- case CISS_TELECOMM_SVC_ALL_DEDI_PAD:
- strncpy(teleservice_name, CISS_STR_ALL_PADCA_SERVICES, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_PLMN_BEAR_ALL:
- strncpy(teleservice_name, CISS_STR_ALL_PLMN_BEARERS, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_SMS:
- strncpy(teleservice_name, CISS_STR_SMS, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_ALL_CS_ASYNC:
- strncpy(teleservice_name, CISS_STR_ASYNCHRONOUS_DATA_SERVICES, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_ALL_DEDI_PS:
- strncpy(teleservice_name, CISS_STR_ALL_PDS_SERVICES, CISS_TEXT_LEN_MAX - 1);
- break;
- case CISS_TELECOMM_SVC_NONE:
- default:
- DBG("\n [CISS-MMI] _ciss_ui_get_bearer_name: ERROR Wrong Bearer = %d come. \n", in_teleservice);
- if ((ss_type == CISS_SERVICE_WAITING) ||
- (ss_type == CISS_SERVICE_IDENTIFICATION))
- strncpy(teleservice_name, "", CISS_TEXT_LEN_MAX - 1);
- else
- strncpy(teleservice_name, CISS_STR_ALL_SERVICES, CISS_TEXT_LEN_MAX - 1);
- }
- teleservice_name[CISS_TEXT_LEN_MAX - 1] = '\0';
-}
-
-void _ciss_ui_mmi_get_result_status_type(ciss_service_t ss_type, ciss_status_t result_status, char *szResult)
-{
- if (ss_type == CISS_SERVICE_DIVERTING) {
- switch (result_status) {
- case CISS_STATUS_ACTIVE:
- strncpy(szResult, CISS_STR_ACTIVATED, CISS_TEXT_LEN_MAX - 1);
- break;
-
- case CISS_STATUS_REGISTERED:
- case CISS_STATUS_PROVISIONED:
- case CISS_STATUS_QUIESCENT:
- case CISS_STATUS_NOTHING:
- default:
- strncpy(szResult, CISS_STR_DEACTIVATED, CISS_TEXT_LEN_MAX - 1);
- break;
- }
- } else {
- /* Wating or Barring case only have Act / Deact status */
- switch (result_status) {
- case CISS_STATUS_ACTIVE:
- case CISS_STATUS_REGISTERED:
- strncpy(szResult, CISS_STR_ACTIVATED, CISS_TEXT_LEN_MAX - 1);
- break;
-
- case CISS_STATUS_PROVISIONED:
- case CISS_STATUS_QUIESCENT:
- case CISS_STATUS_NOTHING:
- default:
- strncpy(szResult, CISS_STR_DEACTIVATED, CISS_TEXT_LEN_MAX - 1);
- break;
- }
- }
- szResult[CISS_TEXT_LEN_MAX - 1] = '\0';
-}
-
-