FreeCalypso > hg > fc-tourmaline
comparison src/ui/mfw/mfw_mfw.h @ 3:67bfe9f274f6
src/ui: import of src/ui3 from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:33:10 +0000 |
parents | |
children | 92abb46dc1ba |
comparison
equal
deleted
inserted
replaced
2:3a14ee9a9843 | 3:67bfe9f274f6 |
---|---|
1 /* | |
2 +--------------------------------------------------------------------+ | |
3 | PROJECT: MMI-Framework (8417) $Workfile:: mfw_mfw.h $| | |
4 | $Author:: Kk $ CONDAT GmbH $Revision:: 13 $| | |
5 | CREATED: 21.09.98 $Modtime:: 23.03.00 16:37 $| | |
6 | STATE : code | | |
7 +--------------------------------------------------------------------+ | |
8 | |
9 MODULE : MFW_MFW | |
10 | |
11 PURPOSE : Framework common types & constants | |
12 | |
13 EXPORT : | |
14 | |
15 TO DO : | |
16 | |
17 $History:: mfw_mfw.h $ | |
18 | |
19 Sep 14, 2007 REF: OMAPS00145866 Adrian Salido | |
20 Description: FT - MMI: Wrong trace class | |
21 Solution: Added some event trace function so that internal event traces for events that | |
22 are too low for non-MMI people and against TI coding convention. | |
23 | |
24 * ***************** Version 14 ***************** | |
25 Dec 22, 2005 REF: ENH xdeepadh | |
26 Description: Image Viewer Application | |
27 Solution: Implemeted the Image Viewer to view the jpeg images | |
28 | |
29 * Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | |
30 * Description: MFW memory size variable changed from U16 -> U32 | |
31 * Solution: The use of variable U16 has been replaced with U32 | |
32 | |
33 * ***************** Version 13 ***************** | |
34 * User: Kk Date: 24.03.00 Time: 11:02 | |
35 * Updated in $/GSM/Condat/MS/SRC/MFW | |
36 * | |
37 * ***************** Version 12 ***************** | |
38 * User: Es Date: 23.03.00 Time: 14:43 | |
39 * Updated in $/GSM/Condat/MS/SRC/MFW | |
40 * Added 'mfwParent(elem)' | |
41 * | |
42 * ***************** Version 11 ***************** | |
43 * User: Es Date: 18.02.00 Time: 15:45 | |
44 * Updated in $/GSM/Condat/MS/SRC/MFW | |
45 * fixed alloc/free bug (shrink) | |
46 * changed MfwMemLarge macro | |
47 * added constants for MMI event handler return values | |
48 * | |
49 * ***************** Version 10 ***************** | |
50 * User: Kk Date: 10.01.00 Time: 14:03 | |
51 * Updated in $/GSM/Condat/MS/SRC/MFW | |
52 * | |
53 * ***************** Version 9 ***************** | |
54 * User: Le Date: 6.01.00 Time: 9:23 | |
55 * Updated in $/GSM/Condat/MS/SRC/MFW | |
56 * Alignment of MFW versions | |
57 * | |
58 * ***************** Version 3 ***************** | |
59 * User: Xsp Date: 8/12/99 Time: 15:34 | |
60 * Updated in $/GSM/Condat/SND-MMI/MFW | |
61 * Patch for CHAR botch... | |
62 * | |
63 * ***************** Version 2 ***************** | |
64 * User: Es Date: 22.11.99 Time: 10:29 | |
65 * Updated in $/GSM/Condat/SND-MMI/MFW | |
66 * | |
67 * ***************** Version 1 ***************** | |
68 * User: Es Date: 18.11.99 Time: 16:35 | |
69 * Created in $/GSM/Condat/SND-MMI/MFW | |
70 * Initial | |
71 * | |
72 * ***************** Version 8 ***************** | |
73 * User: Es Date: 14.06.99 Time: 12:14 | |
74 * Updated in $/GSM/DEV/MS/SRC/MFW | |
75 * | |
76 * ***************** Version 6 ***************** | |
77 * User: Es Date: 25.02.99 Time: 9:53 | |
78 * Updated in $/GSM/DEV/MS/SRC/MFW | |
79 * | |
80 * ***************** Version 5 ***************** | |
81 * User: Es Date: 20.02.99 Time: 11:54 | |
82 * Updated in $/GSM/DEV/MS/SRC/MFW | |
83 * | |
84 * ***************** Version 4 ***************** | |
85 * User: Es Date: 17.02.99 Time: 20:00 | |
86 * Updated in $/GSM/DEV/MS/SRC/MFW | |
87 * | |
88 * ***************** Version 3 ***************** | |
89 * User: Es Date: 14.01.99 Time: 17:19 | |
90 * Updated in $/GSM/DEV/MS/SRC/MFW | |
91 * | |
92 * ***************** Version 2 ***************** | |
93 * User: Es Date: 23.12.98 Time: 16:19 | |
94 * Updated in $/GSM/DEV/MS/SRC/MFW | |
95 */ | |
96 | |
97 #ifndef _DEF_MFW_MFW_H_ | |
98 #define _DEF_MFW_MFW_H_ | |
99 | |
100 /* | |
101 x0083025 on Sep 14, 2007 for OMAPS00145866 (adrian) | |
102 MMI Internal Development trace events replacement | |
103 */ | |
104 #include "vsi.h" /* for TRACE_FUNCTION dependency */ | |
105 #define MMI_TRACE_EVENT(a) TRACE_FUNCTION(a) | |
106 #define MMI_TRACE_EVENT_P1(f, a1) TRACE_FUNCTION_P1(f, a1) | |
107 #define MMI_TRACE_EVENT_P2(f, a1, a2) TRACE_FUNCTION_P2(f, a1, a2) | |
108 #define MMI_TRACE_EVENT_P3(f, a1, a2, a3) TRACE_FUNCTION_P2(f, a1, a2, a3) | |
109 #define ENTITY_MFW | |
110 | |
111 #ifndef NO_ASCIIZ | |
112 #define NO_ASCIIZ | |
113 #endif | |
114 | |
115 /* Ring tone definition */ | |
116 #ifdef FF_MMI_RINGTONE | |
117 #define CALLTONE_SELECT 41 | |
118 #define SMSTONE_SELECT 42 | |
119 #define ALARMTONE_SELECT 43 | |
120 #endif | |
121 | |
122 /**************************************//* PORTABILITY TYPES */ | |
123 | |
124 #define U8 unsigned char | |
125 #define S8 signed char | |
126 #define U16 unsigned short | |
127 #define S16 signed short | |
128 #define U32 unsigned long | |
129 #define S32 signed long | |
130 | |
131 /**************************************//* MMI EVENT HANDLER RETURN */ | |
132 | |
133 #define MFW_EVENT_CONSUMED 1 /* return, if event handled */ | |
134 #define MFW_EVENT_REJECTED 0 /* return, if event unknown */ | |
135 | |
136 | |
137 #ifdef TI_PS_OP_VSI_NO_CALL_ID | |
138 #define TIMER_START(C,I,T) vsi_t_start_nc(I,T) | |
139 #define TIMER_PSTART(C,I,T,R) vsi_t_pstart_nc(I,T,R) | |
140 #define TIMER_STOP(C,I) vsi_t_stop_nc(I) | |
141 #define TIMER_STATUS(C,I,T) vsi_t_status_nc(I,T) | |
142 #define SUSPEND_SELF(C,T) vsi_t_sleep_nc(T) | |
143 #define SYSTEM_TIME(C,T) vsi_t_time_nc(T) | |
144 #else /* TI_PS_OP_VSI_NO_CALL_ID */ | |
145 #define TIMER_START(C,I,T) vsi_t_start(C,I,T) | |
146 #define TIMER_PSTART(C,I,T,R) vsi_t_pstart(C,I,T,R) | |
147 #define TIMER_STOP(C,I) vsi_t_stop(C,I) | |
148 #define TIMER_STATUS(C,I,T) vsi_t_status(C,I,T) | |
149 #define SUSPEND_SELF(C,T) vsi_t_sleep(C,T) | |
150 #define SYSTEM_TIME(C,T) vsi_t_time(C,T) | |
151 #endif /* TI_PS_OP_VSI_NO_CALL_ID */ | |
152 | |
153 | |
154 /**************************************//* COMMON MFW TYPES */ | |
155 | |
156 typedef void * MfwHnd; /* MFW element handle */ | |
157 typedef U32 MfwEvt; /* MFW event mask */ | |
158 typedef int (*MfwCb) (MfwEvt, MfwHnd); /* MFW event handler */ | |
159 | |
160 typedef struct MfwRectTag /* RECTANGLE SPEC */ | |
161 { | |
162 U16 px; /* top left pos x */ | |
163 U16 py; /* top left pos y */ | |
164 U16 sx; /* horizontal size */ | |
165 U16 sy; /* vertical size */ | |
166 } MfwRect; | |
167 | |
168 typedef enum /* Error codes */ | |
169 { | |
170 MfwResOk = 0, /* no error */ | |
171 MfwResDone, /* OK, handler ready */ | |
172 MfwResErr, /* unspecific error */ | |
173 MfwResNoMem, /* insufficient memory */ | |
174 MfwResIllHnd, /* invalid handle */ | |
175 MfwResDriver /* driver error */ | |
176 } MfwRes; | |
177 | |
178 typedef enum /* MFW commands to modules */ | |
179 { | |
180 MfwCmdNone = 0, /* no command */ | |
181 MfwCmdDelete, /* delete element */ | |
182 MfwCmdUpdate /* repaint visibles */ | |
183 } MfwCmd; | |
184 | |
185 typedef enum /* MFW element types */ | |
186 { | |
187 MfwTypNone = 0, /* no element (first !!) */ | |
188 MfwTypWin, /* window */ | |
189 MfwTypEdt, /* editor */ | |
190 MfwTypMnu, /* menu handler */ | |
191 MfwTypIcn, /* icon handler */ | |
192 MfwTypKbd, /* keyboard */ | |
193 MfwTypTim, /* timer */ | |
194 MfwTypMme, /* misc. mobile equipment */ | |
195 MfwTypVmm, /* MDL virtual machine */ | |
196 MfwTypNm, /* network */ | |
197 MfwTypSim, /* SIM card */ | |
198 MfwTypCm, /* call handling */ | |
199 MfwTypPhb, /* phonebook handling */ | |
200 MfwTypSms, /* short message handling */ | |
201 MfwTypSs, /* supl. services handling */ | |
202 MfwTypSat, /* SIM Toolkit handling */ | |
203 MfwTypLng, /* language handling */ | |
204 MfwTypInp, /* input handling */ | |
205 MfwTypNode, /* node element */ | |
206 MfwTypCphs, /* CPHS element */ | |
207 MfwTypGprs, /* GPRS handling */ | |
208 MfwTypEm, /*MC, SPR 1209 Eng Mode handling*/ | |
209 MfwTypTd, /*MC, SPr 1725, Time/date handling*/ | |
210 #ifdef BT_INTERFACE | |
211 MfwTypBt, /* bluetooth handling */ | |
212 #endif | |
213 #ifdef BTE_MOBILE | |
214 MfwTypBte, /* bluetooth handling */ | |
215 #endif | |
216 MfwTypCt, /* camera test handling*/ | |
217 | |
218 #ifdef FF_MMI_FILEMANAGER | |
219 MfwTypfm, | |
220 #endif | |
221 MfwTypMax /* end of types (last !!) */ | |
222 } MfwTyp; | |
223 | |
224 typedef struct MfwHdrTag /* header structure */ | |
225 { | |
226 struct MfwHdrTag *next; /* next header */ | |
227 MfwTyp type; /* elem type code */ | |
228 void *data; /* elem control structure */ | |
229 | |
230 } MfwHdr; | |
231 | |
232 // Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | |
233 // Description: MFW memory size variable changed from U16 -> U32 | |
234 // Solution: The use of variable U16 has been replaced with U32 | |
235 typedef struct /* memory management header */ | |
236 { | |
237 U32 next; /* index of next free block */ | |
238 U32 len; /* length of this block */ | |
239 } MfwMemHdr; | |
240 /* sizeof(MfwMemHdr) must be 2^n !! */ | |
241 /* align with header length */ | |
242 #define mfwMemLarge(x) (((x)+sizeof(MfwMemHdr)-1)&(~(sizeof(MfwMemHdr)-1))) | |
243 /* not used: #define mfwMemShrink(x) ((x)&(~(sizeof(MfwMemHdr)-1))) */ | |
244 | |
245 /**************************************//* MFW EXPORTED VARIABLES */ | |
246 | |
247 extern MfwHdr *mfwFocus; /* the focus node */ | |
248 extern MfwHdr *mfwRoot; /* root of MFW elements */ | |
249 extern MfwCb mfwCommand []; /* MFW commands to modules */ | |
250 | |
251 | |
252 /**************************************//* MFW FUNCTION PROTOTYPES */ | |
253 | |
254 // Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | |
255 // Description: MFW memory size variable changed from U16 -> U32 | |
256 // Solution: The use of variable U16 has been replaced with U32 | |
257 | |
258 MfwRes mfwInit (void *externalRoot, U32 dynMemSize); | |
259 void mfwExit (void); | |
260 MfwHdr *mfwAppend (MfwHdr **h, MfwHdr *e); | |
261 MfwHdr **mfwRemove (MfwHdr *e); | |
262 MfwHdr *mfwInsert (MfwHdr *h, MfwHdr *e); | |
263 MfwHnd mfwParent (MfwHdr *h); | |
264 MfwHnd mfwControl (MfwHdr *h); | |
265 U8 *mfwAlloc (U32 size); | |
266 void mfwFree (U8 *mem, U32 size); | |
267 MfwHnd mfwHeader (void); | |
268 MfwRes mfwSetSignallingMethod (U8 method); | |
269 U32 mfwCheckMemoryLeft(void); | |
270 void mfwSetFocus(MfwHdr *w); | |
271 void mfwSetSatIdle(MfwHdr *w); | |
272 char *mfwStrncpy(char *cpyto, const char *cpyfrm, size_t len); | |
273 | |
274 extern U8 mfwSignallingMethod; | |
275 /**************************************//* PRELIMINARIES ES!! */ | |
276 | |
277 #define T_MFW int | |
278 #define T_MFW_HND MfwHnd | |
279 #define T_MFW_EVENT MfwEvt | |
280 #define T_MFW_HDR MfwHdr | |
281 #define T_MFW_RES MfwRes | |
282 #define T_MFW_CB MfwCb | |
283 #define MFW_TYP_SIM MfwTypSim | |
284 #define MFW_TYP_NM MfwTypNm | |
285 #define MFW_TYP_CM MfwTypCm | |
286 #define MFW_TYP_PHB MfwTypPhb | |
287 #define MFW_TYP_SMS MfwTypSms | |
288 #define MFW_TYP_SS MfwTypSs | |
289 #define MFW_RES_ILL_HND MfwResIllHnd | |
290 #define MFW_RES_OK MfwResOk | |
291 #define MFW_RES_ERR MfwResErr | |
292 #define T_MFW_PREF_PLMN_LIST MfwNmPrefPlmnList | |
293 | |
294 #endif | |
295 |