4 * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Kyeongchul Kim <kyeongchul.kim@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
33 #include "TapiCommon.h"
35 #include "TelUtility.h"
37 #include "TapiEvent.h"
39 //#include <ipcparam.h>
41 #define TEST_MAX_CFG_AKEY_LEN 26
51 #define TEST_DEBUG(frmt, args...) \
52 {do { fprintf(stderr, "\n[CFG Test][%s:%04d] "frmt "\n", __func__,__LINE__, ##args); } while (FALSE); }
56 extern int EvtDeliveryHandle ;
57 static unsigned int * Cfg_subscription_id;
59 static int _PrintSIOMode(TelCfgSIOMode_t mode)
63 case TAPI_CFG_SIO_U1_DIAG_USB2_GPS:
64 TEST_DEBUG("SIO mode: TAPI_CFG_SIO_U1_DIAG_USB2_GPS ");
66 case TAPI_CFG_SIO_U1_HFK_USB2_GPS:
67 TEST_DEBUG("SIO mode: TAPI_CFG_SIO_U1_HFK_USB2_GPS ");
69 case TAPI_CFG_SIO_U1_HFK_USB2_DIAG:
70 TEST_DEBUG("SIO mode: TAPI_CFG_SIO_U1_HFK_USB2_DIAG ");
73 TEST_DEBUG("SIO mode: None ");
80 static int tapi_cfg_callback (TelTapiEvent_t *event)
82 TEST_DEBUG("EVENT STATUS:[0x%x]", event->Status);
84 TEST_DEBUG("Status = [0x%x]", event->Status);
86 switch(event->EventClass)
88 case TAPI_EVENT_CLASS_CFG:
90 switch(event->EventType)
92 case TAPI_EVENT_CFG_GET_A_KEY_CNF:
94 TelCfgAKeyInfo_t Akey_info;
95 memset(&Akey_info, 0, sizeof(Akey_info));
97 TEST_DEBUG("TAPI_EVENT_CFG_GET_A_KEY_CNF");
99 memcpy(&Akey_info, event->pData, sizeof(TelCfgAKeyInfo_t));
101 TEST_DEBUG("Akey:[%s]",Akey_info.A_key);
105 case TAPI_EVENT_CFG_VERIFY_A_KEY_CNF:
107 TelCfgAKeyVerifyResult_t result;
108 TEST_DEBUG("TAPI_EVENT_CFG_VERIFY_A_KEY_CNF");
109 memcpy(&result, event->pData, sizeof(TelCfgAKeyVerifyResult_t));
112 case TAPI_CFG_AKEY_VERIFY_FAIL:
114 TEST_DEBUG("A-Key verify fail");
118 case TAPI_CFG_AKEY_VERIFY_OK:
120 TEST_DEBUG("A-Key verify success");
124 TEST_DEBUG(" Unknown value : [%d] ", result);
131 case TAPI_EVENT_CFG_GET_MSL_INFO_CNF:
133 TelCfgMSLInfo_t msl_info;
134 TEST_DEBUG("TAPI_EVENT_CFG_GET_MSL_INFO_CNF");
135 memcpy(&msl_info, event->pData, sizeof(TelCfgMSLInfo_t));
136 TEST_DEBUG("msl code:[%s]", msl_info.MslCode);
137 TEST_DEBUG("Otksl code:[%s]", msl_info.OtkslCode);
138 TEST_DEBUG("Otksl flag:[%d]", msl_info.bOtksl_flag);
143 case TAPI_EVENT_CFG_GET_VOCODER_OPTION_CNF:
145 TelCfgVocOption_t voc_option;
146 TEST_DEBUG("TAPI_EVENT_CFG_GET_VOCODER_OPTION_CNF");
147 memcpy(&voc_option, event->pData, sizeof(TelCfgVocOption_t));
148 TEST_DEBUG("vocoder option:[%d]", voc_option);
153 case TAPI_EVENT_CFG_SET_VOCODER_OPTION_CNF:
155 TEST_DEBUG("TAPI_EVENT_CFG_SET_VOCODER_OPTION_CNF");
159 case TAPI_EVENT_CFG_GET_HIDDEN_MENU_ACCESS_CNF:
161 TelCfgHiddenMenuAccessType_t type;
162 TEST_DEBUG("TAPI_EVENT_CFG_GET_HIDDEN_MENU_ACCESS_CNF");
163 memcpy(&type, event->pData, sizeof(TelCfgHiddenMenuAccessType_t));
164 TEST_DEBUG("access type:[%d]", type);
168 case TAPI_EVENT_CFG_SET_HIDDEN_MENU_ACCESS_CNF:
170 TEST_DEBUG("TAPI_EVENT_CFG_SET_HIDDEN_MENU_ACCESS_CNF");
174 case TAPI_EVENT_CFG_GET_CURRENT_CARRIER_CNF:
176 TelCfgCurrentCarrier_t carrier;
177 TEST_DEBUG("TAPI_EVENT_CFG_GET_CURRENT_CARRIER_CNF");
178 memcpy(&carrier, event->pData, sizeof(TelCfgCurrentCarrier_t));
179 TEST_DEBUG("carrier:[%d]", carrier);
183 case TAPI_EVENT_CFG_SET_CURRENT_CARRIER_CNF:
185 TEST_DEBUG("TAPI_EVENT_CFG_SET_CURRENT_CARRIER_CNF");
189 case TAPI_EVENT_CFG_GET_ACTIVATION_DATE_CNF:
191 TelCfgActivationDateInfo_t date_info;
192 TEST_DEBUG("TAPI_EVENT_CFG_GET_ACTIVATION_DATE_CNF");
193 memcpy(&date_info, event->pData, sizeof(TelCfgActivationDateInfo_t));
194 TEST_DEBUG("year:[%d]", date_info.year);
195 TEST_DEBUG("month:[%d]", date_info.month);
196 TEST_DEBUG("day:[%d]", date_info.day);
197 TEST_DEBUG("hour:[%d]", date_info.hour);
198 TEST_DEBUG("minute:[%d]", date_info.minute);
199 TEST_DEBUG("second:[%d]", date_info.second);
203 case TAPI_EVENT_CFG_GET_RECONDITIONED_DATE_CNF:
205 TelCfgReconditionedInfo_t date_info;
206 TEST_DEBUG("TAPI_EVENT_CFG_GET_RECONDITIONED_DATE_CNF");
207 memcpy(&date_info, event->pData, sizeof(TelCfgReconditionedInfo_t));
208 TEST_DEBUG("status(0:NO, 1:YES):[%d]", date_info.status);
209 TEST_DEBUG("year:[%d]", date_info.year);
210 TEST_DEBUG("month:[%d]", date_info.month);
211 TEST_DEBUG("day:[%d]", date_info.day);
212 TEST_DEBUG("hour:[%d]", date_info.hour);
213 TEST_DEBUG("minute:[%d]", date_info.minute);
214 TEST_DEBUG("second:[%d]", date_info.second);
218 case TAPI_EVENT_CFG_GET_SIO_MODE_CNF:
220 TelCfgSIOMode_t mode;
221 TEST_DEBUG("TAPI_EVENT_CFG_GET_SIO_MODE_CNF");
222 memcpy(&mode, event->pData, sizeof(TelCfgSIOMode_t));
227 case TAPI_EVENT_CFG_SET_SIO_MODE_CNF:
229 TEST_DEBUG("TAPI_EVENT_CFG_SET_SIO_MODE_CNF");
232 case TAPI_CFG_EVENT_DEFAULTCFG_IND:
234 TEST_DEBUG("TAPI_CFG_EVENT_DEFAULTCFG_IND");
238 TEST_DEBUG(" Unknown Event : [%d] ", event->EventType);
249 TEST_DEBUG("############### event processing is done....###############");
254 int cfg_read_key_input(void)
257 char buf[512] = {0, };
259 char diallingNum[256];
260 int diallingNum_len=0;
261 TapiResult_t ret_val = TAPI_API_SUCCESS;
263 memset(buf,0, sizeof(buf));
264 memset(diallingNum,0,sizeof(diallingNum));
265 memset(msg,0,sizeof(msg));
269 TEST_DEBUG("*************** CFG TEST MENU ***************");
270 TEST_DEBUG("1g.TelTapiCfgGetAKey");
271 TEST_DEBUG("1s.TelTapiCfgVerifyAKey");
272 TEST_DEBUG("2g.TelTapiCfgGetMSLInfo");
273 TEST_DEBUG("3g.TelTapiCfgGetVocoderOption");
274 TEST_DEBUG("3s.TelTapiCfgSetVocoderOption <(default/evrc/13k/8k)>");
275 TEST_DEBUG("4g.TelTapiCfgGetHiddenMenuAccess");
276 TEST_DEBUG("4s.TelTapiCfgSetHiddenMenuAccess <(disable/enable)>");
277 TEST_DEBUG("5g.TelTapiCfgGetCurrentCarrier");
278 TEST_DEBUG("5s.TelTapiCfgSetCurrentCarrier <(test/skt/ktf/lgt/verizon/sprint)>");
279 TEST_DEBUG("6g.TelTapiCfgGetActivationDate");
280 TEST_DEBUG("7g.TelTapiCfgGetReconditionedDate");
281 TEST_DEBUG("8g.TelTapiCfgGetSIOMode");
282 TEST_DEBUG("8s.TelTapiCfgSetSIOMode <mode(0/1/2)>");
283 TEST_DEBUG("9s.tapi_cfg_defaultconfiguration_set FULL[0]FACTORY[1]SERVICE[2]CUSTOM[3]");
284 TEST_DEBUG("0.exit");
285 TEST_DEBUG("*****************************************************\n");
288 ret = read(0, buf, sizeof(buf));
298 if( memcmp(buf,"0",sizeof("0")-1) == 0 )
300 TEST_DEBUG("Finished Testing this module, Going back to Main Menu");
303 else if( memcmp(buf,"1g",sizeof("1g")-1) == 0 )
305 TEST_DEBUG("tel_get_cfg_akey....");
306 ret_val = tel_get_cfg_akey();
307 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
309 else if( memcmp(buf,"1s",sizeof("1s")-1) == 0 )
311 char tempAkey[TAPI_CFG_A_KEY_DIGITS_MAX+1];
313 TelCfgAKeyInfo_t Akey_info;
315 strncpy(tempAkey, &buf[3], TAPI_CFG_A_KEY_DIGITS_MAX);
317 length = strlen(tempAkey);
319 memset(&Akey_info, 0, sizeof(Akey_info));
321 strncpy(Akey_info.A_key,tempAkey, length-1); // removing '/n' form the end of the string
323 TEST_DEBUG("tel_verify_cfg_akey with AKey [%s]",Akey_info.A_key);
325 ret_val = tel_verify_cfg_akey(&Akey_info);
327 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
329 else if( memcmp(buf,"2g",sizeof("2g")-1) == 0 )
331 TEST_DEBUG("tel_get_cfg_msl_info....");
332 ret_val = tel_get_cfg_msl_info();
333 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
335 else if( memcmp(buf,"3g",sizeof("3g")-1) == 0 )
337 TEST_DEBUG("tel_get_cfg_vocoder_option....");
338 ret_val = tel_get_cfg_vocoder_option();
339 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
341 else if( memcmp(buf,"3s",sizeof("3s")-1) == 0 )
343 TelCfgVocOption_t voc_opt = 0;
344 if(memcmp(buf+3,"default",sizeof("default")-1) == 0 )
345 voc_opt =TAPI_CFG_VOC_OPTION_DEFAULT;
346 else if(memcmp(buf+3,"evrc",sizeof("evrc")-1) == 0 )
347 voc_opt =TAPI_CFG_VOC_OPTION_EVRC;
348 else if(memcmp(buf+3,"13k",sizeof("13k")-1) == 0 )
349 voc_opt =TAPI_CFG_VOC_OPTION_13K;
350 else if(memcmp(buf+3,"8k",sizeof("8k")-1) == 0 )
351 voc_opt =TAPI_CFG_VOC_OPTION_8K;
353 TEST_DEBUG("Unknown vocoder option");
357 TEST_DEBUG("tel_set_cfg_vocoder_option....voc_opt:[%d]",voc_opt);
358 ret_val = tel_set_cfg_vocoder_option(voc_opt);
359 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
361 else if( memcmp(buf,"4g",sizeof("4g")-1) == 0 )
363 TEST_DEBUG("tel_get_cfg_hidden_menu_access....");
364 ret_val = tel_get_cfg_hidden_menu_access();
365 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
367 else if( memcmp(buf,"4s",sizeof("4s")-1) == 0 )
369 TelCfgHiddenMenuAccessType_t type = 0;
370 if(memcmp(buf+3,"disable",sizeof("disable")-1) == 0 )
371 type =TAPI_CFG_HIDDEN_MENU_DISABLE;
372 else if(memcmp(buf+3,"enable",sizeof("enable")-1) == 0 )
373 type =TAPI_CFG_HIDDEN_MENU_ENABLE;
375 TEST_DEBUG("Unknown type");
379 TEST_DEBUG("tel_set_cfg_hidden_menu_access....type:[%d]",type);
380 ret_val = tel_set_cfg_hidden_menu_access(type);
381 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
383 else if( memcmp(buf,"5g",sizeof("5g")-1) == 0 )
385 TEST_DEBUG("tel_get_cfg_serving_carrier....");
386 ret_val = tel_get_cfg_serving_carrier();
387 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
389 else if( memcmp(buf,"5s",sizeof("5s")-1) == 0 )
391 TelCfgCurrentCarrier_t Carrier = 0;
392 TEST_DEBUG("buf :[%s]....",buf+3);
393 if(memcmp(buf+3,"test",sizeof("test")-1) == 0 )
394 Carrier =TAPI_CFG_CARRIER_TEST;
395 else if(memcmp(buf+3,"skt",sizeof("skt")-1) == 0 )
396 Carrier =TAPI_CFG_CARRIER_SKT;
397 else if(memcmp(buf+3,"ktf",sizeof("ktf")-1) == 0 )
398 Carrier =TAPI_CFG_CARRIER_KTF;
399 else if(memcmp(buf+3,"lgt",sizeof("lgt")-1) == 0 )
400 Carrier =TAPI_CFG_CARRIER_LGT;
401 else if(memcmp(buf+3,"verizon",sizeof("verizon")-1) == 0 )
402 Carrier =TAPI_CFG_CARRIER_VERIZON;
403 else if(memcmp(buf+3,"sprint",sizeof("sprint")-1) == 0 )
404 Carrier =TAPI_CFG_CARRIER_SPRINT;
406 TEST_DEBUG("Unknown Carrier....");
410 TEST_DEBUG("tel_set_cfg_serving_carrier....Carrier:[%d]",Carrier);
411 ret_val = tel_set_cfg_serving_carrier(Carrier);
412 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
414 else if( memcmp(buf,"6g",sizeof("6g")-1) == 0 )
416 TEST_DEBUG("TelTapiCfgGetActivationDate....");
417 ret_val = tel_get_cfg_activated_date_of_phone();
418 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
420 else if( memcmp(buf,"7g",sizeof("7g")-1) == 0 )
422 TEST_DEBUG("tel_get_cfg_reconditioned_data_of_phone....");
423 ret_val = tel_get_cfg_reconditioned_data_of_phone();
424 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
426 else if( memcmp(buf,"8g",sizeof("8g")-1) == 0 )
428 TEST_DEBUG("tel_get_cfg_sio_mode....");
429 ret_val = tel_get_cfg_sio_mode();
430 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
432 else if( memcmp(buf,"8s",sizeof("8s")-1) == 0 )
434 TelCfgSIOMode_t mode = 0;
435 if(memcmp(buf+3,"0",sizeof("0")-1) == 0 )
436 mode =TAPI_CFG_SIO_U1_DIAG_USB2_GPS;
437 else if(memcmp(buf+3,"1",sizeof("1")-1) == 0 )
438 mode =TAPI_CFG_SIO_U1_HFK_USB2_GPS;
439 else if(memcmp(buf+3,"2",sizeof("2")-1) == 0 )
440 mode =TAPI_CFG_SIO_U1_HFK_USB2_DIAG;
442 TEST_DEBUG("Unknown mode");
445 TEST_DEBUG("tel_set_cfg_sio_mode....mode:[%d]",mode);
446 ret_val = tel_set_cfg_sio_mode(mode);
447 TEST_DEBUG(" Tapi return value: [0x%x] ", ret_val);
450 else if( memcmp(buf,"9s",sizeof("9s")-1) == 0 )
452 TelDefaultCfg_t bType =0;
454 if(memcmp(buf+3,"0",sizeof("0")-1) == 0 )
455 bType = TAPI_CFG_DEFAULT_FULL;
456 else if(memcmp(buf+3,"1",sizeof("1")-1) == 0 )
457 bType = TAPI_CFG_DEFAULT_FACTORY;
458 else if(memcmp(buf+3,"2",sizeof("2")-1) == 0 )
459 bType = TAPI_CFG_DEFAULT_SERVICE;
460 else if(memcmp(buf+3,"3",sizeof("3")-1) == 0 )
461 bType = TAPI_CFG_DEFAULT_CUSTOM;
463 tel_set_cfg_default_configuration(bType);
470 void cfg_select_loop(void)
480 ret = select(0 + 1, &readfds, NULL, NULL, NULL);
483 if (FD_ISSET(0, &readfds))
485 if(cfg_read_key_input()<0)
493 static int tapi_cfg_callback (TelTapiEventClass_t eventClass,int eventType, int param1,void * param2)
495 TEST_DEBUG("EVENT STATUS:[%d]", param1);
499 case TAPI_EVENT_CLASS_CFG:
503 case TAPI_EVENT_CFG_GET_A_KEY_CNF:
505 TelCfgAKeyInfo_t Akey_info;
506 memset(&Akey_info, 0, sizeof(Akey_info));
508 TEST_DEBUG("TAPI_EVENT_CFG_GET_A_KEY_CNF");
510 memcpy(&Akey_info, param2, sizeof(TelCfgAKeyInfo_t));
512 TEST_DEBUG("Akey:[%s]",Akey_info.A_key);
516 case TAPI_EVENT_CFG_VERIFY_A_KEY_CNF:
518 TelCfgAKeyVerifyResult_t result;
519 TEST_DEBUG("TAPI_EVENT_CFG_VERIFY_A_KEY_CNF");
520 memcpy(&result, param2, sizeof(TelCfgAKeyVerifyResult_t));
523 case TAPI_CFG_AKEY_VERIFY_FAIL:
525 TEST_DEBUG("A-Key verify fail");
529 case TAPI_CFG_AKEY_VERIFY_OK:
531 TEST_DEBUG("A-Key verify success");
535 TEST_DEBUG(" Unknown value : [%d] ", result);
542 case TAPI_EVENT_CFG_GET_MSL_INFO_CNF:
544 TelCfgMSLInfo_t msl_info;
545 TEST_DEBUG("TAPI_EVENT_CFG_GET_MSL_INFO_CNF");
546 memcpy(&msl_info, param2, sizeof(TelCfgMSLInfo_t));
547 TEST_DEBUG("msl code:[%s]", msl_info.MslCode);
548 TEST_DEBUG("Otksl code:[%s]", msl_info.OtkslCode);
549 TEST_DEBUG("Otksl flag:[%d]", msl_info.Otksl_flag);
554 case TAPI_EVENT_CFG_GET_VOCODER_OPTION_CNF:
556 TelCfgVocOption_t voc_option;
557 TEST_DEBUG("TAPI_EVENT_CFG_GET_VOCODER_OPTION_CNF");
558 memcpy(&voc_option, param2, sizeof(TelCfgVocOption_t));
559 TEST_DEBUG("vocoder option:[%d]", voc_option);
564 case TAPI_EVENT_CFG_SET_VOCODER_OPTION_CNF:
566 TEST_DEBUG("TAPI_EVENT_CFG_SET_VOCODER_OPTION_CNF");
570 case TAPI_EVENT_CFG_GET_HIDDEN_MENU_ACCESS_CNF:
572 TelCfgHiddenMenuAccessType_t type;
573 TEST_DEBUG("TAPI_EVENT_CFG_GET_HIDDEN_MENU_ACCESS_CNF");
574 memcpy(&type, param2, sizeof(TelCfgHiddenMenuAccessType_t));
575 TEST_DEBUG("access type:[%d]", type);
579 case TAPI_EVENT_CFG_SET_HIDDEN_MENU_ACCESS_CNF:
581 TEST_DEBUG("TAPI_EVENT_CFG_SET_HIDDEN_MENU_ACCESS_CNF");
585 case TAPI_EVENT_CFG_GET_CURRENT_CARRIER_CNF:
587 TelCfgCurrentCarrier_t carrier;
588 TEST_DEBUG("TAPI_EVENT_CFG_GET_CURRENT_CARRIER_CNF");
589 memcpy(&carrier, param2, sizeof(TelCfgCurrentCarrier_t));
590 TEST_DEBUG("carrier:[%d]", carrier);
594 case TAPI_EVENT_CFG_SET_CURRENT_CARRIER_CNF:
596 TEST_DEBUG("TAPI_EVENT_CFG_SET_CURRENT_CARRIER_CNF");
600 case TAPI_EVENT_CFG_GET_ACTIVATION_DATE_CNF:
602 TelCfgActivationDateInfo_t date_info;
603 TEST_DEBUG("TAPI_EVENT_CFG_GET_ACTIVATION_DATE_CNF");
604 memcpy(&date_info, param2, sizeof(TelCfgActivationDateInfo_t));
605 TEST_DEBUG("year:[%d]", date_info.year);
606 TEST_DEBUG("month:[%d]", date_info.month);
607 TEST_DEBUG("day:[%d]", date_info.day);
608 TEST_DEBUG("hour:[%d]", date_info.hour);
609 TEST_DEBUG("minute:[%d]", date_info.minute);
610 TEST_DEBUG("second:[%d]", date_info.second);
614 case TAPI_EVENT_CFG_GET_RECONDITIONED_DATE_CNF:
616 TelCfgReconditionedInfo_t date_info;
617 TEST_DEBUG("TAPI_EVENT_CFG_GET_RECONDITIONED_DATE_CNF");
618 memcpy(&date_info, param2, sizeof(TelCfgReconditionedInfo_t));
619 TEST_DEBUG("status(0:NO, 1:YES):[%d]", date_info.status);
620 TEST_DEBUG("year:[%d]", date_info.year);
621 TEST_DEBUG("month:[%d]", date_info.month);
622 TEST_DEBUG("day:[%d]", date_info.day);
623 TEST_DEBUG("hour:[%d]", date_info.hour);
624 TEST_DEBUG("minute:[%d]", date_info.minute);
625 TEST_DEBUG("second:[%d]", date_info.second);
629 case TAPI_EVENT_CFG_GET_SIO_MODE_CNF:
631 TelCfgSIOMode_t mode;
632 TEST_DEBUG("TAPI_EVENT_CFG_GET_SIO_MODE_CNF");
633 memcpy(&mode, param2, sizeof(TelCfgSIOMode_t));
638 case TAPI_EVENT_CFG_SET_SIO_MODE_CNF:
640 TEST_DEBUG("TAPI_EVENT_CFG_SET_SIO_MODE_CNF");
645 TEST_DEBUG(" Unknown Event : [%d] ", eventType);
656 TEST_DEBUG("############### event processing is done....###############");
660 bool on_cfg_event_received (EvtSysEventSourceId_t src_id, const char* noti_id, GArray* parameters, void* local_data)
662 EvtSysEventProperty_t* e;
669 assert(parameters->len == 5);
671 /* 1 param is tapi event group */
672 e = &g_array_index (parameters, EvtSysEventProperty_t, 0);
673 assert(e->type == DBUS_TYPE_INT32);
675 //TEST_DEBUG("received group is :%d ", group);
677 /* 2 param is tapi event type */
678 e = &g_array_index (parameters, EvtSysEventProperty_t, 1);
679 assert(e->type == DBUS_TYPE_INT32);
681 //TEST_DEBUG("received event type is :%d ", type);
683 /* 3 param is Response ID */
684 e = &g_array_index (parameters, EvtSysEventProperty_t, 2);
685 assert(e->type == DBUS_TYPE_INT32);
687 //TEST_DEBUG("received Request ID is :%d ", reqid);
689 /* 4 param is Status */
690 e = &g_array_index (parameters, EvtSysEventProperty_t, 3);
691 assert(e->type == DBUS_TYPE_INT32);
693 //TEST_DEBUG("status is :%d ", status);
698 TEST_DEBUG(" ##### Received Error## status:[%d] for event type[0x%x]", status, type);
702 /* over allocate this after receiving the len */
707 /* 5 param is data */
708 e = &g_array_index (parameters, EvtSysEventProperty_t, 4);
709 assert(e->type == DBUS_TYPE_STRING);
711 data = (char *)e->value.i;
715 TAPI_BASE64_DECODE(data, result, &out_len);
717 tapi_cfg_callback(group, type, status, result);
719 /* We've done with this notificaiton */
725 //int misc_test_subscribe_tapi_events(void)
726 int cfg_test_subscribe_tapi_events(void)
730 int iNumOfCfgEvt = 0;
731 TapiResult_t api_err = TAPI_API_SUCCESS;
736 TAPI_CFG_EVENT_DEFAULTCFG_IND,
737 TAPI_EVENT_CFG_GET_A_KEY_CNF, /**< */
738 TAPI_EVENT_CFG_VERIFY_A_KEY_CNF, /**< */
739 TAPI_EVENT_CFG_GET_MSL_INFO_CNF, /**< */
740 TAPI_EVENT_CFG_GET_VOCODER_OPTION_CNF, /**< */
741 TAPI_EVENT_CFG_SET_VOCODER_OPTION_CNF, /**< */
742 TAPI_EVENT_CFG_GET_HIDDEN_MENU_ACCESS_CNF, /**< */
743 TAPI_EVENT_CFG_SET_HIDDEN_MENU_ACCESS_CNF, /**< */
744 TAPI_EVENT_CFG_GET_CURRENT_CARRIER_CNF, /**< */
745 TAPI_EVENT_CFG_SET_CURRENT_CARRIER_CNF, /**< */
746 TAPI_EVENT_CFG_GET_SIO_MODE_CNF, /**< */
747 TAPI_EVENT_CFG_SET_SIO_MODE_CNF, /**< */
748 TAPI_EVENT_CFG_GET_ACTIVATION_DATE_CNF, /**< */
749 TAPI_EVENT_CFG_GET_RECONDITIONED_DATE_CNF, /**< */
750 TAPI_EVENT_CFG_SET_TTY_MODE_CNF, /**< */
751 TAPI_EVENT_CFG_GET_TTY_MODE_CNF, /**< */
754 iNumOfCfgEvt = sizeof(cfgEvents)/sizeof(int);
755 // TAPI_CALLOC(Cfg_subscription_id, iNumOfCfgEvt, unsigned int)
756 //#define TAPI_CALLOC(ptr, no_elements, type)
757 Cfg_subscription_id = (unsigned int *) calloc (iNumOfCfgEvt , sizeof (unsigned int));
758 if(Cfg_subscription_id == NULL)
760 TEST_DEBUG("calloc error -NULL, errno is [%d]", errno);
764 if(tel_init() == TAPI_API_SUCCESS)
766 for( i=0 ; i< iNumOfCfgEvt; i++ )
768 api_err = tel_register_event(cfgEvents[i], &Cfg_subscription_id[i],(TelAppCallback)&tapi_cfg_callback,NULL);
769 if(api_err != TAPI_API_SUCCESS)
771 TEST_DEBUG("isn't subscribed. event id is %d, api_err is %d\n", cfgEvents[i],api_err);
779 TEST_DEBUG("tel_init() failed");
784 //GMainLoop *mainloop;
786 noti_subscription_id_t subscription_id;
789 char *cfgEvents[] = {
790 "Telephony.User.Cfg.BtWifiTestInd",
791 "Telephony.User.Cfg.PdaCalibration",
792 "Telephony.Cfg.GetAKeyCnf",
793 "Telephony.Cfg.VerifyAKeyCnf",
794 "Telephony.Cfg.GetMslInfoCnf",
795 "Telephony.Cfg.GetVocoderOptionCnf",
796 "Telephony.Cfg.SetVocoderOptionCnf",
797 "Telephony.Cfg.GetHiddenMenuAccessCnf",
798 "Telephony.Cfg.SetHiddenMenuAccessCnf",
799 "Telephony.Cfg.GetCurrentCarrierCnf",
800 "Telephony.Cfg.SetCurrentCarrierCnf",
801 "Telephony.Cfg.GetSioModeCnf",
802 "Telephony.Cfg.SetSioModeCnf",
803 "Telephony.Cfg.GetUsbPathCnf",
804 "Telephony.Cfg.SetUsbPathCnf",
805 "Telephony.Cfg.GetActivationDateCnf",
806 "Telephony.Cfg.GetReconditionedDateCnf",
809 for(count =0;count < (sizeof(cfgEvents)/sizeof(*cfgEvents)) ; count++)
811 error_code = EvtSysEventSubscribe (
813 cfgEvents[count], /* notification ID */
814 NULL, /* filter expression */
815 (EvtSysEventCb)on_cfg_event_received, /* notification handler */
816 (void *)&sdata, /* local data */
817 &subscription_id /* subscription ID */
821 TEST_DEBUG( "[NET TEST] EvtSysEventSubscribe(): error [%#X] for event [%s]", error_code , cfgEvents[count]);
830 void tapi_cfg_thread()
832 TEST_DEBUG("start tapi_cfg_thread");
834 fprintf (stderr, " cfg exited");
839 int cfg_main(int argc, char *argv[])
842 pthread_t cfg_thread_id;
844 TEST_DEBUG("\n\n\n ===== config module test ver 1.01 =====");
846 ret = pthread_create(&cfg_thread_id, NULL, &tapi_cfg_thread, NULL);
850 TEST_DEBUG( "Thread for TAPI Events Failed");
853 pthread_join(cfg_thread_id, NULL);