📄 mfw_mfw.h
字号:
/*
+--------------------------------------------------------------------+
| PROJECT: MMI-Framework (8417) $Workfile:: mfw_mfw.h $|
| $Author: root $ CONDAT GmbH $Revision: 1.1.1.1 $|
| CREATED: 21.09.98 $Modtime:: 23.03.00 16:37 $|
| STATE : code |
+--------------------------------------------------------------------+
MODULE : MFW_MFW
PURPOSE : Framework common types & constants
EXPORT :
TO DO :
$History:: mfw_mfw.h $
*
* ***************** Version 13 *****************
* User: Kk Date: 24.03.00 Time: 11:02
* Updated in $/GSM/Condat/MS/SRC/MFW
*
* ***************** Version 12 *****************
* User: Es Date: 23.03.00 Time: 14:43
* Updated in $/GSM/Condat/MS/SRC/MFW
* Added 'mfwParent(elem)'
*
* ***************** Version 11 *****************
* User: Es Date: 18.02.00 Time: 15:45
* Updated in $/GSM/Condat/MS/SRC/MFW
* fixed alloc/free bug (shrink)
* changed MfwMemLarge macro
* added constants for MMI event handler return values
*
* ***************** Version 10 *****************
* User: Kk Date: 10.01.00 Time: 14:03
* Updated in $/GSM/Condat/MS/SRC/MFW
*
* ***************** Version 9 *****************
* User: Le Date: 6.01.00 Time: 9:23
* Updated in $/GSM/Condat/MS/SRC/MFW
* Alignment of MFW versions
*
* ***************** Version 3 *****************
* User: Xsp Date: 8/12/99 Time: 15:34
* Updated in $/GSM/Condat/SND-MMI/MFW
* Patch for CHAR botch...
*
* ***************** Version 2 *****************
* User: Es Date: 22.11.99 Time: 10:29
* Updated in $/GSM/Condat/SND-MMI/MFW
*
* ***************** Version 1 *****************
* User: Es Date: 18.11.99 Time: 16:35
* Created in $/GSM/Condat/SND-MMI/MFW
* Initial
*
* ***************** Version 8 *****************
* User: Es Date: 14.06.99 Time: 12:14
* Updated in $/GSM/DEV/MS/SRC/MFW
*
* ***************** Version 6 *****************
* User: Es Date: 25.02.99 Time: 9:53
* Updated in $/GSM/DEV/MS/SRC/MFW
*
* ***************** Version 5 *****************
* User: Es Date: 20.02.99 Time: 11:54
* Updated in $/GSM/DEV/MS/SRC/MFW
*
* ***************** Version 4 *****************
* User: Es Date: 17.02.99 Time: 20:00
* Updated in $/GSM/DEV/MS/SRC/MFW
*
* ***************** Version 3 *****************
* User: Es Date: 14.01.99 Time: 17:19
* Updated in $/GSM/DEV/MS/SRC/MFW
*
* ***************** Version 2 *****************
* User: Es Date: 23.12.98 Time: 16:19
* Updated in $/GSM/DEV/MS/SRC/MFW
*/
#ifndef _DEF_MFW_MFW_H_
#define _DEF_MFW_MFW_H_
#define ENTITY_MFW
#ifndef NO_ASCIIZ
#define NO_ASCIIZ
#endif
#define TCS20_VER 0
/**************************************//* PORTABILITY TYPES */
// modify by clrobert
// change
// #if 0
// to
#pragma warning(disable: 4305)
#ifdef _INNOVATION_EMULATOR_
extern short mmi_handle;
// modify end
typedef unsigned char U8;
typedef signed char S8;
typedef unsigned short U16;
typedef signed short S16;
typedef unsigned long U32;
typedef signed long S32;
typedef char CHAR;
#else
#define U8 unsigned char
#define S8 signed char
#define U16 unsigned short
#define S16 signed short
#define U32 unsigned long
#define S32 signed long
#endif
/**************************************//* MMI EVENT HANDLER RETURN */
#define MFW_EVENT_CONSUMED 1 /* return, if event handled */
#define MFW_EVENT_REJECTED 0 /* return, if event unknown */
#define ONEKEY_TOIDLE
/**************************************//* COMMON MFW TYPES */
typedef void * MfwHnd; /* MFW element handle */
typedef U32 MfwEvt; /* MFW event mask */
typedef int (*MfwCb) (MfwEvt, MfwHnd); /* MFW event handler */
typedef struct MfwRectTag /* RECTANGLE SPEC */
{
U16 px; /* top left pos x */
U16 py; /* top left pos y */
U16 sx; /* horizontal size */
U16 sy; /* vertical size */
} MfwRect;
typedef enum /* Error codes */
{
MfwResOk = 0, /* no error */
MfwResDone, /* OK, handler ready */
MfwResErr, /* unspecific error */
MfwResNoMem, /* insufficient memory */
MfwResIllHnd, /* invalid handle */
MfwResDriver /* driver error */
} MfwRes;
typedef enum /* MFW commands to modules */
{
MfwCmdNone = 0, /* no command */
MfwCmdDelete, /* delete element */
MfwCmdUpdate /* repaint visibles */
} MfwCmd;
typedef enum /* MFW element types */
{
MfwTypNone = 0, /* no element (first !!) */
MfwTypWin, /* window */
MfwTypEdt, /* editor */
MfwTypMnu, /* menu handler */
MfwTypIcn, /* icon handler */
MfwTypKbd, /* keyboard */
MfwTypTim, /* timer */
MfwTypMme, /* misc. mobile equipment */
MfwTypVmm, /* MDL virtual machine */
MfwTypNm, /* network */
MfwTypSim, /* SIM card */
MfwTypCm, /* call handling */
MfwTypPhb, /* phonebook handling */
MfwTypSms, /* short message handling */
MfwTypSs, /* supl. services handling */
MfwTypSat, /* SIM Toolkit handling */
MfwTypLng, /* language handling */
MfwTypInp, /* input handling */
MfwTypNode, /* node element */
MfwTypCphs, /* CPHS element */
MfwTypGprs, /* GPRS handling */
/* glowing,2004-06-10, import from TCS2112 */
MfwTypEm, /*MC, SPR 1209 Eng Mode handling*/
MfwTypTd, /*MC, SPr 1725, Time/date handling*/
/* glowing,2004-06-10, end of import */
#ifdef BT_INTERFACE
MfwTypBt, /* bluetooth handling */
#endif
MfwTypMax /* end of types (last !!) */
} MfwTyp;
typedef struct MfwHdrTag /* header structure */
{
struct MfwHdrTag *next; /* next header */
MfwTyp type; /* elem type code */
void *data; /* elem control structure */
} MfwHdr;
typedef struct /* memory management header */
{
U16 next; /* index of next free block */
U16 len; /* length of this block */
} MfwMemHdr;
/* sizeof(MfwMemHdr) must be 2^n !! */
/* align with header length */
/* glowing,2004-06-10, import from M188A */
typedef struct EcMemInfoTag
{
MfwHnd addr; // address of allocated memory
MfwHnd win; //the win this memory allocated from
U16 size; // size of allocated memory
struct EcMemInfoTag *next;
}EcMemInfo;
/* glowing,2004-06-10, end of import */
#define mfwMemLarge(x) (((x)+sizeof(MfwMemHdr)-1)&(~(sizeof(MfwMemHdr)-1)))
/* not used: #define mfwMemShrink(x) ((x)&(~(sizeof(MfwMemHdr)-1))) */
/**************************************//* MFW EXPORTED VARIABLES */
extern MfwHdr *mfwFocus; /* the focus node */
extern MfwHdr *mfwRoot; /* root of MFW elements */
extern MfwCb mfwCommand []; /* MFW commands to modules */
/**************************************//* MFW FUNCTION PROTOTYPES */
MfwRes mfwInit (void *externalRoot, U16 dynMemSize);
void mfwExit (void);
MfwHdr *mfwAppend (MfwHdr **h, MfwHdr *e);
MfwHdr **mfwRemove (MfwHdr *e);
MfwHdr *mfwInsert (MfwHdr *h, MfwHdr *e);
MfwHnd mfwParent (MfwHdr *h);
MfwHnd mfwControl (MfwHdr *h);
U8 *mfwAlloc (U16 size);
void mfwFree (U8 *mem, U16 size);
MfwHnd mfwHeader (void);
MfwRes mfwSetSignallingMethod (U8 method);
/* glowing, 2004-06-10, import from M188A */
int freeAll(void);
void Tracememory();
void Trace_All(char *name,MfwHnd handle);
unsigned char Set_regflag(unsigned char flag);
void traceallmemory(void);
void freeandreg(void * addr);
/* glowing, 2004-06-10, end of import */
U16 mfwCheckMemoryLeft(void);
extern U8 mfwSignallingMethod;
/**************************************//* PRELIMINARIES ES!! */
#define T_MFW int
#define T_MFW_HND MfwHnd
#define T_MFW_EVENT MfwEvt
#define T_MFW_HDR MfwHdr
#define T_MFW_RES MfwRes
#define T_MFW_CB MfwCb
#define MFW_TYP_SIM MfwTypSim
#define MFW_TYP_NM MfwTypNm
#define MFW_TYP_CM MfwTypCm
#define MFW_TYP_PHB MfwTypPhb
#define MFW_TYP_SMS MfwTypSms
#define MFW_TYP_SS MfwTypSs
#define MFW_RES_ILL_HND MfwResIllHnd
#define MFW_RES_OK MfwResOk
#define MFW_RES_ERR MfwResErr
#define T_MFW_PREF_PLMN_LIST MfwNmPrefPlmnList
/* glowing,2004-06-10,import from M188A */
#define TIMCREATE_SETFLLAG(f)\
{\
UBYTE old_flag;\
old_flag=Set_regflag(0);\
f\
Set_regflag(old_flag);\
}
/* glowing,2004-06-10, end of import */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -