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

C/C++

  1. /*****************************************************************************
  2. ** File Name:      mmimms_internal.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_INTERNAL_H_
  14. #define _MMI_MMS_INTERNAL_H_ 
  15. /**--------------------------------------------------------------------------*
  16.  **                         Include Files                                    *
  17.  **--------------------------------------------------------------------------*/
  18. #include "mmimms.h"
  19. #include "guianimate.h"
  20. #include "mmiwap.h"
  21. #include "mmisms_api.h"
  22. #include "guilistbox.h"
  23. #include "ffs.h"
  24. #include "Cms_MMSDoc.h"
  25. #include "Cms_MMSProvide.h"
  26. #include "Cms_WAPMain.h"
  27. #include "Mmi_appmsg.h"
  28. #include "Cms_MMSFilefunc.h"
  29. #include "mmimpeg4.h"
  30. #include "cms_sysfun.h" //added liangliu 2006-2-22
  31. #include "mmiaudio.h" //fnh add 0320 for play audio
  32. #include "mms_id.h"
  33. #include "mms_image.h"
  34. #include "mms_menutable.h"
  35.  /**--------------------------------------------------------------------------*
  36.  **                         Compiler Flag                                    *
  37.  **--------------------------------------------------------------------------*/
  38. #ifdef __cplusplus
  39.     extern   "C"
  40.     {
  41. #endif
  42. #define HAVE_MP3 //版本包含MP3
  43. //#define HAVE_AMR //版本支持AMR
  44. #define HAVE_MPEG4 //版本包含MPEG4
  45. /**--------------------------------------------------------------------------*
  46.  **                         MACRO DEFINITION                                 *
  47.  **--------------------------------------------------------------------------*/
  48. #define ONE_KILO 1000
  49. #define ONE_K_LEN 1024
  50. #define MMIMMS_MAX_ONE_MMS_SIZE (100 * ONE_K_LEN) //单条MMS最大size
  51. #define MMIMMS_MAX_TOTAL_MMS_SIZE (MMIMMS_MAX_MMS_NUM * MMIMMS_MAX_ONE_MMS_SIZE)//(2000 * ONE_KILO) //2000K
  52. #define MMIMMS_ADDRESS_TYPE_NUM 3 //地址类型个数
  53. #define MMIMMS_MAX_SLIDE 20 //每一条MMS最大的帧数
  54. #define MMIMMS_MAX_ADDRESS_NUM 60 //每一类目标地址的最大个数
  55. #define MMIMMS_MAX_ADDRESS_LEN 40 //每一条地址的最大长度
  56. #define MMIMMS_MAX_SUBJECTS_LEN 64 //每一条MMS主题的最大长度
  57. #define MMIMMS_MAX_TEXT_LEN 1000//160 //每一条MMS文字内容的最大长度,不要超过MAX_TXT_BUF_SIZE (t9.c)
  58. #define MMIMMS_MAX_FS_NAME_LEN 32 //每一条MMS文件名的最大长度暂定
  59. #define MMIMMS_ADDRESS_BTN_WIDTH 44 //添加地址按钮的宽度
  60. #define MMIMMS_SLIDE_DUARATION_MAX 600 //99 //最大slide duaration
  61. #define MMIMMS_SLIDE_DUARATION_MIN 1 //最小slide duaration
  62. #define MMIMMS_SLIDE_DUARATION_DEFAULT 15 //5 s
  63. #define MMIMMS_MAX_TRANSACTIONID_LEN 32 //transaction ID最大长度。
  64. #define MMIMMS_MAX_NOTIFICATION_URL_LEN 512 //彩信通知URL地址的长度。//暂定吧。这个挺关键的,一旦截断了,就没法下载了。
  65. #define MMIMMS_MAX_RECEIVE_MSG_ID_LEN 64 //这个是干什么的?
  66. #define MMS_SIZE_OF_MESSAGE (100*1024)  //定义一条MMS的大小
  67. #define MMS_SINGLE_SLIDE_SIZE 100
  68. #define EDITMMS_ADDITIONAL_SIZE (3 * 1024)
  69. //FNH ADD
  70. #define MMIMMS_PBNUM_MAX_LEN ( PHONEBOOK_MAX_DN_NUMBER_LEN << 1 )
  71. #define MMIMMS_NUMBER_MAX_BCD_LEN 10
  72. #define MMIMMS_NUMBER_MAX_LEN  20
  73. #define MMIMMS_DEST_ADDR_MAX_NUM 10
  74. //FNH ADD
  75. //liangliu added 
  76. #define MMIMMS_SETTING_WHETHER_NUM    2
  77. #define MMIMMS_MMSC_MAX_LEN MMS_MAX_CENTRE_ADDR_LENGTH/2
  78. #define MMIMMS_GATEWAY_MAX_LEN MMS_MAX_GATEWAY_LENGTH/2
  79. #define MMIMMS_PORT_MAX_LEN MMS_MAX_PORT_LENGTH/2
  80. #define MMIMMS_USERNAME_MAX_LEN MMS_MAX_USERNAME_LENGTH/2
  81. #define MMIMMS_PASSWORD_MAX_LEN MMS_MAX_PASSWORD_LENGTH/2
  82. #define MMIMMS_APN_MAX_LEN MMS_MAX_APN_LENGTH/2
  83. #define LISTMAXLENGTH                                   40        //added liangliu 2005-12-14
  84. #define MMS_MAX_NUM                                     100      //the max num of mms in total  added 2005-12-14
  85. //#define     MMIMMS_PROGRESS_BAR_LEFT        12//5
  86. //#define     MMIMMS_PROGRESS_BAR_TOP         180//144//40//121
  87. #define     MMIMMS_SCROLL_BAR_LEFT          12//5//6
  88. #define     MMIMMS_SCROLL_BAR_TOP           159//MMIMMS_PROGRESS_BAR_TOP
  89. #define     MMIMMS_SCROLL_BAR_RIGHT         (MMIMMS_SCROLL_BAR_LEFT+100)
  90. #define     MMIMMS_SCROLL_BAR_BOTTOM        (MMIMMS_SCROLL_BAR_TOP+20) //fnh modify 0323 
  91. #define     MMIMMS_SCROLL_BAR_COLOR         0x523900//0xFCC0
  92. #define MMIMMS_MAX_FILE_NAME_LEN   32  //from the wintable.c to 
  93. #define MMS_MAX_SIZE_OF_MULTIM (100*1024) //编辑彩信时限制的多媒体的大小
  94. #define MMIMMS_UNKNOWN_SENDER "<Unknown>"         //无收件人时彩信列表的显示内容
  95. #define MMIMMS_MMSC_DEFAULT_URL "http://mmsc.monternet.com/"
  96. #define MMIMMS_FS_ROOT_DIR "/MMS/" //mms directory in file system
  97. #define MMIMMS_FS_ROOT     "/"
  98. #define MMIMMS_MMS_DIR     "MMS"
  99. #define MMIMMS_MP3_DIR "MP3"
  100. #define MMIMMS_VIDEO_DIR               "VIDEO"//added by liangliu for save video 2005-11-29
  101. #define MMIMMS_DEFAULT_DIR_LEN  5
  102. //#define MMIMMS_FILE_NAME_PREFIX "mms_" //file name prefix
  103. //file name is from 1 to 100
  104. #define MMIMMS_FILE_NAME_SUBFIX ".mms"
  105. #define MMIMMS_FILE_WILDCARD "*.mms"
  106. #define MMIMMS_FILE_HEAD "MMS/mms_*"
  107. #define MMIMMS_FILE_ID_INVALID 0xFFFFL
  108. #define MMIMMS_NV_ID_INVALID 0xFFFFL
  109. #define FLAG_MMS_IS_MMS 0x80
  110. #define FLAG_MMS_NOTIFICATION 0x40
  111. #define FLAG_MMS_HAVE_DOWNLOADED 0x20
  112. #define FLAG_MMS_INBOX_NOT_READ 0x00
  113. #define FLAG_MMS_INBOX_HAVE_READ 0x02
  114. #define FLAG_MMS_OUTBOX 0x04
  115. #define FLAG_MMS_DRAFTBOX 0x05
  116. #define FLAG_MMS_SENTBOX 0x06
  117. #define FLAG_MMS_MOMT_STATE 0x07
  118. #define FLAG_MMS_CONTENT_IS_UCS2 0x08
  119. #define MMIMMS_INVALID_MMS_CONTENT_PDU_SIZE 3 //0x84A300
  120. #define MMS_LOCAL_TIME_ZONE 8 //时区
  121. #define MMS_100_YEARS 100
  122. //liangliu added
  123. #define MMS_MAX_INPUT_TEXT_SIZE 256 /* 彩信文本编辑输入最大长度 */
  124. #define MMS_MAX_TEXT_SIZE MMS_MAX_INPUT_TEXT_SIZE * 3 + 2 /* 彩信文本UNICODE数组(全局)最大长度 */
  125. #define MMS_MAX_INPUT_SUBJECT_SIZE 20 /* 彩信主题编辑输入最大长度 */
  126. #define MMS_MAX_UTF_SUBJECT_SIZE                MMS_MAX_INPUT_SUBJECT_SIZE*3+1  /* UNICODE(汉字)转为UTF8所需最大长度 */
  127. #define MMS_MAX_SUBJECT_SIZE MMS_MAX_INPUT_SUBJECT_SIZE*3+2 /* 彩信主题UNICODE数组(全局)最大长度 */
  128. #define MMS_MAX_INPUT_SEND_TO_SIZE 36 /* 编辑收件人输入的最大长度 */
  129. #define MMS_MAX_SEND_TO_SIZE MMS_MAX_INPUT_SEND_TO_SIZE * 2 + 2 /* 收件人UNICODE数组(全局)最大长度 */
  130. #define MMS_MAX_FILE_NAME_LENGTH 128 /* 彩信文件名最大长度 */
  131. #define MMS_MAX_ADDRESS_LENGTH 64 /* 收(发)件人地址(即号码)在文件管理摘要结构中最大长度 */
  132. #define MMS_MAX_DATE_LEN 32 /* 文件管理器信息日期最大长度 */
  133. #define MMS_MAX_DETAILS_LENGTH 5 * 128 /* 信息详情string长度 */
  134. #define MMS_MAX_MSGID_LENGTH 40 /* 信息详情string长度 */
  135. /*  image content type macros   */
  136. #define COMPOSER_IMAGE_GIF "image/gif"
  137. #define COMPOSER_IMAGE_JPEG "image/jpeg"
  138. #define COMPOSER_IMAGE_PNG "image/png"
  139. #define COMPOSER_IMAGE_WBMP "image/vnd.wap.wbmp"
  140. #define COMPOSER_IMAGE_BMP "image/bmp"
  141. /* audio content type macros  */
  142. #define COMPOSER_AUDIO_WAV "audio/wav"
  143. #define COMPOSER_AUDIO_IMELODY "audio/imelody"
  144. #define COMPOSER_AUDIO_MIDI "audio/midi"
  145. #define COMPOSER_AUDIO_AMR "audio/amr"
  146. #define COMPOSER_AUDIO_MP3 "audio/mp3"
  147. /*  video content type macros */
  148. #define COMPOSER_VIDEO_MPEG "video/mpeg"
  149. /**--------------------------------------------------------------------------*
  150.  **                         TYPE AND CONSTANT                                *
  151.  **--------------------------------------------------------------------------*/
  152. #ifndef FILE_HANDLE
  153. #define FILE_HANDLE int
  154. #endif
  155. typedef enum
  156. {
  157. SEND_MMS_NORMAL,
  158. SEND_MMS_FROM_CAIKE,
  159. SEND_MMS_INVALID
  160. }MMIMMS_MMS_OR_CAIKE;
  161. //FNH ADD 发送当前彩信(新彩信OR发件箱中的彩信)
  162. typedef enum
  163. {
  164. INBOX,
  165. SENTBOX,
  166. OUTBOX,
  167. DRAFTBOX,
  168. ALL_BOX
  169. }MMIMMS_OPTION_BOX;
  170. //FNH ADD 发送当前彩信(新彩信OR发件箱中的彩信)
  171. typedef enum
  172. {
  173. SEND_NEW_MMS,
  174. SEND_OUTBOX_MMS
  175. }MMIMMS_SEND_MMS_STATUS;
  176. typedef enum
  177. {
  178. DOWNLOAD_RESULT_SUCCEED,
  179. DOWNLOAD_RESULT_FAIL,
  180. DOWNLOAD_RESULT_MMS_TOO_BIG
  181. }MMIMMS_DOWNLOAD_RESULT;
  182. /* 显示矩形区域结构  */   /*record display position */
  183. typedef struct T_Composer_Rectangle_tag{
  184. T_WORD x; /*x start coordinate of screen*/
  185. T_WORD y;   /*y start coordinate of screen*/
  186. T_WORD width; /*width of display position*/
  187. T_WORD height; /*height of display postion*/
  188. }T_Composer_Rectangle;
  189. /*插入图片的资源信息*/
  190. typedef struct T_Composer_Image{
  191. T_UBYTE* ImgBuf; /*image data*/
  192. T_CHAR*  Type; /*image type*/
  193. T_WORD begin; /*begin time of image display*/
  194. T_WORD end; /*end time of image display*/
  195. T_WORD size; /*size of image data*/
  196. T_Composer_Rectangle region;  /* image's region   */
  197. }T_Composer_Image;
  198. /*插入文本的资源信息*/
  199. typedef struct T_Composer_Text{
  200. T_UBYTE* TxtBuf;  /*text data*/
  201. T_WORD begin; /*begin time of text show*/
  202. T_WORD end; /*end time of text show*/
  203. T_WORD size; /* the size of the text content */
  204. T_Composer_Rectangle region;  /* text's region  */
  205. }T_Composer_Text;
  206. /*插入声音资源信息*/
  207. typedef struct T_Composer_Audio{
  208. T_UBYTE* AudBuf; /*audio data buffer*/
  209. T_CHAR *Type; /* audio type  */
  210. T_WORD begin; /*begin time of audio play*/
  211. T_WORD end; /*end time of audio play*/
  212. T_WORD size; /*size of audio data*/
  213. }T_Composer_Audio;
  214. /*插入声音资源信息*/
  215. typedef struct T_Composer_Video{
  216. T_UBYTE* VidBuf; /*video data buffer*/
  217. MMIMPEG4_TYPE_E Type; /* video type  */
  218. T_WORD begin; /*begin time of video play*/
  219. T_WORD end; /*end time of video play*/
  220. T_WORD size; /*size of video data*/
  221. T_Composer_Rectangle region;  /* video's region  */
  222. }T_Composer_Video;
  223. typedef enum
  224. {
  225. MMSRE,
  226. MMSFW,
  227. MMSEDIT,
  228. MMSREAD
  229. }MMSSTATE;
  230. typedef enum
  231. {
  232.     MMIMMS_RESULT_SUCCESS, //函数调用成功
  233. MMIMMS_RESULT_ERROR //函数调用错误
  234. }MMIMMS_RESULT_E; //函数的返回结果
  235. typedef enum //give specific number to differ MMIMMS_TYPE and MMIMMS_MAILBOX_TYPE
  236. {
  237. MMIMMS_MO = 8, //发送
  238. MMIMMS_MT = 9, //接收
  239. MMIMMS_MNOTI = 10, //彩信通知
  240. MMIMMS_TOTAL = 11
  241. }MMIMMS_TYPE;
  242. typedef struct
  243. {
  244. uint32 type; //MMIMMS_TYPE
  245. uint32 head_size; //sizeof(STRUCTURE)
  246. uint32 body_size; //body size
  247. BOOLEAN Delivery_Report; // 是否需要传送报告标志 
  248. BOOLEAN Read_Reply; //是否需要阅读报告标志 
  249. BOOLEAN Sender_Visibility; // 是否匿名发送标志 
  250. int8 Transaction_Id[MMIMMS_MAX_TRANSACTIONID_LEN + 1]; //事务ID,由本地产生的随机序列 
  251. int8 To[MMIMMS_MAX_ADDRESS_NUM * MMIMMS_MAX_ADDRESS_LEN + 1]; //TO接收者,多个用‘;’隔开 
  252. //int8 Cc[MMIMMS_MAX_ADDRESS_LEN]; //抄送者,多个用‘;’隔开
  253. //int8 Bcc[MMIMMS_MAX_ADDRESS_LEN]; //密送者,多个用‘;’隔开
  254. int8 Subject[MMIMMS_MAX_SUBJECTS_LEN + 1]; //主题
  255. T_WORD MMS_Priority;
  256. T_WORD MMS_Expiry;  //expiry time,default use Relative-token value 
  257. T_WORD MMS_Delivery_Time; //Delivery time,default use Relative-token value  
  258. T_WORD ContentTypeAndBody_Len; //彩信数据长度  
  259. uint8 *ContentTypeAndBody; //彩信数据 
  260. }MMIMMS_FS_Send_T;
  261. typedef struct{
  262. uint32 type; //MMIMMS_TYPE
  263. uint32 head_size; //sizeof(STRUCTRUE)
  264. uint32 body_size;
  265. BOOLEAN Delivery_Report; //是否需要传送报告标志 
  266. BOOLEAN Read_Reply; //是否需要阅读报告标志 
  267. uint8 Message_Class; //消息类型 
  268. uint8 MMS_Prioity; //优先级 
  269. //uint8 Boundary[2];    //字节对齐 补充位 //先不考虑对齐。
  270. // uint8 flag; //标志已读未读
  271. T_WORD Date; //彩信的发送时间  
  272. int8 Transaction_Id[MMIMMS_MAX_TRANSACTIONID_LEN + 1]; //事务id 
  273. int8 Message_Id[MMIMMS_MAX_RECEIVE_MSG_ID_LEN + 1]; //消息ID 
  274. int8 From[MMIMMS_MAX_ADDRESS_NUM *MMIMMS_MAX_ADDRESS_LEN + 1]; //发送者 
  275. int8 To[MMIMMS_MAX_ADDRESS_LEN * MMIMMS_MAX_ADDRESS_NUM + 1]; //接收者 
  276. int8 Cc[MMIMMS_MAX_ADDRESS_LEN * MMIMMS_MAX_ADDRESS_NUM + 1]; //抄送者  
  277. int8 Subject[MMIMMS_MAX_SUBJECTS_LEN + 1]; //主题 
  278. T_WORD Content_Size; //彩信数据大小 
  279. uint8 *ContentTypeAndBody; //彩信数据指针 
  280. }MMIMMS_FS_Receive_T;
  281. typedef struct{
  282. uint32 type; //MMIMMS_TYPE
  283. uint32 head_size; //sizeof(STRUCTURE)
  284. uint32 body_size;
  285. uint8 Message_Class; //消息类型 
  286. uint8 MMS_Expiry_TimeType; //过期时间类型,相对,绝对 
  287. T_WORD Message_Size; //彩信大小  
  288. T_WORD MMS_Expiry; //过期时间 
  289. int8 Transaction_Id[MMIMMS_MAX_TRANSACTIONID_LEN + 1]; //事务ID 
  290. int8 From[MMIMMS_MAX_ADDRESS_NUM * MMIMMS_MAX_ADDRESS_LEN + 1]; //发送者 
  291. int8 Subject[MMIMMS_MAX_SUBJECTS_LEN + 1]; //主题 
  292. int8 Content_Location[MMIMMS_MAX_NOTIFICATION_URL_LEN + 1]; //彩信存放的URL地址  
  293. }MMIMMS_FS_Notification_T;
  294. typedef enum
  295. { //lparam: wparam param_ptr:
  296. MULTIM_IMAGE, //image type image buf len pointer to image buf
  297. MTMMS_FORWARD, //index of MMS 0 0
  298. MOMMS_FORWARD, //index of mms 0 0
  299. MOMMS_REEDIT, //index of mms 0 0
  300. NEW_MMS, //0 0 0
  301. SMS_ANSWER_MMS, //len 0 number buffer
  302. MMS_ANSWER_MMS //index of mms 0 0
  303. }MMS_EDIT_SRC_TYPE;
  304. typedef enum
  305. {
  306. MMIMMS_AUTODOWNLOAD_ON,
  307. MMIMMS_AUTODOWNLOAD_OFF,
  308. MMIMMS_AUTODOWNLOAD_TOTAL
  309. }MMIMMS_SETTING_AUTODOWNLOAD;
  310. typedef enum
  311. {
  312. MMIMMS_PRIORITY_LOW,
  313. MMIMMS_PRIORITY_MIDDLE,
  314. MMIMMS_PRIORITY_HIGH,
  315. MMIMMS_PRIORITY_TOTAL
  316. }MMIMMS_SETTING_PRIORITY;
  317. typedef enum
  318. {
  319. MMIMMS_VALID_PERIOD_1_HOUR,
  320. MMIMMS_VALID_PERIOD_6_HOUR,
  321. MMIMMS_VALID_PERIOD_24_HOUR,
  322. MMIMMS_VALID_PERIOD_72_HOUR,
  323. MMIMMS_VALID_PERIOD_1_WEEK,
  324. MMIMMS_VALID_PERIOD_LONGEST,
  325. MMIMMS_VALID_PERIOD_TOTAL
  326. }MMIMMS_SETTING_VALID_PERIOD;
  327. typedef struct 
  328. {
  329. MMI_STRING_T subject; //1.subject string
  330. //max is : MMIMMS_MAX_SUBJECTS_LEN
  331. uint8 *receiver_ptr; //2.receiver string, only ASCII string is allowed. its length is strlen();
  332. //max length is : MMIMMS_MAX_ADDRESS_LEN
  333. MMI_STRING_T content; //3.MMS content. if larger than MMIMMS_MAX_TEXT_LEN, I will cut it
  334. //max length is : MMIMMS_MAX_TEXT_LEN
  335. uint8 *image_ptr; //4.image buffer.
  336. uint16 image_size; //max is : MMIMMS_MAX_ONE_MMS_SIZE
  337. MMIMULTIM_PICTURE_TYPE_E image_type;
  338. }MMIMMS_CAIKE_ITEM_T;
  339. typedef enum
  340. {
  341. MMIMMS_EDIT_PREVIEW_FROM_MMS,
  342. MMIMMS_EDIT_PREVIEW_FROM_CAIKE
  343. }MMIMMS_EDIT_PREVIEW_FROM;
  344. /*设置定时发送结构*/
  345. typedef struct TAG_MMS_SEND_ONTIME
  346. {
  347. uint16 year;
  348. uint8  month;
  349. uint8 day;
  350. uint8 hour;
  351. uint8 minute;
  352. }MMS_SEND_ONTIME_TIME;
  353. //fnh add end
  354. typedef struct 
  355. {
  356.     uint16   length;
  357.     BOOLEAN  is_ucs2;
  358.     uint8    str_arr[MMIMMS_MAX_ADDRESS_LEN];
  359. }TO_STRING_T;
  360. typedef struct 
  361. {
  362. uint32 total_num;
  363. TO_STRING_T *addr;
  364. // uint8  *address[MMIMMS_MAX_ADDRESS_NUM];//content should be malloc.less than MMIMMS_MAX_ADDRESS_LEN
  365. }To_Addr;
  366. typedef struct
  367. {
  368. // T_BOOL  Delivery_Report;
  369. // T_BOOL  Read_Reply;
  370. // T_BOOL  Sender_Visibility;
  371. // T_BYTE *Transaction_Id;
  372. To_Addr to;
  373. To_Addr cc;
  374. To_Addr bcc;
  375. // MMI_STRING_T Cc;
  376. // MMI_STRING_T *Bcc;
  377. MMI_STRING_T subject;
  378. MMI_STRING_T content_text;
  379. // T_WORD  MMS_Expiry; /* expiry time,default use Relative-token value */
  380. // T_WORD  MMS_Delivery_Time; /*Delivery time,default use Relative-token value  */
  381. // T_WORD ContentTypeAndBody_Len;
  382. // T_UBYTE *ContentTypeAndBody;
  383. }MMIMMS_MEM_STORE_T;
  384. typedef enum //give specific number to differ MMIMMS_TYPE and MMIMMS_MAILBOX_TYPE
  385. {
  386. MMIMMS_INBOX = 0, //接收的
  387. MMIMMS_SENTBOX = 1, //发送成功的
  388. MMIMMS_OUTBOX = 2, //发送,但是失败的
  389. MMIMMS_DRAFTBOX = 3, //编辑了,但是没发送的
  390. MMIMMS_NOTIFICATION = 4, //彩信通知
  391. MMIMMS_MAILBOX_TOTAL = 5
  392. }MMIMMS_MAILBOX_TYPE;
  393. //liangl  added 2005-10-7 for spread
  394. typedef enum 
  395. {
  396. MMS_MSG_STATE_UNRECEIVED = 0, /* unreceive */ 
  397. MMS_MSG_STATE_UNREAD, /* unread*/
  398. MMS_MSG_STATE_READ, /*read*/
  399. MMS_MSG_STATE_UNSEND, /*unsend*/
  400. MMS_MSG_STATE_SENDFAILED, /*send failed*/
  401. MMS_MSG_STATE_SENDED /*sended*/
  402. }MMIMMS_MSG_STATE;
  403. typedef enum _MMS_FOLDER_STATE
  404. {
  405.        MMS_FOLDER_TYPE_NULL,
  406. MMS_FOLDER_TYPE_INBOX,
  407. MMS_FOLDER_TYPE_SENTBOX,
  408. MMS_FOLDER_TYPE_OUTBOX,
  409. MMS_FOLDER_TYPE_DRAFTBOX
  410. }MMIMMS_FOLDER_STATE;
  411. typedef struct tagMessagelist MESSAGELIST;
  412. typedef  MESSAGELIST *pMessageList;
  413. struct tagMessagelist
  414. {
  415. uint8 * filename;
  416. uint8 * subject;
  417. uint8 * date;
  418. uint8 * to_address;
  419. uint8 *                 cc_address;
  420. uint8 *                 bcc_address;
  421. uint8 *       sender;
  422. uint8 *                 url;
  423. uint8 *                 msg_id;
  424. uint32                  pritority;
  425. uint32                  needreadrpt;
  426. uint32 needautodw; //记录时候需要自动下载。0:不自动下载,1:自动下载第一次,2:自动下载第二次
  427. uint32                   state;
  428. uint32                   size;
  429. uint32  expiry;
  430. pMessageList next;
  431. };
  432. typedef struct tagMessageFolder MESSAGEFOLDER;
  433. typedef  MESSAGEFOLDER *pMessageFolder;
  434. struct tagMessageFolder
  435. {
  436. uint32 messagenumber;
  437. uint32 unsettlednumber;
  438. uint32                          type;
  439. pMessageList         currentmessage;
  440. pMessageList         root;
  441. };
  442. /*-----------------------------------------------------------
  443. 按照现在展讯对于自动接收的要求,由于重新开机
  444. 不需要下载原来处于自动接收的彩信了,对于
  445. 这个信息不需要记录保存用于开机,因此为了
  446. 尽量不修改原先正常的代码,重新创建一个结构链用于
  447. 记录需要自动下载的彩信条目,注意的是释放这个结
  448. 构的时候,不能释放内部所在的list,因为这里只是指针
  449. 指向,不对于整个结构有影响
  450. liang.liu@palmsource.com 
  451. 2006-4-27
  452. ------------------------------------------------------------*/
  453. typedef struct tagautoDownloadMMSList autoDownloadMMSList;
  454. typedef autoDownloadMMSList * pAutoDownloadMMSList;
  455. struct tagautoDownloadMMSList
  456. {
  457. pMessageList  autolist;
  458. pAutoDownloadMMSList next;
  459. };
  460. /* struct define: CmsMMSDocument
  461.  *  CmsMMSDocument describe a mms pdu
  462.  */
  463. typedef struct _ManagerDocument
  464. {
  465. pMessageFolder currentfolder;
  466. pMessageFolder inboxfolder;
  467. pMessageFolder outboxfolder;
  468. pMessageFolder     sentfolder;
  469. pMessageFolder draftfolder;
  470. }ManagerDocument;
  471. typedef ManagerDocument *P_ManagerDocument;
  472. //liangliu added 2005-11-15 for mms setting 
  473. typedef enum
  474. {
  475.        MMS_MSG_SAVEFILE_FOR_NULL,
  476. MMS_MSG_SAVEFILE_FOR_NOTIFY, 
  477.        MMS_MSG_SAVEFILE_FOR_INBOX_DELETE,
  478. MMS_MSG_SAVEFILE_FOR_OUTBOX_DELETE,
  479. MMS_MSG_SAVEFILE_FOR_SENTBOX_DELETE,
  480. MMS_MSG_SAVEFILE_FOR_DRAFTBOX_DELETE,
  481. MMS_MSG_SAVEFILE_FOR_SEND,
  482. MMS_MSG_SAVEFILE_FOR_RECV
  483. }MMIMMS_SAVEMANAGERFILE_STATE;
  484. typedef enum
  485. {
  486.        MMS_MSG_SAVEMMS_FOR_NULL,
  487.        MMS_MSG_SAVEMMS_FOR_RECV,
  488. MMS_MSG_SAVEMMS_FOR_SEND_SUCCESS,
  489. MMS_MSG_SAVEMMS_FOR_SEND_FAILED,
  490. MMS_MSG_SAVEMMS_FOR_DRAFTSAVE
  491. }MMIMMS_SAVEMAMMS_STATE;
  492. typedef enum
  493. {
  494.        MMS_MSG_NETUSING_NULL,
  495.        MMS_MSG_NETUSING_STEP1,
  496. MMS_MSG_NETUSING_STEP2,
  497. MMS_MSG_NETUSING_STEP3,
  498. MMS_MSG_NETUSING_STEP4
  499. }MMIMMS_NETUSING_STATE;
  500. typedef enum
  501. {
  502.        MMS_MSG_INBOX_READ_FOR_NULL,
  503. MMS_MSG_INBOX_READ_FOR_PLAY,
  504. MMS_MSG_INBOX_READ_FOR_FW,
  505. MMS_MSG_INBOX_READ_FOR_SAVEPIC,
  506. MMS_MSG_INBOX_READ_FOR_SAVESOUND,
  507. MMS_MSG_INBOX_READ_FOR_SAVEVIDEO,
  508. MMS_MSG_OUTBOX_READ_FOR_SEND,
  509. MMS_MSG_OUTBOX_READ_FOR_PLAY,
  510. MMS_MSG_OUTBOX_READ_FOR_EDIT,
  511. MMS_MSG_SENTBOX_READ_FOR_PLAY,
  512. MMS_MSG_SENTBOX_READ_FOR_FW,
  513. MMS_MSG_DRAFTBOX_READ_FOR_EDIT
  514. }MMIMMS_READ_STATE_CHANGED;
  515. typedef enum
  516. {
  517. MMS_MSG_READ_SIGN_NULL,
  518. MMS_MSG_READ_SIGN_FOR_SET,
  519. MMS_MSG_READ_SIGN_FOR_EDIT,
  520. MMS_MSG_READ_SIGN_FOR_ANSWER_MMS
  521. }MMIMMS_READ_STATE_SIGN;
  522. typedef enum
  523. {
  524. MMS_MSG_SETTINGS_OFF,
  525. MMS_MSG_SETTINGS_ON,
  526. NUM_MMS_MSG_SETTINGS_ONOFF
  527. }MESSAGES_MMS_MSG_SETTINGS_ONOFF;
  528. typedef enum
  529. {
  530. MMS_MSG_SETTINGS_RETRIEVE_MANUAL,
  531. MMS_MSG_SETTINGS_RETRIEVE_AUTO,
  532. NUM_MMS_MSG_SETTINGS_RETRIEVE
  533. }MESSAGES_MMS_MSG_SETTINGS_RETRIEVE;
  534. typedef enum
  535. {
  536. MMS_MSG_SETTINGS_PRIORITY_HIGH,
  537. MMS_MSG_SETTINGS_PRIORITY_NORMAL,
  538. MMS_MSG_SETTINGS_PRIORITY_LOW,
  539. NUM_MMS_MSG_SETTINGS_PRIORITY
  540. }MESSAGES_MMS_MSG_SETTINGS_PRIORITY;
  541. typedef enum
  542. {
  543. MMS_MSG_VALID_PERIOD_12_HOUR,
  544. MMS_MSG_VALID_PERIOD_1_DAY,
  545. MMS_MSG_VALID_PERIOD_1_WEEK,
  546. MMS_MSG_VALID_PERIOD_LONGEST,
  547. MMS_MSG_VALID_PERIOD_TOTAL
  548. }MESSAGES_MMS_SETTING_VALID_PERIOD;
  549. //add end
  550. typedef enum
  551. {
  552. MMIMMS_IMP_SBJ_ADD_NONE, //对subject不添加其他字符串
  553. MMIMMS_IMP_SBJ_RE, //"Re:" + former subject
  554. MMIMMS_IMP_SBJ_FORWARD //"Fwd:" + former subject
  555. }IMPORT_SUBJECT_TYPE_E;
  556. typedef struct 
  557. {
  558. uint32 index; //index should change with value
  559. uint32 value; //sort by value
  560. }Sort_T;
  561. typedef enum
  562. {
  563. MMS_SAVE_INBOX, //保存彩信到收件箱
  564. MMS_SAVE_INBOX_PUSH //保存PUSH到收件箱
  565. }MMS_SAVE_INBOX_STATUS ; //保存彩信到收件箱时的状态
  566. typedef enum
  567. {
  568. SAVE_MMS_TO_INBOX,
  569. SAVE_MMS_TO_OUTBOX,
  570. SAVE_MMS_TO_SENTBOX,
  571. SAVE_MMS_TO_DRAFTBOX,
  572. SAVE_MMS_TO_DEFAULT
  573. }SAVE_MMS_STATUS; //保存彩信到指定的信箱
  574. typedef struct 
  575. {
  576. uint16 cur_group;
  577. uint16 total_group_num;
  578. }GSEND_GROUP_NUMBER;
  579. typedef enum
  580. {
  581. MMIMMS_SEND_MMS,
  582. MMIMMS_DOWNLOAD_MMS,
  583. MMIMMS_SEND_NTFRESPONSE,
  584. MMIMMS_SEND_ACK
  585. }MMIMMS_WAP_TRANSACTION_E;
  586. typedef enum
  587. {
  588. SENDING_LEAVE,
  589. SENDING_SENDING,
  590. SENDING_SEND_SUCCESS,
  591. SENDING_SEND_FAILED,
  592. SENDING_SAVE_SENTBOX_SUCESS,
  593. SENDING_SAVE_SENTBOX_FAIL,
  594. SENDING_SAVE_SENTBOX_NOT_ENOUGH_SPACE,
  595. SENDING_SAVE_OUTBOX_SUCCESS,
  596. SENDING_SAVE_OUTBOX_FAIL,
  597. SENDING_SAVE_OUTBOX_NOT_ENOUGH_SPACE,
  598. SENDING_CANCEL,
  599. SENDING_FINISH
  600. }MMIMMS_SENDING_STATUS_E;
  601. typedef enum
  602. {
  603. DOWNLOADING_LEAVE,
  604. DOWNLOADING_RECEIVE_NTF,
  605. DOWNLOADING_SAVENTF_SUCCESS,
  606. DOWNLOADING_SAVENTF_FAIL,
  607. DOWNLOADING_DOWNLOAD,
  608. DOWNLOADING_DOWNLOAD_SUCCESS,
  609. DOWNLOADING_DOWNLOAD_FAIL,
  610. DOWNLOADING_DOWNLOAD_MMS_TOO_BIG,
  611. DOWNLOADING_SEND_NTF_RESPONSE,
  612. DOWNLOADING_SEND_NTF_RESPONSE_RETURN,
  613. DOWNLOADING_SEND_ACK,
  614. DOWNLOADING_SEND_ACK_RETURN,
  615. DOWNLOADING_SAVE_SUCCESS,
  616. DOWNLOADING_SAVE_FAILED,
  617. DOWNLOADING_SAVE_NOT_ENOUGH_SPACE,
  618. DOWNLOADING_CHECK_STATUS, //check whether we have another mms notification
  619. DOWNLOADING_FINISH
  620. }MMIMMS_DOWNLOADING_STATUS_E;
  621. typedef enum
  622. {
  623. SAVEFS_NOT_ENOUGH_SPACE = 0,
  624. SAVEFS_WRITE_FAIL = 1,
  625. SAVEFS_WRITE_SUCCEED = 2,
  626. SAVEFS_WRITE_PANDING = 3,
  627. SAVEFS_WIRTE_INVALID
  628. }SAVEFS_WRITE_RESULT;
  629. typedef enum
  630. {
  631. SAVEFS_READ_SUCCEED = 4,
  632. SAVEFS_READ_FAIL = 5
  633. }SAVEFS_READ_RESULT;
  634. typedef enum
  635. {
  636. SAVEFS_DELETE_SUCCEED = 7,
  637. SAVEFS_DELETE_FAIL = 8
  638. }SAVEFS_DELETE_RESULT;
  639. typedef struct  
  640. {
  641. HEFS hefs; //EFS_Close
  642. MMIMMS_NV_ID_T nv_id; //save in nv
  643. MMIMMS_FILE_ID_T file_id; //save in nv
  644. SAVEFS_WRITE_RESULT write_result; //response of EFS task
  645. uint8 *buf_ptr; //to free it
  646. uint32 buf_size; //to save in nv
  647. BOOLEAN is_new_mms; //to to judge new mms or update old mms
  648. }FFS_OVERLAPPED_RESULT_T;
  649. #define MMS_GROUP_NAME_LEN 25
  650. typedef struct tag_MMS_GROUP
  651. {
  652.     BOOLEAN is_ucs2;                     // 字符串的编码类型
  653.     uint8   groupname_len;                   // alpha数组的BYTE个数
  654. uint8 groupname[MMIPB_NAME_MAX_LEN];
  655. uint16 groupcount ;
  656. p_MMS_RECEPIENT cur_group;
  657. }MMS_GROUP;
  658. typedef MMS_GROUP* p_MMS_GROUP;
  659. typedef struct  
  660. {
  661. HEFS hefs; //EFS_Close
  662. //MMI_WINDOW_ID_E win_id; //pass to EFS_OVERLAPPED_RESULT_T, to MMK_PostMsg
  663. SAVEFS_READ_RESULT read_result; //response of EFS task
  664. uint32 buf_size; //to save in nv
  665. uint8 *buf_ptr; //to free it
  666. }FFS_READFILE_RESULT_T;
  667. typedef struct  
  668. {
  669. HEFS hefs; //EFS_Close
  670. FILE_DEV_E_T        dev_type;
  671. //MMI_WINDOW_ID_E win_id; //pass to EFS_OVERLAPPED_RESULT_T, to MMK_PostMsg
  672. SAVEFS_WRITE_RESULT write_result; //response of EFS task
  673. uint32 buf_size; //to save in nv
  674. uint8 *buf_ptr; //to free it
  675. }FFS_SAVEFILE_RESULT_T;
  676. typedef struct  
  677. {
  678. uint32 len;
  679. uint8 *buf_ptr;
  680. }UTF8_T;
  681. /**--------------------------------------------------------------------------*
  682.  **                         FUNCTION DEFINITION                              *
  683.  **--------------------------------------------------------------------------*/
  684. /* ----------------------------------------------------------------------------
  685. * Function Name: CmsMmsParseRecepient
  686. * Purpose: 将得到的字符串解析生成地址链表
  687. * Input:  __head: 地址链表指针
  688.   str: 字符串
  689. * Returns: void
  690. * Author:nihongf@mobilesoft.com.cn
  691. * ----------------------------------------------------------------------------*/ 
  692. void CmsMmsParseRecepient(p_MMS_RECEPIENT __head, char *str);
  693. /* ----------------------------------------------------------------------------
  694. * Function Name: mmicms_replymmsforsms
  695. * Purpose: 电话本和短信回复彩信
  696. * Input:  telenum:电话号码
  697. * Returns: void
  698. * Author:nihongf@mobilesoft.com.cn
  699. * ----------------------------------------------------------------------------*/ 
  700. void mmicms_replymmsforsms(char *telenum);
  701. /* ----------------------------------------------------------------------------
  702. * Function Name: MMIMMS_WriteNewMMS
  703. * Purpose: 编辑新彩信
  704. * Input:  void
  705. * Returns: void
  706. * Author:nihongf@mobilesoft.com.cn
  707. * ----------------------------------------------------------------------------*/ 
  708. BOOLEAN MMIMMS_WriteNewMMS(void);
  709. /*****************************************************************************/
  710. //  Description : get display string in message box list
  711. // Global resource dependence : 
  712. //  Author: Bruce.Chi
  713. // Note: for sms
  714. ///*****************************************************************************/
  715. void MMIMMS_GetDispContentInList(
  716. uint8 *disp_content_ptr, //in
  717. uint8 length, //in
  718. BOOLEAN is_ucs2, //in
  719. uint8 status, //in, not used now.
  720. MMI_STRING_T *out_string_ptr //out. and the memory is allocated by outer, Length should be larger than MMIMESSAGE_DIAPLAY_LEN(12 now)
  721. );
  722. /*****************************************************************************/
  723. //  Description : save caike
  724. // Global resource dependence : 
  725. //  Author:Bruce.Chi
  726. // Note: 
  727. /*****************************************************************************/
  728. BOOLEAN MMIMMS_CaiKeSave(MMIMMS_CAIKE_ITEM_T *caike_item_ptr);
  729. /*****************************************************************************/
  730. //  Description : preview caike
  731. // Global resource dependence : 
  732. //  Author:Bruce.Chi
  733. // Note: 
  734. /*****************************************************************************/
  735. BOOLEAN MMIMMS_CaiKePreview(MMIMMS_CAIKE_ITEM_T *caike_item_ptr);
  736. /*****************************************************************************/
  737. //  Description : send and save caike
  738. // Global resource dependence : 
  739. //  Author:Bruce.Chi
  740. // Note: now, it is the save with send
  741. /*****************************************************************************/
  742. BOOLEAN MMIMMS_CaiKeSendAndSave(MMIMMS_CAIKE_ITEM_T *caike_item_ptr);
  743. /* ----------------------------------------------------------------------------
  744. * Function Name: MMIMMS_OptionSubject
  745. * Purpose: 在subject前添加RE或FW
  746. * Input:  mms状态(转发或回复)
  747. * Returns: 空,输出的字符串是从第二个字符开始的
  748. * Author:nihongf@mobilesoft.com.cn
  749. * ----------------------------------------------------------------------------*/ 
  750. void MMIMMS_OptionSubject(MMSSTATE mmsstate);
  751. /*****************************************************************************/
  752. //  Description : 得到一条MMS可以插入Image的最大空间
  753. // Global resource dependence : 
  754. //  Author: Great.Tian
  755. // Note:
  756. /*****************************************************************************/
  757. uint32 MMIMMS_GetInsertMaxSize(
  758.     void
  759.     );
  760. /**************************************************************
  761.  * FUNCTION: fnMMS_SaveMmsPushMessage
  762.  *
  763.  * PURPOST: Save push message come from sms,the push message may
  764.  * be mms notification or delivery/read report,when receive
  765.  *          these information,agent must do some thing to indicate it
  766.  *          to the user.
  767.  * PARAMETER
  768.  *  InPut :  
  769.  * unsigned char *pData -- push information's data content.
  770.  * unsigned int Length -- the length of the notify data .
  771.  * OutPut: none
  772.  *
  773.  * InOut : none
  774.  *
  775.  * Return Value: if success return 1 ,else return 0. 
  776.  *
  777.  * Reentrant: none
  778.  **************************************************************/
  779. T_BOOL  fnMMS_SaveMmsPushMessage(unsigned char *pData,unsigned int Length);
  780. void EditboxStringToGlobalVariable(MMI_CTRL_ID_T ctrl_id);
  781. /*****************************************************************************/
  782. //  Description : Get mail box message number.
  783. // Global resource dependence : none
  784. //  Author: Bruce.Chi
  785. // Input: mms type
  786. // Output: number of specific mms type
  787. // Note:
  788. /*****************************************************************************/
  789. uint16 MMIMMS_GetMailboxMsgNum(MMIMSG_MAILBOX_TYPE_E mms_type);
  790. /* ----------------------------------------------------------------------------
  791. * Function Name: MMIMMS_get_port
  792. * Purpose: 得到当前的网关和端口号
  793. * Input:  curgatway: 当前的网关
  794.   curport: 当前的端口号
  795. * Returns: void
  796. * Author:nihongf@mobilesoft.com.cn
  797. * ----------------------------------------------------------------------------*/ 
  798. void MMIMMS_get_port(char **curgatway,unsigned short *curport);
  799. /* ----------------------------------------------------------------------------
  800. * Function Name: MMIMMS_SaveDownloadVideo
  801. * Purpose:保存彩信内容中的视频
  802. * Input:  video_data_ptr:视频数据指针
  803.   memory_size:视频大小
  804.   image_type:视频类型
  805. * Returns: void
  806. * Author:nihongf@mobilesoft.com.cn
  807. * ----------------------------------------------------------------------------*/ 
  808. void MMIMMS_SaveDownloadVideo(
  809.                                uint8                *video_data_ptr, 
  810.                                uint32               memory_size,   
  811.                                uint32 image_type,
  812.    MMIMULTIM_SAVE_FILE_CALLBACK_PFUNC callback_func
  813.                                );
  814. /* ----------------------------------------------------------------------------
  815. * Function Name: MMIMMS_SaveDownloadmp3
  816. * Purpose:保存彩信内容中的MP3
  817. * Input:  mp3_data_ptr:MP3数据指针
  818.   memory_size:MP3大小
  819.   mp3_type:MP3频类型
  820. * Returns: void
  821. * Author:nihongf@mobilesoft.com.cn
  822. * ----------------------------------------------------------------------------*/ 
  823. void MMIMMS_SaveDownloadmp3(
  824.                                uint8                *mp3_data_ptr,  //in:
  825.                                uint32               memory_size,    //in:
  826.                                uint32 mp3_type,
  827.    MMIMULTIM_SAVE_FILE_CALLBACK_PFUNC callback_func
  828.                                );
  829. /* ----------------------------------------------------------------------------
  830. * Function Name: MMIMMS_PlayMMSSound
  831. * Purpose: 播放声音(这里的声音是信息提示音)
  832. * Input:  void
  833. * Returns: void
  834. * Author:nihongf@mobilesoft.com.cn
  835. * ----------------------------------------------------------------------------*/ 
  836. void MMIMMS_PlayMMSSound(void);
  837. BOOLEAN MMIMMS_EditMMS (
  838. MMS_EDIT_SRC_TYPE from_type,
  839. uint32 lparam,
  840. uint32 wparam,
  841. void* param_ptr
  842. );
  843. /*****************************************************************************/
  844. //  Description : 取得收件人的个数
  845. // Global resource dependence : none
  846. //  Author: NIHONGF
  847. // Note:
  848. /*****************************************************************************/
  849. int32 MmsGetReceiverCount(p_MMS_RECEPIENT p_receiver);
  850. /*****************************************************************************/
  851. //  Description : judge whether subject exist
  852. // Global resource dependence : g_mms_save_in_mem
  853. //  Author: Bruce.Chi
  854. // Note: used in edit and save moduel
  855. ///*****************************************************************************/
  856. BOOLEAN Edit_CurSubjectExist(void);
  857. /* ----------------------------------------------------------------------------
  858. * Function Name: Edit_CurContentTextExist
  859. * Purpose: 判断当前内容是否有文本
  860. * Input:  pMMS_EDocument,当前编辑文档
  861. * Returns: 布尔型
  862. * Author:nihongf@mobilesoft.com.cn
  863. * ----------------------------------------------------------------------------*/ 
  864. BOOLEAN Edit_CurContentTextExist(pMMS_EDocument p_cur_doc);
  865. /*****************************************************************************/
  866. //  Description : 删除收件人列表
  867. // Global resource dependence : 
  868. //  Author: nihongf
  869. // Note:
  870. ///*****************************************************************************/
  871. void MmsDelAllReceiver(p_MMS_RECEPIENT* p_receiver);
  872. /*****************************************************************************/
  873. //  Description : get subject string
  874. // Global resource dependence : g_mms_save_in_mem
  875. //  Author: Bruce.Chi
  876. // Note: used in edit and save moduel, return pointer pointing to internal memory
  877. ///*****************************************************************************/
  878. MMI_STRING_T Edit_GetSubject(void);
  879. /* ----------------------------------------------------------------------------
  880. * Function Name: Edit_GetContentText
  881. * Purpose:取得当前文本内容
  882. * Input:  pMMS_EDocument
  883. * Output: 字符串结构.
  884. * Returns:
  885. * Author:nihongf@mobilesoft.com.cn
  886. * ----------------------------------------------------------------------------*/
  887. MMI_STRING_T Edit_GetContentText(pMMS_EDocument p_cur_doc);
  888. /* ----------------------------------------------------------------------------
  889. /* Function Name: CmsGetUnicodeLen
  890. *  Purpose:取得unicode字符串的长度
  891. *  Input:  输入的字符串
  892. *  Output: 长度
  893. *  Returns:
  894. *  Author:nihongf@mobilesoft.com.cn
  895. * ----------------------------------------------------------------------------*/ 
  896. uint16 CmsGetUnicodeLen(const unsigned char *data);
  897. /* ----------------------------------------------------------------------------
  898. * Function Name: GetSubjectStringLen
  899. * Purpose:得到字符串的具体内容
  900. * Input:  输入的字符串
  901. * Output: 输出的字符传及字符串长度,输出的字符串是从第二个字符开始的
  902. * Returns:
  903. * Author:nihongf@mobilesoft.com.cn
  904. * ----------------------------------------------------------------------------*/ 
  905. uint16 GetSubjectStringLen(char* srcstr,char** decstr);
  906. /*****************************************************************************/
  907. //  Description : delete subject string
  908. // Global resource dependence : g_mms_save_in_mem
  909. //  Author: Bruce.Chi
  910. // Note: used in edit and save moduel
  911. ///*****************************************************************************/
  912. MMIMMS_RESULT_E Edit_DeleteSubject(void);
  913. /* ----------------------------------------------------------------------------
  914. * Function Name: MMIMMS_IsIPAddress
  915. * Purpose:判断用户输入的网关地址是否是IP地址
  916. * Input:  curipaddress: 当前的网关地址
  917. * Output: BOOLEAN
  918.   TRUE: 是IP地址
  919.   FALSE:不是IP地址
  920. * Returns:
  921. * Author:nihongf@mobilesoft.com.cn
  922. * ----------------------------------------------------------------------------*/ 
  923. BOOLEAN MMIMMS_IsIPAddress(char *curipaddress);
  924. /* ----------------------------------------------------------------------------
  925. * Function Name: MMIMMS_GetCurSlideImage
  926. * Purpose:得到当前页的图像信息
  927. * Input:  T_Composer_Image: 图片结构
  928.   pMMS_EDocument: 编辑文档
  929. * Returns:T_WORD
  930. * Author:nihongf@mobilesoft.com.cn
  931. * ----------------------------------------------------------------------------*/ 
  932. T_WORD MMIMMS_GetCurSlideImage(T_Composer_Image*Image,pMMS_EDocument pedoc );
  933. /* ----------------------------------------------------------------------------
  934. * Function Name: MMIMMS_GetCurSlideAudio
  935. * Purpose:得到当前页的音乐信息
  936. * Input:  T_Composer_Audio: 音乐结构
  937.   pMMS_EDocument: 编辑文档
  938. * Returns:T_WORD
  939. * Author:nihongf@mobilesoft.com.cn
  940. * ----------------------------------------------------------------------------*/ 
  941. T_WORD MMIMMS_GetCurSlideAudio(T_Composer_Audio *audio,pMMS_EDocument pedoc);
  942. /* ----------------------------------------------------------------------------
  943. * Function Name: MMIMMS_GetCurSlideVideo
  944. * Purpose:得到当前页的视频信息
  945. * Input:  T_Composer_Video: 视频结构
  946.   pMMS_EDocument: 编辑文档
  947. * Returns:T_WORD
  948. * Author:nihongf@mobilesoft.com.cn
  949. * ----------------------------------------------------------------------------*/ 
  950. T_WORD MMIMMS_GetCurSlideVideo(T_Composer_Video*Video,pMMS_EDocument p_edoc);
  951. /* ----------------------------------------------------------------------------
  952. * Function Name: MMIMMS_AddVideo
  953. * Purpose:在当前页添加视频
  954. * Input:  T_Composer_Video: 视频结构
  955.   pMMS_EDocument: 编辑文档
  956. * Returns:T_WORD
  957. * Author:nihongf@mobilesoft.com.cn
  958. * ----------------------------------------------------------------------------*/ 
  959. T_WORD MMIMMS_AddVideo(T_Composer_Video*Video,pMMS_EDocument p_cur_doc);
  960. /* ----------------------------------------------------------------------------
  961. * Function Name: MMIMMS_AddImage
  962. * Purpose:在当前页添加图像
  963. * Input:  T_Composer_Image: 图片结构
  964.   pMMS_EDocument: 编辑文档
  965. * Returns:T_WORD
  966. * Author:nihongf@mobilesoft.com.cn
  967. * ----------------------------------------------------------------------------*/ 
  968. T_WORD MMIMMS_AddImage(T_Composer_Image*Image,pMMS_EDocument p_cur_doc);
  969. /* ----------------------------------------------------------------------------
  970. * Function Name: MMIMMS_AddAudio
  971. * Purpose:在当前页添加音乐
  972. * Input:  T_Composer_Audio: 音乐结构
  973.   pMMS_EDocument: 编辑文档
  974. * Returns:T_WORD
  975. * Author:nihongf@mobilesoft.com.cn
  976. * ----------------------------------------------------------------------------*/ 
  977. T_WORD MMIMMS_AddAudio(T_Composer_Audio*Audio,pMMS_EDocument p_cur_doc);
  978. /* ----------------------------------------------------------------------------
  979. * Function Name: MMIMMS_SetCurSlideDuration
  980. * Purpose:设置当前页面的延时
  981. * Input:  T_WORD: 延时时间
  982. * Returns:
  983. * Author:nihongf@mobilesoft.com.cn
  984. * ----------------------------------------------------------------------------*/ 
  985. T_WORD MMIMMS_SetCurSlideDuration(T_WORD delay);
  986. /* ----------------------------------------------------------------------------
  987. * Function Name: MMIMMS_DeleteCurImage
  988. * Purpose:从当前页删除图像
  989. * Input:  pMMS_EDocument:编辑文档
  990. * Returns:
  991. * Author:nihongf@mobilesoft.com.cn
  992. * ----------------------------------------------------------------------------*/ 
  993. T_WORD MMIMMS_DeleteCurImage(pMMS_EDocument p_cur_doc);
  994. /* ----------------------------------------------------------------------------
  995. * Function Name: MMIMMS_DeleteCurVideo
  996. * Purpose:从当前页删除视频
  997. * Input:  pMMS_EDocument:编辑文档
  998. * Returns:
  999. * Author:nihongf@mobilesoft.com.cn
  1000. * ----------------------------------------------------------------------------*/ 
  1001. T_WORD MMIMMS_DeleteCurVideo(pMMS_EDocument p_cur_doc);
  1002. /* ----------------------------------------------------------------------------
  1003. * Function Name: MMIMMS_GetCurText
  1004. * Purpose:得到当前页的文本信息
  1005. * Input:  pMMS_EDocument:编辑文档
  1006.   T_Composer_Text:文本结构
  1007. * Returns:T_WORD
  1008. * Author:nihongf@mobilesoft.com.cn
  1009. * ----------------------------------------------------------------------------*/ 
  1010. T_WORD MMIMMS_GetCurText(T_Composer_Text*Text,pMMS_EDocument p_cur_doc);
  1011. /* ----------------------------------------------------------------------------
  1012. * Function Name: MMIMMS_GetTotalSize
  1013. * Purpose:得到当前编辑彩信的资源大小
  1014. * Input:  T_VOID
  1015. * Returns:T_WORD
  1016. * Author:nihongf@mobilesoft.com.cn
  1017. * ----------------------------------------------------------------------------*/ 
  1018. T_WORD MMIMMS_GetTotalSize(T_VOID);
  1019. /*****************************************************************************/
  1020. //  Description : "add to address"
  1021. // Global resource dependence : g_mms_save_in_mem
  1022. //  Author: Bruce.Chi
  1023. // Note: used in edit and save moduel
  1024. ///*****************************************************************************/
  1025. // Array
  1026. // |--|
  1027. // | 0|-->content0(heap)
  1028. // |--|
  1029. // | 1|-->content1(heap)
  1030. // |--|
  1031. // total_num = 2|  |
  1032. // |..|
  1033. BOOLEAN Edit_AddToAddr(uint8 *to_ptr,To_Addr* addr_list);
  1034. /*****************************************************************************/
  1035. //  Description : delete  "to address"
  1036. // Global resource dependence : g_mms_save_in_mem
  1037. //  Author: Bruce.Chi
  1038. // Note: used in edit and save moduel
  1039. ///*****************************************************************************/
  1040. BOOLEAN Edit_DeleteToAddr(uint32 index,To_Addr* addr_list );
  1041. /*****************************************************************************/
  1042. //  Description : delete  all "to address"
  1043. // Global resource dependence : g_mms_save_in_mem
  1044. //  Author: Bruce.Chi
  1045. // Note: used in edit and save moduel
  1046. ///*****************************************************************************/
  1047. BOOLEAN Edit_DeleteToAddrAll(To_Addr* addr_list);
  1048. /*****************************************************************************/
  1049. /*****************************************************************************/
  1050. //  Description : get "to address" totol number
  1051. // Global resource dependence : g_mms_save_in_mem
  1052. //  Author: Bruce.Chi
  1053. // Note: used in edit and save moduel
  1054. ///*****************************************************************************/
  1055. uint32 Edit_GetToAddTotalNumber(void);
  1056. /*****************************************************************************/
  1057. //  Description : Begin to send mms
  1058. // Global resource dependence : s_send_request_ptr, s_send_pdu_ptr, s_wap_send_in_param
  1059. //  Author: Bruce.Chi
  1060. // Note:
  1061. ///*****************************************************************************/
  1062. MMIMMS_RESULT_E MMIMMS_BeginToSendMMS(BOOLEAN need_to_init_wap_stack);
  1063. /*****************************************************************************/
  1064. //  Description : Free memory allcoted by MMIMMS_BeginToSendMMS
  1065. // Global resource dependence : s_send_request_ptr, s_send_pdu_ptr, s_wap_send_in_param
  1066. //  Author: Bruce.Chi
  1067. // Note:
  1068. ///*****************************************************************************/
  1069. void MMIMMS_FreeBeginToSendMMSMem(void);
  1070. /*****************************************************************************/
  1071. //  Description : create download waiting win
  1072. // Global resource dependence : 
  1073. //  Author: Bruce.chi
  1074. // Note:
  1075. /*****************************************************************************/
  1076. BOOLEAN Download_CreateDownloadingWin(MMIMMS_DOWNLOADING_STATUS_E init_stat, MMIMMS_NV_ID_T mms_noti_nv_id);
  1077. /* ----------------------------------------------------------------------------
  1078. * Function Name: MMIMMS_Download_CreateDownloadingWin
  1079. * Purpose:下载彩信时的等待窗口
  1080. * Input:  void
  1081. * Returns:void
  1082. * Author:nihongf@mobilesoft.com.cn
  1083. * ----------------------------------------------------------------------------*/ 
  1084. void MMIMMS_Download_CreateDownloadingWin(void);
  1085. /* ----------------------------------------------------------------------------
  1086. * Function Name: MMIMMS_SendMMS_CreateSendingWin
  1087. * Purpose:发送彩信时的等待窗口
  1088. * Input:  void
  1089. * Returns:void
  1090. * Author:nihongf@mobilesoft.com.cn
  1091. * ----------------------------------------------------------------------------*/ 
  1092. void  MMIMMS_SendMMS_CreateSendingWin(void);
  1093. /* ----------------------------------------------------------------------------
  1094. * Function Name: MMIMMS_SendReadRpt_CreateWaitingWin
  1095. * Purpose:发送阅读报告时的等待窗口
  1096. * Input:  void
  1097. * Returns:void
  1098. * Author:nihongf@mobilesoft.com.cn
  1099. * ----------------------------------------------------------------------------*/ 
  1100. void MMIMMS_SendReadRpt_CreateWaitingWin(void);
  1101. /* ----------------------------------------------------------------------------
  1102. * Function Name: MMIMMS_CreateNormalWaitingWin
  1103. * Purpose:删除彩信时的等待窗口
  1104. * Input:  void
  1105. * Returns:void
  1106. * Author:nihongf@mobilesoft.com.cn
  1107. * ----------------------------------------------------------------------------*/ 
  1108. void  MMIMMS_CreateNormalWaitingWin(void);
  1109. /* ----------------------------------------------------------------------------
  1110. * Function Name: MMIMMS_CreateReadMMSWaitingWin
  1111. * Purpose:读取彩信时的等待窗口
  1112. * Input:  void
  1113. * Returns:void
  1114. * Author:nihongf@mobilesoft.com.cn
  1115. * ----------------------------------------------------------------------------*/ 
  1116. void MMIMMS_CreateReadMMSWaitingWin(void);
  1117. /* ----------------------------------------------------------------------------
  1118. * Function Name: MMIMMS_CreateSaveMMSWaitingWin
  1119. * Purpose:保存彩信时的等待窗口
  1120. * Input:  void
  1121. * Returns:void
  1122. * Author:nihongf@mobilesoft.com.cn
  1123. * ----------------------------------------------------------------------------*/ 
  1124. void  MMIMMS_CreateSaveMMSWaitingWin(void);
  1125. /*****************************************************************************/
  1126. //  Description : free memory allocated by MMIMMS_BeginToDownloadMMS
  1127. // Global resource dependence : s_wap_send_in_param
  1128. //  Author: Bruce.Chi
  1129. // Note:
  1130. ///*****************************************************************************/
  1131. void MMIMMS_FreeBeginToDownloadMMSMem(void);
  1132. /*****************************************************************************/
  1133. //  Description : Begin to download mms
  1134. // Global resource dependence : none
  1135. //  Author: Bruce.Chi
  1136. // Note:
  1137. ///*****************************************************************************/
  1138. MMIMMS_RESULT_E MMIMMS_BeginToDownloadMMS(MMIMMS_FS_Notification_T *fs_ntf_ptr, BOOLEAN need_to_init_wap_stack);
  1139. /*****************************************************************************/
  1140. //  Description : check whether input string contains "@'
  1141. // Global resource dependence : none
  1142. //  Author: Bruce.Chi
  1143. // Note:
  1144. ///*****************************************************************************/
  1145. BOOLEAN MMIMMS_IsEmailAddr(const uint8 *email_ptr);
  1146. /*****************************************************************************/
  1147. //  Description : check whether input string is digital or '+'
  1148. // Global resource dependence : none
  1149. //  Author: Bruce.Chi
  1150. // Note:
  1151. ///*****************************************************************************/
  1152. BOOLEAN MMIMMS_IsNumberAddr(const uint8 *num_ptr);
  1153. /* ----------------------------------------------------------------------------
  1154. * Function Name: MMIMMS_GetPBNameByNumber
  1155. * Purpose:通过电话得到电话所属姓名
  1156. * Input:  uint8 *number_ptr:电话号码指针
  1157.   MMI_STRING_T *name_pt:姓名结构
  1158. * Output: BOOLEAN.
  1159. * Returns:
  1160. * Author:nihongf@mobilesoft.com.cn
  1161. * ----------------------------------------------------------------------------*/
  1162. BOOLEAN MMIMMS_GetPBNameByNumber(uint8 *number_ptr, MMI_STRING_T *name_ptr);
  1163. /*****************************************************************************/
  1164. //  Description : convert ASC to UCS2
  1165. // Global resource dependence : 
  1166. //  Author: Bruce.Chi
  1167. // Note: should free the outer pointer
  1168. ///*****************************************************************************/
  1169. uint8 *ASCtoUCS2(uint8  *src_ptr, //in
  1170. uint32  src_len, //in
  1171. uint32  *ucs2_len_ptr //out
  1172.   );
  1173. /*****************************************************************************/
  1174. //  Description : Get mail box message size.
  1175. // Global resource dependence : none
  1176. //  Author: Bruce.Chi
  1177. // Note:
  1178. /*****************************************************************************/
  1179. int MMIMMS_GetMailboxMsgSize(MMIMMS_MAILBOX_TYPE mailbox_type);
  1180. /*****************************************************************************/
  1181. //  Description : cat two string
  1182. // Global resource dependence : 
  1183. //  Author: Bruce.Chi
  1184. // Note: should free the dst_ptr->str_ptr
  1185. ///*****************************************************************************/
  1186. BOOLEAN CatString( MMI_STRING_T *dst_ptr, //out
  1187. MMI_STRING_T *src1_ptr, //in
  1188. MMI_STRING_T *src2_ptr //in
  1189. );
  1190. /*****************************************************************************/
  1191. //  Description : cat two string the first is ID
  1192. // Global resource dependence : 
  1193. //  Author: Bruce.Chi
  1194. // Note: should free the dst_ptr->str_ptr
  1195. ///*****************************************************************************/
  1196. BOOLEAN CatStringByTextID(
  1197. MMI_STRING_T *dst_ptr, //out.
  1198. uint32 text_id, //in.
  1199. MMI_STRING_T *src2_ptr //in.
  1200. );
  1201. /*****************************************************************************/
  1202. //  Description : cat two string
  1203. // Global resource dependence : 
  1204. //  Author: Bruce.Chi
  1205. // Note: should free the dst_ptr->str_ptr
  1206. ///*****************************************************************************/
  1207. BOOLEAN CatStringByTextID2(
  1208. MMI_STRING_T *dst_ptr, //out.
  1209. uint32 text_id1, //in.
  1210. uint32 text_id2 //in.
  1211. );
  1212. /* ----------------------------------------------------------------------------
  1213. * Function Name: MMIMMS_Setting_GetMMSC
  1214. * Purpose:得到彩信中心的设定值
  1215. * Input:  void
  1216. * Returns: uint8*:彩信中心号码
  1217. * Author:nihongf@mobilesoft.com.cn
  1218. * ----------------------------------------------------------------------------*/ 
  1219. uint8 *MMIMMS_Setting_GetMMSC(void);
  1220. /* ----------------------------------------------------------------------------
  1221. * Function Name: MMIMMS_Setting_GetGATEWAY
  1222. * Purpose:得到网关的设定值
  1223. * Input:  void
  1224. * Returns: uint8*:网关号码
  1225. * Author:nihongf@mobilesoft.com.cn
  1226. * ----------------------------------------------------------------------------*/ 
  1227. uint8 *MMIMMS_Setting_GetGATEWAY(void);
  1228. /* ----------------------------------------------------------------------------
  1229. * Function Name: MMIMMS_Setting_GetPORT
  1230. * Purpose:得到端口号的设定值
  1231. * Input:  void
  1232. * Returns: uint8*:端口号值
  1233. * Author:nihongf@mobilesoft.com.cn
  1234. * ----------------------------------------------------------------------------*/ 
  1235. uint8 *MMIMMS_Setting_GetPORT(void);
  1236. /* ----------------------------------------------------------------------------
  1237. * Function Name: MMIMMS_Setting_GetUserName
  1238. * Purpose:得到用户名的设定值
  1239. * Input:  void
  1240. * Returns: uint8*:用户名
  1241. * Author:nihongf@mobilesoft.com.cn
  1242. * ----------------------------------------------------------------------------*/ 
  1243. uint8 *MMIMMS_Setting_GetUserName(void);
  1244. /* ----------------------------------------------------------------------------
  1245. * Function Name: MMIMMS_Setting_Getpassword
  1246. * Purpose:得到密码的设定值
  1247. * Input:  void
  1248. * Returns: uint8*:密码的值
  1249. * Author:nihongf@mobilesoft.com.cn
  1250. * ----------------------------------------------------------------------------*/ 
  1251. uint8 *MMIMMS_Setting_GetPassword(void);
  1252. /* ----------------------------------------------------------------------------
  1253. * Function Name: MMIMMS_Setting_GetAPN
  1254. * Purpose:得到APN的设定值
  1255. * Input:  void
  1256. * Returns: uint8*:APN的设定值
  1257. * Author:nihongf@mobilesoft.com.cn
  1258. * ----------------------------------------------------------------------------*/ 
  1259. uint8 *MMIMMS_Setting_GetAPN(void);
  1260. /* ----------------------------------------------------------------------------
  1261. * Function Name: MMIMMS_Setting_GetAutoSign
  1262. * Purpose:得到自动签名的设定值
  1263. * Input:  void
  1264. * Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
  1265. * Author:nihongf@mobilesoft.com.cn
  1266. * ----------------------------------------------------------------------------*/ 
  1267. MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetAutoSign(void);
  1268. /* ----------------------------------------------------------------------------
  1269. * Function Name: MMIMMS_Setting_GetPriority
  1270. * Purpose:得到优先级的设定值
  1271. * Input:  void
  1272. * Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
  1273. * Author:nihongf@mobilesoft.com.cn
  1274. * ----------------------------------------------------------------------------*/ 
  1275. MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetPriority(void);
  1276. /* ----------------------------------------------------------------------------
  1277. * Function Name: MMIMMS_Setting_SetPriority
  1278. * Purpose:设定优先级的值
  1279. * Input:  uint16 list_index
  1280. * Returns: void
  1281. * Author:nihongf@mobilesoft.com.cn
  1282. * ----------------------------------------------------------------------------*/ 
  1283. void MMIMMS_Setting_SetPriority(uint16 list_index);
  1284. /* ----------------------------------------------------------------------------
  1285. * Function Name: MMIMMS_Setting_GetValidPeriod
  1286. * Purpose:得到有效期的设定值
  1287. * Input:  void
  1288. * Returns: MESSAGES_MMS_SETTING_VALID_PERIOD
  1289. * Author:nihongf@mobilesoft.com.cn
  1290. * ----------------------------------------------------------------------------*/ 
  1291. MESSAGES_MMS_SETTING_VALID_PERIOD MMIMMS_Setting_GetValidPeriod(void);
  1292. /* ----------------------------------------------------------------------------
  1293. * Function Name: MMIMMS_Setting_GetValidPeriod
  1294. * Purpose:设定有效期的值
  1295. * Input:  uint16 list_index
  1296. * Returns: void
  1297. * Author:nihongf@mobilesoft.com.cn
  1298. * ----------------------------------------------------------------------------*/ 
  1299. void MMIMMS_Setting_SetValidPeriod(uint16 list_index);
  1300. /* ----------------------------------------------------------------------------
  1301. * Function Name: MMIMMS_Setting_GetAutoDownload
  1302. * Purpose:得到自动下载的设定值
  1303. * Input:  void
  1304. * Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
  1305. * Author:nihongf@mobilesoft.com.cn
  1306. * ----------------------------------------------------------------------------*/ 
  1307. MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetAutoDownload(void);
  1308. /* ----------------------------------------------------------------------------
  1309. * Function Name: MMIMMS_Setting_SetAutoDownload
  1310. * Purpose:设定自动下载的值
  1311. * Input:  uint16 list_index
  1312. * Returns: void
  1313. * Author:nihongf@mobilesoft.com.cn
  1314. * ----------------------------------------------------------------------------*/ 
  1315. void MMIMMS_Setting_SetAutoDownload(uint16 list_index);
  1316. /* ----------------------------------------------------------------------------
  1317. * Function Name: MMIMMS_Setting_GetAnonymous
  1318. * Purpose:得到匿名发送的设定值
  1319. * Input:  void
  1320. * Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
  1321. * Author:nihongf@mobilesoft.com.cn
  1322. * ----------------------------------------------------------------------------*/ 
  1323. MESSAGES_MMS_MSG_SETTINGS_ONOFF  MMIMMS_Setting_GetAnonymous(void);
  1324. /* ----------------------------------------------------------------------------
  1325. * Function Name: MMIMMS_Setting_SetAnonymous
  1326. * Purpose:设定匿名发送的值
  1327. * Input:  uint16 list_index
  1328. * Returns: void
  1329. * Author:nihongf@mobilesoft.com.cn
  1330. * ----------------------------------------------------------------------------*/ 
  1331. void MMIMMS_Setting_SetAnonymous(uint16 list_index);
  1332. /* ----------------------------------------------------------------------------
  1333. * Function Name: MMIMMS_Setting_GetPlaySoundAble
  1334. * Purpose:得到是否播放声音的设定值
  1335. * Input:  void
  1336. * Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
  1337. * Author:nihongf@mobilesoft.com.cn
  1338. * ----------------------------------------------------------------------------*/ 
  1339. MESSAGES_MMS_MSG_SETTINGS_ONOFF  MMIMMS_Setting_GetPlaySoundAble(void);
  1340. /* ----------------------------------------------------------------------------
  1341. * Function Name: MMIMMS_Setting_SetPlaySound
  1342. * Purpose:uint16 list_index
  1343. * Input:  void
  1344. * Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
  1345. * Author:nihongf@mobilesoft.com.cn
  1346. * ----------------------------------------------------------------------------*/ 
  1347. void MMIMMS_Setting_SetPlaySound(uint16 list_index);
  1348. /* ----------------------------------------------------------------------------
  1349. * Function Name: MMIMMS_Setting_GetAdvertisingallowable
  1350. * Purpose:得到是否允许广告的设定值
  1351. * Input:  void
  1352. * Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
  1353. * Author:nihongf@mobilesoft.com.cn
  1354. * ----------------------------------------------------------------------------*/ 
  1355. MESSAGES_MMS_MSG_SETTINGS_ONOFF  MMIMMS_Setting_GetAdvertisingallowable(void);
  1356. /* ----------------------------------------------------------------------------
  1357. * Function Name: MMIMMS_Setting_SetAdvertising
  1358. * Purpose:设定是否允许广告的值
  1359. * Input:  uint16 list_index
  1360. * Returns: void
  1361. * Author:nihongf@mobilesoft.com.cn
  1362. * ----------------------------------------------------------------------------*/ 
  1363. void MMIMMS_Setting_SetAdvertising(uint16 list_index);
  1364. /* ----------------------------------------------------------------------------
  1365. * Function Name: MMIMMS_Setting_GetDeliveryReport
  1366. * Purpose:得到送达报告的设定值
  1367. * Input:  void
  1368. * Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
  1369. * Author:nihongf@mobilesoft.com.cn
  1370. * ----------------------------------------------------------------------------*/ 
  1371. MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetDeliveryReport(void);
  1372. /* ----------------------------------------------------------------------------
  1373. * Function Name: MMIMMS_Setting_SetDeliveryReport
  1374. * Purpose:设定送达报告的值
  1375. * Input:  uint16 list_index
  1376. * Returns: void
  1377. * Author:nihongf@mobilesoft.com.cn
  1378. * ----------------------------------------------------------------------------*/ 
  1379. void MMIMMS_Setting_SetDeliveryReport(uint16 list_index);
  1380. /* ----------------------------------------------------------------------------
  1381. * Function Name: MMIMMS_Setting_GetReadReport
  1382. * Purpose:得到阅读报告的设定值
  1383. * Input:  void
  1384. * Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
  1385. * Author:nihongf@mobilesoft.com.cn
  1386. * ----------------------------------------------------------------------------*/ 
  1387. MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetReadReport(void);
  1388. /* ----------------------------------------------------------------------------
  1389. * Function Name: MMIMMS_Setting_SetReadReport
  1390. * Purpose:设定阅读报告的值
  1391. * Input:  uint16 list_index
  1392. * Returns: void
  1393. * Author:nihongf@mobilesoft.com.cn
  1394. * ----------------------------------------------------------------------------*/ 
  1395. void MMIMMS_Setting_SetReadReport(uint16 list_index);
  1396. /* ----------------------------------------------------------------------------
  1397. * Function Name: MMIMMS_Setting_SetMMSC
  1398. * Purpose:设置彩信中心号码
  1399. * Input:  uint8 *:彩信中心号码字符串
  1400.   uint16: 字符串长度
  1401. * Returns: void
  1402. * Author:nihongf@mobilesoft.com.cn
  1403. * ----------------------------------------------------------------------------*/ 
  1404. void MMIMMS_Setting_SetMMSC(uint8 *mmsc_ptr, uint16 mmsc_len);
  1405. /* ----------------------------------------------------------------------------
  1406. * Function Name: MMIMMS_Setting_SetGATEWAY
  1407. * Purpose:设置网关地址
  1408. * Input:  uint8 *:网关地址字符串
  1409.   uint16: 字符串长度
  1410. * Returns: void
  1411. * Author:nihongf@mobilesoft.com.cn
  1412. * ----------------------------------------------------------------------------*/ 
  1413. void MMIMMS_Setting_SetGATEWAY(uint8 *gateway_ptr, uint16 gateway_len);
  1414. /* ----------------------------------------------------------------------------
  1415. * Function Name: MMIMMS_Setting_SetPORT
  1416. * Purpose:设置端口号
  1417. * Input:  uint8 *:端口号字符串
  1418.   uint16: 字符串长度
  1419. * Returns: void
  1420. * Author:nihongf@mobilesoft.com.cn
  1421. * ----------------------------------------------------------------------------*/ 
  1422. void MMIMMS_Setting_SetPORT(uint8 *port_ptr, uint16 port_len);
  1423. /* ----------------------------------------------------------------------------
  1424. * Function Name: MMIMMS_Setting_SetUserName
  1425. * Purpose:设置用户名
  1426. * Input:  uint8 *:字符串
  1427.   uint16: 字符串长度
  1428. * Returns: void
  1429. * Author:nihongf@mobilesoft.com.cn
  1430. * ----------------------------------------------------------------------------*/ 
  1431. void MMIMMS_Setting_SetUserName(uint8 *username_ptr, uint16 username_len);
  1432. /* ----------------------------------------------------------------------------
  1433. * Function Name: MMIMMS_Setting_SetPassword
  1434. * Purpose:设置密码
  1435. * Input:  uint8 *:字符串
  1436.   uint16: 字符串长度
  1437. * Returns: void
  1438. * Author:nihongf@mobilesoft.com.cn
  1439. * ----------------------------------------------------------------------------*/ 
  1440. void MMIMMS_Setting_SetPassword(uint8 *password_ptr, uint16 password_len);
  1441. /* ----------------------------------------------------------------------------
  1442. * Function Name: MMIMMS_Setting_SetAPN
  1443. * Purpose:设置APN
  1444. * Input:  uint8 *:字符串
  1445.   uint16: 字符串长度
  1446. * Returns: void
  1447. * Author:nihongf@mobilesoft.com.cn
  1448. * ----------------------------------------------------------------------------*/ 
  1449. void MMIMMS_Setting_SetAPN(uint8 *apn_ptr, uint16 apn_len);
  1450. /* ----------------------------------------------------------------------------
  1451. * Function Name: MMIMMS_Setting_SetAutoSign
  1452. * Purpose:设置自动签名
  1453. * Input:  uint16:
  1454. * Returns: void
  1455. * Author:nihongf@mobilesoft.com.cn
  1456. * ----------------------------------------------------------------------------*/ 
  1457. void MMIMMS_Setting_SetAutoSign(uint16 list_index);
  1458. /*****************************************************************************/
  1459. //  Description : write mms setting to nv
  1460. // Global resource dependence : s_nv_setting_mirror
  1461. //  Author: Bruce.Chi
  1462. // Note:
  1463. /*****************************************************************************/
  1464. void Setting_WriteBack(void);
  1465. /* ----------------------------------------------------------------------------
  1466. * Function Name: MMSMMS_SetCurSlideDuration
  1467. * Purpose:设定每祯播放的时间的值
  1468. * Input:  uint32 duaration
  1469. * Returns: void
  1470. * Author:nihongf@mobilesoft.com.cn
  1471. * ----------------------------------------------------------------------------*/ 
  1472. void MMSMMS_SetCurSlideDuration(uint32 duaration);
  1473. /* ----------------------------------------------------------------------------
  1474. * Function Name: MMIMMS_GetCurSlideDuration
  1475. * Purpose:得到当前祯播放的时间的值
  1476. * Input:  pMMS_EDocument p_cur_doc
  1477. * Returns: uint32
  1478. * Author:nihongf@mobilesoft.com.cn
  1479. * ----------------------------------------------------------------------------*/ 
  1480. uint32 MMIMMS_GetCurSlideDuration(pMMS_EDocument p_cur_doc);
  1481. /*****************************************************************************/
  1482. //  Description : get delta mms image type string through multim image type
  1483. // Global resource dependence : 
  1484. //  Author: Bruce.Chi
  1485. // Note:
  1486. ///*****************************************************************************/
  1487. T_BYTE *Edit_GetDeltaMMSImageType2(ANIMATE_IMAGE_TYPE_E multim_img_type);
  1488. /*****************************************************************************/
  1489. //  Description : get mms audio type string through multim audio type
  1490. // Global resource dependence : 
  1491. //  Author: Bruce.Chi
  1492. // Note:
  1493. ///*****************************************************************************/
  1494. T_BYTE *Edit_GetDeltaMMSAudioType(MMIMULTIM_MUSIC_TYPE_E multim_audio_type);
  1495. /*****************************************************************************/
  1496. //  Description : get audio type through delta mms audio type string
  1497. // Global resource dependence : 
  1498. //  Author: Bruce.Chi
  1499. // Note:
  1500. ///*****************************************************************************/
  1501. MMIMULTIM_MUSIC_TYPE_E Edit_GetMultimAudioType(char *delta_mms_audio_type_ptr);
  1502. /*****************************************************************************/
  1503. //  Description : get low layer audio type through delta mms audio type string
  1504. // Global resource dependence : 
  1505. //  Author: Bruce.Chi
  1506. // Note:
  1507. ///*****************************************************************************/
  1508. MMIAUDIO_TYPE_E Edit_GetLowLayerAudioType(char *delta_mms_audio_type_ptr);
  1509. /*****************************************************************************/
  1510. //  Description : get ani type through delta mms type string
  1511. // Global resource dependence : 
  1512. //  Author: Bruce.Chi
  1513. // Note:
  1514. ///*****************************************************************************/
  1515. ANIMATE_IMAGE_TYPE_E Edit_GetAniType(char *delta_mms_img_type_ptr);
  1516. /*****************************************************************************/
  1517. //  Description : when sending is finished, close the input "To" win
  1518. // Global resource dependence : 
  1519. //  Author: Bruce.chi
  1520. // Note:
  1521. /*****************************************************************************/
  1522. BOOLEAN Send_FinishThenReturnMenuWin(void);
  1523. /*****************************************************************************/
  1524. //  Description : when downloading is finished, close waiting win
  1525. // Global resource dependence : 
  1526. //  Author: Bruce.chi
  1527. // Note:
  1528. /*****************************************************************************/
  1529. BOOLEAN Download_FinishThenReturnMenuWin(MMIMMS_WAP_TRANSACTION_E type);
  1530. /*****************************************************************************/
  1531. //  Description : create send waiting win
  1532. // Global resource dependence : 
  1533. //  Author: Bruce.chi
  1534. // Note:
  1535. /*****************************************************************************/
  1536. BOOLEAN Send_CreateSendingWin(MMIMMS_MMS_OR_CAIKE mms_from);
  1537. /*****************************************************************************/
  1538. //  Description : send message to sending waiting win
  1539. // Global resource dependence : 
  1540. //  Author: Bruce.chi
  1541. // Note:
  1542. /*****************************************************************************/
  1543. void Send_PostSendingWinMsg(MMIMMS_SENDING_STATUS_E param);
  1544. /*****************************************************************************/
  1545. //  Description : save mms according to send result
  1546. // Global resource dependence : s_send_request_ptr,
  1547. //  Author: Bruce.Chi
  1548. // Note: returned value : is_save_success
  1549. ///*****************************************************************************/
  1550. SAVEFS_WRITE_RESULT SaveMMS_BySendingResult(BOOLEAN is_send_success, MMS_WINDOW_ID_E win_id);
  1551. /*****************************************************************************/
  1552. //  Description : get cur group number
  1553. // Global resource dependence : s_cur_group
  1554. //  Author: Bruce.chi
  1555. // Note:
  1556. /*****************************************************************************/
  1557. uint16 Edit_GetCurGroupNumber(void);
  1558. /*****************************************************************************/
  1559. //  Description : send message to downloading waiting win
  1560. // Global resource dependence : 
  1561. //  Author: Bruce.chi
  1562. // Note:
  1563. /*****************************************************************************/
  1564. void Send_PostDownloadingWinMsg(MMIMMS_DOWNLOADING_STATUS_E param);
  1565. /*****************************************************************************/
  1566. //  Description : downloading send ntf response
  1567. // Global resource dependence : s_mms_retreive_ptr
  1568. //  Author: Bruce.Chi
  1569. // Note:
  1570. ///*****************************************************************************/
  1571. void Download_SendNtfResponse(void);
  1572. /*****************************************************************************/
  1573. //  Description : downloading send ack
  1574. // Global resource dependence : s_mms_retreive_ptr
  1575. //  Author: Bruce.Chi
  1576. // Note:
  1577. ///*****************************************************************************/
  1578. void Download_SendACK(void);
  1579. /*****************************************************************************/
  1580. //  Description : save downloaded mms
  1581. // Global resource dependence : s_mms_retreive_ptr
  1582. //  Author: Bruce.Chi
  1583. // Note:
  1584. ///*****************************************************************************/
  1585. SAVEFS_WRITE_RESULT Download_SaveMMS(MMS_WINDOW_ID_E win_id);
  1586. /*****************************************************************************/
  1587. //  Description : alert new mms notification
  1588. // Global resource dependence : 
  1589. //  Author: bruce.chi
  1590. // Note: 
  1591. /*****************************************************************************/
  1592. void AlertNewMMSNtf(void);
  1593. /*****************************************************************************/
  1594. //  Description : MMIMMS construction fuction
  1595. // Global resource dependence : many
  1596. //  Author: Bruce.Chi
  1597. // Note:
  1598. /*****************************************************************************/
  1599. MMIMMS_RESULT_E MMIMMS_Construction(void);
  1600. /*****************************************************************************/
  1601. //  Description : MMIMMS destruction fuction
  1602. // Global resource dependence : many
  1603. //  Author: Bruce.Chi
  1604. // Note:
  1605. /*****************************************************************************/
  1606. MMIMMS_RESULT_E MMIMMS_Destruction(void);
  1607. /*****************************************************************************/
  1608. //  Description : get MMI_TM_T through seconds since 1970
  1609. // Global resource dependence : 
  1610. //  Author: Bruce.Chi
  1611. // Note:
  1612. ///*****************************************************************************/
  1613. MMI_TM_T Edit_GetTimeFrom1970(uint32 seconds);
  1614. /*****************************************************************************/
  1615. //  Description : ucs2 -> utf8
  1616. // Global resource dependence : 
  1617. //  Author: Bruce.Chi
  1618. // Note: should free the return pointer UTF8_T.buf_ptr
  1619. ///*****************************************************************************/
  1620. UTF8_T Edit_UNICODE2UTF(MMI_STRING_T *str_src_ptr);
  1621. /*****************************************************************************/
  1622. //  Description : utf8 -> ucs2
  1623. // Global resource dependence : 
  1624. //  Author: Bruce.Chi
  1625. // Note: should free the return pointer MMI_STRING_T.str_ptr
  1626. ///*****************************************************************************/
  1627. MMI_STRING_T Edit_UTF2UNICODE(UTF8_T *utf8_str_ptr);
  1628. /*****************************************************************************/
  1629. //  Description : save current downloading mms notification nv_id
  1630. // Global resource dependence : 
  1631. //  Author: Bruce.chi
  1632. // Note:
  1633. /*****************************************************************************/
  1634. void Download_SetDownloadNotiID(MMIMMS_NV_ID_T ntf_nv_id);
  1635. /******************************************************************************
  1636.  * 函数定义: MMIMMS_ReadManagerInboxFile
  1637.  * 函数说明: 读取收件箱的文件
  1638.  * 参数说明: 空
  1639.  * 返回值: 空
  1640.  * 代码编写者: liangliu
  1641.  * 代码编写日期: 10/17/2005
  1642. ********************************************************************************/
  1643. void   MMIMMS_ReadManagerInboxFile(void);
  1644. /******************************************************************************
  1645.  * 函数定义: MMIMMS_ReadManagerOutboxFile
  1646.  * 函数说明: 读取发件箱的文件
  1647.  * 参数说明: 空
  1648.  * 返回值: 空
  1649.  * 代码编写者: liangliu
  1650.  * 代码编写日期: 10/17/2005
  1651. ********************************************************************************/
  1652. void   MMIMMS_ReadManagerOutboxFile(void);
  1653. /******************************************************************************
  1654.  * 函数定义: MMIMMS_ReadManagerSentboxFile
  1655.  * 函数说明: 读取已发信箱的文件
  1656.  * 参数说明: 空
  1657.  * 返回值: 空
  1658.  * 代码编写者: liangliu
  1659.  * 代码编写日期: 10/17/2005
  1660. ********************************************************************************/
  1661. void   MMIMMS_ReadManagerSentboxFile(void);
  1662. /******************************************************************************
  1663.  * 函数定义: MMIMMS_ReadManagerDraftboxFile
  1664.  * 函数说明: 读取草稿箱的文件
  1665.  * 参数说明: 空
  1666.  * 返回值: 空
  1667.  * 代码编写者: liangliu
  1668.  * 代码编写日期: 10/17/2005
  1669. ********************************************************************************/
  1670. void   MMIMMS_ReadManagerDraftboxFile(void);
  1671. /******************************************************************************
  1672.  * 函数定义: MMIMMS_SaveManagerInboxFile
  1673.  * 函数说明: 保存收件箱内容
  1674.  * 参数说明: MMS_SAVE_INBOX_STATUS 
  1675.  * 返回值: 空
  1676.  * 代码编写者: liangliu
  1677.  * 代码编写日期: 10/17/2005
  1678. ********************************************************************************/
  1679. void   MMIMMS_SaveManagerInboxFile(MMS_SAVE_INBOX_STATUS saveinboxfilestate);
  1680. /******************************************************************************
  1681.  * 函数定义: MMIMMS_SaveManagerOutboxFile
  1682.  * 函数说明: 保存发件箱内容
  1683.  * 参数说明: 空
  1684.  * 返回值: 空
  1685.  * 代码编写者: liangliu
  1686.  * 代码编写日期: 10/17/2005
  1687. ********************************************************************************/
  1688. void   MMIMMS_SaveManagerOutboxFile(void);
  1689. /******************************************************************************
  1690.  * 函数定义: MMIMMS_SaveManagerSentboxFile
  1691.  * 函数说明: 保存已发信箱内容
  1692.  * 参数说明: 空
  1693.  * 返回值: 空
  1694.  * 代码编写者: liangliu
  1695.  * 代码编写日期: 10/17/2005
  1696. ********************************************************************************/
  1697. void   MMIMMS_SaveManagerSentboxFile(void);
  1698. /******************************************************************************
  1699.  * 函数定义: MMIMMS_SaveManagerDraftboxFile
  1700.  * 函数说明: 保存草稿箱内容
  1701.  * 参数说明: 空
  1702.  * 返回值: 空
  1703.  * 代码编写者: liangliu
  1704.  * 代码编写日期: 10/17/2005
  1705. ********************************************************************************/
  1706. void   MMIMMS_SaveManagerDraftboxFile(void);
  1707. /* ----------------------------------------------------------------------------
  1708. * Function Name: MMIMMS_GetManagerDocument
  1709. * Purpose:获得当前的彩信管理结构
  1710. * Input:  void
  1711. * Returns: void
  1712. * Author:nihongf@mobilesoft.com.cn
  1713. * ----------------------------------------------------------------------------*/ 
  1714. void  MMIMMS_GetManagerDocument(MMIMMS_OPTION_BOX option_box);
  1715. /* ----------------------------------------------------------------------------
  1716. * Function Name: MMIMMS_StoreMangerDocument
  1717. * Purpose:存储当前的管理结构到虚拟文件中
  1718. * Input:  void
  1719. * Returns: void
  1720. * Author:nihongf@mobilesoft.com.cn
  1721. * ----------------------------------------------------------------------------*/ 
  1722. void MMIMMS_StoreMangerDocument(void);
  1723. /* ----------------------------------------------------------------------------
  1724. * Function Name: MMIMMS_FreeManagerDocument
  1725. * Purpose:释放当前的管理结构
  1726. * Input:  void
  1727. * Returns: void
  1728. * Author:nihongf@mobilesoft.com.cn
  1729. * ----------------------------------------------------------------------------*/ 
  1730. void MMIMMS_FreeManagerDocument(void);
  1731. /* ----------------------------------------------------------------------------
  1732. * Function Name: MMIMMS_ReadFolder
  1733. * Purpose:读取相应文件配置需要操作的文件夹
  1734. * Input:  pMessageFolder:当前需要操作的folder
  1735. * Returns: void
  1736. * Author:nihongf@mobilesoft.com.cn
  1737. * ----------------------------------------------------------------------------*/ 
  1738. void MMIMMS_ReadFolder(pMessageFolder folder);
  1739. /* ----------------------------------------------------------------------------
  1740. * Function Name: MMIMMS_FreeFolder
  1741. * Purpose:释放当前的文件夹的内存空间
  1742. * Input:  pMessageFolder:当前需要操作的folder
  1743. * Returns: void
  1744. * Author:nihongf@mobilesoft.com.cn
  1745. * ----------------------------------------------------------------------------*/ 
  1746. void MMIMMS_FreeFolder(pMessageFolder folder);
  1747. /* ----------------------------------------------------------------------------
  1748. * Function Name: MMIMMS_FreeFolderForInit
  1749. * Purpose:初始化释放管理目录
  1750. * Input:  pMessageFolder:当前需要操作的folder
  1751. * Returns: void
  1752. * Author:nihongf@mobilesoft.com.cn
  1753. * ----------------------------------------------------------------------------*/ 
  1754. void MMIMMS_FreeFolderForInit(pMessageFolder folder);
  1755. /* ----------------------------------------------------------------------------
  1756. * Function Name: MMIMMS_ReadMessageHeads
  1757. * Purpose:从fp中读取彩信列表的头数据,主要是指列表中指针所指向的域
  1758. * Input:  pMessageList:需要操作的msg指针
  1759.           fp:文件句柄
  1760. * Returns: void
  1761. * Author:nihongf@mobilesoft.com.cn
  1762. * ----------------------------------------------------------------------------*/ 
  1763. void MMIMMS_ReadMessageHeads(pMessageList mlist,FILE_HANDLE fp);
  1764. /* ----------------------------------------------------------------------------
  1765. * Function Name: MMIMMS_ReadTextField
  1766. * Purpose:从fp中读取数据并使field指向该数据.
  1767. * Input:  char **需要操作的指针的地址指针所指向的内容(空间)
  1768.           fp:文件句柄
  1769. * Returns: void
  1770. * Author:nihongf@mobilesoft.com.cn
  1771. * ----------------------------------------------------------------------------*/ 
  1772. void  MMIMMS_ReadTextField(CMS_MMS_S8 **field,FILE_HANDLE fp);
  1773. /* ----------------------------------------------------------------------------
  1774. * Function Name: MMIMMS_ReadTextField
  1775. * Purpose:存储相应文件配置需要操作的文件夹存储方案为原来MANAGER中
  1776. * Input:  pMessageFolder:当前需要操作的folder
  1777. * Returns: void
  1778. * Author:nihongf@mobilesoft.com.cn
  1779. * ----------------------------------------------------------------------------*/ 
  1780. void MMIMMS_StoreFolder(pMessageFolder folder);
  1781. /* ----------------------------------------------------------------------------
  1782. * Function Name: MMIMMS_StoreMessageHeads
  1783. * Purpose:存储其中的指针所指向的数据
  1784. * Input:  pMessageList:  需要操作的msg指针
  1785. * Returns: void
  1786. * Author:nihongf@mobilesoft.com.cn
  1787. * ----------------------------------------------------------------------------*/ 
  1788. void MMIMMS_StoreMessageHeads(pMessageList mlist, FILE_HANDLE fp);
  1789. /* ----------------------------------------------------------------------------
  1790. * Function Name: MMIMMS_GetListState
  1791. * Purpose:得到传入list的状态
  1792. * Input:  当前list
  1793. * Returns: list所处状态
  1794. * Author:nihongf@mobilesoft.com.cn
  1795. * ----------------------------------------------------------------------------*/ 
  1796. uint32 MMIMMS_GetListState(pMessageList mlist);
  1797. /* ----------------------------------------------------------------------------
  1798. * Function Name: MMIMMS_GetManagerTotalNum
  1799. * Purpose:得到总共现在所有彩信数目
  1800. * Input:  void
  1801. * Returns: 所有彩信数目
  1802. * Author:nihongf@mobilesoft.com.cn
  1803. * ----------------------------------------------------------------------------*/ 
  1804. uint32 MMIMMS_GetManagerTotalNum(void);
  1805. /* ----------------------------------------------------------------------------
  1806. * Function Name: MMIMMS_FreeMessage
  1807. * Purpose:释放当前的LIST
  1808. * Input:  pMessageList:需要释放空间的消息list指针
  1809. * Returns: void
  1810. * Author:nihongf@mobilesoft.com.cn
  1811. * ----------------------------------------------------------------------------*/ 
  1812. void MMIMMS_FreeMessage(pMessageList mlist);
  1813. /* ----------------------------------------------------------------------------
  1814. * Function Name: MMIMMS_DeleteMMS
  1815. * Purpose:删除当前floder的当前管理条目以及对应的彩信
  1816. * Input:  当前操作的文件夹,currentFloder
  1817. * Returns: void
  1818. * Author:nihongf@mobilesoft.com.cn
  1819. * ----------------------------------------------------------------------------*/ 
  1820. void MMIMMS_DeleteMMS(pMessageFolder folder);
  1821. /* ----------------------------------------------------------------------------
  1822. * Function Name: MMIMMS_DeleteManagerList
  1823. * Purpose:删除当前floder的所有管理条目但不涉及其对应的虚拟文件和flash
  1824.                                           上资源,主要用于发件箱-->已发信箱
  1825. * Input:  当前操作的文件夹,currentFloder
  1826. * Returns: void
  1827. * Author:nihongf@mobilesoft.com.cn
  1828. * ----------------------------------------------------------------------------*/ 
  1829. void MMIMMS_DeleteManagerList(pMessageFolder folder);
  1830. /* ----------------------------------------------------------------------------
  1831. * Function Name: MMIMMS_Receive_MMS
  1832. * Purpose:接受彩信
  1833. * Input:  接受彩信,从list列表中获取filename和url
  1834. * Returns: void
  1835. * Author:nihongf@mobilesoft.com.cn
  1836. * ----------------------------------------------------------------------------*/ 
  1837. void MMIMMS_Receive_MMS(pMessageList tlist);
  1838. /* ----------------------------------------------------------------------------
  1839. * Function Name: MMIMMS_Receive_MMS
  1840. * Purpose:回调函数,主要用于push消息处理
  1841. * Input:  status:消息状态
  1842.   prompt:消息值
  1843.   status_value:状态值
  1844. * Returns: void
  1845. * Author:nihongf@mobilesoft.com.cn
  1846. * ----------------------------------------------------------------------------*/ 
  1847. int sms_handle_callback(int status,void *prompt,int status_value);
  1848. /* ----------------------------------------------------------------------------
  1849. * Function Name: MMIMMS_Receive_MMS
  1850. * Purpose:彩信网络回调函数
  1851. * Input:  status: 网络返回状态
  1852.           prompt: 返回参数
  1853.   status_value:当前网络状态
  1854. * Returns: void
  1855. * Author:nihongf@mobilesoft.com.cn
  1856. * ----------------------------------------------------------------------------*/ 
  1857. int mms_lib_callback(int status,void *prompt,int status_value);
  1858. /* ----------------------------------------------------------------------------
  1859. * Function Name: MMIMMS_Receive_MMS
  1860. * Purpose:保存彩信
  1861. * Input:  pMessageList: 当前彩信LIST
  1862. * Returns: void
  1863. * Author:nihongf@mobilesoft.com.cn
  1864. * ----------------------------------------------------------------------------*/ 
  1865. void MMIMMS_SaveMMS(pMessageList tlist);
  1866. /* ----------------------------------------------------------------------------
  1867. * Function Name: MMIMMS_SaveAutoSign
  1868. * Purpose:保存自动签名页到文件系统
  1869. * Input:  filename:自动签名页的文件名
  1870. * Returns: void
  1871. * Author:nihongf@mobilesoft.com.cn
  1872. * ----------------------------------------------------------------------------*/ 
  1873. void MMIMMS_SaveAutoSign(uint8 * filename);
  1874. /* ----------------------------------------------------------------------------
  1875. * Function Name: MMIMMS_SaveAutoSignMessage
  1876. * Purpose:将自动签名页的编辑文档保存到文件中
  1877. * Input:  pMMS_EDocument:自动签名页的编辑文档
  1878. * Returns: void
  1879. * Author:nihongf@mobilesoft.com.cn
  1880. * ----------------------------------------------------------------------------*/ 
  1881. void MMIMMS_SaveAutoSignMessage(pMMS_EDocument p_cur_edit);
  1882. /* ----------------------------------------------------------------------------
  1883. * Function Name: MMIMMS_ReadMMS
  1884. * Purpose:从flash资源中读取彩信
  1885. * Input:  pMessageList:彩信LIST
  1886. * Returns: void
  1887. * Author:nihongf@mobilesoft.com.cn
  1888. * ----------------------------------------------------------------------------*/ 
  1889. void MMIMMS_ReadMMS(pMessageList tlist);
  1890. /* ----------------------------------------------------------------------------
  1891. * Function Name: MMIMMS_ReadAutosign
  1892. * Purpose:从flash资源中读取自动签名页
  1893. * Input:  void
  1894. * Returns: void
  1895. * Author:nihongf@mobilesoft.com.cn
  1896. * ----------------------------------------------------------------------------*/ 
  1897. void   MMIMMS_ReadAutosign(void);
  1898. /* ----------------------------------------------------------------------------
  1899. * Function Name: MMIMMS_GetMMSMessage
  1900. * Purpose:从对应的 彩信文档中获取对应的管理信息条目
  1901. * Input:  彩信文档
  1902. * Returns: 对应的列表信息
  1903. * Author:nihongf@mobilesoft.com.cn
  1904. * ----------------------------------------------------------------------------*/ 
  1905. pMessageList MMIMMS_GetMMSMessage(MMSHANDLE mmsdoc,int state);
  1906. /* ----------------------------------------------------------------------------
  1907. * Function Name: MMIMMS_UpdateRecvMMSMessage
  1908. * Purpose:接受完彩信后更新对应的管理条目
  1909. * Input:  一条管理list
  1910. * Returns: void
  1911. * Author:nihongf@mobilesoft.com.cn
  1912. * ----------------------------------------------------------------------------*/ 
  1913. void  MMIMMS_UpdateRecvMMSMessage(pMessageList tlist);
  1914. /* ----------------------------------------------------------------------------
  1915. * Function Name: CMS_MMSSecond2Tm
  1916. * Purpose:获得当前的时间
  1917. * Input:  1970年标准时间
  1918. * Returns: 当地时间结构
  1919. * Author:nihongf@mobilesoft.com.cn
  1920. * ----------------------------------------------------------------------------*/ 
  1921. MMI_TM_T CMS_MMSSecond2Tm(uint32 second);
  1922. /* ----------------------------------------------------------------------------
  1923. * Function Name: MMIMMS_DeleteFLASHMMS
  1924. * Purpose:删除对应的falsh上彩信文件
  1925. * Input:  当前消息list列表
  1926. * Returns: 当地时间结构
  1927. * Author:nihongf@mobilesoft.com.cn
  1928. * ----------------------------------------------------------------------------*/ 
  1929. void MMIMMS_DeleteFLASHMMS(pMessageList tlist);
  1930. /* ----------------------------------------------------------------------------
  1931. * Function Name: MMIMMS_ManagerListCopy
  1932. * Purpose:拷贝生成另外一条彩信信息,另外申请了内存
  1933. * Input:  当前消息list列表
  1934. * Returns: void
  1935. * Author:nihongf@mobilesoft.com.cn
  1936. * ----------------------------------------------------------------------------*/ 
  1937. pMessageList MMIMMS_ManagerListCopy(pMessageList   tlist);
  1938. /* ----------------------------------------------------------------------------
  1939. * Function Name: MMIMMS_AddManagerList
  1940. * Purpose:在指定的目录上增加list信息
  1941. * Input:  folder 当前操作的文件夹,mlist 增加的信息
  1942. * Returns: 
  1943. * Author:nihongf@mobilesoft.com.cn
  1944. * ----------------------------------------------------------------------------*/ 
  1945. void MMIMMS_AddManagerList(pMessageFolder folder, pMessageList mlist);
  1946. /* ----------------------------------------------------------------------------
  1947. * Function Name: MMIMMS_DeleteAllMMS
  1948. * Purpose:删除当前floder的所有管理条目以及对应的彩信
  1949. * Input:  当前操作的文件夹,currentFloder
  1950. * Returns: 
  1951. * Author:nihongf@mobilesoft.com.cn
  1952. * ----------------------------------------------------------------------------*/ 
  1953. void MMIMMS_DeleteAllMMS(pMessageFolder folder);
  1954. /* ----------------------------------------------------------------------------
  1955. * Function Name: MMIMMS_DeleteMMSOneOfAll
  1956. * Purpose:删除当前floder的一条管理条目以及对应的彩信
  1957. * Input:  当前操作的文件夹,currentFloder
  1958. * Returns: 
  1959. * Author:nihongf@mobilesoft.com.cn
  1960. * ----------------------------------------------------------------------------*/ 
  1961. void MMIMMS_DeleteMMSOneOfAll(pMessageFolder folder);
  1962. /* ----------------------------------------------------------------------------
  1963. * Function Name: MMIMMS_GetListSubject
  1964. * Purpose:得到实际的标题内容
  1965. * Input:  pMessageList:彩信LIST
  1966. * Returns: 
  1967. * Author:nihongf@mobilesoft.com.cn
  1968. * ----------------------------------------------------------------------------*/ 
  1969. uint8* MMIMMS_GetListSubject(pMessageList   tlist);
  1970. /* ----------------------------------------------------------------------------
  1971. * Function Name: MMIMMS_SaveVideo
  1972. * Purpose: 保存视频文件
  1973. * Input:  videoname:视频文件名
  1974.       vidoBuf:视频内容指针
  1975.   videoBufLen:视频内容大小
  1976. * Returns: DOWN_ERROR_TYPE
  1977. * Author:nihongf@mobilesoft.com.cn
  1978. * ----------------------------------------------------------------------------*/ 
  1979. DOWN_ERROR_TYPE MMIMMS_SaveVideo(uint8 * videoname, uint8 *vidoBuf, uint32 vidoBufLen);
  1980. /* ----------------------------------------------------------------------------
  1981. * Function Name: MMIMMS_SaveMp3
  1982. * Purpose: 保存MP3文件
  1983. * Input:  mp3name:MP3文件名
  1984.       mp3Buf:MP3内容指针
  1985.   mp3BufLen:MP3内容大小
  1986. * Returns: DOWN_ERROR_TYPE
  1987. * Author:nihongf@mobilesoft.com.cn
  1988. * ----------------------------------------------------------------------------*/ 
  1989. DOWN_ERROR_TYPE MMIMMS_SaveMp3(uint8 * mp3name, uint8* mp3Buf, uint32 mp3BufLen);//  [4/6/2006 Hongkui.Kang]
  1990. /* ----------------------------------------------------------------------------
  1991. * Function Name: MMIMMS_DeleteManagerListOneOfAll
  1992. * Purpose: 删除管理目录
  1993. * Input:  pMessageFolder:当前folder
  1994. * Returns: void
  1995. * Author:nihongf@mobilesoft.com.cn
  1996. * ----------------------------------------------------------------------------*/ 
  1997. void MMIMMS_DeleteManagerListOneOfAll(pMessageFolder folder);
  1998. /* ----------------------------------------------------------------------------
  1999. * Function Name: MMIMMS_SortManagerFolder
  2000. * Purpose: 对于传入的文件列表进行排序,为了更好的节省时间,采取对与传入的LIST先
  2001.                                          进行删除,,再进行插入排序
  2002. * Input:  pMessageFolder:当前folder
  2003.   pMessageList tlist:当前list
  2004. * Returns: void
  2005. * Author:nihongf@mobilesoft.com.cn
  2006. * ----------------------------------------------------------------------------*/ 
  2007. void MMIMMS_SortManagerFolder(pMessageFolder folder,pMessageList tlist);
  2008. /* ----------------------------------------------------------------------------
  2009. * Function Name: MMIMMS_AddManagerListBySort
  2010. * Purpose: 将list内容插入管理目录中
  2011. * Input:  pMessageFolder:当前folder
  2012.   pMessageList tlist:当前list
  2013. * Returns: void
  2014. * Author:nihongf@mobilesoft.com.cn
  2015. * ----------------------------------------------------------------------------*/ 
  2016. void MMIMMS_AddManagerListBySort(pMessageFolder folder, pMessageList tlist);
  2017. /* ----------------------------------------------------------------------------
  2018. * Function Name: MMIMMS_IsMoreSpace
  2019. * Purpose: 判断是否还有足够空间用以保存彩信
  2020. * Input:  void
  2021. * Returns: BOOLEAN
  2022. * Author:nihongf@mobilesoft.com.cn
  2023. * ----------------------------------------------------------------------------*/ 
  2024. BOOLEAN MMIMMS_IsMoreSpace(void);
  2025. /* ----------------------------------------------------------------------------
  2026. * Function Name: MMIMMS_SendMMSReadRpt
  2027. * Purpose: 发送阅读报告
  2028. * Input:  pMessageList:list
  2029. * Returns: void
  2030. * Author:nihongf@mobilesoft.com.cn
  2031. * ----------------------------------------------------------------------------*/ 
  2032. void MMIMMS_SendMMSReadRpt(pMessageList tlist);
  2033. /* ----------------------------------------------------------------------------
  2034. * Function Name: MMIMMS_DisplaySendRecvProgress
  2035. * Purpose: 显示进度条
  2036. * Input:  uint32   pos:当前进度
  2037.   uint32 totalsize:总的大小
  2038. * Returns: void
  2039. * Author:nihongf@mobilesoft.com.cn
  2040. * ----------------------------------------------------------------------------*/ 
  2041. void MMIMMS_DisplaySendRecvProgress(uint32   pos,uint32 totalsize);
  2042. /* ----------------------------------------------------------------------------
  2043. * Function Name: MMIMMS_UdiskFormat
  2044. * Purpose: U盘格式化时删除指定信箱里的MMS
  2045. * Input:  void
  2046. * Returns: void
  2047. * Author:nihongf@mobilesoft.com.cn
  2048. * ----------------------------------------------------------------------------*/ 
  2049. void MMIMMS_UdiskFormat(void); //fnh add 0327 for udisk
  2050. /* ----------------------------------------------------------------------------
  2051. * Function Name: MMIMMS_FreeAutodownList
  2052. * Purpose: 释放整个自动签名链表
  2053. * Input:  void
  2054. * Returns: void
  2055. * Author:nihongf@mobilesoft.com.cn
  2056. * ----------------------------------------------------------------------------*/ 
  2057. void MMIMMS_FreeAutodownList(void);
  2058. /* ----------------------------------------------------------------------------
  2059. * Function Name: MMIMMS_DeleteAutodownList
  2060. * Purpose: 删除自动签名链表的某一接点
  2061. * Input:  void
  2062. * Returns: void
  2063. * Author:nihongf@mobilesoft.com.cn
  2064. * ----------------------------------------------------------------------------*/ 
  2065. void MMIMMS_DeleteAutodownList(void);
  2066. /* ----------------------------------------------------------------------------
  2067. * Function Name: SaveMmsMessage
  2068. * Purpose: 保存彩信到指定的信箱
  2069. * Input:  folder_id:信箱ID号,从1到5分别为:收件箱、发件箱、已发信箱、草稿箱、
  2070.                 当前信箱(可能不需要,暂时加上)
  2071. * Returns: void
  2072. * Author:nihongf@mobilesoft.com.cn
  2073. * ----------------------------------------------------------------------------*/ 
  2074. void SaveMmsMessage(SAVE_MMS_STATUS folder_id, char *filename);
  2075. /* ----------------------------------------------------------------------------
  2076. * Function 发送彩信: CmsSendMessage
  2077. * Purpose: 发送彩信
  2078. * Input:  发送状态
  2079. * Returns: void
  2080. * Author:nihongf@mobilesoft.com.cn
  2081. * ----------------------------------------------------------------------------*/ 
  2082. void CmsSendMessage(MMIMMS_SEND_MMS_STATUS sendstate);
  2083. /* ----------------------------------------------------------------------------
  2084. * Function Name: CmsIsSupportType
  2085. * Purpose:判断是否是支持的数据类型
  2086. * Input:  uint16 type:图片文档
  2087. * Returns:BOOLEAN
  2088. * Author:nihongf@mobilesoft.com.cn
  2089. * ----------------------------------------------------------------------------*/ 
  2090. BOOLEAN CmsIsSupportType(uint16 type);
  2091. /*****************************************************************************/
  2092. //  Description : EditStringToGlobal
  2093. // Global resource dependence : none
  2094. //  Author: Bruce.Chi
  2095. // Input: memory pointer.
  2096. // Output:
  2097. // Note:
  2098. /*****************************************************************************/
  2099. void EditStringToGlobal(MMI_CTRL_ID_T contrl_id, To_Addr* addr_list);
  2100. /*****************************************************************************/
  2101. // Description : to parse the multisend dest address for mms
  2102. // Global resource dependence :
  2103. // Author:yuhua.shi
  2104. // Note:
  2105. /*****************************************************************************/
  2106. void MMIMMS_ParseDestAddr(TEXTEDIT_STRING_INFO_T* text_info, To_Addr* addr_list);
  2107. /* ----------------------------------------------------------------------------
  2108. * Function Name: MMIMMS_ResetConfig
  2109. * Purpose: 重新设置成初始值
  2110. * Input:  void
  2111. * Returns: void
  2112. * Author:nihongf@mobilesoft.com.cn
  2113. * ----------------------------------------------------------------------------*/ 
  2114. void   MMIMMS_ResetConfig(void);
  2115. /* ----------------------------------------------------------------------------
  2116. * Function Name: MMIMMS_IsInit
  2117. * Purpose: MMS是否初始化完毕
  2118. * Input:  void
  2119. * Returns: BOOLEAN
  2120. * Author:nihongf@mobilesoft.com.cn
  2121. * ----------------------------------------------------------------------------*/ 
  2122. BOOLEAN MMIMMS_IsInit(void);
  2123. /**--------------------------------------------------------------------------*
  2124.  **                         Compiler Flag                                    *
  2125.  **--------------------------------------------------------------------------*/
  2126. #ifdef   __cplusplus
  2127.     }
  2128. #endif
  2129. #endif