mrp_extension.c
2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#ifdef __MMI_DSM_NEW__
#include "mrp_extension.h"
#include "mrp_features.h"
/**
*\brief platEx 相关函数声明。
*
* MR_PLATEX_FUNC_PROTOTYPE 宏可以省去你写一堆的参数,但前提是你的函数命名遵循mr_platEx_***这样的规则。
*/
MR_PLATEX_FUNC_PROTOTYPE(sys);
MR_PLATEX_FUNC_PROTOTYPE(drm);
MR_PLATEX_FUNC_PROTOTYPE(streaming_player);
MR_PLATEX_FUNC_PROTOTYPE(mpchat);
MR_PLATEX_FUNC_PROTOTYPE(dove);
MR_PLATEX_FUNC_PROTOTYPE(msn);
MR_PLATEX_FUNC_PROTOTYPE(mulang);
MR_PLATEX_FUNC_PROTOTYPE(jsky);
MR_PLATEX_FUNC_PROTOTYPE(wap);
MR_PLATEX_FUNC_PROTOTYPE(setting);
MR_PLATEX_FUNC_PROTOTYPE(mem);
MR_PLATEX_FUNC_PROTOTYPE(dam);
#ifdef __PME_SUPPORT__
MR_PLATEX_FUNC_PROTOTYPE(ovs);
#endif //+ __PME_SUPPORT__ end
/**
*\brief 将platEx相关函数加在其GROUP值对应的位置,如果未实现则设置成NULL。
*/
const mr_platEx_f g_platex_func_table[MR_PLATEX_GROUP_MAX] = {
#ifndef __MR_CFG_FEATURE_SLIM__
MR_PLATEX_FUNC_NAME(sys),
#ifndef __MR_CFG_FEATURE_DRM__
0,
#else
MR_PLATEX_FUNC_NAME(drm),
#endif
// SKY_MULTIMEDIA
0, //MR_PLATEX_FUNC_NAME(streaming_player),
MR_PLATEX_FUNC_NAME(mpchat),
0,//MR_PLATEX_FUNC_NAME(dove),
0, //MR_PLATEX_FUNC_NAME(msn),
0, //MR_PLATEX_FUNC_NAME(mulang),
#ifdef __MMI_DSM_NEW_JSKY__
MR_PLATEX_FUNC_NAME(jsky),
#else
0, //MR_PLATEX_FUNC_NAME(jsky),
#endif
0, //MR_PLATEX_FUNC_NAME(wap),
MR_PLATEX_FUNC_NAME(setting),
MR_PLATEX_FUNC_NAME(mem),
#ifndef __MR_CFG_FEATURE_DAM__
0,
#else
MR_PLATEX_FUNC_NAME(dam),
#endif
#else // __MR_CFG_FEATURE_SLIM__
MR_PLATEX_FUNC_NAME(sys),
0,
0,
// SKY_MULTIMEDIA // 手机电视3K版本
MR_PLATEX_FUNC_NAME(mpchat),
#endif // __MR_CFG_FEATURE_SLIM__
#ifdef __PME_SUPPORT__
MR_PLATEX_FUNC_NAME(ovs),//海外自扩展
#endif //+ __PME_SUPPORT__ end
};
/**
*\brief g_platex_func_table 中函数的个数,一般情况下不需要做修改。
*/
const int32 g_platex_func_table_entries = MR_PLATEX_GROUP_MAX;
/**
* \brief SKYQQ 的移植层接口
*/
#if defined(__MMI_SKYQQ__) && !defined(WIN32)
extern int32 SDKCallMTK(uint8* input, int32 input_len, uint8** output, int32* output_len);
int32 mr_qq_ext_api(uint8* input,int32 input_len,uint8** output, int32* output_len, MR_PLAT_EX_CB *cb)
{
return SDKCallMTK(input, input_len,output,output_len);
}
#else
int32 mr_qq_ext_api(uint8* input,int32 input_len,uint8** output, int32* output_len, MR_PLAT_EX_CB *cb)
{
return 0 ;
}
#endif
#ifndef __SKY_SECURITY_GUARD__
int32 mr_safe_dealcommand(uint8* input,int32 input_len,uint8** output, int32* output_len, MR_PLAT_EX_CB *cb)
{
return MR_IGNORE;
}
#else
extern int32 safe_sdk_mtk(uint8* input,int32 input_len,uint8** output, int32* output_len, MR_PLAT_EX_CB *cb);
int32 mr_safe_dealcommand(uint8* input,int32 input_len,uint8** output, int32* output_len, MR_PLAT_EX_CB *cb)
{
return safe_sdk_mtk(input, input_len, output, output_len, cb);
}
#endif
// SKY_MULTIMEDIA // move mr_platEx_mpchat() to mrp_mpchat.c
#endif