comparison src/aci2/bmi/mmiCall.h @ 3:93999a60b835

src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 26 Sep 2016 00:29:36 +0000
parents
children
comparison
equal deleted inserted replaced
2:c41a534f33c6 3:93999a60b835
1 /*******************************************************************************
2
3 CONDAT (UK)
4
5 ********************************************************************************
6
7 This software product is the property of Condat (UK) Ltd and may not be
8 disclosed to any third party without the express permission of the owner.
9
10 ********************************************************************************
11
12 $Project name: Basic MMI
13 $Project code: BMI (6349)
14 $Module: Call
15 $File: mmiCall.h
16 $Revision: 1.0
17
18 $Author: Condat(UK)
19 $Date: 25/10/00
20
21 ********************************************************************************
22
23 Description:
24
25 ********************************************************************************
26
27 $History: mmiCall.h
28
29 Mar 11, 2006 REF:DR:OMAPS00061467 x0035544
30 Description: 27.22.4.13.3 SET UP CALL (display of icons) fails.
31 Solution: created a variable of type T_SAT_IconData at the structure T_call to store the Icon data
32 inorder to display it on calling screen.
33
34 xpradipg - LOCOSTO-ENH-31895 : 23 June 2005
35 Description: Support for various audio profiles
36 Solution: The support for audio device's carkit/headset/loudspeaker/handheld.
37 The audio device is enabled as per the user actions.
38
39 25/10/00 Original Condat(UK) BMI version.
40
41 $End
42
43 *******************************************************************************/
44
45 #ifndef _DEF_MMI_CALL_H_
46 #define _DEF_MMI_CALL_H_
47
48 #define ALLOC_MEMORY mfwAlloc
49 #define FREE_MEMORY mfwFree
50
51 // xpradipg - LOCOSTO-ENH-31895 : 23 June 2005
52 #ifdef FF_MMI_AUDIO_PROFILE
53 #include "mfw_mme.h"
54 #endif
55 #include "mfw_phb.h"
56 #include "mfw_cm.h"
57 #include "MmiMmi.h"
58 #include "MmiDialogs.h" //GW 29/11/01 - Added
59 #include "MmiIdle.h" // SPR#0630 - SH - EDITOR_SIZE now defined in MmiIdle.h
60
61 typedef enum
62 {
63 CallNone=CallDummy,
64 CallNormal,
65 CallDone,
66 CallNew,
67 CallSingle,
68 CallTwo,
69 CallConference,
70 CallPrivateCall,
71 CallSingleMultiparty,
72 CallMultipartySingle
73
74 };
75
76 typedef enum
77 {
78 ViewConnect,
79 ViewEnd,
80 ViewMenu,
81 ViewCalling,
82 ViewIncoming,
83 ViewDTMF,
84 ViewDTMFMenu,
85 ViewCallError,
86 ViewSelectPrivateCall,
87 ViewScratchPad,
88 ViewWaitingAnswer,
89 ViewAutoRedial,
90 ViewSendingDTMF,
91 ViewShortWait, //GW Added
92 ViewMulticallControl,
93 ViewMulticallControlCallWaiting,
94 ViewMulticallControlIncomingCall
95
96 };
97
98 typedef enum
99 {
100 CallActive,
101 CallInactive
102
103 };
104
105 extern UBYTE callStatus;
106 extern int idwithheld;
107
108 #define true 1
109 #define false 0
110
111 #define MAX_CALLS 6
112
113 /*mc, SPR 1319*/
114 #ifdef LSCREEN
115 #define MAX_CHAR PHB_MAX_LEN /*MC SPR 1442*/
116 #else
117 #define MAX_CHAR 12
118 #endif
119 #define MAX_LINE 14
120
121
122 #define FIRST_TYPED 20000
123
124 typedef struct{
125 short id;
126 char number[MAX_CHAR];
127 char name[MAX_CHAR];
128 UBYTE state;
129 } tMmiCall;
130
131 typedef struct{
132 int mode;
133 UBYTE muted;
134 UBYTE view;
135 UBYTE numCalls;
136 SHORT selected;
137 long time[MAX_CALLS];
138 T_MFW_CM_STATUS status[MAX_CALLS];
139
140 } tMmiCallTable;
141
142 typedef enum
143 {
144 CALL_INIT,
145 CALL_SCRATCHPAD_INIT,
146 CALL_CALLSELECT_INIT, //GW Added ????
147 CALL_DESTROY_WAITING,
148 CALL_OUTGOING_SAT,
149 CALL_DESTROY_CALLING_WINDOW
150 };
151
152
153 /* SPR#1352 - SH - Possible status values for TTY */
154 #ifdef MMI_TTY_ENABLED
155 typedef enum
156 {
157 CALL_TTY_OFF = 0, /* TTY always off */
158 CALL_TTY_ALWAYSON, /* TTY always on */
159 CALL_TTY_ONNEXTCALL /* TTY on for next call only */
160 };
161 #endif
162 /* end SH */
163
164 /*
165 ** This is a tri-state flag, to ensure that the Vocoder is not disabled
166 ** when a waiting call is notified while already in call.
167 */
168 typedef enum
169 {
170 CALL_VOCODER_IDLE = 0, /* BMI in Idle State, Vocoder not under BMI control */
171 CALL_VOCODER_DISABLED, /* Vocoder is disabled prior to the call being connected */
172 CALL_VOCODER_INCALL /* Vocoder is enabled and In-Call */
173 } tMmiVcState;
174
175 struct QUEUETYPE
176 {
177 SHORT call_number;
178 struct QUEUETYPE* next;
179 };
180
181 typedef struct QUEUETYPE TYPEQUEUE;
182
183 typedef struct
184 {
185 T_MMI_CONTROL mmi_control;
186 T_MFW_HND win; // window handle
187 T_MFW_HND kbd;
188 T_MFW_HND kbd_long;
189 T_MFW_HND win_search;
190 T_MFW_HND cm;
191 T_MFW_HND win_incoming;
192 T_MFW_HND win_calling;
193 T_MFW_HND win_ending;
194 T_MFW_HND win_menu;
195 T_MFW_HND win_waiting;
196 T_MFW_HND win_sending_dtmf;
197 #ifdef NEW_EDITOR
198 T_ED_DATA *editorCall; /* SPR#1428 - SH - New Editor changes */
199 #else /* NEW_EDITOR */
200 T_MFW_HND editCall;
201 #endif /* NEW_EDITOR */
202 T_MFW_HND win_redial;
203 T_MFW_HND timer;
204
205 /*SPR 1392*/
206 T_MFW_HND win_deflectEdit; /*handle for call deflect editor.*/
207 T_MFW_HND win_deflecting; /*"Deflecting to..." window*/
208 T_MFW_HND win_deflectSearch; /*Call deflection phonebook search window*/
209 char editor_buffer[20]; /*call deflection number buffer*/
210 T_DISPLAY_DATA inc_call_data; /*incoming call dialogue display info*/
211 /*1392 end*/
212 T_MFW_PHB_ENTRY entry;
213 int current_command;
214 UBYTE callStatus;
215 tMmiCallTable calls;
216 int accessEnd; // controls when several calls are to be ended
217 int callWaitingEnd;
218 int emergencyCall;
219 int callsToEnd;
220 long timeEnded;
221 TYPEQUEUE *endQueue;
222 SHORT incCall;
223 SHORT outCall;
224 int refreshConnect;
225 int firstChar;
226 int currentModule;
227 int currentVolume;
228 SHORT singleCall;
229 unsigned char charSent;
230 char sendingDTMF;
231 T_MFW_CM_CW_INFO globalCWInfo; /* information about incoming call */
232 char phbNameNumber[EDITOR_SIZE];
233 char edtBufDTMF[EDITOR_SIZE]; /* edit buffer */
234 #ifdef NEW_EDITOR
235 T_ED_ATTR editorAttrCall; /* SPR#1428 - SH - New Editor changes */
236 T_ED_ATTR editorAttrDTMF;
237 #else /* NEW_EDITOR */
238 MfwEdtAttr edtAttrCall;
239 MfwEdtAttr edtAttrDTMF; /* edit attributes: */
240 #endif /* NEW_EDITOR */
241 T_MFW_CM_AOC_INFO aocInfo;
242 USHORT ignore_disconnect;
243 T_MFW_CM_CALL_DIR call_direction;
244 UBYTE colp_number[MFW_NUM_LEN]; /* colp number */
245 int animationScreen;
246 #ifdef MMI_TTY_ENABLED
247 UBYTE tty; /* SPR#1352 - SH - TTY status */
248 #endif
249 //x0035544 Mar 09, 2006 DR:OMAPS00061467
250 #ifdef FF_MMI_SAT_ICON
251 T_SAT_IconData IconData; //Sat icon information
252 #endif
253 tMmiVcState vocoderState;
254 } T_call;
255 /* PROTOTYPES */
256 void callInit (MfwHnd parent);
257 void callExit (void);
258
259 T_MFW_HND call_create (T_MFW_HND parent_window);
260 void call_destroy (T_MFW_HND own_window);
261
262
263 void callExec (int reason, MmiState next);
264
265 void callNumber(UBYTE* number);
266
267 UBYTE call_status(void);
268 MfwHnd call_get_window(void);
269
270 void StartsendDTMFString(char * String);
271 int menuInCallTimerOn(MfwMnu* m, MfwMnuItem* i);
272 int menuInCallTimerOff(MfwMnu* m, MfwMnuItem* i);
273
274 int call_ccbs(MfwMnu* menu, MfwMnuItem* item); /* Marcus: CCBS: 1/11/2002 */
275
276 /*MC, SPR 1392*/
277 int call_deflection_on(MfwMnu* m, MfwMnuItem* i);
278 int call_deflection_off(MfwMnu* m, MfwMnuItem* i);
279 /*end*/
280 /* SPR#1352 - SH - TTY */
281 #ifdef MMI_TTY_ENABLED
282 void call_tty_init();
283 UBYTE call_tty_get();
284 void call_tty_set(UBYTE tty);
285 int call_tty_menu(MfwMnu* menu, MfwMnuItem* item);
286 int call_tty_menuselect(MfwMnu* menu, MfwMnuItem* item);
287 void call_tty_statuswin();
288 void call_tty_revert();
289 #endif
290 /* end SH */
291 // xpradipg - LOCOSTO-ENH-31895 : 23 June 2005
292 #ifdef FF_MMI_AUDIO_PROFILE
293 USHORT item_headset_status( struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi );
294 USHORT item_handheld_status( struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi );
295 USHORT item_loudspeaker_status( struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi );
296 USHORT item_carkit_status( struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi );
297 int M_exeHandheld (MfwMnu* m, MfwMnuItem* i);
298 int M_exeLoudspeaker (MfwMnu* m, MfwMnuItem* i);
299 int M_exeHeadset (MfwMnu* m, MfwMnuItem* i);
300 int M_exeCarkit (MfwMnu* m, MfwMnuItem* i);
301 void mmi_hook_handle();
302 #endif
303 #endif