CLI_Icon.c
上传用户:helaifa584
上传日期:2022-06-15
资源大小:29k
文件大小:5k
源码类别:

MTK

开发平台:

Objective-C

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *****************************************************************************/
  10. /*****************************************************************************
  11.  *
  12.  * Filename:
  13.  * ---------
  14.  * CLI_Icon.c
  15.  *
  16.  * Project:
  17.  * --------
  18.  * Nokia Smart Messaging
  19.  *
  20.  * Description:
  21.  * ------------
  22.  * This file implements Nokia Smart CLI Icon.
  23.  *
  24.  * Date :
  25.  * ------
  26.  * 18th May 2005  
  27.  *
  28.  * Author:  
  29.  * --------
  30.  * -------
  31.  * 
  32.  *****************************************************************************/
  33. /**************** START :  INCLUDE SECTION *************************/
  34. #include "MMI_include.h"
  35. #ifdef __MMI_CLI_ICON__
  36. #include "ems.h"
  37. #include "CLI_Icon.h"
  38. /**************** END   :  INCLUDE SECTION *************************/
  39. /*************** START  :  DEFINE SECTION *************************/
  40. #define CLI_ICON_HEADER_SIZE  (sizeof(CLI_ICON_HEADER_STRUCT))
  41. /**************** END   :  DEFINE SECTION *************************/
  42. /**************** START :  TYPEDEFS SECTION *************************/
  43. /**************** END   :  TYPEDEFS SECTION ***************************/
  44. /**************** START :  GLOBAL VARIABLES *************************/
  45. extern U8 gPictureMessageError;
  46. extern U16 RemoveZerosInBetween(U8 *pOutBuffer, U8 *pInBuffer, U16 size);
  47. extern EMSData *GetEMSDataForView(EMSData **p, U8 force);
  48. extern void EntryNsmPicturemsg(void);
  49. /**************** END   :  GLOBAL VARIABLES *************************/
  50. /**************** START :  LOCAL FUNCTIONS DECLARATION *************************/
  51. static void mmi_cli_icon_get_header_info(CLI_ICON_HEADER_STRUCT *ota_bmp_header, OTA_DATA_STRUCT *cli_icon_ota_data);
  52. /**************** END   :  LOCAL FUNCTIONS DECLARATION *************************/
  53. /*****************************************************************************
  54.  * FUNCTION
  55.  *  mmi_cli_icon_parse_ota_data
  56.  * DESCRIPTION
  57.  *  Parse CLI Icon OTA data into bmp header and bmp buffer
  58.  * PARAMETERS
  59.  *  void
  60.  * RETURNS
  61.  *  void
  62.  *****************************************************************************/
  63. extern void mmi_cli_icon_parse_ota_data(void)
  64. {
  65.     /*----------------------------------------------------------------*/
  66.     /* Local Variables                                                */
  67.     /*----------------------------------------------------------------*/
  68.     EMSData *pEms = NULL;
  69.     OTA_DATA_STRUCT cli_icon_ota_data = {NULL, 0};
  70.     CLI_ICON_HEADER_STRUCT cli_icon_header = {0};
  71.     U32 temp;
  72.     /*----------------------------------------------------------------*/
  73.     /* Code Body                                                      */
  74.     /*----------------------------------------------------------------*/
  75.     GetEMSDataForView(&pEms, 0);
  76.     cli_icon_ota_data.OTA_data = (U8*) OslMalloc((pEms->textLength >> 1) + 1);
  77.     ASSERT(cli_icon_ota_data.OTA_data != NULL);
  78.     memset(cli_icon_ota_data.OTA_data, 0x00, ((pEms->textLength >> 1) + 1));
  79.     temp = RemoveZerosInBetween(cli_icon_ota_data.OTA_data, pEms->textBuffer, pEms->textLength);
  80.     /* Get OTA ver and BMP header info */
  81.     mmi_cli_icon_get_header_info(&cli_icon_header, &cli_icon_ota_data);
  82.     /* Get BMP Image data */
  83.     mmi_nsm_create_bmp_buffer(&cli_icon_ota_data, &(cli_icon_header.cli_icon_ota_bmp_header));
  84.     gPictureMessageError = 0;   /* Hack : MMI_NSM_PIC_SUCCESS */
  85.     if (cli_icon_ota_data.OTA_data != NULL)
  86.     {
  87.         OslMfree(cli_icon_ota_data.OTA_data);
  88.     }
  89.     /* Hack : CLI Icon is treated as picture message */
  90.     EntryNsmPicturemsg();
  91. }
  92. /*****************************************************************************
  93.  * FUNCTION
  94.  *  mmi_cli_icon_get_header_info
  95.  * DESCRIPTION
  96.  *  Get header info for bmp image
  97.  * PARAMETERS
  98.  *  ota_bmp_header          [IN]        BMP header structure
  99.  *  cli_icon_ota_data       [IN]        Operator logo OTA data structure
  100.  * RETURNS
  101.  *  void
  102.  *****************************************************************************/
  103. static void mmi_cli_icon_get_header_info(CLI_ICON_HEADER_STRUCT *ota_bmp_header, OTA_DATA_STRUCT *cli_icon_ota_data)
  104. {
  105.     /*----------------------------------------------------------------*/
  106.     /* Local Variables                                                */
  107.     /*----------------------------------------------------------------*/
  108.     /*----------------------------------------------------------------*/
  109.     /* Code Body                                                      */
  110.     /*----------------------------------------------------------------*/
  111.     /* Get OTA version */
  112.     mmi_nsm_get_ver_no(&(ota_bmp_header->cli_icon_ota_ver), cli_icon_ota_data);
  113.     /* Get BMP Image header info */
  114.     mmi_nsm_get_ota_bmp_header(&(ota_bmp_header->cli_icon_ota_bmp_header), cli_icon_ota_data);
  115. }
  116. #endif /* __MMI_CLI_ICON__ */