⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmicall.h

📁 是一个手机功能的模拟程序
💻 H
字号:
/*******************************************************************************

					CONDAT (UK)

********************************************************************************                                                                              

 This software product is the property of Condat (UK) Ltd and may not be
 disclosed to any third party without the express permission of the owner.                                 
                                                                              
********************************************************************************

 $Project name:	Basic MMI                                                      
 $Project code:	BMI (6349)                                                           
 $Module:		Call
 $File:		    MmiCall.h
 $Revision:		1.0                                                       
                                                                              
 $Author:		Condat(UK)                                                         
 $Date:		    25/10/00                                                      
                                                                               
********************************************************************************
                                                                              
 Description:
                        
********************************************************************************

 $History: MmiCall.h

	25/10/00			Original Condat(UK) BMI version.	
	   
 $End

*******************************************************************************/
/********************************************************************************

 $History: MmiCall.h

	22/07/02			zy Mobile Innovation add the different information win	
	   
 $End

*******************************************************************************/

#ifndef _DEF_MMI_CALL_H_
#define _DEF_MMI_CALL_H_

#define ALLOC_MEMORY mfwAlloc
#define FREE_MEMORY  mfwFree


#include "mfw_phb.h"
#include "mfw_cm.h"
#include "MmiMmi.h"
#include "MmiDialogs.h" //GW 29/11/01 - Added 
#include "MmiIdle.h" // SPR#0630 - SH - EDITOR_SIZE now defined in MmiIdle.h

typedef enum
{
    CallNone=CallDummy,
    CallNormal,
    CallDone,
	CallNew,
    CallSingle,
    CallTwo,
    CallConference,
	CallPrivateCall,
	CallSingleMultiparty,
	CallMultipartySingle

};

typedef enum
{
    ViewConnect,
    ViewEnd,
    ViewMenu,
    ViewCalling,
    ViewIncoming,
    ViewDTMF,
	ViewDTMFAuto,
	ViewCallError,
	ViewSelectPrivateCall,
	ViewScratchPad,
	ViewWaitingAnswer,
	ViewAutoRedial,
	ViewSendingDTMF,
	ViewShortWait,		//GW Added 
	ViewMulticallControl, 
	ViewMulticallControlCallWaiting,
	ViewMulticallControlIncomingCall

};

typedef enum
{
    CallActive,
    CallInactive
    
};

extern UBYTE callStatus;
extern int idwithheld;

#define true 1
#define false 0

//#define MAX_CALLS 5 
#define MAX_CALLS 6//zy Mobile Innovation add for 5 conference call and one single call
#define MAX_CHAR 15
#define MAX_LINE 14
#define MAX_NAMELEN 7
#define MAX_ONENAMELEN 12
#define CALL_NAME_LENGTH	22


#define FIRST_TYPED  20000
/***************zy Mobile Innovation add the different information dialog flag*******************/
/*#define MMI_OUTGOING_CALL_DIALOG_NORMAL        (201)
#define MMI_OUTGOING_CALL_DIALOG_SAT           (202)
#define MMI_OUTGOING_CALL_DIALOG_RINGOFF        (203)
#define MMI_INCOMING_CALL_DIALOG_NORMAL        (204)
#define MMI_SHOWCALLICON_DIALOG    (205)
#define MMI_OUTGOING_CALL_SAT_RINGOFF        (206)*//*2003/12/4, wangyan delete*/
/********end of zy Mobile Innovation add the different information dialog flag*********/
typedef struct{
    short id;
    char number[MAX_CHAR];
    char name[MAX_CHAR];
    UBYTE state;
} tMmiCall;

typedef struct{
    int mode;
    UBYTE muted;
    UBYTE view;
    UBYTE numCalls;
    SHORT selected;
	long time[MAX_CALLS];
    T_MFW_CM_STATUS status[MAX_CALLS];

} tMmiCallTable;

typedef enum
{
	CALL_INIT,
	CALL_SCRATCHPAD_INIT,
    CALL_SCRATCHPAD_DESTROY,
	CALL_CALLSELECT_INIT,		//GW Added ????
	CALL_DESTROY_WAITING,
	CALL_OUTGOING_SAT,
	CALL_DESTROY_CALLING_WINDOW,
	CALL_DESTROY_ALL
};



struct QUEUETYPE
{
  SHORT          call_number;
  struct QUEUETYPE*   next;	
};

typedef struct QUEUETYPE TYPEQUEUE;

typedef struct
{
    T_MMI_CONTROL   mmi_control;
	T_MFW_HND win;     // window handle
	T_MFW_HND kbd;
    T_MFW_HND kbd_long;
	T_MFW_HND win_search;
	T_MFW_HND cm;
	T_MFW_HND win_incoming;
	T_MFW_HND win_calling;
	T_MFW_HND win_ending;
	T_MFW_HND win_menu;
	T_MFW_HND win_waiting;
	T_MFW_HND win_sending_dtmf;
	T_MFW_HND editCall;
	T_MFW_HND win_redial;
//	T_MFW_HND win_active;
//T_MFW_HND active_tim;/*2003/12/16, wangyan modify*/
	T_MFW_HND win_scratch;
	/*begin of zy add 2003-04-01 notify these win build in call*/
	T_MFW_HND win_sms;//send sms win incall
	T_MFW_HND win_phb;//phb win incall
	T_MFW_HND win_memo;//memo win incall
	T_MFW_HND win_voicerecord;//voicerecord win incall
	T_MFW_HND win_adjustvolume;//adjustvolume win incall
	/*end of zy change 2003-04-01*/

	T_MFW_PHB_ENTRY entry;
	int current_command;
	UBYTE callStatus;
	tMmiCallTable calls;
	int accessEnd;			// controls when several calls are to be ended
	int callWaitingEnd;
	int emergencyCall;
	int callsToEnd;
	long timeEnded;
	TYPEQUEUE *endQueue;
	SHORT incCall;
	SHORT outCall;
	int refreshConnect;
	int firstChar;
	int currentModule;
	int currentVolume;
	SHORT singleCall;
	unsigned char charSent;
	char sendingDTMF;
	T_MFW_CM_CW_INFO globalCWInfo;   /* information about incoming call */
	char phbNameNumber[CALL_NAME_LENGTH+2];
	char edtBufDTMF[30];    /* edit buffer zy 2003-0429 change it from EDITOR_SIZE to 30            */
	MfwEdtAttr edtAttrCall;
	MfwEdtAttr edtAttrDTMF;          /* edit attributes:         */
	T_MFW_CM_AOC_INFO aocInfo;
	USHORT ignore_disconnect;
	UBYTE call_direction;
	UBYTE colp_number[MFW_NUM_LEN];  /* colp number     */
	UBYTE isHandSetMode;        //zy for handset is plugin
	UBYTE handSetKeyDone;      //zy for handset already done
    UBYTE handSetOldStatus;      //zy for handset oldstatus
    USHORT mintalert;
//	UBYTE active_current_frame;/*2003/12/16, wangyan add*/
//		UBYTE active_number_of_frames;
} T_call;
                                        /* PROTOTYPES               */
void callInit (MfwHnd parent);
void callExit (void);

T_MFW_HND call_create (T_MFW_HND parent_window);
void call_destroy (T_MFW_HND own_window);


void callExec (int reason, MmiState next);

void callNumber(UBYTE* number);

UBYTE call_status(void);
MfwHnd call_get_window(void);

void StartsendDTMFString(char * String);
int menuInCallTimerOn(MfwMnu* m, MfwMnuItem* i);
int menuInCallTimerOff(MfwMnu* m, MfwMnuItem* i);
void print_mfw_link(void);/*yq 2003-03-19*/
void saveRejNuminhalloff(void);/*zy 2003-04-04*/


extern BOOL call_win_flag;
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -