📄 callmanagementstruct.h
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*******************************************************************************
* Filename:
* ---------
* CallManagementStruct.h
*
* Project:
* --------
* MAUI
*
* Description:
* ------------
*
*
* Author:
* -------
*
*
*==============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*==============================================================================
*******************************************************************************/
/**
* Copyright Notice
* ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
* Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
* (It is illegal to remove this copyright notice from this software or any
* portion of it)
*/
/**************************************************************
FILENAME : CallManagementStruct.h
PURPOSE : Call Management application
REMARKS : nil
AUTHOR : Subramanya BG
DATE : Nov 11,02
**************************************************************/
#ifndef _PIXCOM_CALLMANAGEMENT_STRUCT_H
#define _PIXCOM_CALLMANAGEMENT_STRUCT_H
#include "L4Dr.h"
#include "DateTimeType.h"
#include "PhoneBookTypes.h"
#define MAX_CALLS 7
#define MAX_HOLD 5
#define CM_NOTIFY_TIMEOUT UI_POPUP_NOTIFYDURATION_TIME_2000 /* typical notify timeout for CM */
#define CM_AUTOANSWER_NOTIFY_TIMEOUT 2000 /* typical notify timeout for CM */
#define CM_CCBS_NOTIFY_TIMEOUT 10000 /* ccbs notify timeout for CM */
#define CM_WAITFORSS_TIMEOUT 1000
#define MAX_CM_SCREEN_DIGITS_ANYKEY 20 /* Idle screen digits */
#define MAX_CM_SCREEN_DIGITS 13 /* Idle screen digits */
#define CM_HANGUP_REQUESTED 0x01
#define CM_HOLD_REQUESTED 0x02
#define CM_RETRIEVE_REQUESTED 0x04
#define CM_SWAP_REQUESTED 0x08
#define CM_CONF_REQUESTED 0x10
#define CM_SPLIT_REQUESTED 0x20
#define CM_ECT_REQUESTED 0x40
#ifdef MMI_ON_HARDWARE_P
#define CM_VOICE_CALL CSMCC_VOICE_CALL
#define CM_AUX_VOICE_CALL CSMCC_AUX_VOICE_CALL
#define CM_DATA_CALL CSMCC_DATA_CALL
#define CM_CSD_CALL CSMCC_CSD_CALL
#else /* MMI_ON_HARDWARE_P */
#define CM_VOICE_CALL 1
#define CM_DATA_CALL 2
#define CM_CSD_CALL 3
#define CM_AUX_VOICE_CALL 4
#endif /* MMI_ON_HARDWARE_P */
#ifdef MMI_ON_HARDWARE_P /* This is incremented by one to accomodate '+' sign */
#define MAX_DIGIT MAX_CC_ADDR_LEN /* Max digits in DTMF Buf */
#define MAX_NUMBER ((MAX_CC_ADDR_LEN+1)*ENCODING_LENGTH)
#define MAX_CM_NUMBER ((MAX_CC_ADDR_LEN + 20 + 1) * ENCODING_LENGTH)
#define MAX_NAME ((MAX_PB_NAME_LENGTH+1)*ENCODING_LENGTH)
#else /* MMI_ON_HARDWARE_P */ /* This is incremented to accomodate '+' sign and NULL character */
#define MAX_DIGIT 40+1 /* Max digits in DTMF Buf */
#define MAX_NUMBER ((40+1+1)*ENCODING_LENGTH)
#define MAX_CM_NUMBER ((40+20+1+1) * ENCODING_LENGTH)
#define MAX_NAME 40
#endif /* MMI_ON_HARDWARE_P */
#define MAX_DTMFBUF_DIGITS 40
typedef S16 CM_CALL_HANDLE;
typedef enum CmEventTypes
{
CM_PS_CALL_INCOMING,
CM_PS_INCOMING_CALL_CONNECTED,
CM_PS_INCOMING_CALL_REJECTED,
CM_PS_INCOMING_CALL_DROPPED,
CM_PS_ALL_ACTIVE_CALL_DISCONNECTED,
CM_PS_ACTIVE_CALL_DISCONNECTED,
CM_PS_ACTIVE_CALL_HELD,
CM_PS_HELD_CALL_ACTIVE,
CM_PS_NWK_CALL_DROP,
CM_PS_AOC_INDICATION,
CM_PS_CALLCONNECTED, /* associated data structure is the int(callIndex). */
CM_PS_HANGUPSUC, /* associated data structure is the int(callIndex). */
CM_PS_HANGUPALLSUC, /* associated data is void */
CM_PS_HANGUPALLACTSUC, /* associated data is void */
CM_PS_HANGUPALLHLDSUC, /* associated data is void */
CM_PS_HOLDSUC, /* associated data is void */
CM_PS_RETRIEVESUC, /* associated data is void */
CM_PS_SWAPSUC, /* associated data is void */
CM_PS_CONFSUC, /* associated data is void */
CM_PS_SPLITSUC, /* associated data structure is the int(callIndex). */
CM_PS_ECT_SUC,
CM_PS_SPEECH_IND,
CM_PS_SHOW_OUTGOING_CALL_SCREEN,
CM_PS_SHOW_REQUESTING_CALL_SCREEN,
CM_PS_CALL_WAIT,
CM_PS_SS_EVENT,
CM_PS_INCOMING_CALL_DEFLECT,
CM_PS_CCBS_ACTIVATE,
CM_PS_ACTIVATED_CCBS,
CM_PS_CCBS_INVOKE,
CM_PS_CCBS_INVOKE_DIAL,
CM_PS_CCBS_INVOKE_REJECT,
CM_PS_CONFIRM_DTMF_STRING,
CM_PS_USSD_RECVD,
CM_KB_OUTGOINGCALL,
CM_KB_HOLDREQ,
CM_KB_RETRIEVEREQ,
CM_KB_SWAPREQ,
CM_KB_CONFREQ,
CM_KB_SPLITREQ,
CM_KB_ECT_REQ,
CM_KB_HANGUPREQ,
CM_KB_HANGUPALLREQ,
CM_KB_HANGUPALLACTREQ,
CM_KB_HANGUPALLHLDREQ,
CM_KB_HANG_ALL_CALLS,
CM_KB_INCOMING_CALL_ACCEPT,
CM_KB_INCOMING_CALL_REJECT,
CM_KB_END_ALL_ACTIVE_RETRIEVE_HELD,
CM_KB_END_ACTIVE_ACCEPT_INCOMING,
CM_KB_CALL_DEFLECT_REQ
} CM_EVENT_TYPES;
typedef enum ACTION_RESULT
{
CM_CALL_SUCCESS,
CM_CALL_FAILURE,
CM_NO_INCOMING
} ACTION_RESULT;
typedef enum CHLD_REQ_ACTION
{
CM_ACTION_NONE = 0,
CM_HANGUPALL_REQ_SENT,
CM_HANGUPALLACTIVE_REQ_SENT,
CM_HANGUPALLHLD_REQ_SENT,
CM_ENDSELECTIVE_REQ_SENT,
CM_UDUB_REQ_SENT
} CHLD_REQ_ACTION;
typedef enum CallState
{
CM_IDLE_STATE = 0,
CM_OUTGOING_STATE,
CM_INCOMING_STATE,
CM_ACTIVE_STATE,
CM_HOLD_STATE,
CM_DISCONNECTING_STATE, /* Start by Julia: Drop call refinement */
CM_STATE_UNKNOWN
} CALL_STATE;
typedef enum CallDir
{
CM_CALL_NONE = 0,
CM_CALL_MO,
CM_CALL_MT,
CM_CALL_MO_STK
} CALL_DIR;
typedef struct _inc_callinfo
{
U8 num[MAX_NUMBER]; /* for storing original number in MO call */
/* MTK amanda change 1129 for Call Divert SS string */
U8 number[MAX_CM_NUMBER];
//U8 pbNumber[MAX_NUMBER];
// Start by Julia
#ifdef __MMI_CM_BLACK_LIST__
pBOOL block_flag; /* indicate if the number is blocked, true means blocked and false means not blocked */
#endif
/* End by Julia */
U8 pBname[MAX_NAME];
U8 name_dcs;
CALL_STATE prev_state;
CALL_STATE curr_state;
MYTIME start_time;
MYTIME end_time;
CALL_DIR orgination_flag;
U8 status_flag;
U8 call_type;
CM_CALL_HANDLE call_handle;
} CALL_INFO;
typedef struct _outgoingcall
{
/* MTK amanda change 1129 for Call Divert SS string */
U8 Number[MAX_CM_NUMBER]; /* Calling Number. */
PS8 Name;
} OUTGOING_CALL;
typedef struct l4_result
{
U8 result;
U16 cause;
} RESULT;
typedef struct _ussdData
{
PU8 data;
U16 length;
} USSD_DATA;
typedef struct _StrHandle
{
U8 result;
U16 cause;
CM_CALL_HANDLE handle;
} STR_HANDLE;
typedef struct _ccmValue
{
U32 ccm;
U8 warning;
} CCM_VALUE;
typedef struct IncomingCall
{
U8 Number[MAX_NUMBER];
U8 callType;
S16 callHandle;
} IncomingCall;
typedef struct TimeAndIndex
{
MYTIME time;
U8 index;
} TIMEANDINDEX;
#endif /* _PIXCOM_CALLMANAGEMENT_STRUCT_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -