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