📄 mmicall.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
*******************************************************************************/
#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,
ViewDTMFMenu,
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
/*mc, SPR 1319*/
#ifdef LSCREEN
#define MAX_CHAR PHB_MAX_LEN /*MC SPR 1442*/
#else
#define MAX_CHAR 12
#endif
#define MAX_LINE 14
#define FIRST_TYPED 20000
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_CALLSELECT_INIT, //GW Added ????
CALL_DESTROY_WAITING,
CALL_OUTGOING_SAT,
CALL_DESTROY_CALLING_WINDOW
};
/* SPR#1352 - SH - Possible status values for TTY */
#ifdef MMI_TTY_ENABLED
typedef enum
{
CALL_TTY_OFF = 0, /* TTY always off */
CALL_TTY_ALWAYSON, /* TTY always on */
CALL_TTY_ONNEXTCALL /* TTY on for next call only */
};
#endif
/* end SH */
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;
#ifdef NEW_EDITOR
T_ED_DATA *editorCall; /* SPR#1428 - SH - New Editor changes */
#else /* NEW_EDITOR */
T_MFW_HND editCall;
#endif /* NEW_EDITOR */
T_MFW_HND win_redial;
T_MFW_HND timer;
/*SPR 1392*/
T_MFW_HND win_deflectEdit; /*handle for call deflect editor.*/
T_MFW_HND win_deflecting; /*"Deflecting to..." window*/
T_MFW_HND win_deflectSearch; /*Call deflection phonebook search window*/
char editor_buffer[20]; /*call deflection number buffer*/
T_DISPLAY_DATA inc_call_data; /*incoming call dialogue display info*/
/*1392 end*/
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[EDITOR_SIZE];
char edtBufDTMF[EDITOR_SIZE]; /* edit buffer */
#ifdef NEW_EDITOR
T_ED_ATTR editorAttrCall; /* SPR#1428 - SH - New Editor changes */
T_ED_ATTR editorAttrDTMF;
#else /* NEW_EDITOR */
MfwEdtAttr edtAttrCall;
MfwEdtAttr edtAttrDTMF; /* edit attributes: */
#endif /* NEW_EDITOR */
T_MFW_CM_AOC_INFO aocInfo;
USHORT ignore_disconnect;
UBYTE call_direction;
UBYTE colp_number[MFW_NUM_LEN]; /* colp number */
int animationScreen;
#ifdef MMI_TTY_ENABLED
UBYTE tty; /* SPR#1352 - SH - TTY status */
#endif
} 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);
int call_ccbs(MfwMnu* menu, MfwMnuItem* item); /* Marcus: CCBS: 1/11/2002 */
/*MC, SPR 1392*/
int call_deflection_on(MfwMnu* m, MfwMnuItem* i);
int call_deflection_off(MfwMnu* m, MfwMnuItem* i);
/*end*/
/* SPR#1352 - SH - TTY */
#ifdef MMI_TTY_ENABLED
void call_tty_init();
UBYTE call_tty_get();
void call_tty_set(UBYTE tty);
int call_tty_menu(MfwMnu* menu, MfwMnuItem* item);
int call_tty_menuselect(MfwMnu* menu, MfwMnuItem* item);
void call_tty_statuswin();
void call_tty_revert();
#endif
/* end SH */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -