2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.tizenopensource.org/license
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include "ciss-converter.h"
19 static const sc_table_element_type sc_conversion_table_ss[] = {
20 {CISS_ENG_SC_CF, TAPI_SS_CF_WHEN_CF_ALL, CISS_SERVICE_FORWARDING},
21 {CISS_ENG_SC_CFC, TAPI_SS_CF_WHEN_CFC, CISS_SERVICE_FORWARDING},
22 {CISS_ENG_SC_CFU, TAPI_SS_CF_WHEN_CFU, CISS_SERVICE_FORWARDING},
23 {CISS_ENG_SC_CFB, TAPI_SS_CF_WHEN_CFB, CISS_SERVICE_FORWARDING},
24 {CISS_ENG_SC_CFNRY, TAPI_SS_CF_WHEN_CFNRy, CISS_SERVICE_FORWARDING},
25 {CISS_ENG_SC_CFNRC, TAPI_SS_CF_WHEN_CFNRc, CISS_SERVICE_FORWARDING},
26 {CISS_ENG_SC_CLIP, TAPI_SS_CLI_CLIP, CISS_SERVICE_IDENTIFICATION},
27 {CISS_ENG_SC_CLIR, TAPI_SS_CLI_CLIR, CISS_SERVICE_IDENTIFICATION},
28 {CISS_ENG_SC_COLP, TAPI_SS_CLI_COLP, CISS_SERVICE_IDENTIFICATION},
29 {CISS_ENG_SC_COLR, TAPI_SS_CLI_COLR, CISS_SERVICE_IDENTIFICATION},
30 {CISS_ENG_SC_CNAP, TAPI_SS_CLI_CNAP, CISS_SERVICE_IDENTIFICATION},
31 {CISS_ENG_SC_CW, 0, CISS_SERVICE_WAITING},
32 {CISS_ENG_SC_B, TAPI_SS_CB_TYPE_AB, CISS_SERVICE_BARRING},
33 {CISS_ENG_SC_OB, TAPI_SS_CB_TYPE_AOB, CISS_SERVICE_BARRING},
34 {CISS_ENG_SC_IB, TAPI_SS_CB_TYPE_AIB, CISS_SERVICE_BARRING},
35 {CISS_ENG_SC_BAOC, TAPI_SS_CB_TYPE_BAOC, CISS_SERVICE_BARRING},
36 {CISS_ENG_SC_BOIC, TAPI_SS_CB_TYPE_BOIC, CISS_SERVICE_BARRING},
37 {CISS_ENG_SC_BOICEXHC, TAPI_SS_CB_TYPE_BOIC_NOT_HC, CISS_SERVICE_BARRING},
38 {CISS_ENG_SC_BAIC, TAPI_SS_CB_TYPE_BAIC, CISS_SERVICE_BARRING},
39 {CISS_ENG_SC_BICROAM, TAPI_SS_CB_TYPE_BIC_ROAM, CISS_SERVICE_BARRING}
42 /* table for conversion between local basic service group (BSG)
45 elements represent - local BSG value,
46 BSG code : basic service code (BS code) or
47 tele service code (TS code)
52 /* need to find mapping with the call type or forward type for call barring and call forwarding else not required */
53 static const bsg_table_element_type bsg_conversion_table[MAX_BSG_ENTRY] = {
54 {CISS_ENG_BSG_ALL, 0, TAPI_SS_CLASS_ALL_TELE_BEARER},
55 {CISS_ENG_BSG_ALL_TS, TS_CODE, TAPI_SS_CLASS_ALL_TELE},
56 {CISS_ENG_BSG_TELEPHONY, TS_CODE, TAPI_SS_CLASS_VOICE },
57 {CISS_ENG_BSG_AUX_TELEPHONY, TS_CODE, TAPI_SS_CLASS_AUX_VOICE},
58 {CISS_ENG_BSG_ALL_DATA, TS_CODE, TAPI_SS_CLASS_ALL_DATA_TELE},
59 {CISS_ENG_BSG_FAX, TS_CODE, TAPI_SS_CLASS_FAX},
60 {CISS_ENG_BSG_SMS, TS_CODE, TAPI_SS_CLASS_SMS},
61 {CISS_ENG_BSG_ALL_TELE_EX_SMS, TS_CODE, TAPI_SS_CLASS_ALL_TELE_EXPT_SMS},
62 {CISS_ENG_BSG_PLMN_TELE_ALL, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_ALL },
63 {CISS_ENG_BSG_PLMN_TELE_1, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_1},
64 {CISS_ENG_BSG_PLMN_TELE_2, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_2},
65 {CISS_ENG_BSG_PLMN_TELE_3, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_3},
66 {CISS_ENG_BSG_PLMN_TELE_4, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_4},
67 {CISS_ENG_BSG_PLMN_TELE_5, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_5},
68 {CISS_ENG_BSG_PLMN_TELE_6, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_6},
69 {CISS_ENG_BSG_PLMN_TELE_7, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_7},
70 {CISS_ENG_BSG_PLMN_TELE_8, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_8},
71 {CISS_ENG_BSG_PLMN_TELE_9, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_9},
72 {CISS_ENG_BSG_PLMN_TELE_A, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_A},
73 {CISS_ENG_BSG_PLMN_TELE_B, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_B},
74 {CISS_ENG_BSG_PLMN_TELE_C, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_C},
75 {CISS_ENG_BSG_PLMN_TELE_D, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_D},
76 {CISS_ENG_BSG_PLMN_TELE_E, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_E},
77 {CISS_ENG_BSG_PLMN_TELE_F, TS_CODE, TAPI_SS_CLASS_PLMN_TELE_F},
78 {CISS_ENG_BSG_ALL_BS, BS_CODE, TAPI_SS_CLASS_ALL_BEARER},
79 {CISS_ENG_BSG_ALL_ASYNC, BS_CODE, TAPI_SS_CLASS_ALL_ASYNC},
80 {CISS_ENG_BSG_ALL_SYNC, BS_CODE, TAPI_SS_CLASS_ALL_SYNC},
81 {CISS_ENG_BSG_ALL_DC_SYNC, BS_CODE, TAPI_SS_CLASS_ALL_CS_SYNC},
82 {CISS_ENG_BSG_ALL_DC_ASYNC, BS_CODE, TAPI_SS_CLASS_ALL_CS_ASYNC},
83 {CISS_ENG_BSG_ALL_DED_PACKET, BS_CODE, TAPI_SS_CLASS_ALL_DEDI_PS},
84 {CISS_ENG_BSG_ALL_DED_PAD, BS_CODE, TAPI_SS_CLASS_ALL_DEDI_PAD},
85 {CISS_ENG_BSG_PLMN_BEAR_ALL, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_ALL},
86 {CISS_ENG_BSG_PLMN_BEAR_1, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_1},
87 {CISS_ENG_BSG_PLMN_BEAR_2, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_2},
88 {CISS_ENG_BSG_PLMN_BEAR_3, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_3},
89 {CISS_ENG_BSG_PLMN_BEAR_4, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_4},
90 {CISS_ENG_BSG_PLMN_BEAR_5, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_5},
91 {CISS_ENG_BSG_PLMN_BEAR_6, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_6},
92 {CISS_ENG_BSG_PLMN_BEAR_7, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_7},
93 {CISS_ENG_BSG_PLMN_BEAR_8, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_8},
94 {CISS_ENG_BSG_PLMN_BEAR_9, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_9},
95 {CISS_ENG_BSG_PLMN_BEAR_A, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_A},
96 {CISS_ENG_BSG_PLMN_BEAR_B, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_B},
97 {CISS_ENG_BSG_PLMN_BEAR_C, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_C},
98 {CISS_ENG_BSG_PLMN_BEAR_D, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_D},
99 {CISS_ENG_BSG_PLMN_BEAR_E, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_E},
100 {CISS_ENG_BSG_PLMN_BEAR_F, BS_CODE, TAPI_SS_CLASS_PLMN_BEAR_F}
103 int _ciss_convert_bsg_to_tapi_bsg(char *local_bsg, TelSsClass_t *tapi_bsg)
105 int valid_bsg = FALSE;
108 int local_bsg_len =0;
110 local_bsg_len = strlen(local_bsg);
111 if (local_bsg_len > MAX_BSG_LEN)
114 DBG("\n [CISS-ENGINE] local_bsg : %s", local_bsg);
115 while (n < MAX_BSG_ENTRY) {
116 DBG("\n [CISS-ENGINE] n : %d", n);
117 if (!strncmp(bsg_conversion_table[n].local_bsg, local_bsg, MAX_SC_LEN)) {
118 DBG("\n [CISS-ENGINE] bsg_conversion_table[n].local_bsg : %s", bsg_conversion_table[n].local_bsg);
119 *tapi_bsg = bsg_conversion_table[n].tapi_bsg_code;
125 DBG("\n [CISS-ENGINE] end _ciss_convert_bsg_to_tapi_bsg()");
129 int _ciss_convert_sc_to_tapi_flavor(char *sc, unsigned char *tapi_flavor, unsigned char *ss_type)
131 int valid_sc = FALSE;
134 DBG("\n [CISS-ENGINE] sc : %s", sc);
135 while (n < MAX_SC_ENTRY) {
136 if (!strncmp(sc_conversion_table_ss[n].local_sc, sc, MAX_SC_LEN)) {
137 DBG("\n [CISS-ENGINE] sc_conversion_table_ss[n].local_sc : %s", sc_conversion_table_ss[n].local_sc);
138 *tapi_flavor = sc_conversion_table_ss[n].tapi_flavor;
139 *ss_type = sc_conversion_table_ss[n].ss_type;
148 int _ciss_get_error_from_tapi_error(ciss_err_t *ciss_err, TelSsCause_t tapi_err)
150 DBG("\n [CISS-ENGINE] _ciss_get_error_from_tapi_error:defined =%x\n", tapi_err);
152 case TAPI_SS_UNKNOWNSUBSCRIBER:
153 *ciss_err = CISS_ERR_UNKNOWN_SUBSCRIBER;
155 case TAPI_SS_BEARERSERVICENOTPROVISIONED:
156 *ciss_err = CISS_ERR_BEARER_NOT_PROVISIONED;
158 case TAPI_SS_TELESERVICENOTPROVISIONED:
159 *ciss_err = CISS_ERR_TELESERVICE_NOT_PROVISIONED;
161 case TAPI_SS_CALLBARRED:
162 *ciss_err = CISS_ERR_CALL_BARRED;
164 case TAPI_SS_ILLEGALSSOPERATION:
165 *ciss_err = CISS_ERR_ILLEGAL_SS_OPER;
167 case TAPI_SS_ERRORSTATUS:
168 *ciss_err = CISS_ERR_ERR_STATUS;
170 case TAPI_SS_NOTAVAILABLE:
171 *ciss_err = CISS_ERR_NOT_AVAIL;
173 case TAPI_SS_SUBSCRIPTIONVIOLATION:
174 *ciss_err = CISS_ERR_SUBSCRIPTION_VIOLATION;
176 case TAPI_SS_INCOMPATIBILITY:
177 *ciss_err = CISS_ERR_INCOMPATIBILITY;
179 case TAPI_SS_FACILITYNOTSUPPORTED:
180 *ciss_err = CISS_ERR_FACILITY_NOT_SUPPORT;
182 case TAPI_SS_SYSTEMFAILURE:
183 *ciss_err = CISS_ERR_SYS_FAILURE;
185 case TAPI_SS_DATAMISSING:
186 *ciss_err = CISS_ERR_DATA_MISSING;
188 case TAPI_SS_UNEXPECTEDDATAVALUE:
189 *ciss_err = CISS_ERR_UNEXPECTED_DATA;
191 case TAPI_SS_MAXNOMPTYEXCEEDED:
192 *ciss_err = CISS_ERR_MPTY_PARTICIPANTS_EXCEED;
194 case TAPI_SS_RESOURCESNOTAVAILABLE:
195 *ciss_err = CISS_ERR_RESOURCE_NOT_AVAIL;
197 /*Show message Password error for Vodafone R11 */
198 case TAPI_SS_PWREGISTRATIONFAILURE:
199 *ciss_err = CISS_ERR_PW_REGIST_FAIL;
201 case TAPI_SS_NEGATIVEPWCHECK:
202 *ciss_err = CISS_ERR_NEGATIVE_PW_CHECK;
204 /*Show message password error
205 this function has been locked, so please call customer center for Vodafone R11 */
206 case TAPI_SS_NUMBEROFPWATTEMPTSVIOLATION:
207 *ciss_err = CISS_ERR_PW_ATTEMPS_VIOLATION;
210 DBG("\n [CISS-ENGINE] _ciss_get_error_from_tapi_error:undefined =%x\n", tapi_err);
211 *ciss_err = CISS_ERR_UNKNOWN;
217 int _ciss_get_telecomm_svc(TelSsClass_t in_teleservice, ciss_telecomm_svc_t *out_teleservice)
219 switch (in_teleservice) {
220 case TAPI_SS_CLASS_VOICE:
221 *out_teleservice = CISS_TELECOMM_SVC_VOICE;
223 case TAPI_SS_CLASS_AUX_VOICE:
224 *out_teleservice = CISS_TELECOMM_SVC_AUX_VOICE;
226 case TAPI_SS_CLASS_FAX:
227 *out_teleservice = CISS_TELECOMM_SVC_FAX;
229 case TAPI_SS_CLASS_SMS:
230 *out_teleservice = CISS_TELECOMM_SVC_SMS;
232 case TAPI_SS_CLASS_ALL_CS_SYNC:
233 *out_teleservice = CISS_TELECOMM_SVC_ALL_CS_SYNC;
235 case TAPI_SS_CLASS_ALL_TELE_BEARER:
236 *out_teleservice = CISS_TELECOMM_SVC_ALL_TELE_BEARER;
238 case TAPI_SS_CLASS_ALL_TELE:
239 *out_teleservice = CISS_TELECOMM_SVC_ALL_TELE;
241 case TAPI_SS_CLASS_ALL_DATA_TELE:
242 *out_teleservice = CISS_TELECOMM_SVC_ALL_DATA_TELE;
244 case TAPI_SS_CLASS_ALL_TELE_EXPT_SMS:
245 *out_teleservice = CISS_TELECOMM_SVC_ALL_TELE_EXPT_SMS;
247 case TAPI_SS_CLASS_PLMN_TELE_ALL:
248 *out_teleservice = CISS_TELECOMM_SVC_PLMN_TELE_ALL;
250 case TAPI_SS_CLASS_ALL_BEARER:
251 *out_teleservice = CISS_TELECOMM_SVC_ALL_BEARER;
253 case TAPI_SS_CLASS_ALL_DATA_CDA:
254 *out_teleservice = CISS_TELECOMM_SVC_ALL_DATA_CDA;
256 case TAPI_SS_CLASS_ALL_SYNC:
257 *out_teleservice = CISS_TELECOMM_SVC_ALL_SYNC;
259 case TAPI_SS_CLASS_ALL_ASYNC:
260 *out_teleservice = CISS_TELECOMM_SVC_ALL_ASYNC;
262 case TAPI_SS_CLASS_ALL_DEDI_PAD:
263 *out_teleservice = CISS_TELECOMM_SVC_ALL_DEDI_PAD;
265 case TAPI_SS_CLASS_PLMN_BEAR_ALL:
266 *out_teleservice = CISS_TELECOMM_SVC_PLMN_BEAR_ALL;
268 case TAPI_SS_CLASS_ALL_CS_ASYNC:
269 *out_teleservice = CISS_TELECOMM_SVC_ALL_CS_ASYNC;
271 case TAPI_SS_CLASS_ALL_DEDI_PS:
272 *out_teleservice = CISS_TELECOMM_SVC_ALL_DEDI_PS;
275 *out_teleservice = CISS_TELECOMM_SVC_NONE;
276 DBG("\n [CISS-ENGINE] _ciss_get_telecomm_svc: ERROR Wrong Bearer = %d come. \n", in_teleservice);
282 int _ciss_get_forward_flavor_type(TelSsForwardWhen_t in_flavor, ciss_flavor_t *out_flavor)
285 case TAPI_SS_CF_WHEN_CFU:
286 *out_flavor = CISS_FLAVOR_FORWARD_UNCONDITIONAL;
288 case TAPI_SS_CF_WHEN_CFB:
289 *out_flavor = CISS_FLAVOR_FORWARD_BUSY;
291 case TAPI_SS_CF_WHEN_CFNRy:
292 *out_flavor = CISS_FLAVOR_FORWARD_NOREPLY;
294 case TAPI_SS_CF_WHEN_CFNRc:
295 *out_flavor = CISS_FLAVOR_FORWARD_UNREACHABLE;
297 case TAPI_SS_CF_WHEN_CFC:
298 *out_flavor = CISS_FLAVOR_FORWARD_ALL_CONDITIONAL_FLAVORS;
300 case TAPI_SS_CF_WHEN_CF_ALL:
301 *out_flavor = CISS_FLAVOR_FORWARD_ALL_FLAVORS;
304 *out_flavor = CISS_FLAVOR_NONE;
305 DBG("\n [CISS-ENGINE] _ciss_get_forward_flavor_type: ERROR Wrong Flavor = %d come. \n", in_flavor);
311 int _ciss_get_barring_flavor_type(TelSsBarringType_t in_flavor, ciss_flavor_t *out_flavor)
314 case TAPI_SS_CB_TYPE_AB:
315 *out_flavor = CISS_FLAVOR_BARRING_ALL_FLAVORS;
317 case TAPI_SS_CB_TYPE_BAOC:
318 *out_flavor = CISS_FLAVOR_BARRING_ALL_OUTGOING_CALLS;
320 case TAPI_SS_CB_TYPE_BOIC:
321 *out_flavor = CISS_FLAVOR_BARRING_ALL_OUTGOING_INTERNATIONAL;
323 case TAPI_SS_CB_TYPE_BOIC_NOT_HC:
324 *out_flavor = CISS_FLAVOR_BARRING_OUTGOING_INTERNATIONAL_CALLS_EXCEPT_HOME;
326 case TAPI_SS_CB_TYPE_BAIC:
327 *out_flavor = CISS_FLAVOR_BARRING_ALL_INCOMING_CALLS;
329 case TAPI_SS_CB_TYPE_BIC_ROAM:
330 *out_flavor = CISS_FLAVOR_BARRING_INCOMING_CALLS_WHEN_ROAMING;
332 case TAPI_SS_CB_TYPE_AOB:
333 *out_flavor = CISS_FLAVOR_BARRING_ALL_OUTGOING_CALLS;
335 case TAPI_SS_CB_TYPE_AIB:
336 *out_flavor = CISS_FLAVOR_BARRING_ALL_INCOMING_CALLS;
339 *out_flavor = CISS_FLAVOR_NONE;
340 DBG("\n [CISS-ENGINE] _ciss_get_barring_flavor_type: ERROR Wrong Flavor = %d come. \n", in_flavor);
346 int _ciss_get_result_status_type(TelSsStatus_t in_status, ciss_status_t *out_status)
349 case TAPI_SS_STATUS_REGISTERED:
350 *out_status = CISS_STATUS_REGISTERED;
352 case TAPI_SS_STATUS_PROVISIONED:
353 *out_status = CISS_STATUS_PROVISIONED;
355 case TAPI_SS_STATUS_ACTIVE:
356 *out_status = CISS_STATUS_ACTIVE;
358 case TAPI_SS_STATUS_QUIESCENT:
359 *out_status = CISS_STATUS_QUIESCENT;
361 case TAPI_SS_STATUS_NOTHING:
362 *out_status = CISS_STATUS_NOTHING;
365 *out_status = CISS_STATUS_NOTHING;
366 DBG("\n [CISS-ENGINE] _ciss_get_result_status_type: ERROR Wrong TelSsStatus_t = %d come. \n", in_status);
372 void _ciss_ui_mmi_get_service_name(ciss_service_t in_service, char *service_name)
374 switch (in_service) {
375 case CISS_SERVICE_FORWARDING:
376 strncpy(service_name, CISS_STR_CALL_FORWARDING, CISS_TEXT_LEN_MAX - 1);
378 case CISS_SERVICE_BARRING:
379 strncpy(service_name, CISS_STR_CALL_BARRING, CISS_TEXT_LEN_MAX - 1);
381 case CISS_SERVICE_WAITING:
382 strncpy(service_name, CISS_STR_CALL_WAITING, CISS_TEXT_LEN_MAX - 1);
384 case CISS_SERVICE_CHANGE_BARRING_PASSWD:
385 strncpy(service_name, CISS_STR_CHANGE_PASSWORD, CISS_TEXT_LEN_MAX - 1);
387 case CISS_SERVICE_USSD:
388 strncpy(service_name, CISS_STR_INFORMATION, CISS_TEXT_LEN_MAX - 1);
390 case CISS_SERVICE_IDENTIFICATION:
392 strncpy(service_name, "", CISS_TEXT_LEN_MAX - 1);
395 service_name[CISS_TEXT_LEN_MAX - 1] = '\0';
398 void _ciss_ui_mmi_get_flavor_name(ciss_flavor_t in_flavor, char *flavor_name)
401 case CISS_FLAVOR_FORWARD_UNCONDITIONAL:
402 strncpy(flavor_name, CISS_STR_CALL_FORWARDING_ACTIVE_C_ALWAYS, CISS_TEXT_LEN_MAX - 1);
404 case CISS_FLAVOR_FORWARD_BUSY:
405 strncpy(flavor_name, CISS_STR_CALL_FORWARDING_ACTIVE_C_WHEN_BUSY, CISS_TEXT_LEN_MAX - 1);
407 case CISS_FLAVOR_FORWARD_NOREPLY:
408 strncpy(flavor_name, CISS_STR_CALL_FORWARDING_ACTIVE_C_WHEN_NOREPLY, CISS_TEXT_LEN_MAX - 1);
410 case CISS_FLAVOR_FORWARD_UNREACHABLE:
411 strncpy(flavor_name, CISS_STR_CALL_FORWARDING_ACTIVE_C_UNREACHABLE, CISS_TEXT_LEN_MAX - 1);
413 case CISS_FLAVOR_FORWARD_ALL_FLAVORS:
414 strncpy(flavor_name, CISS_STR_ALL_CALLS, CISS_TEXT_LEN_MAX - 1);
416 case CISS_FLAVOR_FORWARD_ALL_CONDITIONAL_FLAVORS:
417 strncpy(flavor_name, CISS_STR_CONDITIONAL, CISS_TEXT_LEN_MAX - 1);
419 case CISS_FLAVOR_BARRING_ALL_OUTGOING_CALLS:
420 strncpy(flavor_name, CISS_STR_ALL_OUTGOING_CALLS_BARRED, CISS_TEXT_LEN_MAX - 1);
422 case CISS_FLAVOR_BARRING_ALL_OUTGOING_INTERNATIONAL:
423 strncpy(flavor_name, CISS_STR_OUTGOING_INTERNATIONAL_CALLS_BARRED, CISS_TEXT_LEN_MAX - 1);
425 case CISS_FLAVOR_BARRING_OUTGOING_INTERNATIONAL_CALLS_EXCEPT_HOME:
426 strncpy(flavor_name, CISS_STR_OUTGOING_INTERNATIONAL_CALLS_EXCEPT_HOME_BARRED, CISS_TEXT_LEN_MAX - 1);
428 case CISS_FLAVOR_BARRING_ALL_INCOMING_CALLS:
429 strncpy(flavor_name, CISS_STR_ALL_INCOMING_CALLS_BARRED, CISS_TEXT_LEN_MAX - 1);
431 case CISS_FLAVOR_BARRING_INCOMING_CALLS_WHEN_ROAMING:
432 strncpy(flavor_name, CISS_STR_INCOMING_CALLS_BARRED_WHEN_ROAMING, CISS_TEXT_LEN_MAX - 1);
434 case CISS_FLAVOR_BARRING_ALL_FLAVORS:
435 strncpy(flavor_name, CISS_STR_ALL_BARRING, CISS_TEXT_LEN_MAX - 1);
437 case CISS_FLAVOR_BARRING_OUTGOING:
438 strncpy(flavor_name, CISS_STR_OUTGOING_BARRING, CISS_TEXT_LEN_MAX - 1);
440 case CISS_FLAVOR_BARRING_INCOMING:
441 strncpy(flavor_name, CISS_STR_INCOMING_BARRING, CISS_TEXT_LEN_MAX - 1);
444 strncpy(flavor_name, "", CISS_TEXT_LEN_MAX - 1);
446 flavor_name[CISS_TEXT_LEN_MAX - 1] = '\0';
449 void _ciss_ui_mmi_get_bearer_name(ciss_service_t ss_type, ciss_telecomm_svc_t in_teleservice, char *teleservice_name)
451 DBG("\n [CISS-MMI] _ciss_ui_get_bearer_name: in_teleservice = %d come. \n", in_teleservice);
453 switch (in_teleservice) {
454 case CISS_TELECOMM_SVC_VOICE:
455 strncpy(teleservice_name, CISS_STR_VOICE, CISS_TEXT_LEN_MAX - 1);
457 case CISS_TELECOMM_SVC_PLMN_TELE_1:
458 strncpy(teleservice_name, CISS_STR_VOICE, CISS_TEXT_LEN_MAX - 1);
460 case CISS_TELECOMM_SVC_FAX:
461 strncpy(teleservice_name, CISS_STR_FAX, CISS_TEXT_LEN_MAX - 1);
463 case CISS_TELECOMM_SVC_ALL_CS_SYNC:
464 strncpy(teleservice_name, CISS_STR_VIDEO, CISS_TEXT_LEN_MAX - 1);
466 case CISS_TELECOMM_SVC_ALL_TELE_BEARER:
467 strncpy(teleservice_name, CISS_STR_ALL_SERVICES, CISS_TEXT_LEN_MAX - 1);
469 case CISS_TELECOMM_SVC_ALL_TELE:
470 strncpy(teleservice_name, CISS_STR_ALL_TELECOM_SERVICES, CISS_TEXT_LEN_MAX - 1);
472 case CISS_TELECOMM_SVC_ALL_DATA_TELE:
473 strncpy(teleservice_name, CISS_STR_ALL_DATA_SERVICES, CISS_TEXT_LEN_MAX - 1);
475 case CISS_TELECOMM_SVC_ALL_TELE_EXPT_SMS:
476 strncpy(teleservice_name, CISS_STR_FOR_ALL_TELE_SERVICES_EXCEPT_SMS, CISS_TEXT_LEN_MAX - 1);
478 case CISS_TELECOMM_SVC_PLMN_TELE_ALL:
479 strncpy(teleservice_name, CISS_STR_ALL_PLMN_BEARERS, CISS_TEXT_LEN_MAX - 1);
481 case CISS_TELECOMM_SVC_ALL_BEARER:
482 strncpy(teleservice_name, CISS_STR_ALL_BEARER_SERVICES, CISS_TEXT_LEN_MAX - 1);
484 case CISS_TELECOMM_SVC_ALL_DATA_CDA:
485 strncpy(teleservice_name, CISS_STR_ALL_ASYNCHRONOUS_DATA, CISS_TEXT_LEN_MAX - 1);
487 case CISS_TELECOMM_SVC_ALL_SYNC:
488 strncpy(teleservice_name, CISS_STR_ALL_SYNCHRONOUS_SERVICES, CISS_TEXT_LEN_MAX - 1);
490 case CISS_TELECOMM_SVC_ALL_ASYNC:
491 strncpy(teleservice_name, CISS_STR_ALL_ASYNCHRONOUS_DATA, CISS_TEXT_LEN_MAX - 1);
493 case CISS_TELECOMM_SVC_ALL_DEDI_PAD:
494 strncpy(teleservice_name, CISS_STR_ALL_PADCA_SERVICES, CISS_TEXT_LEN_MAX - 1);
496 case CISS_TELECOMM_SVC_PLMN_BEAR_ALL:
497 strncpy(teleservice_name, CISS_STR_ALL_PLMN_BEARERS, CISS_TEXT_LEN_MAX - 1);
499 case CISS_TELECOMM_SVC_SMS:
500 strncpy(teleservice_name, CISS_STR_SMS, CISS_TEXT_LEN_MAX - 1);
502 case CISS_TELECOMM_SVC_ALL_CS_ASYNC:
503 strncpy(teleservice_name, CISS_STR_ASYNCHRONOUS_DATA_SERVICES, CISS_TEXT_LEN_MAX - 1);
505 case CISS_TELECOMM_SVC_ALL_DEDI_PS:
506 strncpy(teleservice_name, CISS_STR_ALL_PDS_SERVICES, CISS_TEXT_LEN_MAX - 1);
508 case CISS_TELECOMM_SVC_NONE:
510 DBG("\n [CISS-MMI] _ciss_ui_get_bearer_name: ERROR Wrong Bearer = %d come. \n", in_teleservice);
511 if ((ss_type == CISS_SERVICE_WAITING) ||
512 (ss_type == CISS_SERVICE_IDENTIFICATION))
513 strncpy(teleservice_name, "", CISS_TEXT_LEN_MAX - 1);
515 strncpy(teleservice_name, CISS_STR_ALL_SERVICES, CISS_TEXT_LEN_MAX - 1);
517 teleservice_name[CISS_TEXT_LEN_MAX - 1] = '\0';
520 void _ciss_ui_mmi_get_result_status_type(ciss_service_t ss_type, ciss_status_t result_status, char *szResult)
522 if (ss_type == CISS_SERVICE_FORWARDING) {
523 switch (result_status) {
524 case CISS_STATUS_ACTIVE:
525 strncpy(szResult, CISS_STR_ACTIVATED, CISS_TEXT_LEN_MAX - 1);
528 case CISS_STATUS_REGISTERED:
529 case CISS_STATUS_PROVISIONED:
530 case CISS_STATUS_QUIESCENT:
531 case CISS_STATUS_NOTHING:
533 strncpy(szResult, CISS_STR_DEACTIVATED, CISS_TEXT_LEN_MAX - 1);
537 /* Wating or Barring case only have Act / Deact status */
538 switch (result_status) {
539 case CISS_STATUS_ACTIVE:
540 case CISS_STATUS_REGISTERED:
541 strncpy(szResult, CISS_STR_ACTIVATED, CISS_TEXT_LEN_MAX - 1);
544 case CISS_STATUS_PROVISIONED:
545 case CISS_STATUS_QUIESCENT:
546 case CISS_STATUS_NOTHING:
548 strncpy(szResult, CISS_STR_DEACTIVATED, CISS_TEXT_LEN_MAX - 1);
552 szResult[CISS_TEXT_LEN_MAX - 1] = '\0';