mmimms.h
上传用户:fuyouda
上传日期:2021-12-23
资源大小:164k
文件大小:11k
开发平台:

C/C++

  1. /*****************************************************************************
  2. ** File Name:      mmimms.h                                                   *
  3. ** Author:                                                                   *
  4. ** Date:           24/03/2004                                                *
  5. ** Copyright:      2003 Spreatrum, Incoporated. All Rights Reserved.         *
  6. ** Description:                *
  7. *****************************************************************************
  8. **                         Important Edit History                            *
  9. ** --------------------------------------------------------------------------*
  10. ** DATE           NAME DESCRIPTION                               *
  11. ** 08/2004        Bruce.Chi Create
  12. ******************************************************************************/
  13. #ifndef _MMI_MMS_H_
  14. #define _MMI_MMS_H_ 
  15. /**--------------------------------------------------------------------------*
  16.  **                         Include Files                                    *
  17.  **--------------------------------------------------------------------------*/
  18. #include "mmisms_app.h"
  19. #include "guianimate.h"
  20. /**--------------------------------------------------------------------------*
  21.  **                         Compiler Flag                                    *
  22.  **--------------------------------------------------------------------------*/
  23. #ifdef __cplusplus
  24.     extern   "C"
  25.     {
  26. #endif
  27. /**--------------------------------------------------------------------------*
  28.  **                         MACRO DEFINITION                                 *
  29.  **--------------------------------------------------------------------------*/
  30. #define MMIMMS_MAX_MMS_NUM 100 //收件箱中最多存储的MMS数
  31. //应该以容量来限制。2000k
  32. #define MMIMMS_MAX_MMS_AND_MMSNOTI_NUM MMIMMS_MAX_MMS_NUM //MMS和MMS通知的总条数的最大值
  33. #define MMIMESSAGE_DISPLAY_LEN 12 //check with louise //later
  34. #define MMS_MAX_CENTRE_ADDR_LENGTH 130
  35. #define MMS_MAX_GATEWAY_LENGTH 66
  36. #define MMS_MAX_PORT_LENGTH                 8
  37. #define MMS_MAX_USERNAME_LENGTH 32 //用户名的最大长度
  38. #define MMS_MAX_PASSWORD_LENGTH 32 //密码的最大长度
  39. #define MMS_MAX_APN_LENGTH 32 //接入点的最大长度
  40. /**--------------------------------------------------------------------------*
  41.  **                         TYPE AND CONSTANT                                *
  42.  **--------------------------------------------------------------------------*/
  43. typedef uint32 MMIMMS_FILE_ID_T;
  44. typedef uint32 MMIMMS_NV_ID_T;
  45. typedef uint8 MMIMMS_MAILBOX_ID_T;
  46. typedef struct 
  47. {
  48. BOOLEAN is_unicode;
  49. uint8 len;
  50. uint8 text[MMIMESSAGE_DISPLAY_LEN + 1];
  51. }MMIMMS_NV_STRING;
  52. typedef struct
  53. {
  54. BOOLEAN is_used; //modify all SaveNV_xxx   functions 
  55. BOOLEAN have_read;
  56. BOOLEAN is_ntf_new; //has the mms notification been downloaed
  57. BOOLEAN have_downloaded; //has the mms been downloaded successfully by mms notification
  58. MMIMMS_MAILBOX_ID_T mailbox_type; //邮箱类型
  59. uint32 time; //接收时间
  60. MMIMMS_NV_STRING disp_content; //列表中显示的内容
  61. //MT:发件人 MO:主题
  62. //MMSNoti:发件人
  63. uint32 file_size; //FS中文件的大小
  64. MMIMMS_FILE_ID_T file_index; //FS中的文件名索引
  65. }MMIMMS_NV_MMSIndex_Item_T;
  66. //end MMS save type
  67. typedef struct
  68. {
  69. uint32  mms_total_num; //MMS 和 MMS Noti总条数
  70. uint32 mms_total_size; //MMS 和 MMS Noti的总容量
  71. MMIMMS_NV_MMSIndex_Item_T mms_item[MMIMMS_MAX_MMS_AND_MMSNOTI_NUM];
  72. }MMIMMS_NV_MMSIndex_T;
  73. typedef struct
  74. {
  75. uint8 centre_addr[MMS_MAX_CENTRE_ADDR_LENGTH]; /* 存放彩信中心地址(input) */
  76. uint8 gateway[MMS_MAX_GATEWAY_LENGTH]; /* 存放彩信网关(input) */
  77. uint8 port[MMS_MAX_PORT_LENGTH]; /* 存放端口(input) */
  78. uint8 username[MMS_MAX_USERNAME_LENGTH];
  79. uint8   password[MMS_MAX_PASSWORD_LENGTH];
  80. uint8   apn[MMS_MAX_APN_LENGTH];
  81. uint32     delivery_rpt; /* 发送报告  0: 关闭 1: 开启 */
  82. uint32      read_rpt;                                                                   /* 阅读报告  0:关闭   1:开启*/
  83.     uint32     anonymous; /* 匿名发送  0: 关闭 1: 开启 */
  84. uint32     prior; /* 优先级    0: 中   1: 高  2: 低 */
  85. uint32     retrieve_mode; /* 接收方式  0: 手动 1: 自动 */
  86. uint32     play_sound;                                                                /*播放声音   0:关闭  1:开启*/
  87. uint32     advertisingallowable;                                                /*允许广告0:关闭 1:开启*/
  88. uint32      valid_period;                                                             /*有效期0:12小时 1:1天2:1星期3:最长期限*/
  89. uint32     auto_sign; /*自动签名 0:关闭 1:开启*/
  90. uint8     auto_sign_file[40]; /*保留自动签名页保存的名字*/
  91. }MMIMMS_NV_SETTING;
  92. typedef enum 
  93. MMIMESSAGE_INBOX,
  94. MMIMESSAGE_SENTBOX,
  95. MMIMESSAGE_OUTBOX,
  96. MMIMESSAGE_DRAFTBOX,
  97. MMIMESSAGE_BOX_TOTAL
  98. }MMIMSG_MAILBOX_TYPE_E;
  99. typedef struct _MMIMMS_GROUP_LIST_FOR_SEND_T
  100. {
  101. uint8     group_id;
  102. uint8 maxnum;
  103. }MMIMMS_GROUP_LIST_FOR_SEND_T;
  104. /**--------------------------------------------------------------------------*
  105.  **                         FUNCTION DEFINITION                              *
  106.  **--------------------------------------------------------------------------*/
  107. /* ----------------------------------------------------------------------------
  108. * Function Name: MMIMMS_AppInit
  109. * Purpose: MMS初始化
  110. * Input:  void
  111. * Returns: void
  112. * Author:nihongf@mobilesoft.com.cn
  113. * ----------------------------------------------------------------------------*/ 
  114. PUBLIC void MMIMMS_AppInit(void);
  115. /*****************************************************************************/
  116. //  Description : 打开彩信主窗口
  117. //  Global resource dependence : 
  118. //  Author:Bill.Ji
  119. //  Note:
  120. /*****************************************************************************/
  121. PUBLIC void MMIMMS_OpenMainWindow(void);
  122. /* ----------------------------------------------------------------------------
  123. * Function Name: MMIMMS_PushRecvSms
  124. * Purpose: parsed sms data
  125. * Input:  void
  126. * Returns: void
  127. * Author:nihongf@mobilesoft.com.cn
  128. * ----------------------------------------------------------------------------*/
  129. PUBLIC uint8 MMIMMS_PushRecvSms(APP_MMS_USER_DATA_T *sms_ptr);
  130. /*****************************************************************************/
  131. //  Description : give sms module to answer mms
  132. // Global resource dependence : none
  133. //  Author: Bruce.Chi
  134. // Input : Send to name string
  135. // Note:
  136. /*****************************************************************************/
  137. PUBLIC BOOLEAN MMIMMS_AnswerMMS(
  138. uint8 send_to_name_len,
  139. uint8 *sen_to_name_ptr
  140. );
  141. /*****************************************************************************/
  142. //  Description : check whether mms reach max (piece or amout)
  143. // Global resource dependence : 
  144. //  Author: Bruce.Chi
  145. // Note: TRUE == FULL, FALSE == not full
  146. ///*****************************************************************************/
  147. PUBLIC BOOLEAN MMIMMS_IsMMSFull(void);
  148. /* ----------------------------------------------------------------------------
  149. * Function Name: MMIMMS_GetInboxUnreadMsgNum
  150. * Purpose:得到当前收件箱的PUSH数目
  151. * Input:  void
  152. * Returns: uint16
  153. * Author:nihongf@mobilesoft.com.cn
  154. * ----------------------------------------------------------------------------*/ 
  155. PUBLIC uint16 MMIMMS_GetInboxUnreadMsgNum(void);
  156. /* ----------------------------------------------------------------------------
  157. * Function Name: MMIMMS_IdleWinShowNewMMS
  158. * Purpose: IDLE界面显示新彩信
  159. * Input:  void
  160. * Returns: void
  161. * Author:nihongf@mobilesoft.com.cn
  162. * ----------------------------------------------------------------------------*/ 
  163. void MMIMMS_CheckMMSDownloadStatus(void);
  164. PUBLIC void MMIMMS_IdleWinShowNewMMS(void);
  165. /* ----------------------------------------------------------------------------
  166. * Function Name: MMIMMS_Apart_OpenMMSMailBox
  167. * Purpose: 
  168. * Input:  void
  169. * Returns: void
  170. * Author:nihongf@mobilesoft.com.cn
  171. * ----------------------------------------------------------------------------*/ 
  172. PUBLIC void MMIMMS_Apart_OpenMMSMailBox(MMIMSG_MAILBOX_TYPE_E mailbox_type);
  173. /* ----------------------------------------------------------------------------
  174. * Function Name: MMIMMS_NetLinkFailed
  175. * Purpose: 网络连接失败的处理
  176. * Input:  void
  177. * Returns: void
  178. * Author:nihongf@mobilesoft.com.cn
  179. * ----------------------------------------------------------------------------*/ 
  180. PUBLIC void MMIMMS_NetLinkFailed(void);
  181. /*****************************************************************************/
  182. //  Description : is play mms ring vibrator timer
  183. // Global resource dependence : 
  184. //  Author:wancan.you
  185. // Note: 
  186. /*****************************************************************************/
  187. PUBLIC BOOLEAN MMIMMS_IsHandleMMSVibratorTimer(uint8 timerid);
  188. /* ----------------------------------------------------------------------------
  189. * Function Name: MMIMMS_HandleReadOK
  190. * Purpose: 在虚拟窗口的处理函数中调用,处理读文件操作
  191. * Input:  MMI_MESSAGE_ID_E  msg_id, 
  192.   DPARAM param
  193. * Returns: void
  194. * Author:nihongf@mobilesoft.com.cn
  195. * ----------------------------------------------------------------------------*/ 
  196. PUBLIC void MMIMMS_HandleReadOK(MMI_MESSAGE_ID_E  msg_id, DPARAM param);
  197. /*****************************************************************************/
  198. //  Description : is allow audio alert window
  199. //  Global resource dependence : none
  200. //  Author: wancan.you
  201. //  Note: 
  202. /*****************************************************************************/
  203. PUBLIC BOOLEAN MMIMMS_IsAllowAudioAlertWin(void);
  204. /*****************************************************************************/
  205. //  Description : mms是否将mp3的播放挂起
  206. // Global resource dependence : none
  207. //  Author: aoke.hu
  208. // Note: 仅供Mp3模块调用
  209. /*****************************************************************************/
  210. PUBLIC BOOLEAN MMIMMS_IsSuspendMp3(void);
  211. /*****************************************************************************/
  212. //  Description : send image through mms
  213. // Global resource dependence : none
  214. //  Author: Bruce.Chi
  215. // Note:
  216. /*****************************************************************************/
  217. PUBLIC BOOLEAN MMIMMS_SendImage(
  218. ANIMATE_IMAGE_TYPE_E     img_type,
  219. uint32 img_buf_len,
  220. void *img_buf_ptr
  221. );
  222. /*****************************************************************************/
  223. //  Description : set the flag after UDisk is formatted
  224. // Global resource dependence : 
  225. //  Author: Bruce.Chi
  226. // Note:
  227. /*****************************************************************************/
  228. PUBLIC void MMIMMS_ResetAfterUDiskFormat(void);
  229. /**--------------------------------------------------------------------------*
  230.  **                         Compiler Flag                                    *
  231.  **--------------------------------------------------------------------------*/
  232. #ifdef   __cplusplus
  233.     }
  234. #endif
  235. #endif