📄 mms_mmip.c
字号:
/*
+-----------------------------------------------------------------------------
| File : mms_mmip.c
+-----------------------------------------------------------------------------
| Purpose : This Modul defines the functions for processing
| of incomming primitives for mms task
+-----------------------------------------------------------------------------
*/
#define ENTITY_MMS
/*==== INCLUDES ===================================================*/
#if defined (NEW_FRAME)
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <stddef.h>
#include "typedefs.h"
#include "pcm.h"
#include "pconst.cdg"
#include "mconst.cdg"
#include "message.h"
#include "ccdapi.h"
#include "vsi.h"
#include "custom.h"
#include "gsm.h"
#include "prim.h"
#include "pei.h"
#include "tok.h"
#else
#include <string.h>
#include <stdlib.h>
#include <stddef.h>
#include "stddefs.h"
#include "pconst.cdg"
#include "mconst.cdg"
#include "message.h"
#include "ccdapi.h"
#include "custom.h"
#include "gsm.h"
#include "prim.h"
#include "vsi.h"
#include "pei.h"
#include "tok.h"
#endif
#include "mmstask.h"
#include "mmsgloble.h"
#include "player.h"
#define TRACE_EVENT(f) MMS_TRACE_EVENT((f));
/***************************************
* *
* MMI TASK *
* *
****************************************/
/*
$Description:
mmi-->mms, 请求call player_on_draw
*/
void M_MMI_MMS_PLAYERONDRAW_IND(T_MMI_MMS_PLAYERONDRAW_IND * parameter)
{
TRACE_EVENT("M_MMI_MMS_PLAYERONDRAW_IND");
psa_MMI_MMS_IND(M_MMI_MMS_PLAYERONDRAW_IND_ID, parameter, sizeof(T_MMI_MMS_PLAYERONDRAW_IND));
}
/*
$Description:
mmi-->mms, 请求call manager_set_currentmessage
*/
void M_MMI_MMS_MSETCMSG_IND(T_MMI_MMS_MSETCMSG_IND * parameter)
{
TRACE_EVENT("M_MMI_MMS_MSETCMSG_IND");
psa_MMI_MMS_IND(M_MMI_MMS_MSETCMSG_IND_ID, parameter, sizeof(T_MMI_MMS_MSETCMSG_IND));
}
/*
$Description:
mmi-->mms, 请求call editor_on_initialize
*/
void M_MMI_MMS_EDTONINIT_IND(T_MMI_MMS_EDTONINIT_IND * parameter)
{
TRACE_EVENT("M_MMI_MMS_EDTONINIT_IND");
psa_MMI_MMS_IND(M_MMI_MMS_EDTONINIT_IND_ID, parameter, sizeof(T_MMI_MMS_EDTONINIT_IND));
}
/*
$Description:
mmi-->mms, 请求call player_on_pageXXX
*/
void M_MMI_MMS_PLAYERONPAGE_IND(T_MMI_MMS_PLAYERONPAGE_IND * parameter)
{
TRACE_EVENT("M_MMI_MMS_PLAYERONPAGE_IND");
psa_MMI_MMS_IND(M_MMI_MMS_PLAYERONPAGE_IND_ID, parameter, sizeof(T_MMI_MMS_PLAYERONPAGE_IND));
}
/*
$Description:
mmi-->mms, 请求call player_initialize
*/
void M_MMI_MMS_PLAYERINITIALIZE_IND(T_MMI_MMS_PLAYERINITIALIZE_IND * parameter)
{
TRACE_EVENT("M_MMI_MMS_PLAYERINITIALIZE_IND");
psa_MMI_MMS_IND(M_MMI_MMS_PLAYERINITIALIZE_IND_ID, parameter, sizeof(T_MMI_MMS_PLAYERINITIALIZE_IND));
}
/*
$Description:
mmi-->mms, 请求call MMS_DrawXXXAlbum
*/
void M_MMI_MMS_DRAWAIBUM_IND(T_MMI_MMS_DRAWAIBUM_IND * parameter)
{
TRACE_EVENT("M_MMI_MMS_DRAWAIBUM_IND");
psa_MMI_MMS_IND(M_MMI_MMS_DRAWAIBUM_IND_ID, parameter, sizeof(T_MMI_MMS_DRAWAIBUM_IND));
}
/*
$Description:
mmi-->mms, 请求call MMS_TimerCallBackFn
*/
void M_MMI_MMS_TMCBFN_IND(T_MMI_MMS_TMCBFN_IND * parameter)
{
TRACE_EVENT("M_MMI_MMS_TMCBFN_IND");
psa_MMI_MMS_IND(M_MMI_MMS_TMCBFN_IND_ID, parameter, sizeof(T_MMI_MMS_TMCBFN_IND));
}
/*
$Description:
mmi-->mms, 请求call MI_manager_on_initialize
*/
void M_MMI_MMS_MIMNGRINIT_IND(T_MMI_MMS_MIMNGRINIT_IND * parameter)
{
TRACE_EVENT("M_MMI_MMS_MIMNGRINIT_IND");
psa_MMI_MMS_IND(M_MMI_MMS_MIMNGRINIT_IND_ID, parameter, sizeof(T_MMI_MMS_MIMNGRINIT_IND));
}
/*
* +-----------(ACI)----------+
* | |
* | MMI |
* | |
* +-------------^------------+
*
* |
* MMS
* |
* v
*
*/
void psa_MMI_MMS_IND (BYTE event_id,void* data, USHORT data_size)
{
PALLOC_SDU (mmi_mms_ind, MMI_MMS_IND, 8*data_size);
mmi_mms_ind->event_id = event_id;
mmi_mms_ind->sdu.o_buf = 0;
mmi_mms_ind->sdu.l_buf = 8*data_size;
memcpy(mmi_mms_ind->sdu.buf,data,data_size);
TRACE_EVENT("psa_MMI_MMS_IND");
PSENDX (MMS, mmi_mms_ind);
}
/***************************************
* *
* MMS TASK *
* *
****************************************/
/*
$Description:
mmi-->mms, 请求call player_on_draw
*/
void S_MMI_MMS_PLAYERONDRAW_IND(T_MMI_MMS_PLAYERONDRAW_IND * parameter)
{
TRACE_EVENT("S_MMI_MMS_PLAYERONDRAW_IND");
player_on_draw();
/*send cnf to mmi*/
{
T_MMS_MMI_READY_CNF parameter2;
parameter2.event_id = M_MMI_MMS_PLAYERONDRAW_IND_ID;
S_MMS_MMI_READY_CNF(¶meter2);
}
}
/*
$Description:
mmi-->mms, 请求call manager_set_currentmessage
*/
void S_MMI_MMS_MSETCMSG_IND(T_MMI_MMS_MSETCMSG_IND * parameter)
{
TRACE_EVENT("S_MMI_MMS_MSETCMSG_IND");
manager_set_currentmessage(parameter->pFolder, parameter->index);
/*send cnf to mmi*/
{
T_MMS_MMI_READY_CNF parameter2;
parameter2.event_id = M_MMI_MMS_MSETCMSG_IND_ID;
S_MMS_MMI_READY_CNF(¶meter2);
}
}
/*
$Description:
mmi-->mms, 请求call editor_on_initialize
*/
void S_MMI_MMS_EDTONINIT_IND(T_MMI_MMS_EDTONINIT_IND * parameter)
{
TRACE_EVENT("S_MMI_MMS_EDTONINIT_IND");
/*send cnf to mmi*/
{
T_MMS_MMI_READY_CNF parameter2;
parameter2.pData= (void*)editor_on_initialize(parameter->event, parameter->pMsg);
parameter2.event_id = M_MMI_MMS_EDTONINIT_IND_ID;
S_MMS_MMI_READY_CNF(¶meter2);
}
}
/*
$Description:
mmi-->mms, 请求call player_on_pageXXX
*/
void S_MMI_MMS_PLAYERONPAGE_IND(T_MMI_MMS_PLAYERONPAGE_IND * parameter)
{
TRACE_EVENT("S_MMI_MMS_PLAYERONPAGE_IND");
switch(parameter->event)
{
case 0:
player_on_pageup();
break;
case 1:
player_on_pagedown();
break;
case 2:
player_on_pagenext();
break;
case 3:
player_on_pagelast();
break;
}
/*send cnf to mmi*/
{
T_MMS_MMI_READY_CNF parameter2;
parameter2.pData= (void*)parameter->event;
parameter2.event_id = M_MMI_MMS_PLAYERONPAGE_IND_ID;
S_MMS_MMI_READY_CNF(¶meter2);
}
}
/*
$Description:
mmi-->mms, 请求player_initialize
*/
void S_MMI_MMS_PLAYERINITIALIZE_IND(T_MMI_MMS_PLAYERINITIALIZE_IND * parameter)
{
TRACE_EVENT("S_MMI_MMS_PLAYERINITIALIZE_IND");
/*send cnf to mmi*/
{
T_MMS_MMI_PLAYERINITIALIZE_CNF parameter2;
parameter2.pPlayer= (void*)player_initialize(parameter->event, (PlayerInitRetVal *)¶meter2.retval);
S_MMS_MMI_PLAYERINITIALIZE_CNF(¶meter2);
}
}
/*
$Description:
mmi-->mms, 请求MMS_DrawXXXAlbum
*/
void S_MMI_MMS_DRAWAIBUM_IND(T_MMI_MMS_DRAWAIBUM_IND * parameter)
{
TRACE_EVENT("S_MMI_MMS_DRAWAIBUM_IND");
WAP_TRACE_EVENT((parameter->filename));
switch(parameter->type)
{
case MMS_TYPE_JPEG:
{
extern MMS_VOID MMS_DrawJPEGAlbum(MMS_S8 *filepath);
MMS_DrawJPEGAlbum(parameter->filename);
}
break;
case MMS_TYPE_WBMP:
{
extern MMS_VOID MMS_DrawWBMPAlbum(MMS_S8 *filepath);
MMS_DrawWBMPAlbum(parameter->filename);
}
break;
case MMS_TYPE_GIF:
{
extern MMS_VOID MMS_DrawGIFAlbum(MMS_S8 *filepath);
MMS_DrawGIFAlbum(parameter->filename);
}
break;
}
/*send cnf to mmi*/
{
T_MMS_MMI_READY_CNF parameter2;
parameter2.event_id = M_MMI_MMS_DRAWAIBUM_IND_ID;
S_MMS_MMI_READY_CNF(¶meter2);
}
}
/*
$Description:
mmi-->mms, 请求MMS_TimerCallBackFn
*/
void S_MMI_MMS_TMCBFN_IND(T_MMI_MMS_TMCBFN_IND * parameter)
{
typedef int (*MMS_TMcb) (U32, void *);
TRACE_EVENT("S_MMI_MMS_TMCBFN_IND");
( (MMS_TMcb)parameter->fn)(parameter->e,parameter->t);
/*send cnf to mmi*/
{
}
}
/*
$Description:
mmi-->mms, 请求MI_manager_on_initialize
*/
void S_MMI_MMS_MIMNGRINIT_IND(T_MMI_MMS_MIMNGRINIT_IND * parameter)
{
TRACE_EVENT("S_MMI_MMS_MIMNGRINIT_IND");
{
extern void MI_manager_on_initialize(unsigned int mask);
MI_manager_on_initialize(parameter->mask);
}
/*send cnf to mmi*/
{
T_MMS_MMI_READY_CNF parameter2;
parameter2.event_id = M_MMI_MMS_MIMNGRINIT_IND_ID;
parameter2.pData = (void*) parameter->mask;
S_MMS_MMI_READY_CNF(¶meter2);
}
}
/*
$Description:
process mmi->mms ind
*/
GLOBAL const void mmi_mms_ind (
T_MMI_MMS_IND *mmi_mms_ind
)
{
extern void set_mmstask_proc(BYTE flag);
#define MMI_MMS_IND_HANDLE(N)\
{\
T_MMI_MMS_##N##_IND (parameter);\
memcpy(¶meter, mmi_mms_ind->sdu.buf,mmi_mms_ind->sdu.l_buf/8);\
S_MMI_MMS_##N##_IND(¶meter);\
}
set_mmstask_proc(1);
PACCESS(mmi_mms_ind);
TRACE_EVENT("mmi_mms_ind()");
switch(mmi_mms_ind->event_id)
{
case M_MMI_MMS_PLAYERONDRAW_IND_ID:
MMI_MMS_IND_HANDLE(PLAYERONDRAW)
break;
case M_MMI_MMS_MSETCMSG_IND_ID:
MMI_MMS_IND_HANDLE(MSETCMSG)
break;
case M_MMI_MMS_EDTONINIT_IND_ID:
MMI_MMS_IND_HANDLE(EDTONINIT)
break;
case M_MMI_MMS_PLAYERONPAGE_IND_ID:
MMI_MMS_IND_HANDLE(PLAYERONPAGE)
break;
case M_MMI_MMS_PLAYERINITIALIZE_IND_ID:
MMI_MMS_IND_HANDLE(PLAYERINITIALIZE)
break;
case M_MMI_MMS_DRAWAIBUM_IND_ID:
MMI_MMS_IND_HANDLE(DRAWAIBUM)
break;
case M_MMI_MMS_TMCBFN_IND_ID:
MMI_MMS_IND_HANDLE(TMCBFN)
break;
case M_MMI_MMS_MIMNGRINIT_IND_ID:
MMI_MMS_IND_HANDLE(MIMNGRINIT)
break;
default:
break;
}
PFREE(mmi_mms_ind);
set_mmstask_proc(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -