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 }