FreeCalypso > hg > fc-tourmaline
comparison src/ui/mfw/mfw_sat.c @ 188:92abb46dc1ba
src/ui/mfw/*.[ch]: rm trailing white space
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 19 Jan 2021 06:10:27 +0000 |
parents | 67bfe9f274f6 |
children |
comparison
equal
deleted
inserted
replaced
187:a33dd8a5dcc9 | 188:92abb46dc1ba |
---|---|
12 | 12 |
13 EXPORT : | 13 EXPORT : |
14 | 14 |
15 TO DO : | 15 TO DO : |
16 | 16 |
17 $History:: mfw_sat.c | 17 $History:: mfw_sat.c |
18 Apr 18, 2006 Ref:OMAPS00116309 R.Prabakar (a0393213) | 18 Apr 18, 2006 Ref:OMAPS00116309 R.Prabakar (a0393213) |
19 CT-GCF[27.22.4.7.1]- MMI crashes on REFERSH seq 1.2 | 19 CT-GCF[27.22.4.7.1]- MMI crashes on REFERSH seq 1.2 |
20 Solution : Data type mismatch between ACI and MMI sorted out | 20 Solution : Data type mismatch between ACI and MMI sorted out |
21 | 21 |
22 Nov 07, 2006 ER:OMAPS00070661 R.Prabakar(a0393213) | 22 Nov 07, 2006 ER:OMAPS00070661 R.Prabakar(a0393213) |
23 R99 network compliancy : Implemented Language Notification and Provide Local Information (Language setting) | 23 R99 network compliancy : Implemented Language Notification and Provide Local Information (Language setting) |
24 SAT proactive commands and Language Selection SAT event | 24 SAT proactive commands and Language Selection SAT event |
25 | 25 |
26 10 Jul 2006, Ref OMAPS00077654, R.Prabakar(a0393213) | 26 10 Jul 2006, Ref OMAPS00077654, R.Prabakar(a0393213) |
36 Solution: If there is no text string supplied in the function decDispText(), only SatResponse was sent saying that | 36 Solution: If there is no text string supplied in the function decDispText(), only SatResponse was sent saying that |
37 command data not understood by Me and return statement was missed out. | 37 command data not understood by Me and return statement was missed out. |
38 | 38 |
39 Shashi Shekar B.S., a0876501, 16 Mar, 2006, OMAPS00061462 | 39 Shashi Shekar B.S., a0876501, 16 Mar, 2006, OMAPS00061462 |
40 Icon support for SetupMenu & Select item. | 40 Icon support for SetupMenu & Select item. |
41 | 41 |
42 Mar 11, 2006 REF:DR:OMAPS00061467 x0035544 | 42 Mar 11, 2006 REF:DR:OMAPS00061467 x0035544 |
43 Description: 27.22.4.13.3 SET UP CALL (display of icons) fails. | 43 Description: 27.22.4.13.3 SET UP CALL (display of icons) fails. |
44 Solution: SAT icon is supported for the SAT CALL SETUP. | 44 Solution: SAT icon is supported for the SAT CALL SETUP. |
45 | 45 |
46 Jan 16, 2006 DR: OMAPS00061460 - Shashi Shekar B.S. | 46 Jan 16, 2006 DR: OMAPS00061460 - Shashi Shekar B.S. |
50 Aug 31, 2005 REF: CRR 33619 x0021334 | 50 Aug 31, 2005 REF: CRR 33619 x0021334 |
51 Description: RE: Notification of SATK File Change | 51 Description: RE: Notification of SATK File Change |
52 Solution: Added the stub function 'rAT_PercentSIMEF()'. | 52 Solution: Added the stub function 'rAT_PercentSIMEF()'. |
53 | 53 |
54 July 26, 2005 REF: SPR 29520 x0018858 | 54 July 26, 2005 REF: SPR 29520 x0018858 |
55 Issue: 27.22.4.5 Proactive SIM Command: PLAY TONE fails | 55 Issue: 27.22.4.5 Proactive SIM Command: PLAY TONE fails |
56 Solution: The window which used to come up "Please wait" was not getting destroyed. | 56 Solution: The window which used to come up "Please wait" was not getting destroyed. |
57 Care has been taken to check this. | 57 Care has been taken to check this. |
58 | 58 |
59 Jun 16, 2005 REF: CRR 31543 x0021334 | 59 Jun 16, 2005 REF: CRR 31543 x0021334 |
60 Issue: SATK: cannot get TR for send ussd command | 60 Issue: SATK: cannot get TR for send ussd command |
61 Solution: When the user presses "Hang up" key when the SAT USSD session is in progress, | 61 Solution: When the user presses "Hang up" key when the SAT USSD session is in progress, |
62 a call is made to function 'sAT_end_ussd()' to end the USSD session. | 62 a call is made to function 'sAT_end_ussd()' to end the USSD session. |
63 | 63 |
64 Aug 16, 2004 REF: CRR 24323 Deepa M.D | 64 Aug 16, 2004 REF: CRR 24323 Deepa M.D |
65 Bug:Clenup of sprintf used for tracing | 65 Bug:Clenup of sprintf used for tracing |
66 Fix:Replace the char buf[]; sprintf (buf, "...", ...); TRACE_EVENT (buf); statements by TRACE_EVENT_PX $ | 66 Fix:Replace the char buf[]; sprintf (buf, "...", ...); TRACE_EVENT (buf); statements by TRACE_EVENT_PX $ |
67 | 67 |
68 Jun 08,2006 x0047685 | 68 Jun 08,2006 x0047685 |
268 /* 26-05-2006, x0045876 (OMAPS00076094 - Removed SAT_TP2_UCS2_ENTRY, SAT_TP2_UCS2_DSPL, | 268 /* 26-05-2006, x0045876 (OMAPS00076094 - Removed SAT_TP2_UCS2_ENTRY, SAT_TP2_UCS2_DSPL, |
269 SAT_TP2_DSPL_EXT) */ | 269 SAT_TP2_DSPL_EXT) */ |
270 /*10 Jul 2006, Ref OMAPS00077654, R.Prabakar(a0393213) | 270 /*10 Jul 2006, Ref OMAPS00077654, R.Prabakar(a0393213) |
271 Description : Cyrillic character support in MMI to pass GCF/PTCRB UCS2 TC (SATK) | 271 Description : Cyrillic character support in MMI to pass GCF/PTCRB UCS2 TC (SATK) |
272 Solution : UCS2 Display added to terminal profile*/ | 272 Solution : UCS2 Display added to terminal profile*/ |
273 | 273 |
274 (SAT_TP2_CMD_RES | SAT_TP2_CC | SAT_TP2_MOSMC | SAT_TP2_ALPHA_ID| SAT_TP2_UCS2_DSPL), | 274 (SAT_TP2_CMD_RES | SAT_TP2_CC | SAT_TP2_MOSMC | SAT_TP2_ALPHA_ID| SAT_TP2_UCS2_DSPL), |
275 | 275 |
276 (SAT_TP3_DSPL_TXT | SAT_TP3_GET_INKEY | SAT_TP3_GET_INPUT| | 276 (SAT_TP3_DSPL_TXT | SAT_TP3_GET_INKEY | SAT_TP3_GET_INPUT| |
277 SAT_TP3_PLAY_TONE | SAT_TP3_REFRESH), | 277 SAT_TP3_PLAY_TONE | SAT_TP3_REFRESH), |
278 | 278 |
279 /* 26-05-2006, x0045876 (OMAPS00076094 - Changed the order of bits) */ | 279 /* 26-05-2006, x0045876 (OMAPS00076094 - Changed the order of bits) */ |
280 (SAT_TP4_SEL_ITEM | SAT_TP4_SEND_SMS | SAT_TP4_SEND_SS | 280 (SAT_TP4_SEL_ITEM | SAT_TP4_SEND_SMS | SAT_TP4_SEND_SS |
281 | SAT_TP4_SEND_USSD | SAT_TP4_SETUP_CALL | SAT_TP4_SETUP_MENU), | 281 | SAT_TP4_SEND_USSD | SAT_TP4_SETUP_CALL | SAT_TP4_SETUP_MENU), |
282 | 282 |
283 (SAT_TP5_EVENT_LIST | SAT_TP5_USER_ACT | SAT_TP5_SCR_AVAIL), | 283 (SAT_TP5_EVENT_LIST | SAT_TP5_USER_ACT | SAT_TP5_SCR_AVAIL), |
284 #ifdef FF_MMI_R99_SAT_LANG | 284 #ifdef FF_MMI_R99_SAT_LANG |
285 (SAT_TP6_LANG_SEL), /*OMAPS00070661 R.Prabakar(a0393213) Language Selection Enabled */ | 285 (SAT_TP6_LANG_SEL), /*OMAPS00070661 R.Prabakar(a0393213) Language Selection Enabled */ |
286 #else | 286 #else |
287 0x0, | 287 0x0, |
288 #endif | 288 #endif |
289 | 289 |
290 0x0, | 290 0x0, |
291 | 291 |
292 (SAT_TP8_BIN_GET_INKEY | SAT_TP8_IDLE_TXT | SAT_TP8_AI2_SETUP_CALL), | 292 (SAT_TP8_BIN_GET_INKEY | SAT_TP8_IDLE_TXT | SAT_TP8_AI2_SETUP_CALL), |
293 | 293 |
294 #if defined(FF_WAP) | 294 #if defined(FF_WAP) |
295 #ifdef FF_MMI_R99_SAT_LANG | 295 #ifdef FF_MMI_R99_SAT_LANG |
296 /*OMAPS00070661 R.Prabakar(a0393213) Language Notification and Local Information(language setting)*/ | 296 /*OMAPS00070661 R.Prabakar(a0393213) Language Notification and Local Information(language setting)*/ |
297 (SAT_TP9_SUST_DSPL_TXT|SAT_TP9_LAUNCH_BROWSER | SAT_TP9_PLI_LANG | SAT_TP9_LANG_NOTIFY), | 297 (SAT_TP9_SUST_DSPL_TXT|SAT_TP9_LAUNCH_BROWSER | SAT_TP9_PLI_LANG | SAT_TP9_LANG_NOTIFY), |
298 #else | 298 #else |
299 (SAT_TP9_SUST_DSPL_TXT|SAT_TP9_LAUNCH_BROWSER), | 299 (SAT_TP9_SUST_DSPL_TXT|SAT_TP9_LAUNCH_BROWSER), |
300 #endif | 300 #endif |
301 #else | 301 #else |
302 #ifdef FF_MMI_R99_SAT_LANG | 302 #ifdef FF_MMI_R99_SAT_LANG |
303 (SAT_TP9_SUST_DSPL_TXT | SAT_TP9_PLI_LANG | SAT_TP9_LANG_NOTIFY) , | 303 (SAT_TP9_SUST_DSPL_TXT | SAT_TP9_PLI_LANG | SAT_TP9_LANG_NOTIFY) , |
304 #else | 304 #else |
305 SAT_TP9_SUST_DSPL_TXT, | 305 SAT_TP9_SUST_DSPL_TXT, |
306 #endif | 306 #endif |
307 #endif /*FF_WAP*/ | 307 #endif /*FF_WAP*/ |
308 | 308 |
309 /* 26-05-2006, x0045876 (OMAPS00076094 - Added Softkeys) */ | 309 /* 26-05-2006, x0045876 (OMAPS00076094 - Added Softkeys) */ |
310 0x03, | 310 0x03, |
311 | 311 |
312 0x0, | 312 0x0, |
313 | 313 |
314 (SAT_TP12_OPEN_CHANNEL | SAT_TP12_CLOSE_CHANNEL | SAT_TP12_RECEIVE_DATA | | 314 (SAT_TP12_OPEN_CHANNEL | SAT_TP12_CLOSE_CHANNEL | SAT_TP12_RECEIVE_DATA | |
315 SAT_TP12_SEND_DATA), | 315 SAT_TP12_SEND_DATA), |
316 | 316 |
317 (SAT_TP13_CSD_SUPP_BY_ME | SAT_TP13_GPRS_SUPP_BY_ME) | 317 (SAT_TP13_CSD_SUPP_BY_ME | SAT_TP13_GPRS_SUPP_BY_ME) |
318 | 318 |
319 #else | 319 #else |
320 | 320 |
321 #ifdef FF_2TO1_PS | 321 #ifdef FF_2TO1_PS |
322 /* START: 11-05-2006, x0045876 (OMAPS00076094) */ | 322 /* START: 11-05-2006, x0045876 (OMAPS00076094) */ |
323 /* 0x09, 0x73, 0x17, 0x37 // c032 rsa */ | 323 /* 0x09, 0x73, 0x17, 0x37 // c032 rsa */ |
368 TRACE_FUNCTION("satInit()"); | 368 TRACE_FUNCTION("satInit()"); |
369 | 369 |
370 mfwCommand[MfwTypSat] = (MfwCb) satCommand; | 370 mfwCommand[MfwTypSat] = (MfwCb) satCommand; |
371 satNoResponse = 0; | 371 satNoResponse = 0; |
372 mfwSatMoAccepted = 0; | 372 mfwSatMoAccepted = 0; |
373 mfwSATLPRefresh = 0; | 373 mfwSATLPRefresh = 0; |
374 eventList= 0; | 374 eventList= 0; |
375 fu_aborted = FALSE; | 375 fu_aborted = FALSE; |
376 #ifdef FF_2TO1_PS | 376 #ifdef FF_2TO1_PS |
377 plen = MINIMUM(plen, SIM_MAX_STK_PRF); | 377 plen = MINIMUM(plen, SIM_MAX_STK_PRF); |
378 #else | 378 #else |
428 MfwHnd satCreate (MfwHnd w, MfwEvt e, MfwCb f, SatCmd *c) | 428 MfwHnd satCreate (MfwHnd w, MfwEvt e, MfwCb f, SatCmd *c) |
429 { | 429 { |
430 MfwSat *sat = (MfwSat*) mfwAlloc(sizeof(MfwSat)); | 430 MfwSat *sat = (MfwSat*) mfwAlloc(sizeof(MfwSat)); |
431 MfwHdr *hdr = (MfwHdr *)mfwAlloc(sizeof(MfwHdr)); | 431 MfwHdr *hdr = (MfwHdr *)mfwAlloc(sizeof(MfwHdr)); |
432 MfwHdr *insert_status =0; | 432 MfwHdr *insert_status =0; |
433 | 433 |
434 if (!hdr || !sat) | 434 if (!hdr || !sat) |
435 { | 435 { |
436 TRACE_ERROR("ERROR: satCreate() Mem Alloc Failed."); | 436 TRACE_ERROR("ERROR: satCreate() Mem Alloc Failed."); |
437 | 437 |
438 if(hdr) | 438 if(hdr) |
439 mfwFree((U8*)hdr,sizeof(MfwHdr)); | 439 mfwFree((U8*)hdr,sizeof(MfwHdr)); |
440 if(sat) | 440 if(sat) |
441 mfwFree((U8*)sat,sizeof(MfwSat)); | 441 mfwFree((U8*)sat,sizeof(MfwSat)); |
442 | 442 |
443 return 0; | 443 return 0; |
444 } | 444 } |
445 | 445 |
446 sat->map = e; | 446 sat->map = e; |
447 sat->evt = 0; | 447 sat->evt = 0; |
635 +--------------------------------------------------------------------+ | 635 +--------------------------------------------------------------------+ |
636 | PROJECT : MMI-Framework (8417) MODULE : MFW_SAT | | 636 | PROJECT : MMI-Framework (8417) MODULE : MFW_SAT | |
637 | STATE : code ROUTINE : satLocalInfo | | 637 | STATE : code ROUTINE : satLocalInfo | |
638 +--------------------------------------------------------------------+ | 638 +--------------------------------------------------------------------+ |
639 | 639 |
640 PURPOSE : send terminal response for local info | 640 PURPOSE : send terminal response for local info |
641 | 641 |
642 SPR#2121 - DS - Dynamically allocate memory for Terminal Response. | 642 SPR#2121 - DS - Dynamically allocate memory for Terminal Response. |
643 | 643 |
644 */ | 644 */ |
645 | 645 |
687 trmResponse[ti++] = info_len; /* length*/ | 687 trmResponse[ti++] = info_len; /* length*/ |
688 while (info_len--) | 688 while (info_len--) |
689 trmResponse[ti++] = *info++; /* result data */ | 689 trmResponse[ti++] = *info++; /* result data */ |
690 | 690 |
691 } | 691 } |
692 | 692 |
693 sAT_PercentSATR(CMD_SRC_LCL,ti,trmResponse); | 693 sAT_PercentSATR(CMD_SRC_LCL,ti,trmResponse); |
694 | 694 |
695 /* Deallocate memory used for Terminal Response buffer */ | 695 /* Deallocate memory used for Terminal Response buffer */ |
696 if (trmResponse != NULL) | 696 if (trmResponse != NULL) |
697 { | 697 { |
812 } | 812 } |
813 | 813 |
814 if (!(eventList&evtFlags)) /*Only send registered events */ | 814 if (!(eventList&evtFlags)) /*Only send registered events */ |
815 { | 815 { |
816 TRACE_ERROR("ERROR: evtFlags not registered in eventList"); | 816 TRACE_ERROR("ERROR: evtFlags not registered in eventList"); |
817 | 817 |
818 /* Deallocate memory used for Terminal Response buffer */ | 818 /* Deallocate memory used for Terminal Response buffer */ |
819 if (trmResponse != NULL) | 819 if (trmResponse != NULL) |
820 { | 820 { |
821 mfwFree(trmResponse, TRM_RSP_LEN); | 821 mfwFree(trmResponse, TRM_RSP_LEN); |
822 trmResponse = NULL; | 822 trmResponse = NULL; |
843 return MfwResErr; /* illegal event */ | 843 return MfwResErr; /* illegal event */ |
844 } | 844 } |
845 | 845 |
846 eventList&=(~evtFlags); /* Deregister event */ | 846 eventList&=(~evtFlags); /* Deregister event */ |
847 | 847 |
848 | 848 |
849 | 849 |
850 trmResponse[ti++] = 0xD6; /* event download tag */ | 850 trmResponse[ti++] = 0xD6; /* event download tag */ |
851 trmResponse[ti++] = 0; /* length (filled later) */ | 851 trmResponse[ti++] = 0; /* length (filled later) */ |
852 trmResponse[ti++] = 0x99; /* --event list-- */ | 852 trmResponse[ti++] = 0x99; /* --event list-- */ |
853 trmResponse[ti++] = 0x01; /* length */ | 853 trmResponse[ti++] = 0x01; /* length */ |
886 { | 886 { |
887 S16 ti = 0; | 887 S16 ti = 0; |
888 U8* trmResponse = NULL; | 888 U8* trmResponse = NULL; |
889 | 889 |
890 TRACE_FUNCTION("satLanguageSelected"); | 890 TRACE_FUNCTION("satLanguageSelected"); |
891 | 891 |
892 if (!(eventList&SatEvtLangSelectActivated)) /*Only send registered events */ | 892 if (!(eventList&SatEvtLangSelectActivated)) /*Only send registered events */ |
893 { | 893 { |
894 TRACE_ERROR("ERROR: language selection not registered in eventList"); | 894 TRACE_ERROR("ERROR: language selection not registered in eventList"); |
895 return MfwResErr; | 895 return MfwResErr; |
896 } | 896 } |
897 | 897 |
898 /* Allocate memory for Terminal Response buffer */ | 898 /* Allocate memory for Terminal Response buffer */ |
899 trmResponse = (U8*)mfwAlloc(TRM_RSP_LEN); | 899 trmResponse = (U8*)mfwAlloc(TRM_RSP_LEN); |
900 | 900 |
901 if (trmResponse == NULL) | 901 if (trmResponse == NULL) |
902 { | 902 { |
903 /* Memory allocation failed */ | 903 /* Memory allocation failed */ |
904 TRACE_ERROR("ERROR: Failed to allocate memory for TR buffer"); | 904 TRACE_ERROR("ERROR: Failed to allocate memory for TR buffer"); |
905 return MfwResNoMem; | 905 return MfwResNoMem; |
906 } | 906 } |
907 /*Fill up envelope*/ | 907 /*Fill up envelope*/ |
908 trmResponse[ti++] = 0xD6; /* event download tag */ | 908 trmResponse[ti++] = 0xD6; /* event download tag */ |
909 trmResponse[ti++] = 0; /* length (filled later) */ | 909 trmResponse[ti++] = 0; /* length (filled later) */ |
910 trmResponse[ti++] = 0x19; /* --event list-- */ | 910 trmResponse[ti++] = 0x19; /* --event list-- */ |
911 trmResponse[ti++] = 0x01; /* length */ | 911 trmResponse[ti++] = 0x01; /* length */ |
912 trmResponse[ti++] = SatEvtLangSelection; /* actual event */ | 912 trmResponse[ti++] = SatEvtLangSelection; /* actual event */ |
913 trmResponse[ti++] = 0x82; /* --device identities-- */ | 913 trmResponse[ti++] = 0x82; /* --device identities-- */ |
914 trmResponse[ti++] = 0x02; /* length */ | 914 trmResponse[ti++] = 0x02; /* length */ |
915 trmResponse[ti++] = SatDevME; /* source */ | 915 trmResponse[ti++] = SatDevME; /* source */ |
916 trmResponse[ti++] = SatDevSIM; /* destination: SIM */ | 916 trmResponse[ti++] = SatDevSIM; /* destination: SIM */ |
917 trmResponse[ti++] = 0x2D; /* Language tag */ | 917 trmResponse[ti++] = 0x2D; /* Language tag */ |
918 trmResponse[ti++] = 0x02; /* Language length*/ | 918 trmResponse[ti++] = 0x02; /* Language length*/ |
919 switch(language) | 919 switch(language) |
920 { | 920 { |
921 case ENGLISH_LANGUAGE: | 921 case ENGLISH_LANGUAGE: |
922 trmResponse[ti++]=0x65; /*'e'*/ | 922 trmResponse[ti++]=0x65; /*'e'*/ |
937 mfwFree(trmResponse, TRM_RSP_LEN); | 937 mfwFree(trmResponse, TRM_RSP_LEN); |
938 trmResponse = NULL; | 938 trmResponse = NULL; |
939 } | 939 } |
940 return MfwResErr; | 940 return MfwResErr; |
941 | 941 |
942 | 942 |
943 } | 943 } |
944 trmResponse[1] = ti - 2; /* length of event download */ | 944 trmResponse[1] = ti - 2; /* length of event download */ |
945 | 945 |
946 sAT_PercentSATE(CMD_SRC_LCL,ti,trmResponse); | 946 sAT_PercentSATE(CMD_SRC_LCL,ti,trmResponse); |
947 | 947 |
971 */ | 971 */ |
972 | 972 |
973 int satEvtRegistered (int evt) | 973 int satEvtRegistered (int evt) |
974 { | 974 { |
975 TRACE_FUNCTION("satEvtRegistered()"); | 975 TRACE_FUNCTION("satEvtRegistered()"); |
976 | 976 |
977 if (eventList & evt) | 977 if (eventList & evt) |
978 { | 978 { |
979 return TRUE; | 979 return TRUE; |
980 } | 980 } |
981 else | 981 else |
999 | 999 |
1000 MfwRes satDone (SatCmd *cmd, U8 *res, int rlen) | 1000 MfwRes satDone (SatCmd *cmd, U8 *res, int rlen) |
1001 { | 1001 { |
1002 S16 ti; | 1002 S16 ti; |
1003 U8 response = *res; | 1003 U8 response = *res; |
1004 U8* trmResponse = NULL; | 1004 U8* trmResponse = NULL; |
1005 | 1005 |
1006 if (satNoResponse) /* no response, if ... */ | 1006 if (satNoResponse) /* no response, if ... */ |
1007 { | 1007 { |
1008 TRACE_EVENT("satDone: no response. Handled by ACI"); | 1008 TRACE_EVENT("satDone: no response. Handled by ACI"); |
1009 return MfwResOk; /* ... notified by ACI */ | 1009 return MfwResOk; /* ... notified by ACI */ |
1149 if (mfwSignallingMethod EQ 0) | 1149 if (mfwSignallingMethod EQ 0) |
1150 { | 1150 { |
1151 if (mfwFocus) | 1151 if (mfwFocus) |
1152 if (sigExec(mfwFocus,evt,data)) | 1152 if (sigExec(mfwFocus,evt,data)) |
1153 { | 1153 { |
1154 dspl_Enable(temp); | 1154 dspl_Enable(temp); |
1155 return; | 1155 return; |
1156 } | 1156 } |
1157 if (mfwRoot) | 1157 if (mfwRoot) |
1158 sigExec(mfwRoot,evt,data); | 1158 sigExec(mfwRoot,evt,data); |
1159 } | 1159 } |
1167 h = mfwRoot; | 1167 h = mfwRoot; |
1168 while (h) | 1168 while (h) |
1169 { | 1169 { |
1170 if (sigExec(h,evt,data)) | 1170 if (sigExec(h,evt,data)) |
1171 { | 1171 { |
1172 dspl_Enable(temp); | 1172 dspl_Enable(temp); |
1173 return; | 1173 return; |
1174 } | 1174 } |
1175 if (h == mfwRoot) | 1175 if (h == mfwRoot) |
1176 { | 1176 { |
1177 dspl_Enable(temp); | 1177 dspl_Enable(temp); |
1178 return; | 1178 return; |
1179 } | 1179 } |
1180 h = mfwParent(mfwParent(h)); | 1180 h = mfwParent(mfwParent(h)); |
1181 if (h) | 1181 if (h) |
1182 h = ((MfwWin *)(h->data))->elems; | 1182 h = ((MfwWin *)(h->data))->elems; |
1183 } | 1183 } |
1184 sigExec (mfwRoot,evt,data); | 1184 sigExec (mfwRoot,evt,data); |
1185 } | 1185 } |
1186 | 1186 |
1187 dspl_Enable(temp); | 1187 dspl_Enable(temp); |
1188 return; | 1188 return; |
1189 } | 1189 } |
1190 | 1190 |
1191 | 1191 |
1192 /* | 1192 /* |
1229 */ | 1229 */ |
1230 | 1230 |
1231 static void satResponse (U8 res) | 1231 static void satResponse (U8 res) |
1232 { | 1232 { |
1233 U8* trmResponse = NULL; | 1233 U8* trmResponse = NULL; |
1234 | 1234 |
1235 TRACE_FUNCTION("satResponse()"); | 1235 TRACE_FUNCTION("satResponse()"); |
1236 | 1236 |
1237 if (satNoResponse) /* no response, if ... */ | 1237 if (satNoResponse) /* no response, if ... */ |
1238 return; /* ... notified by ACI */ | 1238 return; /* ... notified by ACI */ |
1239 | 1239 |
1318 U8 *sc = curCmd; | 1318 U8 *sc = curCmd; |
1319 S16 len = curCmdLen; | 1319 S16 len = curCmdLen; |
1320 U8 tl, partial = 0; | 1320 U8 tl, partial = 0; |
1321 | 1321 |
1322 TRACE_EVENT_P3("decTLV(%02x,%d,%s)",tagWanted,mandatory,id); | 1322 TRACE_EVENT_P3("decTLV(%02x,%d,%s)",tagWanted,mandatory,id); |
1323 | 1323 |
1324 while (len > 0) | 1324 while (len > 0) |
1325 { | 1325 { |
1326 tl = getTLValue(sc); | 1326 tl = getTLValue(sc); |
1327 if (!tl) | 1327 if (!tl) |
1328 return 0; | 1328 return 0; |
1354 * according to GSM 11.14 if no tone is included play general beep | 1354 * according to GSM 11.14 if no tone is included play general beep |
1355 */ | 1355 */ |
1356 //July 26, 2005 REF: SPR 29520 x0018858 | 1356 //July 26, 2005 REF: SPR 29520 x0018858 |
1357 //Value modified from integer to hex. | 1357 //Value modified from integer to hex. |
1358 *curVal = 0x10; | 1358 *curVal = 0x10; |
1359 | 1359 |
1360 return 2; | 1360 return 2; |
1361 } | 1361 } |
1362 if(!strcmp(id,"Duration")) | 1362 if(!strcmp(id,"Duration")) |
1363 { | 1363 { |
1364 /* | 1364 /* |
1487 { | 1487 { |
1488 if (curLen == 0x00) /* SPR#2340 - DS - Text len zero */ | 1488 if (curLen == 0x00) /* SPR#2340 - DS - Text len zero */ |
1489 t->len = 0; | 1489 t->len = 0; |
1490 else | 1490 else |
1491 t->len = curLen - 1; /* text len (not dcs) */ | 1491 t->len = curLen - 1; /* text len (not dcs) */ |
1492 | 1492 |
1493 if (t->len) | 1493 if (t->len) |
1494 t->code = *curVal; /* data coding scheme */ | 1494 t->code = *curVal; /* data coding scheme */ |
1495 else | 1495 else |
1496 t->code = 0; | 1496 t->code = 0; |
1497 curData -= t->len; | 1497 curData -= t->len; |
1498 memcpy(curData,curVal+1,t->len); /* text itself */ | 1498 memcpy(curData,curVal+1,t->len); /* text itself */ |
1499 t->text = (U16) (curData - (U8*) t); /* save the offset */ | 1499 t->text = (U16) (curData - (U8*) t); /* save the offset */ |
1500 | 1500 |
1501 TRACE_EVENT_P2("len %d, code(dcs) %d", t->len, t->code); | 1501 TRACE_EVENT_P2("len %d, code(dcs) %d", t->len, t->code); |
1502 | 1502 |
1503 return 1; | 1503 return 1; |
1504 } | 1504 } |
1505 | 1505 |
1506 return res; | 1506 return res; |
1507 } | 1507 } |
1508 | 1508 |
1849 res = decTLV(0x04,mandatory,"Duration"); | 1849 res = decTLV(0x04,mandatory,"Duration"); |
1850 | 1850 |
1851 if (res > 1) | 1851 if (res > 1) |
1852 { | 1852 { |
1853 *dur++ = *curVal++; /* duration unit */ | 1853 *dur++ = *curVal++; /* duration unit */ |
1854 | 1854 |
1855 *dur++ = *curVal; /* duration value */ | 1855 *dur++ = *curVal; /* duration value */ |
1856 if(*curVal ==0x00) | 1856 if(*curVal ==0x00) |
1857 { | 1857 { |
1858 TRACE_EVENT_P1("Duration value is %d",*curVal); | 1858 TRACE_EVENT_P1("Duration value is %d",*curVal); |
1859 | 1859 |
1860 satResponse(SatResUnknownData); | 1860 satResponse(SatResUnknownData); |
1861 return 0; | 1861 return 0; |
1862 } | 1862 } |
1863 return 1; | 1863 return 1; |
1864 } | 1864 } |
1918 cmd.c.inp.rspMax = *curVal; /* maximal length */ | 1918 cmd.c.inp.rspMax = *curVal; /* maximal length */ |
1919 /* MMI-SPR-16296: [mdf] verify the parameters as expected by GSM 11.14 */ | 1919 /* MMI-SPR-16296: [mdf] verify the parameters as expected by GSM 11.14 */ |
1920 TRACE_EVENT_P2("decRespLen: Min=%d Max=%d",cmd.c.inp.rspMin,cmd.c.inp.rspMax); | 1920 TRACE_EVENT_P2("decRespLen: Min=%d Max=%d",cmd.c.inp.rspMin,cmd.c.inp.rspMax); |
1921 if ( cmd.c.inp.rspMin > cmd.c.inp.rspMax ) | 1921 if ( cmd.c.inp.rspMin > cmd.c.inp.rspMax ) |
1922 { | 1922 { |
1923 satResponse(SatResUnknownData); /* send TR(32), prms not understood */ | 1923 satResponse(SatResUnknownData); /* send TR(32), prms not understood */ |
1924 return 0; | 1924 return 0; |
1925 } | 1925 } |
1926 /* end of MMI-SPR-16296: [mdf] verify the parameters as expected by GSM 11.14 */ | 1926 /* end of MMI-SPR-16296: [mdf] verify the parameters as expected by GSM 11.14 */ |
1927 | 1927 |
1928 return 1; | 1928 return 1; |
1929 } | 1929 } |
1930 | 1930 |
1931 return res; | 1931 return res; |
1932 } | 1932 } |
1988 { | 1988 { |
1989 T_SIM_ACCESS_PARAM sim_read_param; | 1989 T_SIM_ACCESS_PARAM sim_read_param; |
1990 | 1990 |
1991 TRACE_FUNCTION("simReadIconData()"); | 1991 TRACE_FUNCTION("simReadIconData()"); |
1992 | 1992 |
1993 /* Check if the SIM card supports EF(IMG) & read the contents. | 1993 /* Check if the SIM card supports EF(IMG) & read the contents. |
1994 Ideally we should be using SRV_RFU3 which corresponds to number 39 | 1994 Ideally we should be using SRV_RFU3 which corresponds to number 39 |
1995 but, the calls from MMI are using the number directly */ | 1995 but, the calls from MMI are using the number directly */ |
1996 if (sim_serv_table_check(39) | 1996 if (sim_serv_table_check(39) |
1997 == ALLOCATED_AND_ACTIVATED) | 1997 == ALLOCATED_AND_ACTIVATED) |
1998 { | 1998 { |
2048 | 2048 |
2049 /* Image instance file identifier*/ | 2049 /* Image instance file identifier*/ |
2050 icon_image.image_instance.image_instance_file_id = *efimg << 8; | 2050 icon_image.image_instance.image_instance_file_id = *efimg << 8; |
2051 efimg++; | 2051 efimg++; |
2052 icon_image.image_instance.image_instance_file_id |= *efimg; | 2052 icon_image.image_instance.image_instance_file_id |= *efimg; |
2053 efimg++; | 2053 efimg++; |
2054 | 2054 |
2055 /* Offset to Image instance file identifier*/ | 2055 /* Offset to Image instance file identifier*/ |
2056 icon_image.image_instance.image_offset = *efimg << 8; | 2056 icon_image.image_instance.image_offset = *efimg << 8; |
2057 efimg++; | 2057 efimg++; |
2058 icon_image.image_instance.image_offset |= *efimg; | 2058 icon_image.image_instance.image_offset |= *efimg; |
2059 efimg++; | 2059 efimg++; |
2060 | 2060 |
2061 /* Lenght of the Image instance file identifier. | 2061 /* Lenght of the Image instance file identifier. |
2062 Do not completely depend on this length as this doesn't include the Palette length, | 2062 Do not completely depend on this length as this doesn't include the Palette length, |
2063 so Color image decoding goes wrong!!!*/ | 2063 so Color image decoding goes wrong!!!*/ |
2064 icon_image.image_instance.image_instance_length = *efimg << 8; | 2064 icon_image.image_instance.image_instance_length = *efimg << 8; |
2065 efimg++; | 2065 efimg++; |
2066 icon_image.image_instance.image_instance_length |= *efimg; | 2066 icon_image.image_instance.image_instance_length |= *efimg; |
2067 efimg++; | 2067 efimg++; |
2068 | 2068 |
2069 read_image_instance_file = TRUE; | 2069 read_image_instance_file = TRUE; |
2070 | 2070 |
2071 sim_read_sim(icon_image.image_instance.image_instance_file_id, MAX_SIM_EF_SIZE, MAX_SIM_EF_SIZE); | 2071 sim_read_sim(icon_image.image_instance.image_instance_file_id, MAX_SIM_EF_SIZE, MAX_SIM_EF_SIZE); |
2072 | 2072 |
2073 } | 2073 } |
2117 /* Memory allocation failed, clean up & return */ | 2117 /* Memory allocation failed, clean up & return */ |
2118 TRACE_ERROR("ERROR: Failed to allocate memory for sim_img_instance_data_cnf"); | 2118 TRACE_ERROR("ERROR: Failed to allocate memory for sim_img_instance_data_cnf"); |
2119 satResponse(SatResImpossible); | 2119 satResponse(SatResImpossible); |
2120 read_image_instance_file = FALSE; | 2120 read_image_instance_file = FALSE; |
2121 isAlphaIdIconPresent = FALSE; | 2121 isAlphaIdIconPresent = FALSE; |
2122 return; | 2122 return; |
2123 } | 2123 } |
2124 /* B&W Converter function*/ | 2124 /* B&W Converter function*/ |
2125 convert_11_image(width, height, (char *)data, dst); | 2125 convert_11_image(width, height, (char *)data, dst); |
2126 } | 2126 } |
2127 /* Decode the Color image*/ | 2127 /* Decode the Color image*/ |
2131 data++; | 2131 data++; |
2132 height = *data; | 2132 height = *data; |
2133 data++; | 2133 data++; |
2134 depth = *data; | 2134 depth = *data; |
2135 data++; | 2135 data++; |
2136 | 2136 |
2137 data++; | 2137 data++; |
2138 CLUT_offset = (*data) << 8; /* HIGH: offset of CLUT */ | 2138 CLUT_offset = (*data) << 8; /* HIGH: offset of CLUT */ |
2139 data++; | 2139 data++; |
2140 CLUT_offset |= (*data); /* LOW: offset of CLUT */ | 2140 CLUT_offset |= (*data); /* LOW: offset of CLUT */ |
2141 data++; | 2141 data++; |
2159 switch (cmd.type) | 2159 switch (cmd.type) |
2160 { | 2160 { |
2161 case SatCmdDispText: iconDataUpdate(&cmd.c.text, width, height, dst); break; | 2161 case SatCmdDispText: iconDataUpdate(&cmd.c.text, width, height, dst); break; |
2162 case SatCmdGetKey: iconDataUpdate(&cmd.c.text, width, height, dst); break; | 2162 case SatCmdGetKey: iconDataUpdate(&cmd.c.text, width, height, dst); break; |
2163 case SatCmdGetString: iconDataUpdate(&cmd.c.inp.prompt, width, height, dst); break; | 2163 case SatCmdGetString: iconDataUpdate(&cmd.c.inp.prompt, width, height, dst); break; |
2164 case SatCmdSetMenu: | 2164 case SatCmdSetMenu: |
2165 case SatCmdSelItem: | 2165 case SatCmdSelItem: |
2166 { | 2166 { |
2167 if(isAlphaIdIconPresent) | 2167 if(isAlphaIdIconPresent) |
2168 { | 2168 { |
2169 /* copy the header icon data & set the isAlphaIdIconPresent flag FALSE temporarily*/ | 2169 /* copy the header icon data & set the isAlphaIdIconPresent flag FALSE temporarily*/ |
2170 iconDataUpdate(&cmd.c.menu.header, width, height, dst); | 2170 iconDataUpdate(&cmd.c.menu.header, width, height, dst); |
2172 } | 2172 } |
2173 | 2173 |
2174 /* We have to read the icons present for each menu item now. | 2174 /* We have to read the icons present for each menu item now. |
2175 We safely assume that the icons for each menu item is the same. | 2175 We safely assume that the icons for each menu item is the same. |
2176 Since the SAT Icon display is only for demo, we are not checking | 2176 Since the SAT Icon display is only for demo, we are not checking |
2177 if separate icons has to be read for each item. | 2177 if separate icons has to be read for each item. |
2178 */ | 2178 */ |
2179 if(isItemIconPresent) | 2179 if(isItemIconPresent) |
2180 { | 2180 { |
2181 /* Copy the data into the cmd structure to be passed to BMI. */ | 2181 /* Copy the data into the cmd structure to be passed to BMI. */ |
2182 cmd.c.menu.items[0].iconInfo.dst = (char *) dst; | 2182 cmd.c.menu.items[0].iconInfo.dst = (char *) dst; |
2183 cmd.c.menu.items[0].iconInfo.height = height; | 2183 cmd.c.menu.items[0].iconInfo.height = height; |
2184 cmd.c.menu.items[0].iconInfo.width = width; | 2184 cmd.c.menu.items[0].iconInfo.width = width; |
2185 isAlphaIdIconPresent = TRUE; | 2185 isAlphaIdIconPresent = TRUE; |
2186 isItemIconPresent = FALSE; | 2186 isItemIconPresent = FALSE; |
2187 } | 2187 } |
2188 | 2188 |
2189 if (!isAlphaIdIconPresent) | 2189 if (!isAlphaIdIconPresent) |
2190 { | 2190 { |
2191 /* If the icon is present for menu items also, go ahead & read it. */ | 2191 /* If the icon is present for menu items also, go ahead & read it. */ |
2192 if(cmd.c.menu.itemIconQual != 0xFF) | 2192 if(cmd.c.menu.itemIconQual != 0xFF) |
2193 { | 2193 { |
2206 case SatCmdSndSS: iconDataUpdate(&cmd.c.ss.info, width, height, dst); break; | 2206 case SatCmdSndSS: iconDataUpdate(&cmd.c.ss.info, width, height, dst); break; |
2207 case SatCmdSndUSSD: iconDataUpdate(&cmd.c.ss.info, width, height, dst); break; | 2207 case SatCmdSndUSSD: iconDataUpdate(&cmd.c.ss.info, width, height, dst); break; |
2208 case SatCmdCall: //x0035544 Feb 06, 2006 DR:OMAPS00061467 | 2208 case SatCmdCall: //x0035544 Feb 06, 2006 DR:OMAPS00061467 |
2209 //check if icon data is present for the first alpha identifier then update it. also check if icon data is present for alpha id2 | 2209 //check if icon data is present for the first alpha identifier then update it. also check if icon data is present for alpha id2 |
2210 if(cmd.c.call.info.icon.qual != 0xFF) | 2210 if(cmd.c.call.info.icon.qual != 0xFF) |
2211 { | 2211 { |
2212 iconDataUpdate(&cmd.c.call.info, width, height, dst); | 2212 iconDataUpdate(&cmd.c.call.info, width, height, dst); |
2213 } | 2213 } |
2214 if(cmd.c.call.info2.icon.qual != 0xFF) | 2214 if(cmd.c.call.info2.icon.qual != 0xFF) |
2215 { | 2215 { |
2216 // check if icon id for both the alpha identifiers is same or not. if so then get the same icon data. | 2216 // check if icon id for both the alpha identifiers is same or not. if so then get the same icon data. |
2217 if(cmd.c.call.info2.icon.id == cmd.c.call.info.icon.id) | 2217 if(cmd.c.call.info2.icon.id == cmd.c.call.info.icon.id) |
2218 iconDataUpdate(&cmd.c.call.info2, width, height, dst); | 2218 iconDataUpdate(&cmd.c.call.info2, width, height, dst); |
2219 //else part is not implemented as it is just for demonstration | 2219 //else part is not implemented as it is just for demonstration |
2220 } | 2220 } |
2221 break; | 2221 break; |
2222 case SatCmdIdleText: iconDataUpdate(&cmd.c.text, width, height, dst); break; | 2222 case SatCmdIdleText: iconDataUpdate(&cmd.c.text, width, height, dst); break; |
2223 case SatCmdExecAT: break; | 2223 case SatCmdExecAT: break; |
2224 case SatCmdSndDTMF: iconDataUpdate(&cmd.c.cmd.info, width, height, dst); break; | 2224 case SatCmdSndDTMF: iconDataUpdate(&cmd.c.cmd.info, width, height, dst); break; |
2225 default: | 2225 default: |
2226 TRACE_ERROR("unknown command"); | 2226 TRACE_ERROR("unknown command"); |
2227 satResponse(SatResUnknownType); | 2227 satResponse(SatResUnknownType); |
2228 return; | 2228 return; |
2229 } | 2229 } |
2230 | 2230 |
2231 } | 2231 } |
2232 | 2232 |
2233 if (curSATCmd && isAlphaIdIconPresent) | 2233 if (curSATCmd && isAlphaIdIconPresent) |
2234 { | 2234 { |
2235 satSignal(curSATCmd,&cmd); | 2235 satSignal(curSATCmd,&cmd); |
2236 read_image_instance_file = FALSE; | 2236 read_image_instance_file = FALSE; |
2237 isAlphaIdIconPresent = FALSE; | 2237 isAlphaIdIconPresent = FALSE; |
2238 | 2238 |
2239 } | 2239 } |
2240 //x0035544 Mar 11, 2006 DR:OMAPS00061467 | 2240 //x0035544 Mar 11, 2006 DR:OMAPS00061467 |
2241 //Aafter SAT_SETUP_CALL event is executed then only send MfwSatCcAlert event | 2241 //Aafter SAT_SETUP_CALL event is executed then only send MfwSatCcAlert event |
2242 if(setupCall_Executed == TRUE) | 2242 if(setupCall_Executed == TRUE) |
2243 { | 2243 { |
2244 satSignal(MfwSatCcAlert,&cmd); | 2244 satSignal(MfwSatCcAlert,&cmd); |
2245 setupCall_Executed = FALSE; | 2245 setupCall_Executed = FALSE; |
2288 UBYTE dst_mask; | 2288 UBYTE dst_mask; |
2289 UBYTE value; | 2289 UBYTE value; |
2290 USHORT R, G, B; | 2290 USHORT R, G, B; |
2291 | 2291 |
2292 TRACE_FUNCTION("convert_21_image()"); | 2292 TRACE_FUNCTION("convert_21_image()"); |
2293 | 2293 |
2294 src_offset = 0; | 2294 src_offset = 0; |
2295 dst_offset = 0; | 2295 dst_offset = 0; |
2296 | 2296 |
2297 for(j=0; j<height; j++) | 2297 for(j=0; j<height; j++) |
2298 { | 2298 { |
2319 RGB_TO_PIXEL(R, G, B, value); | 2319 RGB_TO_PIXEL(R, G, B, value); |
2320 dst[dst_offset] = value; | 2320 dst[dst_offset] = value; |
2321 dst_offset++; | 2321 dst_offset++; |
2322 } | 2322 } |
2323 } | 2323 } |
2324 | 2324 |
2325 } | 2325 } |
2326 | 2326 |
2327 /* | 2327 /* |
2328 +-----------------------------------------------------------------------------+ | 2328 +-----------------------------------------------------------------------------+ |
2329 | PROJECT : MMI-Framework (8417) MODULE : MFW_SAT | | 2329 | PROJECT : MMI-Framework (8417) MODULE : MFW_SAT | |
2413 */ | 2413 */ |
2414 | 2414 |
2415 static U32 decLangNotify(void) | 2415 static U32 decLangNotify(void) |
2416 { | 2416 { |
2417 | 2417 |
2418 | 2418 |
2419 /* Need to decode and get the language selected in SIM */ | 2419 /* Need to decode and get the language selected in SIM */ |
2420 TRACE_FUNCTION("decLangNotify ()"); | 2420 TRACE_FUNCTION("decLangNotify ()"); |
2421 | 2421 |
2422 while (curCmdLen > 0) | 2422 while (curCmdLen > 0) |
2423 { | 2423 { |
2433 satResponse(SatResUnknownData); | 2433 satResponse(SatResUnknownData); |
2434 return 0; | 2434 return 0; |
2435 } | 2435 } |
2436 partialCompr = 1; | 2436 partialCompr = 1; |
2437 } | 2437 } |
2438 | 2438 |
2439 if (!decLang(&cmd.c.language,0x2D,0)) | 2439 if (!decLang(&cmd.c.language,0x2D,0)) |
2440 return 0; | 2440 return 0; |
2441 | 2441 |
2442 return MfwSatLangNotify; | 2442 return MfwSatLangNotify; |
2443 } | 2443 } |
2444 #endif | 2444 #endif |
2445 /* | 2445 /* |
2446 +--------------------------------------------------------------------+ | 2446 +--------------------------------------------------------------------+ |
2475 if (!decText(&cmd.c.text,0x0D,1)) | 2475 if (!decText(&cmd.c.text,0x0D,1)) |
2476 return 0; | 2476 return 0; |
2477 | 2477 |
2478 if (!decIconId(&cmd.c.text.icon,0)) | 2478 if (!decIconId(&cmd.c.text.icon,0)) |
2479 return 0; /* fatal error */ | 2479 return 0; /* fatal error */ |
2480 | 2480 |
2481 if (!decRespFlag(&cmd.c.text.responseFlag,0)) | 2481 if (!decRespFlag(&cmd.c.text.responseFlag,0)) |
2482 return 0; /* fatal error */ | 2482 return 0; /* fatal error */ |
2483 | 2483 |
2484 /* SPR#2340 - DS - If len is zero, string is empty */ | 2484 /* SPR#2340 - DS - If len is zero, string is empty */ |
2485 if (cmd.c.text.len == 0x00) | 2485 if (cmd.c.text.len == 0x00) |
2495 /* Check if the icon data is present & needs to be read*/ | 2495 /* Check if the icon data is present & needs to be read*/ |
2496 if (cmd.c.text.icon.qual != 0xFF) | 2496 if (cmd.c.text.icon.qual != 0xFF) |
2497 { | 2497 { |
2498 /* Initialise the icon data members*/ | 2498 /* Initialise the icon data members*/ |
2499 cmd.c.text.iconInfo.width = 0; | 2499 cmd.c.text.iconInfo.width = 0; |
2500 cmd.c.text.iconInfo.height = 0; | 2500 cmd.c.text.iconInfo.height = 0; |
2501 cmd.c.text.iconInfo.dst = NULL; | 2501 cmd.c.text.iconInfo.dst = NULL; |
2502 simReadIconData(cmd.c.text.icon.id); | 2502 simReadIconData(cmd.c.text.icon.id); |
2503 } | 2503 } |
2504 #endif | 2504 #endif |
2505 return MfwSatTextOut; | 2505 return MfwSatTextOut; |
2547 /* Check if the icon data is present & needs to be read*/ | 2547 /* Check if the icon data is present & needs to be read*/ |
2548 if (cmd.c.text.icon.qual != 0xFF) | 2548 if (cmd.c.text.icon.qual != 0xFF) |
2549 { | 2549 { |
2550 /* Initialise the icon data members*/ | 2550 /* Initialise the icon data members*/ |
2551 cmd.c.text.iconInfo.width = 0; | 2551 cmd.c.text.iconInfo.width = 0; |
2552 cmd.c.text.iconInfo.height = 0; | 2552 cmd.c.text.iconInfo.height = 0; |
2553 cmd.c.text.iconInfo.dst = NULL; | 2553 cmd.c.text.iconInfo.dst = NULL; |
2554 simReadIconData(cmd.c.text.icon.id); | 2554 simReadIconData(cmd.c.text.icon.id); |
2555 } | 2555 } |
2556 #endif | 2556 #endif |
2557 return MfwSatGetKey; | 2557 return MfwSatGetKey; |
2558 } | 2558 } |
2559 | 2559 |
2560 | 2560 |
2561 /* | 2561 /* |
2608 /* Check if the icon data is present & needs to be read*/ | 2608 /* Check if the icon data is present & needs to be read*/ |
2609 if (cmd.c.inp.prompt.icon.qual != 0xFF) | 2609 if (cmd.c.inp.prompt.icon.qual != 0xFF) |
2610 { | 2610 { |
2611 /* Initialise the icon data members*/ | 2611 /* Initialise the icon data members*/ |
2612 cmd.c.inp.prompt.iconInfo.width = 0; | 2612 cmd.c.inp.prompt.iconInfo.width = 0; |
2613 cmd.c.inp.prompt.iconInfo.height = 0; | 2613 cmd.c.inp.prompt.iconInfo.height = 0; |
2614 cmd.c.inp.prompt.iconInfo.dst = NULL; | 2614 cmd.c.inp.prompt.iconInfo.dst = NULL; |
2615 simReadIconData(cmd.c.inp.prompt.icon.id); | 2615 simReadIconData(cmd.c.inp.prompt.icon.id); |
2616 } | 2616 } |
2617 #endif | 2617 #endif |
2618 return MfwSatGetString; | 2618 return MfwSatGetString; |
2619 } | 2619 } |
2620 | 2620 |
2621 | 2621 |
2622 /* | 2622 /* |
2737 /* Check if the icon data is present in the Alpha id & needs to be read*/ | 2737 /* Check if the icon data is present in the Alpha id & needs to be read*/ |
2738 if (cmd.c.menu.header.icon.qual != 0xFF) | 2738 if (cmd.c.menu.header.icon.qual != 0xFF) |
2739 { | 2739 { |
2740 /* Initialise the icon data members*/ | 2740 /* Initialise the icon data members*/ |
2741 cmd.c.menu.header.iconInfo.width = 0; | 2741 cmd.c.menu.header.iconInfo.width = 0; |
2742 cmd.c.menu.header.iconInfo.height = 0; | 2742 cmd.c.menu.header.iconInfo.height = 0; |
2743 cmd.c.menu.header.iconInfo.dst = NULL; | 2743 cmd.c.menu.header.iconInfo.dst = NULL; |
2744 simReadIconData(cmd.c.menu.header.icon.id); | 2744 simReadIconData(cmd.c.menu.header.icon.id); |
2745 } | 2745 } |
2746 | 2746 |
2747 /* We have to read theicons present for each menu item now. | 2747 /* We have to read theicons present for each menu item now. |
2748 We safely assume that the icons for each menu item is the same. | 2748 We safely assume that the icons for each menu item is the same. |
2749 Since the SAT Icon display is only for demo, we are not checking | 2749 Since the SAT Icon display is only for demo, we are not checking |
2750 if separate icons has to be read for each item. | 2750 if separate icons has to be read for each item. |
2751 */ | 2751 */ |
2752 if (cmd.c.menu.itemIconQual != 0xFF) | 2752 if (cmd.c.menu.itemIconQual != 0xFF) |
2753 { | 2753 { |
2754 /* Initialise the icon data members*/ | 2754 /* Initialise the icon data members*/ |
2755 cmd.c.menu.items[0].iconInfo.width = 0; | 2755 cmd.c.menu.items[0].iconInfo.width = 0; |
2756 cmd.c.menu.items[0].iconInfo.height = 0; | 2756 cmd.c.menu.items[0].iconInfo.height = 0; |
2757 cmd.c.menu.items[0].iconInfo.dst = NULL; | 2757 cmd.c.menu.items[0].iconInfo.dst = NULL; |
2758 } | 2758 } |
2759 #endif | 2759 #endif |
2760 | 2760 |
2761 return MfwSatSetupMenu; | 2761 return MfwSatSetupMenu; |
2838 /* Check if the icon data is present in the Alpha id & needs to be read*/ | 2838 /* Check if the icon data is present in the Alpha id & needs to be read*/ |
2839 if (cmd.c.menu.header.icon.qual != 0xFF) | 2839 if (cmd.c.menu.header.icon.qual != 0xFF) |
2840 { | 2840 { |
2841 /* Initialise the icon data members*/ | 2841 /* Initialise the icon data members*/ |
2842 cmd.c.menu.header.iconInfo.width = 0; | 2842 cmd.c.menu.header.iconInfo.width = 0; |
2843 cmd.c.menu.header.iconInfo.height = 0; | 2843 cmd.c.menu.header.iconInfo.height = 0; |
2844 cmd.c.menu.header.iconInfo.dst = NULL; | 2844 cmd.c.menu.header.iconInfo.dst = NULL; |
2845 simReadIconData(cmd.c.menu.header.icon.id); | 2845 simReadIconData(cmd.c.menu.header.icon.id); |
2846 } | 2846 } |
2847 | 2847 |
2848 /* We have to read theicons present for each menu item now. | 2848 /* We have to read theicons present for each menu item now. |
2849 We safely assume that the icons for each menu item is the same. | 2849 We safely assume that the icons for each menu item is the same. |
2850 Since the SAT Icon display is only for demo, we are not checking | 2850 Since the SAT Icon display is only for demo, we are not checking |
2851 if separate icons has to be read for each item. | 2851 if separate icons has to be read for each item. |
2852 */ | 2852 */ |
2853 if (cmd.c.menu.itemIconQual != 0xFF) | 2853 if (cmd.c.menu.itemIconQual != 0xFF) |
2854 { | 2854 { |
2855 /* Initialise the icon data members*/ | 2855 /* Initialise the icon data members*/ |
2856 cmd.c.menu.items[0].iconInfo.width = 0; | 2856 cmd.c.menu.items[0].iconInfo.width = 0; |
2857 cmd.c.menu.items[0].iconInfo.height = 0; | 2857 cmd.c.menu.items[0].iconInfo.height = 0; |
2858 cmd.c.menu.items[0].iconInfo.dst = NULL; | 2858 cmd.c.menu.items[0].iconInfo.dst = NULL; |
2859 } | 2859 } |
2860 #endif | 2860 #endif |
2861 | 2861 |
2862 return MfwSatSelectItem; | 2862 return MfwSatSelectItem; |
2917 /* Check if the icon data is present & needs to be read*/ | 2917 /* Check if the icon data is present & needs to be read*/ |
2918 if (cmd.c.sms.info.icon.qual != 0xFF) | 2918 if (cmd.c.sms.info.icon.qual != 0xFF) |
2919 { | 2919 { |
2920 /* Initialise the icon data members*/ | 2920 /* Initialise the icon data members*/ |
2921 cmd.c.sms.info.iconInfo.width = 0; | 2921 cmd.c.sms.info.iconInfo.width = 0; |
2922 cmd.c.sms.info.iconInfo.height = 0; | 2922 cmd.c.sms.info.iconInfo.height = 0; |
2923 cmd.c.sms.info.iconInfo.dst = NULL; | 2923 cmd.c.sms.info.iconInfo.dst = NULL; |
2924 simReadIconData(cmd.c.sms.info.icon.id); | 2924 simReadIconData(cmd.c.sms.info.icon.id); |
2925 } | 2925 } |
2926 #endif | 2926 #endif |
2927 return MfwSatSendSMS; | 2927 return MfwSatSendSMS; |
2976 /* Check if the icon data is present & needs to be read*/ | 2976 /* Check if the icon data is present & needs to be read*/ |
2977 if (cmd.c.ss.info.icon.qual != 0xFF) | 2977 if (cmd.c.ss.info.icon.qual != 0xFF) |
2978 { | 2978 { |
2979 /* Initialise the icon data members*/ | 2979 /* Initialise the icon data members*/ |
2980 cmd.c.ss.info.iconInfo.width = 0; | 2980 cmd.c.ss.info.iconInfo.width = 0; |
2981 cmd.c.ss.info.iconInfo.height = 0; | 2981 cmd.c.ss.info.iconInfo.height = 0; |
2982 cmd.c.ss.info.iconInfo.dst = NULL; | 2982 cmd.c.ss.info.iconInfo.dst = NULL; |
2983 simReadIconData(cmd.c.ss.info.icon.id); | 2983 simReadIconData(cmd.c.ss.info.icon.id); |
2984 } | 2984 } |
2985 #endif | 2985 #endif |
2986 return MfwSatSendSS; | 2986 return MfwSatSendSS; |
3035 /* Check if the icon data is present & needs to be read*/ | 3035 /* Check if the icon data is present & needs to be read*/ |
3036 if (cmd.c.ss.info.icon.qual != 0xFF) | 3036 if (cmd.c.ss.info.icon.qual != 0xFF) |
3037 { | 3037 { |
3038 /* Initialise the icon data members*/ | 3038 /* Initialise the icon data members*/ |
3039 cmd.c.ss.info.iconInfo.width = 0; | 3039 cmd.c.ss.info.iconInfo.width = 0; |
3040 cmd.c.ss.info.iconInfo.height = 0; | 3040 cmd.c.ss.info.iconInfo.height = 0; |
3041 cmd.c.ss.info.iconInfo.dst = NULL; | 3041 cmd.c.ss.info.iconInfo.dst = NULL; |
3042 simReadIconData(cmd.c.ss.info.icon.id); | 3042 simReadIconData(cmd.c.ss.info.icon.id); |
3043 } | 3043 } |
3044 #endif | 3044 #endif |
3045 return MfwSatSendUSSD; | 3045 return MfwSatSendUSSD; |
3112 if (!decAlpha(&cmd.c.call.info2,0)) /* call setup info (2) */ | 3112 if (!decAlpha(&cmd.c.call.info2,0)) /* call setup info (2) */ |
3113 return 0; | 3113 return 0; |
3114 | 3114 |
3115 if (!decIconId(&cmd.c.call.info2.icon,0)) /* icon for info 2 */ | 3115 if (!decIconId(&cmd.c.call.info2.icon,0)) /* icon for info 2 */ |
3116 return 0; | 3116 return 0; |
3117 //Sudha.V x0035544, feb 06, 2006 DR:OMAPS00061467 | 3117 //Sudha.V x0035544, feb 06, 2006 DR:OMAPS00061467 |
3118 #ifdef FF_MMI_SAT_ICON | 3118 #ifdef FF_MMI_SAT_ICON |
3119 /* Check if the icon data is present for alpha identifier 1 & needs to be read*/ | 3119 /* Check if the icon data is present for alpha identifier 1 & needs to be read*/ |
3120 if (cmd.c.call.info.icon.qual != 0xFF) | 3120 if (cmd.c.call.info.icon.qual != 0xFF) |
3121 { | 3121 { |
3122 /* Since we have two icons present, if second Alpha id is present, | 3122 /* Since we have two icons present, if second Alpha id is present, |
3123 set the isAlphaIdIconPresent to TRUE explicitly since the second Alpha icon will | 3123 set the isAlphaIdIconPresent to TRUE explicitly since the second Alpha icon will |
3124 reset this flag if not present & we wont enter the icon decoder*/ | 3124 reset this flag if not present & we wont enter the icon decoder*/ |
3125 isAlphaIdIconPresent = TRUE; | 3125 isAlphaIdIconPresent = TRUE; |
3126 /* Initialise the icon data members*/ | 3126 /* Initialise the icon data members*/ |
3127 cmd.c.call.info.iconInfo.width = 0; | 3127 cmd.c.call.info.iconInfo.width = 0; |
3128 cmd.c.call.info.iconInfo.height = 0; | 3128 cmd.c.call.info.iconInfo.height = 0; |
3129 cmd.c.call.info.iconInfo.dst = NULL; | 3129 cmd.c.call.info.iconInfo.dst = NULL; |
3130 simReadIconData(cmd.c.call.info.icon.id); | 3130 simReadIconData(cmd.c.call.info.icon.id); |
3131 } | 3131 } |
3132 /* Check if the icon data is present for alpha identifier 2 & needs to be read*/ | 3132 /* Check if the icon data is present for alpha identifier 2 & needs to be read*/ |
3133 //No need to read icon data for alpha id2 from sim again as it is same as that of alpha id1 | 3133 //No need to read icon data for alpha id2 from sim again as it is same as that of alpha id1 |
3134 if (cmd.c.call.info2.icon.qual != 0xFF) | 3134 if (cmd.c.call.info2.icon.qual != 0xFF) |
3135 { | 3135 { |
3136 // Initialise the icon data members | 3136 // Initialise the icon data members |
3137 cmd.c.call.info2.iconInfo.width = 0; | 3137 cmd.c.call.info2.iconInfo.width = 0; |
3138 cmd.c.call.info2.iconInfo.height = 0; | 3138 cmd.c.call.info2.iconInfo.height = 0; |
3139 cmd.c.call.info2.iconInfo.dst = NULL; | 3139 cmd.c.call.info2.iconInfo.dst = NULL; |
3140 } | 3140 } |
3141 #endif | 3141 #endif |
3142 | 3142 |
3143 return MfwSatCall; | 3143 return MfwSatCall; |
3144 } | 3144 } |
3145 | 3145 |
3243 /* Check if the icon data is present & needs to be read*/ | 3243 /* Check if the icon data is present & needs to be read*/ |
3244 if (cmd.c.cmd.info.icon.qual != 0xFF) | 3244 if (cmd.c.cmd.info.icon.qual != 0xFF) |
3245 { | 3245 { |
3246 /* Initialise the icon data members*/ | 3246 /* Initialise the icon data members*/ |
3247 cmd.c.cmd.info.iconInfo.width = 0; | 3247 cmd.c.cmd.info.iconInfo.width = 0; |
3248 cmd.c.cmd.info.iconInfo.height = 0; | 3248 cmd.c.cmd.info.iconInfo.height = 0; |
3249 cmd.c.cmd.info.iconInfo.dst = NULL; | 3249 cmd.c.cmd.info.iconInfo.dst = NULL; |
3250 simReadIconData(cmd.c.cmd.info.icon.id); | 3250 simReadIconData(cmd.c.cmd.info.icon.id); |
3251 } | 3251 } |
3252 #endif | 3252 #endif |
3253 return MfwSatSendDTMF; | 3253 return MfwSatSendDTMF; |
3267 static U32 decCcRes (void) | 3267 static U32 decCcRes (void) |
3268 { | 3268 { |
3269 TRACE_FUNCTION("decCcRes()"); | 3269 TRACE_FUNCTION("decCcRes()"); |
3270 | 3270 |
3271 cmd.c.ccres.addr.ton = 0; /* set default values *//*a0393213 warnings removal - -1 changed to 0 for all items*/ | 3271 cmd.c.ccres.addr.ton = 0; /* set default values *//*a0393213 warnings removal - -1 changed to 0 for all items*/ |
3272 cmd.c.ccres.addr.len = 0; | 3272 cmd.c.ccres.addr.len = 0; |
3273 cmd.c.ccres.addr.number = 0; | 3273 cmd.c.ccres.addr.number = 0; |
3274 cmd.c.ccres.addr2.ton = 0; /* set on SMS result */ | 3274 cmd.c.ccres.addr2.ton = 0; /* set on SMS result */ |
3275 cmd.c.ccres.addr2.len = 0; | 3275 cmd.c.ccres.addr2.len = 0; |
3276 cmd.c.ccres.addr2.number = 0; | 3276 cmd.c.ccres.addr2.number = 0; |
3277 | 3277 |
3416 | 3416 |
3417 if (res > 1) | 3417 if (res > 1) |
3418 { | 3418 { |
3419 ep = &cmd.c.events.elem[0]; | 3419 ep = &cmd.c.events.elem[0]; |
3420 while (curLen--) | 3420 while (curLen--) |
3421 { | 3421 { |
3422 switch (*curVal) | 3422 switch (*curVal) |
3423 { | 3423 { |
3424 case SatEvtUserAction: | 3424 case SatEvtUserAction: |
3425 if (eventList & SatEvtUserActionActivated) | 3425 if (eventList & SatEvtUserActionActivated) |
3426 { | 3426 { |
3437 eventList|= SatEvtUserActionActivated; | 3437 eventList|= SatEvtUserActionActivated; |
3438 *ep |= *curVal; /* event list element */ | 3438 *ep |= *curVal; /* event list element */ |
3439 cmd.c.events.len++; /* number of events */ | 3439 cmd.c.events.len++; /* number of events */ |
3440 } | 3440 } |
3441 break; | 3441 break; |
3442 | 3442 |
3443 case SatEvtIdleScreen: | 3443 case SatEvtIdleScreen: |
3444 if (eventList & SatEvtIdleScreenActivated) | 3444 if (eventList & SatEvtIdleScreenActivated) |
3445 { | 3445 { |
3446 /* | 3446 /* |
3447 ** CQ 16435 : This can only have happend if this event is listed more than one | 3447 ** CQ 16435 : This can only have happend if this event is listed more than one |
3456 eventList|= SatEvtIdleScreenActivated; | 3456 eventList|= SatEvtIdleScreenActivated; |
3457 *ep |= *curVal; /* event list element */ | 3457 *ep |= *curVal; /* event list element */ |
3458 cmd.c.events.len++; /* number of events */ | 3458 cmd.c.events.len++; /* number of events */ |
3459 } | 3459 } |
3460 break; | 3460 break; |
3461 | 3461 |
3462 /* ACI-SPR-18200: - this event is not completely implemented | 3462 /* ACI-SPR-18200: - this event is not completely implemented |
3463 "Not supported" stated in TERMINAL PROFILE */ | 3463 "Not supported" stated in TERMINAL PROFILE */ |
3464 #if 0 | 3464 #if 0 |
3465 case SatEvtBrowserTermination: | 3465 case SatEvtBrowserTermination: |
3466 if (eventList & SatEvtBrowserTerminateActivated) | 3466 if (eventList & SatEvtBrowserTerminateActivated) |
3467 { | 3467 { |
3468 /* | 3468 /* |
3469 ** CQ 16435 : This can only have happend if this event is listed more than one | 3469 ** CQ 16435 : This can only have happend if this event is listed more than one |
3498 eventList|= SatEvtLangSelectActivated; | 3498 eventList|= SatEvtLangSelectActivated; |
3499 *ep |= *curVal; /* event list element */ | 3499 *ep |= *curVal; /* event list element */ |
3500 cmd.c.events.len++; /* number of events */ | 3500 cmd.c.events.len++; /* number of events */ |
3501 } | 3501 } |
3502 break; | 3502 break; |
3503 #endif | 3503 #endif |
3504 default: | 3504 default: |
3505 /* CQ16435 : If there is an unsupported event, then the entire list fails, | 3505 /* CQ16435 : If there is an unsupported event, then the entire list fails, |
3506 ** reset the eventList to zero and return the response "Beyond ME Capabilities" | 3506 ** reset the eventList to zero and return the response "Beyond ME Capabilities" |
3507 */ | 3507 */ |
3508 eventList = 0; | 3508 eventList = 0; |
3509 satResponse(SatResImpossible); | 3509 satResponse(SatResImpossible); |
3510 return 0; | 3510 return 0; |
3511 } | 3511 } |
3512 curVal++; | 3512 curVal++; |
3513 } | 3513 } |
3514 | 3514 |
3515 sat_res[0] = SatResSuccess; /*Terminal response always sent if there are elements */ | 3515 sat_res[0] = SatResSuccess; /*Terminal response always sent if there are elements */ |
3516 sat_res[1] = SatResAiNoCause; /* even if they are not MMI */ | 3516 sat_res[1] = SatResAiNoCause; /* even if they are not MMI */ |
3517 TRACE_EVENT_P1("MFW event list %x",eventList); | 3517 TRACE_EVENT_P1("MFW event list %x",eventList); |
3518 satDone(&cmd, (U8*)&sat_res, sizeof(sat_res)); | 3518 satDone(&cmd, (U8*)&sat_res, sizeof(sat_res)); |
3519 } | 3519 } |
3567 /* Check if the icon data is present & needs to be read*/ | 3567 /* Check if the icon data is present & needs to be read*/ |
3568 if (cmd.c.text.icon.qual != 0xFF) | 3568 if (cmd.c.text.icon.qual != 0xFF) |
3569 { | 3569 { |
3570 /* Initialise the icon data members*/ | 3570 /* Initialise the icon data members*/ |
3571 cmd.c.text.iconInfo.width = 0; | 3571 cmd.c.text.iconInfo.width = 0; |
3572 cmd.c.text.iconInfo.height = 0; | 3572 cmd.c.text.iconInfo.height = 0; |
3573 cmd.c.text.iconInfo.dst = NULL; | 3573 cmd.c.text.iconInfo.dst = NULL; |
3574 simReadIconData(cmd.c.text.icon.id); | 3574 simReadIconData(cmd.c.text.icon.id); |
3575 } | 3575 } |
3576 #endif | 3576 #endif |
3577 return MfwSatIdleText; | 3577 return MfwSatIdleText; |
3589 | 3589 |
3590 static U32 decOpenChannel (void) | 3590 static U32 decOpenChannel (void) |
3591 { | 3591 { |
3592 SatAddress addr; | 3592 SatAddress addr; |
3593 SatData subaddr; | 3593 SatData subaddr; |
3594 | 3594 |
3595 TRACE_FUNCTION("decOpenChannel()"); | 3595 TRACE_FUNCTION("decOpenChannel()"); |
3596 | 3596 |
3597 while (curCmdLen > 0) | 3597 while (curCmdLen > 0) |
3598 { | 3598 { |
3599 if (!decDevId(1)) | 3599 if (!decDevId(1)) |
3612 } | 3612 } |
3613 | 3613 |
3614 /* Decode alpha idenitifier if present */ | 3614 /* Decode alpha idenitifier if present */ |
3615 cmd.c.open.alpha_id.code = 0; /* set default values */ | 3615 cmd.c.open.alpha_id.code = 0; /* set default values */ |
3616 cmd.c.open.alpha_id.len = 0; /* optional info if absent *//*a0393213 warnings removal - -1 changed to 0*/ | 3616 cmd.c.open.alpha_id.len = 0; /* optional info if absent *//*a0393213 warnings removal - -1 changed to 0*/ |
3617 cmd.c.open.alpha_id.text = 0; | 3617 cmd.c.open.alpha_id.text = 0; |
3618 if (!decAlpha(&cmd.c.open.alpha_id,0)) | 3618 if (!decAlpha(&cmd.c.open.alpha_id,0)) |
3619 return 0; | 3619 return 0; |
3620 | 3620 |
3621 /* Decode icon identifier if present */ | 3621 /* Decode icon identifier if present */ |
3622 if (!decIconId(&cmd.c.open.alpha_id.icon,0)) | 3622 if (!decIconId(&cmd.c.open.alpha_id.icon,0)) |
3624 | 3624 |
3625 /* Decode address if present */ | 3625 /* Decode address if present */ |
3626 /* If address is present then channel type is CSD */ | 3626 /* If address is present then channel type is CSD */ |
3627 addr.ton = 0; /* set default values */ | 3627 addr.ton = 0; /* set default values */ |
3628 addr.len = 0; | 3628 addr.len = 0; |
3629 addr.number = 0; | 3629 addr.number = 0; |
3630 if (!decAddrSS(&addr,0x06,0)) | 3630 if (!decAddrSS(&addr,0x06,0)) |
3631 return 0; | 3631 return 0; |
3632 | 3632 |
3633 /* Decode subaddress if present */ | 3633 /* Decode subaddress if present */ |
3634 subaddr.len = 0; | 3634 subaddr.len = 0; |
3664 | 3664 |
3665 static U32 decCloseChannel (void) | 3665 static U32 decCloseChannel (void) |
3666 { | 3666 { |
3667 | 3667 |
3668 /*a0393213 compiler warnings removal - removed alpha_res*/ | 3668 /*a0393213 compiler warnings removal - removed alpha_res*/ |
3669 | 3669 |
3670 TRACE_FUNCTION("decCloseChannel()"); | 3670 TRACE_FUNCTION("decCloseChannel()"); |
3671 | 3671 |
3672 while (curCmdLen > 0) | 3672 while (curCmdLen > 0) |
3673 { | 3673 { |
3674 if (!decDevId(1)) | 3674 if (!decDevId(1)) |
3695 | 3695 |
3696 /* Decode alpha identifier if present */ | 3696 /* Decode alpha identifier if present */ |
3697 cmd.c.close.alpha_id.code = 0; /* set default values */ | 3697 cmd.c.close.alpha_id.code = 0; /* set default values */ |
3698 cmd.c.close.alpha_id.len = 0; /* optional info if absent *//*a0393213 warnings removal - -1 changed to 0*/ | 3698 cmd.c.close.alpha_id.len = 0; /* optional info if absent *//*a0393213 warnings removal - -1 changed to 0*/ |
3699 cmd.c.close.alpha_id.text = 0; | 3699 cmd.c.close.alpha_id.text = 0; |
3700 | 3700 |
3701 if (!decAlpha(&cmd.c.close.alpha_id,0)) | 3701 if (!decAlpha(&cmd.c.close.alpha_id,0)) |
3702 return 0; | 3702 return 0; |
3703 | 3703 |
3704 /* Decode icon identifier if present */ | 3704 /* Decode icon identifier if present */ |
3705 if (!decIconId(&cmd.c.close.alpha_id.icon,0)) | 3705 if (!decIconId(&cmd.c.close.alpha_id.icon,0)) |
3749 | 3749 |
3750 /* Decode alpha identifier if present */ | 3750 /* Decode alpha identifier if present */ |
3751 cmd.c.send.alpha_id.code = 0; /* set default values */ | 3751 cmd.c.send.alpha_id.code = 0; /* set default values */ |
3752 cmd.c.send.alpha_id.len = 0; /* optional info if absent *//*a0393213 warnings removal - -1 changed to 0*/ | 3752 cmd.c.send.alpha_id.len = 0; /* optional info if absent *//*a0393213 warnings removal - -1 changed to 0*/ |
3753 cmd.c.send.alpha_id.text = 0; | 3753 cmd.c.send.alpha_id.text = 0; |
3754 | 3754 |
3755 if (!decAlpha(&cmd.c.send.alpha_id,0)) | 3755 if (!decAlpha(&cmd.c.send.alpha_id,0)) |
3756 return 0; | 3756 return 0; |
3757 | 3757 |
3758 /* Decode icon identifier if present */ | 3758 /* Decode icon identifier if present */ |
3759 if (!decIconId(&cmd.c.send.alpha_id.icon,0)) | 3759 if (!decIconId(&cmd.c.send.alpha_id.icon,0)) |
3803 | 3803 |
3804 /* Decode alpha identifier if present */ | 3804 /* Decode alpha identifier if present */ |
3805 cmd.c.receive.alpha_id.code = 0; /* set default values */ | 3805 cmd.c.receive.alpha_id.code = 0; /* set default values */ |
3806 cmd.c.receive.alpha_id.len = 0; /* optional info if absent *//*a0393213 warnings removal - -1 changed to 0*/ | 3806 cmd.c.receive.alpha_id.len = 0; /* optional info if absent *//*a0393213 warnings removal - -1 changed to 0*/ |
3807 cmd.c.receive.alpha_id.text = 0; | 3807 cmd.c.receive.alpha_id.text = 0; |
3808 | 3808 |
3809 if (!decAlpha(&cmd.c.send.alpha_id,0)) | 3809 if (!decAlpha(&cmd.c.send.alpha_id,0)) |
3810 return 0; | 3810 return 0; |
3811 | 3811 |
3812 /* Decode icon identifier if present */ | 3812 /* Decode icon identifier if present */ |
3813 if (!decIconId(&cmd.c.receive.alpha_id.icon,0)) | 3813 if (!decIconId(&cmd.c.receive.alpha_id.icon,0)) |
3861 case SatCmdCloseChannel: evt = decCloseChannel(); break; | 3861 case SatCmdCloseChannel: evt = decCloseChannel(); break; |
3862 case SatCmdSendData: evt = decSendData(); break; | 3862 case SatCmdSendData: evt = decSendData(); break; |
3863 case SatCmdReceiveData: evt = decRecvData(); break; | 3863 case SatCmdReceiveData: evt = decRecvData(); break; |
3864 | 3864 |
3865 case SatCmdEOS: evt = MfwSatSessionEnd; break; | 3865 case SatCmdEOS: evt = MfwSatSessionEnd; break; |
3866 #ifdef FF_MMI_R99_SAT_LANG | 3866 #ifdef FF_MMI_R99_SAT_LANG |
3867 case SatCmdLangNotify: evt = decLangNotify(); break; /*OMAPS00070661 (SAT-Lang notify & Local info) R.Prabakar(a0393213)*/ | 3867 case SatCmdLangNotify: evt = decLangNotify(); break; /*OMAPS00070661 (SAT-Lang notify & Local info) R.Prabakar(a0393213)*/ |
3868 case SatCmdLocalInf: evt = MfwSatLocalInfo; break; | 3868 case SatCmdLocalInf: evt = MfwSatLocalInfo; break; |
3869 #endif | 3869 #endif |
3870 default: | 3870 default: |
3871 TRACE_ERROR("unknown command"); | 3871 TRACE_ERROR("unknown command"); |
3872 satResponse(SatResUnknownType); | 3872 satResponse(SatResUnknownType); |
3873 return; | 3873 return; |
3874 } | 3874 } |
3875 | 3875 |
3876 if (evt == MfwSatOpenChannel) | 3876 if (evt == MfwSatOpenChannel) |
3877 { | 3877 { |
3878 /* SPR#2321 - DS - Store command details so rAT_PercentSATA | 3878 /* SPR#2321 - DS - Store command details so rAT_PercentSATA |
3879 * can send the correct command details for Open Channel. | 3879 * can send the correct command details for Open Channel. |
3880 */ | 3880 */ |
3883 if (sat_cmd_saved != NULL) | 3883 if (sat_cmd_saved != NULL) |
3884 { | 3884 { |
3885 TRACE_EVENT("Save Open Channel command details"); | 3885 TRACE_EVENT("Save Open Channel command details"); |
3886 memcpy(sat_cmd_saved, &cmd, sizeof(cmd)); | 3886 memcpy(sat_cmd_saved, &cmd, sizeof(cmd)); |
3887 } | 3887 } |
3888 | 3888 |
3889 /* Event is sent from rAT_PercentSATA */ | 3889 /* Event is sent from rAT_PercentSATA */ |
3890 | 3890 |
3891 return; | 3891 return; |
3892 } | 3892 } |
3893 // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 | 3893 // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 |
3894 #ifdef FF_MMI_SAT_ICON | 3894 #ifdef FF_MMI_SAT_ICON |
3895 curSATCmd = evt; /* Keep a current copy of the command */ | 3895 curSATCmd = evt; /* Keep a current copy of the command */ |
3939 | 3939 |
3940 curCmd = sc; | 3940 curCmd = sc; |
3941 curCmdLen = len; | 3941 curCmdLen = len; |
3942 curData = (U8 *) &cmd + sizeof(SatCmd);/* end of command buffer */ | 3942 curData = (U8 *) &cmd + sizeof(SatCmd);/* end of command buffer */ |
3943 *(curData - 1) = 0x07; | 3943 *(curData - 1) = 0x07; |
3944 | 3944 |
3945 tl = getTLValue(sc); | 3945 tl = getTLValue(sc); |
3946 if (!tl) /* length error */ | 3946 if (!tl) /* length error */ |
3947 return; /* ignore message */ | 3947 return; /* ignore message */ |
3948 | 3948 |
3949 curCmd += tl; | 3949 curCmd += tl; |
3975 TRACE_ERROR("invalid command number"); | 3975 TRACE_ERROR("invalid command number"); |
3976 satResponse(SatResUnknownData); | 3976 satResponse(SatResUnknownData); |
3977 } | 3977 } |
3978 /*SPR#2121 - DS - Copy command specific details into global buffer defCmdDetails */ | 3978 /*SPR#2121 - DS - Copy command specific details into global buffer defCmdDetails */ |
3979 memcpy(defCmdDetails, curCmd-2, 5); | 3979 memcpy(defCmdDetails, curCmd-2, 5); |
3980 | 3980 |
3981 curCmd += curLen; | 3981 curCmd += curLen; |
3982 curCmdLen -= curLen; /* length of value bytes */ | 3982 curCmdLen -= curLen; /* length of value bytes */ |
3983 cmdDecode(); /* do specific decoding */ | 3983 cmdDecode(); /* do specific decoding */ |
3984 return; | 3984 return; |
3985 } | 3985 } |
4086 +--------------------------------------------------------------------+ | 4086 +--------------------------------------------------------------------+ |
4087 | 4087 |
4088 PURPOSE : Alert indication by ACI for SAT commands | 4088 PURPOSE : Alert indication by ACI for SAT commands |
4089 | 4089 |
4090 */ | 4090 */ |
4091 #if defined (TI_PS_FF_SATE) || defined (FF_SAT_E) | 4091 #if defined (TI_PS_FF_SATE) || defined (FF_SAT_E) |
4092 void rAT_PercentSATA (S16 cId, S32 rdlTimeout_ms,T_ACI_SATA_ADD *addParm) | 4092 void rAT_PercentSATA (S16 cId, S32 rdlTimeout_ms,T_ACI_SATA_ADD *addParm) |
4093 #else | 4093 #else |
4094 void rAT_PercentSATA (S16 cId, S32 rdlTimeout_ms) | 4094 void rAT_PercentSATA (S16 cId, S32 rdlTimeout_ms) |
4095 #endif /* TI_PS_FF_SATE */ | 4095 #endif /* TI_PS_FF_SATE */ |
4096 { | 4096 { |
4097 TRACE_FUNCTION("rAT_PercentSATA()"); | 4097 TRACE_FUNCTION("rAT_PercentSATA()"); |
4098 | 4098 |
4099 TRACE_EVENT_P1("Redial Time %d",rdlTimeout_ms); | 4099 TRACE_EVENT_P1("Redial Time %d",rdlTimeout_ms); |
4100 | 4100 |
4101 /* Store call details */ | 4101 /* Store call details */ |
4102 cmd.c.ccres.redialTime = rdlTimeout_ms; | 4102 cmd.c.ccres.redialTime = rdlTimeout_ms; |
4103 cmd.c.ccres.callId = cId; | 4103 cmd.c.ccres.callId = cId; |
4104 | 4104 |
4105 if (rdlTimeout_ms > 0) /* Check timeout value is valid */ | 4105 if (rdlTimeout_ms > 0) /* Check timeout value is valid */ |
4106 { | 4106 { |
4107 cm_set_redial(CM_REDIAL_AUTO); | 4107 cm_set_redial(CM_REDIAL_AUTO); |
4108 } | 4108 } |
4109 #if defined (TI_PS_FF_SATE) || defined (FF_SAT_E) | 4109 #if defined (TI_PS_FF_SATE) || defined (FF_SAT_E) |
4110 /* No Channel information available, therefore treat as normal Voice call */ | 4110 /* No Channel information available, therefore treat as normal Voice call */ |
4111 if (addParm == NULL) | 4111 if (addParm == NULL) |
4112 { | 4112 { |
4113 #endif /* TI_PS_FF_SATE */ | 4113 #endif /* TI_PS_FF_SATE */ |
4114 //x0035544 Mar 11, 2006. DR:OMAPS00061467 | 4114 //x0035544 Mar 11, 2006. DR:OMAPS00061467 |
4115 //unless SAT_SETUP_CALL event is executed, dont send MfwSatCcAlert event to BMI | 4115 //unless SAT_SETUP_CALL event is executed, dont send MfwSatCcAlert event to BMI |
4116 #ifdef FF_MMI_SAT_ICON | 4116 #ifdef FF_MMI_SAT_ICON |
4117 if(isAlphaIdIconPresent ) | 4117 if(isAlphaIdIconPresent ) |
4118 { | 4118 { |
4120 } | 4120 } |
4121 else | 4121 else |
4122 satSignal(MfwSatCcAlert,&cmd); | 4122 satSignal(MfwSatCcAlert,&cmd); |
4123 #else | 4123 #else |
4124 satSignal(MfwSatCcAlert,&cmd); | 4124 satSignal(MfwSatCcAlert,&cmd); |
4125 #endif | 4125 #endif |
4126 return; | 4126 return; |
4127 | 4127 |
4128 #if defined (TI_PS_FF_SATE) || defined (FF_SAT_E) | 4128 #if defined (TI_PS_FF_SATE) || defined (FF_SAT_E) |
4129 } | 4129 } |
4130 else /* Store channel information in command structure */ | 4130 else /* Store channel information in command structure */ |
4131 { | 4131 { |
4132 cmd.c.open.channel_type = (T_MFW_SAT_CHN)addParm->chnType; | 4132 cmd.c.open.channel_type = (T_MFW_SAT_CHN)addParm->chnType; |
4133 cmd.c.open.establishment_type = (T_MFW_SAT_EST)addParm->chnEst; | 4133 cmd.c.open.establishment_type = (T_MFW_SAT_EST)addParm->chnEst; |
4139 case MFW_SAT_CHN_NONE: | 4139 case MFW_SAT_CHN_NONE: |
4140 case MFW_SAT_CHN_VOICE: | 4140 case MFW_SAT_CHN_VOICE: |
4141 satSignal(MfwSatCcAlert,&cmd); | 4141 satSignal(MfwSatCcAlert,&cmd); |
4142 break; | 4142 break; |
4143 case MFW_SAT_CHN_CSD: | 4143 case MFW_SAT_CHN_CSD: |
4144 case MFW_SAT_CHN_GPRS: | 4144 case MFW_SAT_CHN_GPRS: |
4145 | 4145 |
4146 /* SPR#2321 - DS - Copy the saved Open Channel details to cmd in case a Call | 4146 /* SPR#2321 - DS - Copy the saved Open Channel details to cmd in case a Call |
4147 * Control result command was received (therefore overwriting the Open Channel | 4147 * Control result command was received (therefore overwriting the Open Channel |
4148 * data) between the original MfwSatOpenChannel command and this alert indication | 4148 * data) between the original MfwSatOpenChannel command and this alert indication |
4149 */ | 4149 */ |
4150 if (sat_cmd_saved != NULL) | 4150 if (sat_cmd_saved != NULL) |
4151 { | 4151 { |
4152 TRACE_EVENT("Copy the saved Open Channel details to the cmd structure"); | 4152 TRACE_EVENT("Copy the saved Open Channel details to the cmd structure"); |
4165 break; | 4165 break; |
4166 default: | 4166 default: |
4167 TRACE_ERROR("Error with SATA channle type!"); | 4167 TRACE_ERROR("Error with SATA channle type!"); |
4168 break; | 4168 break; |
4169 } | 4169 } |
4170 #endif /* TI_PS_FF_SATE */ | 4170 #endif /* TI_PS_FF_SATE */ |
4171 } | 4171 } |
4172 | 4172 |
4173 | 4173 |
4174 /* | 4174 /* |
4175 +--------------------------------------------------------------------+ | 4175 +--------------------------------------------------------------------+ |
4200 #if defined(FF_WAP) | 4200 #if defined(FF_WAP) |
4201 | 4201 |
4202 void rAT_PercentSATBROW (T_LAUNCH_BROWSER *browser_command) //To be change to T_LAUNCH_BROWSER | 4202 void rAT_PercentSATBROW (T_LAUNCH_BROWSER *browser_command) //To be change to T_LAUNCH_BROWSER |
4203 { | 4203 { |
4204 int i; | 4204 int i; |
4205 T_prov_file_ref* current_prov_file; | 4205 T_prov_file_ref* current_prov_file; |
4206 | 4206 |
4207 TRACE_FUNCTION("rAT_PercentSATBROW()"); | 4207 TRACE_FUNCTION("rAT_PercentSATBROW()"); |
4208 | 4208 |
4209 cmd.c.browser.identity = browser_command->browser_id.browser; | 4209 cmd.c.browser.identity = browser_command->browser_id.browser; |
4210 cmd.c.browser.url = (U8*) browser_command->url.url_value; | 4210 cmd.c.browser.url = (U8*) browser_command->url.url_value; |
4211 cmd.c.browser.n_bearer = browser_command->c_bearer; | 4211 cmd.c.browser.n_bearer = browser_command->c_bearer; |
4212 cmd.c.browser.bearer = (U8*)browser_command->bearer; | 4212 cmd.c.browser.bearer = (U8*)browser_command->bearer; |
4215 { | 4215 { |
4216 current_prov_file = browser_command->prov_file_ref; | 4216 current_prov_file = browser_command->prov_file_ref; |
4217 cmd.c.browser.prov_file_ref[i].prov_file_id_len = current_prov_file->c_prov_file_id; | 4217 cmd.c.browser.prov_file_ref[i].prov_file_id_len = current_prov_file->c_prov_file_id; |
4218 cmd.c.browser.prov_file_ref[i].prov_file_id = (U8*)current_prov_file->prov_file_id; | 4218 cmd.c.browser.prov_file_ref[i].prov_file_id = (U8*)current_prov_file->prov_file_id; |
4219 current_prov_file++; | 4219 current_prov_file++; |
4220 } | 4220 } |
4221 cmd.c.browser.text_string.icon.qual = browser_command->icon.icon_qu; | 4221 cmd.c.browser.text_string.icon.qual = browser_command->icon.icon_qu; |
4222 cmd.c.browser.text_string.icon.id = browser_command->icon.icon_id; | 4222 cmd.c.browser.text_string.icon.id = browser_command->icon.icon_id; |
4223 /* Copy the text string into the cmd buffer */ | 4223 /* Copy the text string into the cmd buffer */ |
4224 { | 4224 { |
4225 U8 *provPointer; | 4225 U8 *provPointer; |
4231 cmd.c.browser.text_string.code = browser_command->text.dcs; | 4231 cmd.c.browser.text_string.code = browser_command->text.dcs; |
4232 } | 4232 } |
4233 /* Copy the alpha id */ | 4233 /* Copy the alpha id */ |
4234 cmd.c.browser.alpha_len = browser_command->c_alpha_id; | 4234 cmd.c.browser.alpha_len = browser_command->c_alpha_id; |
4235 cmd.c.browser.alpha_id = (U8*)browser_command->alpha_id; | 4235 cmd.c.browser.alpha_id = (U8*)browser_command->alpha_id; |
4236 | 4236 |
4237 | 4237 |
4238 satSignal(MfwSatLaunchBrowser, &cmd); /*Send the event to MMI */ | 4238 satSignal(MfwSatLaunchBrowser, &cmd); /*Send the event to MMI */ |
4239 | 4239 |
4240 | 4240 |
4241 } | 4241 } |
4242 | 4242 |
4243 #endif | 4243 #endif |
4244 | 4244 |
4600 { /* MMI has to be notified once */ | 4600 { /* MMI has to be notified once */ |
4601 | 4601 |
4602 /* | 4602 /* |
4603 * x0047685 Due to R99 SIM Interface changes, file_id[i] has been | 4603 * x0047685 Due to R99 SIM Interface changes, file_id[i] has been |
4604 * replaced by file_info[i].datafield. | 4604 * replaced by file_info[i].datafield. |
4605 * Also removed FF_2TO1_PS flag, since in both cases we need to | 4605 * Also removed FF_2TO1_PS flag, since in both cases we need to |
4606 * access EF using file_info and not file_id. | 4606 * access EF using file_info and not file_id. |
4607 */ | 4607 */ |
4608 /*a0393213 OMAPS00116309 Data type of 'files' changed from U16* to T_file_info* | 4608 /*a0393213 OMAPS00116309 Data type of 'files' changed from U16* to T_file_info* |
4609 because of R99 change in ACI*/ | 4609 because of R99 change in ACI*/ |
4610 cmd.c.refFiles.files = updateInd->file_info; | 4610 cmd.c.refFiles.files = updateInd->file_info; |
4621 } | 4621 } |
4622 } | 4622 } |
4623 else | 4623 else |
4624 { | 4624 { |
4625 /*a0393213 OMAPS00116309 Data type of 'files' changed from U16* to T_file_info* | 4625 /*a0393213 OMAPS00116309 Data type of 'files' changed from U16* to T_file_info* |
4626 because of R99 change in ACI*/ | 4626 because of R99 change in ACI*/ |
4627 cmd.c.refFiles.files = updateInd->file_info; | 4627 cmd.c.refFiles.files = updateInd->file_info; |
4628 cmd.c.refFiles.files_nr = updateInd->val_nr; | 4628 cmd.c.refFiles.files_nr = updateInd->val_nr; |
4629 cmd.c.refFiles.status = ref; | 4629 cmd.c.refFiles.status = ref; |
4630 if (updateInd->val_nr) | 4630 if (updateInd->val_nr) |
4631 evt = MfwSatDataRefreshed; | 4631 evt = MfwSatDataRefreshed; |
4658 | STATE : code ROUTINE : satBrowserTerminated | | 4658 | STATE : code ROUTINE : satBrowserTerminated | |
4659 +--------------------------------------------------------------------+ | 4659 +--------------------------------------------------------------------+ |
4660 | 4660 |
4661 PURPOSE : downloads the Browser termination event to the SAT. | 4661 PURPOSE : downloads the Browser termination event to the SAT. |
4662 | 4662 |
4663 Cause can be, | 4663 Cause can be, |
4664 | 4664 |
4665 SatBrowserTerminCauseUser 0x00 | 4665 SatBrowserTerminCauseUser 0x00 |
4666 SatBrowserTerminCauseError 0x01 | 4666 SatBrowserTerminCauseError 0x01 |
4667 | 4667 |
4668 SPR#2121 - DS - Dynamically allocate memory for Terminal Response. | 4668 SPR#2121 - DS - Dynamically allocate memory for Terminal Response. |
4695 trmResponse[ti++] = SatEvtBrowserTermination; /* actual event */ | 4695 trmResponse[ti++] = SatEvtBrowserTermination; /* actual event */ |
4696 trmResponse[ti++] = 0x82; /* --device identities-- */ | 4696 trmResponse[ti++] = 0x82; /* --device identities-- */ |
4697 trmResponse[ti++] = 0x02; /* length */ | 4697 trmResponse[ti++] = 0x02; /* length */ |
4698 trmResponse[ti++] = SatDevME; /* source */ | 4698 trmResponse[ti++] = SatDevME; /* source */ |
4699 trmResponse[ti++] = 0x81; /* destination: SIM */ | 4699 trmResponse[ti++] = 0x81; /* destination: SIM */ |
4700 trmResponse[ti++] = 0x34; /* Browser Termination Cause tag */ | 4700 trmResponse[ti++] = 0x34; /* Browser Termination Cause tag */ |
4701 trmResponse[ti++] = 0x01; /* Browser Termination length*/ | 4701 trmResponse[ti++] = 0x01; /* Browser Termination length*/ |
4702 trmResponse[ti++] = cause; /* termination cause */ | 4702 trmResponse[ti++] = cause; /* termination cause */ |
4703 trmResponse[1] = ti - 2; /* length of event download */ | 4703 trmResponse[1] = ti - 2; /* length of event download */ |
4704 | 4704 |
4705 sAT_PercentSATE(CMD_SRC_LCL,ti,trmResponse); | 4705 sAT_PercentSATE(CMD_SRC_LCL,ti,trmResponse); |
4761 T_MFW_SS_RETURN satHangup (T_ACI_CMD_SRC sId) | 4761 T_MFW_SS_RETURN satHangup (T_ACI_CMD_SRC sId) |
4762 { | 4762 { |
4763 T_ACI_RETURN result; | 4763 T_ACI_RETURN result; |
4764 | 4764 |
4765 TRACE_FUNCTION("satHangup()"); | 4765 TRACE_FUNCTION("satHangup()"); |
4766 | 4766 |
4767 result = sAT_end_ussd(sId); // end the USSD session | 4767 result = sAT_end_ussd(sId); // end the USSD session |
4768 return ((result EQ AT_CMPL) ? MFW_SS_OK : MFW_SS_FAIL); | 4768 return ((result EQ AT_CMPL) ? MFW_SS_OK : MFW_SS_FAIL); |
4769 } | 4769 } |