comparison src/ui/bmi/mmiServices.h @ 3:67bfe9f274f6

src/ui: import of src/ui3 from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:33:10 +0000
parents
children c0052fe355d3
comparison
equal deleted inserted replaced
2:3a14ee9a9843 3:67bfe9f274f6
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: Services
15 $File: MmiServices.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: MmiServices.h
28 May 30, 2006 REF:OMAPS00079650 a0393213 (R.Prabakar)
29 Description : CPHS Call Forwarding feature implementation
30 Solution : As part of implementation, in this file, some #defines and structure definitions are moved from
31 MmiServices.c to MmiServices.h
32 Jun 02,2004 CRR:13649 xpradipg-SASKEN
33 subject: CBA : Management of password
34 solution: password is promted on selecting activation/deactivation option as against the previous
35 case where it was shown up on selecting CallBarring option in the Network Services menu.
36 25/10/00 Original Condat(UK) BMI version.
37
38 $End
39
40 *******************************************************************************/
41
42 #ifndef _DEF_MMI_SERVICES_H_
43 #define _DEF_MMI_SERVICES_H_
44
45 /*
46 * External Interfaces
47 */
48
49
50
51 /*
52 * Top Window Defintions
53 */
54 T_MFW_HND services_create (T_MFW_HND parent_window);
55 void services_destroy (T_MFW_HND own_window);
56 void services (T_MFW_HND win, USHORT event, SHORT value, void * parameter);
57
58
59
60
61 /*
62 * Event definitions
63 */
64 #define SS_OK 100
65 #define SS_FAILED 101
66 #define SS_ERROR 102
67 #define SS_WAIT 103
68 #define SS_DO_CALL_DIVERT 104
69 #define SS_USSD_ENTER_NUMBER 105
70 #define SS_USSD_LIST_FULL 106
71
72 #define SS_CB_CNF 110
73
74 /* REASONS */
75 typedef enum
76 {
77 ServicesIdle = ServicesDummy,
78 ServicesOk,
79 ServicesFailed,
80 ServicesActCW,
81 ServicesDeactCW,
82 ServicesCheckCW,
83 ServicesCheckCW_OK,
84 ServicesActCF,
85 ServicesDeactCF,
86 ServicesCheckCF,
87 ServicesCFU_OK,
88 ServicesCB_OK,
89 ServicesExecCF,
90 ServicesDoCallDivert,
91 ServicesResShow,
92 ServicesActCLIR,
93 ServicesDeactCLIR,
94 ServicesCheckCLIR,
95 ServicesCheckCLI_OK,
96 ServicesIMEI_OK,
97 ServicesUSSD_REQ_OK,
98 ServicesUSSD_CNF_OK,
99 ServicesUSSDEnter,
100 ServicesUSSDEnter_Send,
101 ServicesUSSDNew,
102 ServicesUSSDSendEdit,
103 ServicesUSSDSendEdit_Ok,
104 ServicesUSSDAlreadyFull,
105 ServicesUSSDListMenu,
106 ServicesUSSDOptions,
107 ServicesUSSDChange,
108 ServicesUSSDChange_OK,
109 ServicesUSSDDelete,
110 ServicesOtherNumber,
111 SERVICES_INPUT_INIT,
112 SERVICES_INPUT_LEFT,
113 SERVICES_INPUT_RIGHT,
114 SERVICES_INPUT_CLEAR,
115 SERVICES_INPUT_DESTROY,
116 SERVICES_DO_CALL_VOICE_DIVERT,
117 ServicesError
118
119 }E_SERVICES;
120
121 /* 30th May,2006 OMAPS00079650 a0393213 (R.Prabakar)
122 Description : CPHS Call Forwarding feature implementation
123 Solution : As part of this implementation, some #defines and struct definitions are moved from MmiServices.c*/
124
125 #define MAX_SS_CF_NUM_LEN 16
126 #define CB_PSW_LEN 4
127
128 typedef struct
129 {
130 USHORT service;
131 USHORT status;
132 char forwarded_to_number[MAX_SS_CF_NUM_LEN];
133 } T_ss_feature_cf_data;
134
135 typedef struct
136 {
137 T_ss_feature_cf_data ss[MFW_MAX_FEAT_NR];
138 } T_ss_feature_cf;
139
140
141 typedef struct
142 {
143 USHORT service;
144 } T_ss_feature_cw_data;
145
146 typedef struct
147 {
148 USHORT status;
149 T_ss_feature_cw_data ss[MFW_MAX_FEAT_NR];
150 } T_ss_feature_cw;
151
152 typedef struct
153 {
154 USHORT service;
155 USHORT status;
156 } T_ss_feature_cb_data;
157
158 typedef struct
159 {
160 T_ss_feature_cb_data ss[MFW_MAX_FEAT_NR];
161 } T_ss_feature_cb;
162
163 typedef struct
164 {
165 T_MMI_CONTROL mmi_control;
166 T_MFW_HND win; // window handle
167 T_MFW_HND ss_handle; /* MFW services handler */
168 T_MFW_HND kbd;
169 T_MFW_HND kbd_long;
170 // T_MFW_CM_AOC_INFO aocInfo;
171 T_MFW_HND info_win; /* handle to info dialog */
172 T_MFW_HND info_wait; /* handle to wait dialog */
173 T_MFW_HND cb_menu_win; /* handle to ussd number dialog */
174 T_MFW_HND input_number_win; /* handle to call forward dialog */
175
176 USHORT event;
177 char edt_buf_name[MAX_ALPHA_LEN];/*MC SPR 1257*/
178 char edt_buf_number[PHB_MAX_LEN];
179 char edt_buf_cb_password[CB_PSW_LEN+1];
180 char edt_buf_cb_new_password[CB_PSW_LEN+1];
181 char edt_buf_cb_conf_new_password[CB_PSW_LEN+1];
182 #ifndef NEW_EDITOR /* SPR#1428 - SH - New Editor changes - no longer required */
183 MfwEdtAttr edt_attr_name;
184 MfwEdtAttr edt_attr_number;
185 #endif /* ifndef NEW_EDITOR */
186 T_ss_feature_cf * mfw_ss_cf;
187 T_ss_feature_cw * mfw_ss_cw;
188 T_ss_feature_cb * mfw_ss_cb;
189 UBYTE current_feature;
190 UBYTE max_feature;
191 UBYTE dcs; /* need it for sending ussd to mfw */
192
193 /*
194 ** NDH : 28/08/2003
195 **
196 ** cfu_services is a binary flag to determine which (if any) of the Call Frwd Uncond
197 ** services are active. The map is as follows :
198 ** bit 0 : Voice Calls ( & 0x01)
199 ** bit 1 : Fax Calls ( & 0x02)
200 ** bit 2 : Data Calls ( & 0x04)
201 ** bit 3 : SMS ( & 0x08)
202 ** bit 4 : unused - for future expansion
203 ** bit 5 : unused - for future expansion
204 ** bit 6 : unused - for future expansion
205 ** bit 7 : unused - for future expansion
206 */
207 UBYTE cfu_services;
208 } T_ss;
209
210 EXTERN T_ss ss_data;
211 #define SERVICESIDLE ServicesIdle
212 #define SERVICESOK ServicesOk
213 #define SERVICESFAILED ServicesFailed
214 #define SERVICESACTCW ServicesActCW
215 #define SERVICESDEACTCW ServicesDeactCW
216 #define SERVICESCHECKCW ServicesCheckCW
217 #define SERVICESCHECKCW_OK ServicesCheckCW_OK
218 #define SERVICESACTCF ServicesActCF
219 #define SERVICESDEACTCF ServicesDeactCF
220 #define SERVICESCHECKCF ServicesCheckCF
221 #define SERVICESCFU_OK ServicesCFU_OK
222 #define SERVICESCB_OK ServicesCB_OK
223 #define SERVICESEXECCF ServicesExecCF
224 #define SERVICESDOCALLDIVERT ServicesDoCallDivert
225 #define SERVICESRESSHOW ServicesResShow
226 #define SERVICESACTCLIR ServicesActCLIR
227 #define SERVICESDEACTCLIR ServicesDeactCLIR
228 #define SERVICESCHECKCLIR ServicesCheckCLIR
229 #define SERVICESCHECKCLI_OK ServicesCheckCLI_OK
230 #define SERVICESIMEI_OK ServicesIMEI_OK
231 #define SERVICESUSSD_REQ_OK ServicesUSSD_REQ_OK
232 #define SERVICESUSSD_CNF_OK ServicesUSSD_CNF_OK
233 #define SERVICESUSSDENTER ServicesUSSDEnter
234 #define SERVICESUSSDENTER_SEND ServicesUSSDEnter_Send
235 #define SERVICESUSSDNEW ServicesUSSDNew
236 #define SERVICESUSSDSENDEDIT ServicesUSSDSendEdit
237 #define SERVICESUSSDSENDEDIT_OK ServicesUSSDSendEdit_Ok
238 #define SERVICESUSSDALREADYFULL ServicesUSSDAlreadyFull
239 #define SERVICESUSSDLISTMENU ServicesUSSDListMenu
240 #define SERVICESUSSDOPTIONS ServicesUSSDOptions
241 #define SERVICESUSSDCHANGE ServicesUSSDChange
242 #define SERVICESUSSDCHANGE_OK ServicesUSSDChange_OK
243 #define SERVICESUSSDDELETE ServicesUSSDDelete
244 #define SERVICESERROR ServicesError
245
246
247 int servicesNumbers(MfwMnu* m, MfwMnuItem* i);
248 int servicesInfraRed(void);
249
250 int servicesActivateCLIR(MfwMnu* m, MfwMnuItem* i);
251 int servicesDeactivateCLIR(MfwMnu* m, MfwMnuItem* i);
252 int servicesCheckCLIR(MfwMnu* m, MfwMnuItem* i);
253
254 int servicesCheckCWaiting(MfwMnu* m, MfwMnuItem* i);
255 int servicesActivateCWaiting(MfwMnu* m, MfwMnuItem* i);
256 int servicesDeactivateCWaiting(MfwMnu* m, MfwMnuItem* i);
257 int servicesInterCFU(void);
258
259 int servicesActivateIRDA(MfwMnu* m, MfwMnuItem* i);
260 int servicesDeactivateIRDA(MfwMnu* m, MfwMnuItem* i);
261
262 T_MFW_HND servicesInit(T_MFW_HND parentWindow);
263 void servicesExit(void);
264 void services (T_MFW_HND win, USHORT event, SHORT value, void * parameter);
265
266 void servicesExec (int reason, MmiState next);
267
268
269
270
271 void servicesDivertActivate(void);
272 void servicesDivertDeactivate(void);
273 void servicesDivertCheck(void);
274 void servicesDivertDeactivate(void);
275 void servicesDivertVoice(void);
276 void servicesDivertFax(void);
277 void servicesDivertData(void);
278 void servicesDivertActionAll(void);
279 void servicesDivertBusy(void);
280 void servicesDivertNoAnswer(void);
281 void servicesDivertNotReachable(void);
282 void servicesDivertAllCalls(void);
283 void servicesDivertNoService(void);
284 void servicesDivertCancelAll(void);
285 void servicesDoVoiceMailNumber(void);
286 void servicesDoOtherNumber(void);
287
288 void servicesBarringAllOutgoing(void);
289 void servicesBarringInternational(void);
290 void servicesBarringInternationalHome(void);
291 void servicesBarringAllIncoming(void);
292 void servicesBarringIncomingRoaming(void);
293
294 void servicesCallBarringActivate(void);
295 void servicesCallBarringDeactivate(void);
296 void servicesCallBarringCheck(void);
297 void servicesCallBarringCancelAll(void);
298 //Jun 02,2004 CRR:13649 xpradipg-SASKEN - start
299 //Declaration for the functions added
300 void servicesCallBarringActivatePassword(void);
301 void servicesCallBarringDeactivatePassword(void);
302 void servicesCallBarringCancelAllPassword(void);
303 void enterOldCBPassword(void);
304 //Jun 02,2004 CRR:13649 xpradipg-SASKEN - end
305 void requestCBPassword(void);
306 //CQ-16432 start
307 void requestSatCBPassword(void);
308 //CQ-16432 end
309 void changeCBPassword(void);
310 void confirmNewCBPassword(void);
311 void enterNewCBPassword(void);
312
313
314 static void getCBPassword(char* pSSstring);
315 static void getCBType(char* pSSstring);
316 static void getCBAction(char * pSSstring);
317 static void CB_password_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason);
318
319 #if 0
320 /* SH - This whole editor appears to be redundant */
321 void servicesUSSDDisplayList(void);
322 void servicesUSSDSend(void);
323 void servicesUSSDAddNew(void);
324 #endif
325
326 void featurePlaceholder(void); //SPR#1113 - DS - Added prototype for placeholder function for not-yet-implemented features.
327 #endif
328
329