CallManagementStruct.h
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:10k
源码类别:

MTK

开发平台:

C/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. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*******************************************************************************
  36.  * Filename:
  37.  * ---------
  38.  *  CallManagementStruct.h
  39.  *
  40.  * Project:
  41.  * --------
  42.  *  MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *  
  47.  *
  48.  * Author:
  49.  * -------
  50.  *  
  51.  *
  52.  *==============================================================================
  53.  *             HISTORY
  54.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  55.  *------------------------------------------------------------------------------
  56.  * removed!
  57.  *
  58.  * removed!
  59.  * removed!
  60.  * removed!
  61.  *
  62.  * removed!
  63.  * removed!
  64.  * removed!
  65.  *
  66.  *------------------------------------------------------------------------------
  67.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  68.  *==============================================================================
  69.  *******************************************************************************/
  70. /**
  71.  * Copyright Notice
  72.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  73.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  74.  *  (It is illegal to remove this copyright notice from this software or any
  75.  *  portion of it)
  76.  */
  77. /**************************************************************
  78.    FILENAME : CallManagementStruct.h
  79.    PURPOSE     : Call Management application
  80.    REMARKS     : nil
  81.    AUTHOR      : Subramanya BG 
  82.    DATE     : Nov 11,02
  83. **************************************************************/
  84. #ifndef _PIXCOM_CALLMANAGEMENT_STRUCT_H
  85. #define _PIXCOM_CALLMANAGEMENT_STRUCT_H
  86. #include "L4Dr.h"
  87. #include "DateTimeType.h"
  88. #include "PhoneBookTypes.h"
  89. #define MAX_CALLS          7
  90. #define MAX_HOLD           5
  91. #define CM_NOTIFY_TIMEOUT     UI_POPUP_NOTIFYDURATION_TIME_2000 /* typical notify timeout for CM */
  92. #define CM_AUTOANSWER_NOTIFY_TIMEOUT      2000  /* typical notify timeout for CM */
  93. #define CM_CCBS_NOTIFY_TIMEOUT      10000       /* ccbs notify timeout for CM */
  94. #define CM_WAITFORSS_TIMEOUT  1000
  95. #define MAX_CM_SCREEN_DIGITS_ANYKEY 20  /* Idle screen digits */
  96. #define MAX_CM_SCREEN_DIGITS  13        /* Idle screen digits */
  97. #define CM_HANGUP_REQUESTED      0x01
  98. #define CM_HOLD_REQUESTED     0x02
  99. #define CM_RETRIEVE_REQUESTED 0x04
  100. #define CM_SWAP_REQUESTED     0x08
  101. #define CM_CONF_REQUESTED     0x10
  102. #define CM_SPLIT_REQUESTED    0x20
  103. #define CM_ECT_REQUESTED      0x40
  104. #ifdef MMI_ON_HARDWARE_P
  105. #define CM_VOICE_CALL CSMCC_VOICE_CALL
  106. #define CM_AUX_VOICE_CALL CSMCC_AUX_VOICE_CALL
  107. #define CM_DATA_CALL CSMCC_DATA_CALL
  108. #define CM_CSD_CALL CSMCC_CSD_CALL
  109. #else /* MMI_ON_HARDWARE_P */ 
  110. #define CM_VOICE_CALL 1
  111. #define CM_DATA_CALL 2
  112. #define CM_CSD_CALL 3
  113. #define CM_AUX_VOICE_CALL 4
  114. #endif /* MMI_ON_HARDWARE_P */ 
  115. #ifdef MMI_ON_HARDWARE_P        /* This is incremented by one to accomodate '+' sign */
  116. #define MAX_DIGIT          MAX_CC_ADDR_LEN      /* Max digits in DTMF Buf */
  117. #define MAX_NUMBER         ((MAX_CC_ADDR_LEN+1)*ENCODING_LENGTH)
  118. #define MAX_CM_NUMBER      ((MAX_CC_ADDR_LEN + 20 + 1) * ENCODING_LENGTH)
  119. #define MAX_NAME        ((MAX_PB_NAME_LENGTH+1)*ENCODING_LENGTH)
  120. #else /* MMI_ON_HARDWARE_P */ /* This is incremented to accomodate '+' sign and NULL character */
  121. #define MAX_DIGIT          40+1 /* Max digits in DTMF Buf */
  122. #define MAX_NUMBER         ((40+1+1)*ENCODING_LENGTH)
  123. #define MAX_CM_NUMBER      ((40+20+1+1) * ENCODING_LENGTH)
  124. #define MAX_NAME        40
  125. #endif /* MMI_ON_HARDWARE_P */ 
  126. #define MAX_DTMFBUF_DIGITS 40
  127. typedef S16 CM_CALL_HANDLE;
  128. typedef enum CmEventTypes
  129. {
  130.     CM_PS_CALL_INCOMING,
  131.     CM_PS_INCOMING_CALL_CONNECTED,
  132.     CM_PS_INCOMING_CALL_REJECTED,
  133.     CM_PS_INCOMING_CALL_DROPPED,
  134.     CM_PS_ALL_ACTIVE_CALL_DISCONNECTED,
  135.     CM_PS_ACTIVE_CALL_DISCONNECTED,
  136.     CM_PS_ACTIVE_CALL_HELD,
  137.     CM_PS_HELD_CALL_ACTIVE,
  138.     CM_PS_NWK_CALL_DROP,
  139.     CM_PS_AOC_INDICATION,
  140.     CM_PS_CALLCONNECTED,    /* associated data structure is the int(callIndex). */
  141.     CM_PS_HANGUPSUC,        /* associated data structure is the int(callIndex). */
  142.     CM_PS_HANGUPALLSUC,     /* associated data is void */
  143.     CM_PS_HANGUPALLACTSUC,  /* associated data is void */
  144.     CM_PS_HANGUPALLHLDSUC,  /* associated data is void */
  145.     CM_PS_HOLDSUC,          /* associated data is void */
  146.     CM_PS_RETRIEVESUC,      /* associated data is void */
  147.     CM_PS_SWAPSUC,          /* associated data is void */
  148.     CM_PS_CONFSUC,          /* associated data is void */
  149.     CM_PS_SPLITSUC,         /* associated data structure is the int(callIndex). */
  150.     CM_PS_ECT_SUC,
  151.     CM_PS_SPEECH_IND,
  152.     CM_PS_SHOW_OUTGOING_CALL_SCREEN,
  153.     CM_PS_SHOW_REQUESTING_CALL_SCREEN,
  154.     CM_PS_CALL_WAIT,
  155.     CM_PS_SS_EVENT,
  156.     CM_PS_INCOMING_CALL_DEFLECT,
  157.     CM_PS_CCBS_ACTIVATE,
  158.     CM_PS_ACTIVATED_CCBS,
  159.     CM_PS_CCBS_INVOKE,
  160.     CM_PS_CCBS_INVOKE_DIAL,
  161.     CM_PS_CCBS_INVOKE_REJECT,
  162.     CM_PS_CONFIRM_DTMF_STRING,
  163.     CM_PS_USSD_RECVD,
  164.     CM_KB_OUTGOINGCALL,
  165.     CM_KB_HOLDREQ,
  166.     CM_KB_RETRIEVEREQ,
  167.     CM_KB_SWAPREQ,
  168.     CM_KB_CONFREQ,
  169.     CM_KB_SPLITREQ,
  170.     CM_KB_ECT_REQ,
  171.     CM_KB_HANGUPREQ,
  172.     CM_KB_HANGUPALLREQ,
  173.     CM_KB_HANGUPALLACTREQ,
  174.     CM_KB_HANGUPALLHLDREQ,
  175.     CM_KB_HANG_ALL_CALLS,
  176.     CM_KB_INCOMING_CALL_ACCEPT,
  177.     CM_KB_INCOMING_CALL_REJECT,
  178.     CM_KB_END_ALL_ACTIVE_RETRIEVE_HELD,
  179.     CM_KB_END_ACTIVE_ACCEPT_INCOMING,
  180.     CM_KB_CALL_DEFLECT_REQ
  181. } CM_EVENT_TYPES;
  182. typedef enum ACTION_RESULT
  183. {
  184.     CM_CALL_SUCCESS,
  185.     CM_CALL_FAILURE,
  186.     CM_NO_INCOMING
  187. } ACTION_RESULT;
  188. typedef enum CHLD_REQ_ACTION
  189. {
  190.     CM_ACTION_NONE = 0,
  191.     CM_HANGUPALL_REQ_SENT,
  192.     CM_HANGUPALLACTIVE_REQ_SENT,
  193.     CM_HANGUPALLHLD_REQ_SENT,
  194.     CM_ENDSELECTIVE_REQ_SENT,
  195.     CM_UDUB_REQ_SENT
  196. } CHLD_REQ_ACTION;
  197. typedef enum CallState
  198. {
  199.     CM_IDLE_STATE = 0,
  200.     CM_OUTGOING_STATE,
  201.     CM_INCOMING_STATE,
  202.     CM_ACTIVE_STATE,
  203.     CM_HOLD_STATE,
  204.     CM_DISCONNECTING_STATE, /* Start by Julia: Drop call refinement */
  205.     CM_STATE_UNKNOWN
  206. } CALL_STATE;
  207. typedef enum CallDir
  208. {
  209.     CM_CALL_NONE = 0,
  210.     CM_CALL_MO,
  211.     CM_CALL_MT,
  212.     CM_CALL_MO_STK
  213. } CALL_DIR;
  214. typedef struct _inc_callinfo
  215. {
  216.     U8 num[MAX_NUMBER]; /* for storing original number in MO call */
  217.     /* MTK amanda change 1129 for Call Divert SS string */
  218.     U8 number[MAX_CM_NUMBER];
  219.     //U8                         pbNumber[MAX_NUMBER];   
  220.     // Start by Julia
  221. #ifdef __MMI_CM_BLACK_LIST__
  222.     pBOOL block_flag;   /* indicate if the number is blocked, true means blocked and false means not blocked */
  223. #endif 
  224.     /* End by Julia */
  225.     U8 pBname[MAX_NAME];
  226.     U8 name_dcs;
  227.     CALL_STATE prev_state;
  228.     CALL_STATE curr_state;
  229.     MYTIME start_time;
  230.     MYTIME end_time;
  231.     CALL_DIR orgination_flag;
  232.     U8 status_flag;
  233.     U8 call_type;
  234.     CM_CALL_HANDLE call_handle;
  235. } CALL_INFO;
  236. typedef struct _outgoingcall
  237. {
  238.     /* MTK amanda change 1129 for Call Divert SS string */
  239.     U8 Number[MAX_CM_NUMBER];   /* Calling Number. */
  240.     PS8 Name;
  241. } OUTGOING_CALL;
  242. typedef struct l4_result
  243. {
  244.     U8 result;
  245.     U16 cause;
  246. } RESULT;
  247. typedef struct _ussdData
  248. {
  249.     PU8 data;
  250.     U16 length;
  251. } USSD_DATA;
  252. typedef struct _StrHandle
  253. {
  254.     U8 result;
  255.     U16 cause;
  256.     CM_CALL_HANDLE handle;
  257. } STR_HANDLE;
  258. typedef struct _ccmValue
  259. {
  260.     U32 ccm;
  261.     U8 warning;
  262. } CCM_VALUE;
  263. typedef struct IncomingCall
  264. {
  265.     U8 Number[MAX_NUMBER];
  266.     U8 callType;
  267.     S16 callHandle;
  268. } IncomingCall;
  269. typedef struct TimeAndIndex
  270. {
  271.     MYTIME time;
  272.     U8 index;
  273. } TIMEANDINDEX;
  274. #endif /* _PIXCOM_CALLMANAGEMENT_STRUCT_H */