FreeCalypso > hg > tcs211-pirelli
comparison g23m/condat/ms/src/bmi/MmiBookController.c @ 0:509db1a7b7b8
initial import: leo2moko-r1
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Mon, 01 Jun 2015 03:24:05 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:509db1a7b7b8 |
---|---|
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: PhoneBook | |
15 $File: MmiBookController.c | |
16 $Revision: 1.0 | |
17 | |
18 $Author: Condat(UK) | |
19 $Date: 25/10/00 | |
20 | |
21 ******************************************************************************** | |
22 | |
23 Description: | |
24 | |
25 The book controller module provides the external | |
26 interface to the phone book. It provides ALL external | |
27 entry points to the phone book system. | |
28 | |
29 ******************************************************************************** | |
30 | |
31 $History: MmiBookController.c | |
32 | |
33 Jun 13, 2005 REF: SPR 31705 x0021308 | |
34 Description: Once maximum limit of the My Number is exceeded, display info : Phonebook full, | |
35 expected is MyNumber Full | |
36 Solution: Replaced the Return tag in function Protected Menu Handler(booksetownNumber) from | |
37 Phonebookfull with MyNumberfull. | |
38 | |
39 Jun 13, 2005 REF: SPR 31710 x0021308 | |
40 Description: Once maximum limit of the FDN Number is exceeded, display info : Phonebook full, | |
41 expected is FDNList Full | |
42 Solution: Replaced the Return tag in function Protected Menu Handler(booksetownNumber) from | |
43 Phonebookfull with FDNListfull While checking whether in FDNMenu is active using MenuFDN global | |
44 variable. | |
45 | |
46 | |
47 Sep 22, 2004 REF: CRR 21392 xvilliva | |
48 Bug: PIN2 Screen is not displaying, While Adding FDN Number thru | |
49 Recent call Menu. | |
50 Fix: We add the "bookRepRedNameEnter" to "ProtectedActions" array. | |
51 If FDN is enabled, Pin2 will be asked. | |
52 | |
53 | |
54 25/10/00 Original Condat(UK) BMI version. | |
55 | |
56 | |
57 | |
58 $End | |
59 | |
60 // Issue Number : MMI-FIX-12161 on 07/04/04 by Nishikant Kulkarni/Ajith K.P | |
61 | |
62 *******************************************************************************/ | |
63 | |
64 | |
65 /******************************************************************************* | |
66 | |
67 Include Files | |
68 | |
69 *******************************************************************************/ | |
70 | |
71 /* MMI phone book specific include files | |
72 */ | |
73 #define ENTITY_MFW | |
74 | |
75 /* includes */ | |
76 #include <string.h> | |
77 #include <stdio.h> | |
78 #include <stdlib.h> | |
79 | |
80 #if defined (NEW_FRAME) | |
81 | |
82 #include "typedefs.h" | |
83 #include "vsi.h" | |
84 #include "pei.h" | |
85 #include "custom.h" | |
86 #include "gsm.h" | |
87 | |
88 #else | |
89 | |
90 #include "STDDEFS.H" | |
91 #include "custom.h" | |
92 #include "gsm.h" | |
93 #include "vsi.h" | |
94 | |
95 #endif | |
96 #include "mfw_sys.h" | |
97 | |
98 #include "mfw_mfw.h" | |
99 #include "mfw_win.h" | |
100 #include "mfw_kbd.h" | |
101 #include "mfw_lng.h" | |
102 /* SPR#1428 - SH - New Editor changes */ | |
103 #ifndef NEW_EDITOR | |
104 #include "mfw_edt.h" | |
105 #endif | |
106 #include "mfw_icn.h" | |
107 #include "mfw_mnu.h" | |
108 #include "mfw_tim.h" | |
109 | |
110 #include "mfw_sim.h" | |
111 #include "mfw_cm.h" | |
112 #include "mfw_nm.h" | |
113 #include "mfw_phb.h" | |
114 #include "mfw_mme.h" | |
115 #include "mfw_sat.h" | |
116 #include "mfw_sms.h" | |
117 | |
118 #include "dspl.h" | |
119 | |
120 #include "ksd.h" | |
121 #include "psa.h" | |
122 | |
123 #include "MmiMain.h" | |
124 #include "MmiBookController.h" | |
125 #include "MmiDummy.h" | |
126 #include "MmiDialogs.h" | |
127 #include "MmiLists.h" | |
128 | |
129 | |
130 | |
131 #include "MmiMenu.h" | |
132 #include "mmiCall.h" | |
133 #include "Mmiicons.h" | |
134 #include "MmiIdle.h" | |
135 | |
136 #include "MmiSoftKeys.h" | |
137 #include "MmiSounds.h" | |
138 #include "MmiIdle.h" | |
139 #include "MmiNetwork.h" | |
140 #include "mmiSat_i.h" | |
141 #include "MmiAoc.h" | |
142 | |
143 #include "gdi.h" | |
144 #include "audio.h" | |
145 | |
146 #include "cus_aci.h" | |
147 #include "MmiTimers.h" | |
148 | |
149 | |
150 #include "MmiBookController.h" | |
151 #include "MmiBookUtils.h" | |
152 | |
153 /* MMI specific includes, outside scope of phone book | |
154 */ | |
155 #include "MmiPins.h" | |
156 #include "mmiSmsMenu.h" | |
157 #include "mmismssend.h" | |
158 #include "mmiCall.h" | |
159 #include "MmiIdle.h" | |
160 #include "MmiCPHS.h" | |
161 | |
162 | |
163 /******************************************************************************* | |
164 | |
165 Definitions | |
166 | |
167 *******************************************************************************/ | |
168 | |
169 /* Since we want to make sure all of the menu handlers get | |
170 treated the same way, and have a protected handler, define | |
171 a new macro, in terms of the MENU_HANDLER, which will | |
172 invoke the protected function correctly (See below for | |
173 further details) | |
174 */ | |
175 #define PROTECTED_MENU_HANDLER( Name ) \ | |
176 static MENU_HANDLER( Protected##Name ); \ | |
177 MENU_HANDLER( Name ) \ | |
178 { \ | |
179 return Protected( Name, Protected##Name, Menu, Item ); \ | |
180 } \ | |
181 static MENU_HANDLER( Protected##Name ) | |
182 | |
183 /* | |
184 ** Since PROTECTED_MENU_HANDLER handles only FDN protection, the following is a menu handler to ensure | |
185 ** that PIN2 entry is required for any associated menu action | |
186 */ | |
187 #define PIN2RQD_MENU_HANDLER( Name ) \ | |
188 static MENU_HANDLER( Pin2Rqd##Name ); \ | |
189 MENU_HANDLER( Name ) \ | |
190 { \ | |
191 return Pin2Rqd( Name, Pin2Rqd##Name, Menu, Item ); \ | |
192 } \ | |
193 static MENU_HANDLER( Pin2Rqd##Name ) | |
194 | |
195 /*Added For Fix: MMI-FIX-12161 on 07/04/04 by Nishikant Kulkarni/Ajith K.P */ | |
196 extern T_idle idle_data; | |
197 | |
198 | |
199 /******************************************************************************* | |
200 | |
201 Local structures | |
202 | |
203 *******************************************************************************/ | |
204 | |
205 /* A number of the actions the phone book is required to perform | |
206 can only be activated when the user enters a security PIN number, | |
207 the PIN2 code. In order to make the operation of the module | |
208 clear, we will build a list of the protected actions, and then | |
209 drive all menu operations through a single clearing process. | |
210 | |
211 The module will use the following action list perform the | |
212 protection, note that the last entry in this list must be | |
213 NULL | |
214 */ | |
215 typedef tBookStatus (*tProtectFunction)( tBookMfwMenu *Menu, tBookMfwMenuItem *Item ); | |
216 | |
217 tProtectFunction ProtectedActions[] = { | |
218 bookNameEnter, | |
219 bookNameEdit, | |
220 bookNameDelete, | |
221 bookNameDeleteAll, | |
222 // Sep 22, 2004 REF: CRR 21392 xvilliva | |
223 // A function, if added to this array would ask Pin2 when called. | |
224 // Storing a number from recent call list would ask for Pin2, if FDN is enabled. | |
225 bookRepRedNameEnter, | |
226 NULL }; | |
227 | |
228 // May 3, 2004 REF: CRR MMI-SPR-18555 Rashmi C N(Sasken) | |
229 // This flag will indicate when we are in FDN menu | |
230 int menuFDN; | |
231 extern T_call call_data; | |
232 | |
233 | |
234 /******************************************************************************* | |
235 | |
236 Private methods | |
237 | |
238 *******************************************************************************/ | |
239 | |
240 /******************************************************************************* | |
241 | |
242 $Function: Mmir_BaseAddress | |
243 | |
244 $Description: returns the base address of the Master Index Table | |
245 | |
246 $Returns: As above | |
247 | |
248 $Arguments: none. | |
249 | |
250 *******************************************************************************/ | |
251 | |
252 /* Provide a local routine which will perform the protection | |
253 method. This will scan the list of protected actions, looking | |
254 for the provided function, if it isn't a protected function | |
255 then we will just call it directly, otherwise we will guard | |
256 it with the PIN2 security code if we have a protected book | |
257 */ | |
258 static int Protected( tProtectFunction FunTag, tProtectFunction FunPtr, tBookMfwMenu *Menu, tBookMfwMenuItem *Item ) | |
259 { | |
260 pBookMfwWin win_data = (pBookMfwWin) bookWindowData(); | |
261 pBookPhonebook book = ((pBookStandard)win_data->user)->phbk; | |
262 int i; | |
263 | |
264 /* Check for a protected book being used (details to be sorted | |
265 out at a later date) | |
266 */ | |
267 | |
268 // Sep 22, 2004 REF: CRR 21388 xvilliva | |
269 // We check if the call is not from FDN menu and if the current storage | |
270 // for phonebook is internal phone book, we avoid asking Pin2 accordingly. | |
271 if(menuFDN == 0 && bookActiveBook(WRITE) == PHB_IPB) | |
272 { | |
273 //Do nothing. | |
274 } | |
275 // May 3, 2004 REF: CRR MMI-SPR-18555 Rashmi C N(Sasken) | |
276 // Pin2 should be prompted when user does FDN related operations in FDN menu | |
277 // In FDN menu, receie an active call and FDN is disabled, pin2 should not be prompted for in call addressbook operations | |
278 else if ( phb_get_mode() == PHB_RESTRICTED || (menuFDN && (call_data.calls.numCalls==0))) | |
279 { | |
280 /* Is the requested function one of the ones we need | |
281 to protect ? | |
282 */ | |
283 TRACE_FUNCTION("Phone Book in FDN mode:ask for pin 2"); | |
284 for ( i = 0; ProtectedActions[i]; i++ ) | |
285 { | |
286 if ( FunTag == ProtectedActions[i] ) | |
287 { | |
288 /* Yup, so we need to store the pending action for | |
289 this window, this will be invoked by the checking | |
290 operation, indirectly, if the check is successful | |
291 */ | |
292 book->pin2_next = (T_VOID_FUNC) FunPtr; | |
293 | |
294 //We're cheating and passing the current window to the | |
295 //handler via the unused menu parameter -- MC | |
296 book->menu = (tBookMfwMenu*) bookCurrentWindow(); | |
297 book->item = Item; | |
298 | |
299 /* Call out to get the pin2 number checked, this will | |
300 respond with a message back to this object, which | |
301 we will deal with on receipt | |
302 */ | |
303 return pin2_check( bookCurrentWindow()); | |
304 } | |
305 } | |
306 } | |
307 | |
308 /* we've come through the list of functions and either don't | |
309 have a protected action to perform, or the book itself | |
310 is not protected, so just invoke the requested action | |
311 */ | |
312 return (FunPtr)( (tBookMfwMenu*) bookCurrentWindow()/*Menu*/, Item ); | |
313 } | |
314 | |
315 | |
316 /* | |
317 ** This function will apply PIN2 protection to the associated menu functions at ALL times | |
318 ** | |
319 */ | |
320 static int Pin2Rqd( tProtectFunction FunTag, tProtectFunction FunPtr, tBookMfwMenu *Menu, tBookMfwMenuItem *Item ) | |
321 { | |
322 pBookMfwWin win_data = (pBookMfwWin) bookWindowData(); | |
323 pBookPhonebook book = ((pBookStandard)win_data->user)->phbk; | |
324 // int i; // RAVI | |
325 | |
326 /* Yup, so we need to store the pending action for | |
327 this window, this will be invoked by the checking | |
328 operation, indirectly, if the check is successful | |
329 */ | |
330 book->pin2_next = (T_VOID_FUNC) FunPtr; | |
331 | |
332 //We're cheating and passing the current window to the | |
333 //handler via the unused menu parameter -- MC | |
334 book->menu = (tBookMfwMenu*) bookCurrentWindow(); | |
335 book->item = Item; | |
336 | |
337 /* Call out to get the pin2 number checked, this will | |
338 respond with a message back to this object, which | |
339 we will deal with on receipt | |
340 */ | |
341 return pin2_check( bookCurrentWindow()); | |
342 } | |
343 | |
344 /******************************************************************************* | |
345 | |
346 Public methods | |
347 | |
348 *******************************************************************************/ | |
349 | |
350 /* Menu Handlers | |
351 | |
352 We are routing all of the phone book functionality through | |
353 this module to allow the functional modules to be developed | |
354 independantly where possible. | |
355 | |
356 This gives a single interface point for the rest of the | |
357 MMI subsystem. | |
358 | |
359 All of the following functions use the MENU_HANDLER macro, | |
360 as such they all have a common interface, this is not therefore | |
361 documented in each case. The following information is common | |
362 for each menu handler | |
363 | |
364 | |
365 $Returns: Status from worker routine | |
366 | |
367 $Arguments: Menu, the menu from which the function was activated | |
368 Item, the item associated with the call | |
369 | |
370 */ | |
371 | |
372 | |
373 /******************************************************************************* | |
374 | |
375 $Function: bookNameEnter | |
376 | |
377 $Description: | |
378 | |
379 Add new name to the phone book | |
380 | |
381 $Returns: Refer Menu Handlers Definition Block Above | |
382 | |
383 $Arguments: Refer Menu Handlers Definition Block Above | |
384 | |
385 *******************************************************************************/ | |
386 | |
387 PROTECTED_MENU_HANDLER( bookNameEnter ) | |
388 { | |
389 //recast the menu parameter as the current window -- MC | |
390 T_MFW_HND win = (T_MFW_HND)Menu; | |
391 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
392 tBookStandard *data = (tBookStandard *) win_data->user; | |
393 T_phbk *Phbk = data->phbk; | |
394 | |
395 TRACE_FUNCTION("bookNameEnter"); | |
396 /* Clear the input editor structures before we go any further | |
397 */ | |
398 | |
399 if (Phbk->UpdateAction!=ADD_FROM_IDLE) | |
400 memset( Phbk->phbk->edt_buf_number, '\0', PHB_MAX_LEN ); | |
401 /*MC SPR 1257, replacing PHB_MAX_LEN with MAX_ALPHA_LEN for name strings*/ | |
402 memset( Phbk->phbk->edt_buf_name, '\0', MAX_ALPHA_LEN ); | |
403 /* Indicate this is an additional entry being created | |
404 */ | |
405 Phbk->UpdateAction = CREATE_ENTRY; | |
406 | |
407 // May 3, 2004 REF: CRR MMI-SPR-18555 Rashmi C N(Sasken) | |
408 // As the book is being changed for FDN menu operations, we need to | |
409 // get back the current book for the normal phonbook operations | |
410 Phbk->current.status.book = bookActiveBook(READ); | |
411 | |
412 /* Determine if we have room to add any new entries | |
413 */ | |
414 bookGetCurrentStatus( &Phbk->phbk->current.status ); | |
415 if ( Phbk->phbk->current.status.avail_entries ) | |
416 { | |
417 /* We are okay to input the number, use a worker routine | |
418 from the input handler module to actually deal with this | |
419 */ | |
420 Phbk->input_number_win = bookInputStartNumberEditor( win, Phbk->edt_buf_number ); | |
421 } | |
422 else | |
423 { | |
424 /* We have no room available to add the name, so check if | |
425 we have filled the namespace or not | |
426 */ | |
427 | |
428 /*If FDN menu active and no room for entries, then display FDN list full */ | |
429 tIndexTagNames Tag ; | |
430 if(menuFDN) | |
431 { | |
432 Tag = ( Phbk->phbk->current.status.used_entries ) | |
433 ? TxtFDNListFull : TxtOperationNotAvail; //SPR 31710 x0021308:RamG | |
434 } | |
435 else | |
436 { | |
437 Tag = ( Phbk->phbk->current.status.used_entries ) | |
438 ? TxtPhbkFull : TxtOperationNotAvail; | |
439 } | |
440 bookShowInformation( win, Tag,NULL, NULL ); | |
441 | |
442 | |
443 } | |
444 | |
445 /* Always return event consumed | |
446 */ | |
447 return MFW_EVENT_CONSUMED; | |
448 } | |
449 | |
450 | |
451 /******************************************************************************* | |
452 | |
453 $Function: bookNameEdit | |
454 | |
455 $Description: | |
456 | |
457 Edit the name in the phone book | |
458 | |
459 $Returns: Refer Menu Handlers Definition Block Above | |
460 | |
461 $Arguments: Refer Menu Handlers Definition Block Above | |
462 | |
463 *******************************************************************************/ | |
464 | |
465 PROTECTED_MENU_HANDLER( bookNameEdit ) | |
466 { | |
467 //recast the menu parameter as the current window -- MC | |
468 T_MFW_HND win = /*mfwParent( mfw_header() )*/(T_MFW_HND)Menu; | |
469 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
470 tBookStandard *data = (tBookStandard *) win_data->user; | |
471 T_phbk *Phbk = data->phbk; | |
472 | |
473 /* Indicate this is an edit of a current entry | |
474 */ | |
475 Phbk->UpdateAction = MODIFY_EXISTING; | |
476 /*MC SPR 1327, if UPN don't change phonebook type*/ | |
477 if (data->phbk->current.status.book != PHB_UPN) | |
478 data->phbk->current.status.book = bookActiveBook(READ); | |
479 | |
480 /*api - clear buffers before edit | |
481 */ | |
482 memset( Phbk->phbk->edt_buf_number, '\0', PHB_MAX_LEN ); | |
483 memset( Phbk->phbk->edt_buf_name, '\0', MAX_ALPHA_LEN ); | |
484 | |
485 TRACE_EVENT_P2("current phbk is = %d and current entry is = %d", data->phbk->current.status.book,data->phbk->current.entry[ data->phbk->current.selectedName ].book); | |
486 | |
487 if(data->phbk->current.status.book == PHB_ADN_FDN) | |
488 { | |
489 if(data->phbk->current.entry[ data->phbk->current.selectedName ].book==PHB_FDN) | |
490 { | |
491 bookActivateFDN((T_MFW_HND)Menu); | |
492 } | |
493 else | |
494 { | |
495 /* And populate the buffers with the information to be modified | |
496 */ | |
497 #ifdef NO_ASCIIZ | |
498 /*MC , SPR 1242 copy whole name, merged from b-sample build*/ | |
499 memcpy( Phbk->phbk->edt_buf_name, Phbk->current.entry[ Phbk->current.selectedName ].name.data, MAX_ALPHA_LEN /*Phbk->current.entry[ Phbk->current.selectedName ].name.len*/); | |
500 #else | |
501 memcpy( Phbk->phbk->edt_buf_name, Phbk->current.entry[ Phbk->current.selectedName ].name, MAX_ALPHA_LEN ); | |
502 #endif | |
503 memcpy( Phbk->phbk->edt_buf_number, Phbk->current.entry[ Phbk->current.selectedName ].number, PHB_MAX_LEN ); | |
504 | |
505 /* And edit the entry we currently have active | |
506 */ | |
507 Phbk->input_number_win = bookInputStartNumberEditor( win, Phbk->edt_buf_number ); | |
508 } | |
509 } | |
510 else | |
511 { | |
512 /* And populate the buffers with the information to be modified | |
513 */ | |
514 #ifdef NO_ASCIIZ | |
515 /*MC , SPR 1242 copy whole name, merged from b-sample build*/ | |
516 memcpy( Phbk->phbk->edt_buf_name, Phbk->current.entry[ Phbk->current.selectedName ].name.data, MAX_ALPHA_LEN/*Phbk->current.entry[ Phbk->current.selectedName ].name.len*/); | |
517 #else | |
518 memcpy( Phbk->phbk->edt_buf_name, Phbk->current.entry[ Phbk->current.selectedName ].name, MAX_ALPHA_LEN ); | |
519 #endif | |
520 memcpy( Phbk->phbk->edt_buf_number, Phbk->current.entry[ Phbk->current.selectedName ].number, PHB_MAX_LEN ); | |
521 | |
522 /* And edit the entry we currently have active | |
523 */ | |
524 Phbk->input_number_win = bookInputStartNumberEditor( win, Phbk->edt_buf_number ); | |
525 } | |
526 /* Always return event consumed | |
527 */ | |
528 return MFW_EVENT_CONSUMED; | |
529 } | |
530 | |
531 | |
532 /******************************************************************************* | |
533 | |
534 $Function: bookNameDelete | |
535 | |
536 $Description: | |
537 | |
538 Delete name in phone book | |
539 | |
540 $Returns: Refer Menu Handlers Definition Block Above | |
541 | |
542 $Arguments: Refer Menu Handlers Definition Block Above | |
543 | |
544 *******************************************************************************/ | |
545 | |
546 PROTECTED_MENU_HANDLER( bookNameDelete ) | |
547 { | |
548 | |
549 //recast the menu parameter as the current window -- MC | |
550 //and pass it on | |
551 //when ADN_FDN phonebook in use check if current entry is FDN | |
552 //is so then call information screen or allow entry to be deleted. --- AP 23/01/02 | |
553 //Issue 1944 MZ Allow an entry in FDN list to be deleted. | |
554 T_MFW_HND win = (T_MFW_HND)Menu; | |
555 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
556 tBookStandard *data = (tBookStandard *) win_data->user; | |
557 | |
558 /*MC SPR 1327, if UPN don't change phonebook type*/ | |
559 if (data->phbk->current.status.book != PHB_UPN) | |
560 data->phbk->current.status.book = bookActiveBook(READ); | |
561 if(data->phbk->current.status.book == PHB_ADN_FDN) | |
562 if(data->phbk->current.entry[ data->phbk->current.selectedName ].book==PHB_FDN) | |
563 bookActivateFDN((T_MFW_HND)Menu); | |
564 else | |
565 bookDeleteEntry((T_MFW_HND)Menu); | |
566 else | |
567 bookDeleteEntry((T_MFW_HND)Menu); | |
568 | |
569 return MFW_EVENT_CONSUMED; | |
570 } | |
571 | |
572 /******************************************************************************* | |
573 | |
574 $Function: bookNameCall | |
575 | |
576 $Description: | |
577 | |
578 Call name in phone book | |
579 | |
580 $Returns: Refer Menu Handlers Definition Block Above | |
581 | |
582 $Arguments: Refer Menu Handlers Definition Block Above | |
583 | |
584 *******************************************************************************/ | |
585 | |
586 PROTECTED_MENU_HANDLER( bookNameCall ) | |
587 { T_MFW_HND win = mfwParent( mfw_header() ); | |
588 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
589 tBookStandard *data = (tBookStandard *) win_data->user; | |
590 T_phbk *Phbk = data->phbk; | |
591 | |
592 callNumber( Phbk->current.entry[ Phbk->current.selectedName ].number ); | |
593 return MFW_EVENT_CONSUMED; | |
594 } | |
595 | |
596 | |
597 | |
598 /******************************************************************************* | |
599 | |
600 $Function: bookDeleteAll | |
601 | |
602 $Description: | |
603 | |
604 Delete name in phone book | |
605 | |
606 $Returns: Refer Menu Handlers Definition Block Above | |
607 | |
608 $Arguments: Refer Menu Handlers Definition Block Above | |
609 | |
610 *******************************************************************************/ | |
611 | |
612 PROTECTED_MENU_HANDLER( bookDeleteAll ) | |
613 { | |
614 T_MFW_HND win = mfwParent( mfw_header() ); | |
615 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
616 tBookStandard *data = (tBookStandard *) win_data->user; | |
617 T_phbk *Phbk = data->phbk; | |
618 | |
619 if (phb_delete_book(Phbk->current.status.book)==MFW_PHB_OK) | |
620 { | |
621 MmiBookSetCurrentText( TxtEntryDeleted); | |
622 bookShowInformation( Phbk->win, MmiBookCurrentText(),NULL, NULL ); | |
623 bookPhonebookDestroy(Phbk->win); | |
624 } | |
625 return MFW_EVENT_CONSUMED; | |
626 } | |
627 | |
628 | |
629 /******************************************************************************* | |
630 | |
631 $Function: bookNameSearch | |
632 | |
633 $Description: | |
634 | |
635 Search for name in phone book | |
636 | |
637 $Returns: Refer Menu Handlers Definition Block Above | |
638 | |
639 $Arguments: Refer Menu Handlers Definition Block Above | |
640 | |
641 *******************************************************************************/ | |
642 | |
643 PROTECTED_MENU_HANDLER( bookNameSearch ) | |
644 { | |
645 T_MFW_HND win = mfwParent( mfw_header() ); | |
646 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
647 tBookStandard *data = (tBookStandard *) win_data->user; | |
648 | |
649 data->phbk->current.KindOfSearch = SEARCH_BY_NAME; | |
650 data->phbk->current.status.book = bookActiveBook(READ); | |
651 data->phbk->search_win = bookSearchStart( data->phbk->win ); | |
652 | |
653 return MFW_EVENT_CONSUMED; | |
654 } | |
655 | |
656 | |
657 | |
658 /******************************************************************************* | |
659 | |
660 $Function: bookNumberSearch | |
661 | |
662 $Description: | |
663 | |
664 Search for name in phone book, order the elements by the phone book number | |
665 | |
666 $Returns: Refer Menu Handlers Definition Block Above | |
667 | |
668 $Arguments: Refer Menu Handlers Definition Block Above | |
669 | |
670 *******************************************************************************/ | |
671 | |
672 PROTECTED_MENU_HANDLER( bookNumberSearch ) | |
673 { | |
674 T_MFW_HND win = mfwParent( mfw_header() ); | |
675 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
676 tBookStandard *data = (tBookStandard *) win_data->user; | |
677 | |
678 data->phbk->current.KindOfSearch = SEARCH_BY_NUMBER; | |
679 data->phbk->current.status.book = bookActiveBook(READ); | |
680 data->phbk->search_win = bookSearchStart( data->phbk->win ); | |
681 | |
682 return MFW_EVENT_CONSUMED; | |
683 } | |
684 | |
685 | |
686 /******************************************************************************* | |
687 | |
688 $Function: bookLocationSearch | |
689 | |
690 $Description: | |
691 | |
692 Search for number in phone book, using SIM location to order search | |
693 window output | |
694 | |
695 $Returns: Refer Menu Handlers Definition Block Above | |
696 | |
697 $Arguments: Refer Menu Handlers Definition Block Above | |
698 | |
699 *******************************************************************************/ | |
700 | |
701 PROTECTED_MENU_HANDLER( bookLocationSearch ) | |
702 { | |
703 T_MFW_HND win = mfwParent( mfw_header() ); | |
704 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
705 tBookStandard *data = (tBookStandard *) win_data->user; | |
706 | |
707 data->phbk->current.KindOfSearch = SEARCH_BY_LOCATION; | |
708 data->phbk->current.status.book = bookActiveBook(READ); | |
709 data->phbk->search_win = bookSearchStart( data->phbk->win ); | |
710 | |
711 return MFW_EVENT_CONSUMED; | |
712 } | |
713 | |
714 | |
715 /******************************************************************************* | |
716 | |
717 $Function: bookNameDeleteAll | |
718 | |
719 $Description: | |
720 | |
721 Delete all names associated with a phone book | |
722 | |
723 $Returns: Refer Menu Handlers Definition Block Above | |
724 | |
725 $Arguments: Refer Menu Handlers Definition Block Above | |
726 | |
727 *******************************************************************************/ | |
728 | |
729 PROTECTED_MENU_HANDLER( bookNameDeleteAll ) | |
730 { | |
731 return NULL; | |
732 } | |
733 | |
734 | |
735 | |
736 | |
737 /******************************************************************************* | |
738 | |
739 $Function: bookNameMessage | |
740 | |
741 $Description: | |
742 | |
743 Send message to the number selected | |
744 | |
745 $Returns: Refer Menu Handlers Definition Block Above | |
746 | |
747 $Arguments: Refer Menu Handlers Definition Block Above | |
748 | |
749 *******************************************************************************/ | |
750 | |
751 PROTECTED_MENU_HANDLER( bookSendMessage ) | |
752 { | |
753 T_MFW_HND win = mfwParent( mfw_header() ); | |
754 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
755 tBookStandard *data = (tBookStandard *) win_data->user; | |
756 T_phbk *Phbk = data->phbk; | |
757 T_SmsUserData SmsData; | |
758 | |
759 /* Copy the number and name information to the SMS buffer | |
760 */ | |
761 /* API - 13-01-03 - 1409 - Minus the Phbk->current.missedCallsOffset to point at the correct number in the missed calls */ | |
762 memcpy( SmsData.NumberBuffer, (UBYTE *) Phbk->current.entry[ Phbk->current.selectedName - Phbk->current.missedCallsOffset ].number, | |
763 sizeof( SmsData.NumberBuffer ) ); | |
764 /*MC SPR 1257, zero whole buffer for unicode*/ | |
765 memset(SmsData.TextBuffer, '\0', MAX_MSG_LEN_ARRAY); | |
766 | |
767 /* Create a dynamic menu window to perform the SMS sending | |
768 */ | |
769 SmsSend_SEND_start( win, (void *) &SmsData ); | |
770 | |
771 return MFW_EVENT_CONSUMED; | |
772 | |
773 } | |
774 | |
775 | |
776 /******************************************************************************* | |
777 | |
778 $Function: bookGetOwnNumber | |
779 | |
780 $Description: | |
781 | |
782 Get own number | |
783 | |
784 $Returns: Refer Menu Handlers Definition Block Above | |
785 | |
786 $Arguments: Refer Menu Handlers Definition Block Above | |
787 | |
788 *******************************************************************************/ | |
789 | |
790 PROTECTED_MENU_HANDLER( bookGetOwnNumber ) | |
791 { | |
792 T_MFW_HND win = mfwParent( mfw_header() ); | |
793 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
794 tBookStandard *data = (tBookStandard *) win_data->user; | |
795 | |
796 | |
797 data->phbk->current.KindOfSearch = SEARCH_BY_NAME; | |
798 data->phbk->current.status.book = PHB_UPN; | |
799 data->phbk->search_win = bookSearchStart( data->phbk->win ); | |
800 | |
801 return MFW_EVENT_CONSUMED; | |
802 } | |
803 | |
804 | |
805 /******************************************************************************* | |
806 | |
807 $Function: bookSetOwnNumber | |
808 | |
809 $Description: | |
810 | |
811 Set own number | |
812 | |
813 $Returns: Refer Menu Handlers Definition Block Above | |
814 | |
815 $Arguments: Refer Menu Handlers Definition Block Above | |
816 | |
817 *******************************************************************************/ | |
818 | |
819 PROTECTED_MENU_HANDLER( bookSetOwnNumber ) | |
820 { T_MFW_HND win = mfwParent( mfw_header() ); | |
821 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
822 tBookStandard *data = (tBookStandard *) win_data->user; | |
823 T_phbk *Phbk = data->phbk; | |
824 | |
825 /* Clear the input editor structures before we go any further | |
826 */ | |
827 /*MC SPR 1257, replacing PHB_MAX_LEN with MAX_ALPHA_LEN for name strings*/ | |
828 memset( Phbk->phbk->edt_buf_name, '\0', MAX_ALPHA_LEN ); | |
829 memset( Phbk->phbk->edt_buf_number, '\0', PHB_MAX_LEN ); | |
830 | |
831 /* Indicate this is an additional entry being created | |
832 */ | |
833 Phbk->UpdateAction = CREATE_ENTRY; | |
834 data->phbk->current.status.book = PHB_UPN; | |
835 /* Determine if we have room to add any new entries | |
836 */ | |
837 bookGetCurrentStatus( &Phbk->phbk->current.status ); | |
838 if ( Phbk->phbk->current.status.avail_entries ) | |
839 { | |
840 /* We are okay to input the number, use a worker routine | |
841 from the input handler module to actually deal with this | |
842 */ | |
843 Phbk->input_number_win = bookInputStartNumberEditor( win, Phbk->edt_buf_number ); | |
844 } | |
845 else | |
846 { | |
847 /* We have no room available to add the name, so check if | |
848 we have filled the namespace or not | |
849 */ | |
850 tIndexTagNames Tag = ( Phbk->phbk->current.status.used_entries ) | |
851 ? TxtMyNumberFull : TxtOperationNotAvail; //SPR 31705 x0021308:RamG. | |
852 bookShowInformation( win, Tag, NULL, NULL ); | |
853 } | |
854 | |
855 /* Always return event consumed | |
856 */ | |
857 return MFW_EVENT_CONSUMED; | |
858 } | |
859 | |
860 | |
861 /******************************************************************************* | |
862 | |
863 $Function: bookRepRedNameEnter | |
864 | |
865 $Description: | |
866 | |
867 Enter name associated with Reply-Redial number | |
868 | |
869 $Returns: Refer Menu Handlers Definition Block Above | |
870 | |
871 $Arguments: Refer Menu Handlers Definition Block Above | |
872 | |
873 *******************************************************************************/ | |
874 | |
875 PROTECTED_MENU_HANDLER( bookRepRedNameEnter ) | |
876 { | |
877 // Sep 22, 2004 REF: CRR 21392 xvilliva | |
878 // We use the variable "Menu", similar to bookNameEnter() to avoid a crash. | |
879 T_MFW_HND win = (T_MFW_HND)Menu; | |
880 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
881 tBookStandard *data = (tBookStandard *) win_data->user; | |
882 T_phbk *Phbk = data->phbk; | |
883 char* selected_number; | |
884 | |
885 selected_number = (char*)data->phbk->current.entry[data->phbk->current.selectedName].number; | |
886 // Sep 22, 2004 REF: CRR 21392 xvilliva | |
887 // We get the exact book that is selected. | |
888 data->phbk->current.status.book = bookActiveBook(WRITE); | |
889 | |
890 Phbk->UpdateAction = CREATE_ENTRY; | |
891 bookGetCurrentStatus( &Phbk->phbk->current.status ); | |
892 if ( Phbk->phbk->current.status.avail_entries ) | |
893 { | |
894 /* We are okay to input the number, use a worker routine | |
895 from the input handler module to actually deal with this | |
896 */ | |
897 | |
898 bookAddName(win,selected_number); | |
899 } | |
900 else | |
901 { | |
902 /* We have no room available to add the name, so check if | |
903 we have filled the namespace or not | |
904 */ | |
905 tIndexTagNames Tag = ( Phbk->phbk->current.status.used_entries ) | |
906 ? TxtPhbkFull : TxtOperationNotAvail; | |
907 bookShowInformation( win, Tag, NULL, NULL ); | |
908 } | |
909 free( selected_number); | |
910 return 1; | |
911 } | |
912 | |
913 | |
914 /******************************************************************************* | |
915 | |
916 $Function: bookRepRedDelete | |
917 | |
918 $Description: | |
919 | |
920 Delete name associated with Reply-Redial Number | |
921 | |
922 $Returns: Refer Menu Handlers Definition Block Above | |
923 | |
924 $Arguments: Refer Menu Handlers Definition Block Above | |
925 | |
926 *******************************************************************************/ | |
927 | |
928 PROTECTED_MENU_HANDLER( bookRepRedDelete ) | |
929 { | |
930 T_MFW_HND win = mfwParent( mfw_header() ); | |
931 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
932 tBookStandard *data = (tBookStandard *) win_data->user; | |
933 T_phbk *Phbk = data->phbk; | |
934 | |
935 deleteFromFile(Phbk,Phbk->current.status.book); | |
936 bookShowInformation( Phbk->win, MmiBookCurrentText(),NULL, NULL ); | |
937 bookMenuDestroy(Phbk->menu_call_options_win); | |
938 if(Phbk->current.status.used_entries > 0) | |
939 SEND_EVENT(Phbk->calls_list_win, SEARCH_SCROLL_UP, 0, 0 ); | |
940 SEND_EVENT(Phbk->calls_list_win, CALLS_LIST_INIT, 0, (void*)Phbk->current.status.book ); | |
941 return 1; | |
942 } | |
943 | |
944 | |
945 /******************************************************************************* | |
946 | |
947 $Function: bookCallListDetails | |
948 | |
949 $Description: | |
950 | |
951 Retrieve details for call list | |
952 | |
953 $Returns: Refer Menu Handlers Definition Block Above | |
954 | |
955 $Arguments: Refer Menu Handlers Definition Block Above | |
956 | |
957 *******************************************************************************/ | |
958 | |
959 PROTECTED_MENU_HANDLER( bookCallListDetails ) | |
960 { | |
961 T_MFW_HND win = mfwParent( mfw_header() ); | |
962 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
963 tBookStandard *data = (tBookStandard *) win_data->user; | |
964 T_phbk *Phbk = data->phbk; | |
965 | |
966 bookCallDetailsStart( Phbk->win); | |
967 return 1; | |
968 | |
969 } | |
970 | |
971 | |
972 | |
973 /******************************************************************************* | |
974 | |
975 $Function: bookServiceNumbers | |
976 | |
977 $Description: | |
978 | |
979 Get service numbers | |
980 | |
981 $Returns: Refer Menu Handlers Definition Block Above | |
982 | |
983 $Arguments: Refer Menu Handlers Definition Block Above | |
984 | |
985 *******************************************************************************/ | |
986 | |
987 PROTECTED_MENU_HANDLER( bookServiceNumbers ) | |
988 { | |
989 T_MFW_HND win = mfwParent( mfw_header() ); | |
990 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
991 tBookStandard *data = (tBookStandard *) win_data->user; | |
992 | |
993 data->phbk->current.KindOfSearch = SEARCH_BY_NAME; | |
994 data->phbk->current.status.book = PHB_SDN; | |
995 data->phbk->search_win = bookSearchStart( data->phbk->win ); | |
996 | |
997 return MFW_EVENT_CONSUMED; | |
998 } | |
999 | |
1000 | |
1001 /******************************************************************************* | |
1002 | |
1003 $Function: bookMemoryStatus | |
1004 | |
1005 $Description: | |
1006 | |
1007 Show the status of the phone book memory. | |
1008 | |
1009 $Returns: Refer Menu Handlers Definition Block Above | |
1010 | |
1011 $Arguments: Refer Menu Handlers Definition Block Above | |
1012 | |
1013 *******************************************************************************/ | |
1014 | |
1015 PROTECTED_MENU_HANDLER( bookMemoryStatus ) | |
1016 { | |
1017 /* This performs the memory view functions, and returns MFW_EVENT_CONSUMED | |
1018 in all cases. | |
1019 */ | |
1020 bookMemoryView(); | |
1021 return MFW_EVENT_CONSUMED; | |
1022 } | |
1023 | |
1024 | |
1025 /******************************************************************************* | |
1026 | |
1027 $Function: bookFDNActivate | |
1028 | |
1029 $Description: | |
1030 | |
1031 The FDN Activate routine is simply a wrapper for the real | |
1032 FDN Activate handler which resides in mmiPins.c | |
1033 | |
1034 $Returns: Refer Menu Handlers Definition Block Above | |
1035 | |
1036 $Arguments: Refer Menu Handlers Definition Block Above | |
1037 | |
1038 *******************************************************************************/ | |
1039 | |
1040 PROTECTED_MENU_HANDLER( bookFDNActivate ) | |
1041 { | |
1042 return fdnActivate( Menu, Item ); | |
1043 } | |
1044 | |
1045 | |
1046 /******************************************************************************* | |
1047 | |
1048 $Function: bookFDNDeactivate | |
1049 | |
1050 $Description: | |
1051 | |
1052 The FDN Deactivate routine is simply a wrapper for the real | |
1053 FDN Deactivate handler which resides in mmiPins.c | |
1054 | |
1055 $Returns: Refer Menu Handlers Definition Block Above | |
1056 | |
1057 $Arguments: Refer Menu Handlers Definition Block Above | |
1058 | |
1059 *******************************************************************************/ | |
1060 | |
1061 PROTECTED_MENU_HANDLER( bookFDNDeactivate ) | |
1062 { | |
1063 return fdnDeactivate( Menu, Item ); | |
1064 } | |
1065 | |
1066 /******************************************************************************* | |
1067 | |
1068 $Function: bookEnterLDN | |
1069 | |
1070 $Description: | |
1071 | |
1072 Enters de LDN List | |
1073 | |
1074 $Returns: Refer Menu Handlers Definition Block Above | |
1075 | |
1076 $Arguments: Refer Menu Handlers Definition Block Above | |
1077 | |
1078 *******************************************************************************/ | |
1079 | |
1080 PROTECTED_MENU_HANDLER( bookEnterLDN ) | |
1081 { | |
1082 T_MFW_HND win = mfwParent( mfw_header() ); | |
1083 | |
1084 bookPhonebookStart(win,PhbkRedialListNormal); | |
1085 return MFW_EVENT_CONSUMED; | |
1086 } | |
1087 /******************************************************************************* | |
1088 | |
1089 $Function: bookEnterLRN | |
1090 | |
1091 $Description: | |
1092 | |
1093 Enters de LRN List | |
1094 | |
1095 $Returns: Refer Menu Handlers Definition Block Above | |
1096 | |
1097 $Arguments: Refer Menu Handlers Definition Block Above | |
1098 | |
1099 *******************************************************************************/ | |
1100 | |
1101 PROTECTED_MENU_HANDLER( bookEnterLRN ) | |
1102 { | |
1103 T_MFW_HND win = mfwParent( mfw_header() ); | |
1104 | |
1105 bookPhonebookStart(win,PhbkReplyListNormal); | |
1106 return MFW_EVENT_CONSUMED; | |
1107 } | |
1108 | |
1109 /******************************************************************************* | |
1110 | |
1111 $Function: bookEnterLMN | |
1112 | |
1113 $Description: | |
1114 | |
1115 Enters de LMN List | |
1116 | |
1117 $Returns: Refer Menu Handlers Definition Block Above | |
1118 | |
1119 $Arguments: Refer Menu Handlers Definition Block Above | |
1120 | |
1121 *******************************************************************************/ | |
1122 | |
1123 PROTECTED_MENU_HANDLER( bookEnterLMN ) | |
1124 { | |
1125 T_MFW_HND win = mfwParent( mfw_header() ); | |
1126 | |
1127 /* Issue Number : MMI-FIX-1216 on 07/04/04 by Nishikant Kulkarni and Ajith K.P | |
1128 Bug : missed call message is displayed after deleting all missed calls from the list | |
1129 Solution: idle_data.missedcalls flag was not updated if the user ckecks/deletes the missed call list | |
1130 We rectified the same.*/ | |
1131 | |
1132 idle_data.missedCalls = 0; | |
1133 | |
1134 bookPhonebookStart(win,PhbkMissedCallsListNormal); | |
1135 return MFW_EVENT_CONSUMED; | |
1136 } | |
1137 | |
1138 /* SPR#1112 - Internal phonebook menu options*/ | |
1139 #ifdef INT_PHONEBOOK | |
1140 | |
1141 /******************************************************************************* | |
1142 | |
1143 $Function: bookSelectBook | |
1144 | |
1145 $Description: Open the select book menu, preselecting the appropriate option | |
1146 | |
1147 $Returns: Refer Menu Handlers Definition Block Above | |
1148 | |
1149 $Arguments: Refer Menu Handlers Definition Block Above | |
1150 | |
1151 *******************************************************************************/ | |
1152 | |
1153 PROTECTED_MENU_HANDLER( bookSelectBook ) | |
1154 { | |
1155 T_MFW_HND win = mfwParent( mfw_header() ); | |
1156 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
1157 tBookStandard *data = (tBookStandard *) win_data->user; | |
1158 T_phbk *Phbk = data->phbk; | |
1159 T_MFW_HND menu_win; | |
1160 UBYTE selectedBook; | |
1161 | |
1162 TRACE_FUNCTION("bookSelectBook"); | |
1163 | |
1164 if (bookGetBookAvailable()) | |
1165 { | |
1166 selectedBook = (UBYTE)bookGetBookSelected(); | |
1167 menu_win = bookMenuStart(Phbk->win, SelectBookAttributes(), 0); | |
1168 SEND_EVENT(menu_win, DEFAULT_OPTION, NULL, (void *)&selectedBook); // Add our own callback | |
1169 } | |
1170 else | |
1171 { | |
1172 bookShowInformation( Phbk->win, TxtNotAvailable, NULL, NULL); | |
1173 } | |
1174 | |
1175 return MFW_EVENT_CONSUMED; | |
1176 } | |
1177 | |
1178 | |
1179 /******************************************************************************* | |
1180 | |
1181 $Function: bookSelectBookSIM | |
1182 | |
1183 $Description: Select the SIM phone book | |
1184 | |
1185 $Returns: Refer Menu Handlers Definition Block Above | |
1186 | |
1187 $Arguments: Refer Menu Handlers Definition Block Above | |
1188 | |
1189 *******************************************************************************/ | |
1190 | |
1191 PROTECTED_MENU_HANDLER( bookSelectBookSIM ) | |
1192 { | |
1193 T_MFW_HND win = mfwParent( mfw_header() ); | |
1194 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
1195 tBookStandard *data = (tBookStandard *) win_data->user; | |
1196 T_phbk *Phbk = data->phbk; | |
1197 | |
1198 if (bookGetBookAvailable()) | |
1199 { | |
1200 bookSetBookSelected(FALSE); | |
1201 bookShowInfoScreen( Phbk->win, TxtPleaseWait, NULL, (T_VOID_FUNC)bookChangePB, (USHORT)bookGetBookSelected(), 100); | |
1202 } | |
1203 else | |
1204 bookShowInfoScreen( Phbk->win, TxtPhonebook, TxtChanged, NULL, NULL, 3000); | |
1205 | |
1206 return MFW_EVENT_CONSUMED; | |
1207 } | |
1208 | |
1209 | |
1210 /******************************************************************************* | |
1211 | |
1212 $Function: bookSelectBookSIM | |
1213 | |
1214 $Description: Select the SIM phone book | |
1215 | |
1216 $Returns: Refer Menu Handlers Definition Block Above | |
1217 | |
1218 $Arguments: Refer Menu Handlers Definition Block Above | |
1219 | |
1220 *******************************************************************************/ | |
1221 | |
1222 PROTECTED_MENU_HANDLER( bookSelectBookPhone ) | |
1223 { | |
1224 T_MFW_HND win = mfwParent( mfw_header() ); | |
1225 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
1226 tBookStandard *data = (tBookStandard *) win_data->user; | |
1227 T_phbk *Phbk = data->phbk; | |
1228 | |
1229 if (bookGetBookAvailable()) | |
1230 { | |
1231 bookSetBookSelected(TRUE); | |
1232 bookShowInfoScreen( Phbk->win, TxtPleaseWait, NULL, (T_VOID_FUNC)bookChangePB, (USHORT)bookGetBookSelected(), 100); | |
1233 } | |
1234 else | |
1235 { | |
1236 bookShowInformation( Phbk->win, TxtNotAvailable,NULL, NULL ); | |
1237 } | |
1238 | |
1239 return MFW_EVENT_CONSUMED; | |
1240 } | |
1241 | |
1242 /******************************************************************************* | |
1243 | |
1244 $Function: bookCopyEntry | |
1245 | |
1246 $Description: Copy a single entry from/to internal memory | |
1247 | |
1248 $Returns: Refer Menu Handlers Definition Block Above | |
1249 | |
1250 $Arguments: Refer Menu Handlers Definition Block Above | |
1251 | |
1252 *******************************************************************************/ | |
1253 | |
1254 PROTECTED_MENU_HANDLER( bookCopyEntry ) | |
1255 { | |
1256 T_MFW_HND win = mfwParent( mfw_header() ); | |
1257 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
1258 tBookStandard *data = (tBookStandard *) win_data->user; | |
1259 T_phbk *Phbk = data->phbk; | |
1260 | |
1261 TRACE_FUNCTION( "bookCopyEntry()" ); | |
1262 | |
1263 if (bookGetBookAvailable()) | |
1264 { | |
1265 /* Show Please Wait dialog briefly, then call copy function | |
1266 */ | |
1267 bookShowInfoScreen( Phbk->win, TxtPleaseWait, NULL, (T_VOID_FUNC)bookCopySingle, (USHORT)FALSE, 100); | |
1268 } | |
1269 else | |
1270 { | |
1271 bookShowInformation( Phbk->win, TxtNotAvailable, NULL, NULL); | |
1272 } | |
1273 | |
1274 return MFW_EVENT_CONSUMED; | |
1275 } | |
1276 | |
1277 /******************************************************************************* | |
1278 | |
1279 $Function: bookCopyAll | |
1280 | |
1281 $Description: Copy all entries from/to internal memory | |
1282 | |
1283 $Returns: Refer Menu Handlers Definition Block Above | |
1284 | |
1285 $Arguments: Refer Menu Handlers Definition Block Above | |
1286 | |
1287 *******************************************************************************/ | |
1288 | |
1289 PROTECTED_MENU_HANDLER( bookCopyAll ) | |
1290 { | |
1291 T_MFW_HND win = mfwParent( mfw_header() ); | |
1292 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
1293 tBookStandard *data = (tBookStandard *) win_data->user; | |
1294 T_phbk *Phbk = data->phbk; | |
1295 | |
1296 TRACE_FUNCTION( "bookCopyAll()" ); | |
1297 | |
1298 if (bookGetBookAvailable()) | |
1299 { | |
1300 /* Copy | |
1301 */ | |
1302 bookCopyMultiple(Phbk->win, FALSE, 0); | |
1303 } | |
1304 else | |
1305 { | |
1306 bookShowInformation( Phbk->win, TxtNotAvailable, NULL, NULL); | |
1307 } | |
1308 | |
1309 return MFW_EVENT_CONSUMED; | |
1310 } | |
1311 | |
1312 /******************************************************************************* | |
1313 | |
1314 $Function: bookMoveEntry | |
1315 | |
1316 $Description: Move a single entry from/to internal memory | |
1317 | |
1318 $Returns: Refer Menu Handlers Definition Block Above | |
1319 | |
1320 $Arguments: Refer Menu Handlers Definition Block Above | |
1321 | |
1322 *******************************************************************************/ | |
1323 | |
1324 PROTECTED_MENU_HANDLER( bookMoveEntry ) | |
1325 { | |
1326 T_MFW_HND win = mfwParent( mfw_header() ); | |
1327 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
1328 tBookStandard *data = (tBookStandard *) win_data->user; | |
1329 T_phbk *Phbk = data->phbk; | |
1330 | |
1331 TRACE_FUNCTION( "bookMoveEntry()" ); | |
1332 | |
1333 if (bookGetBookAvailable()) | |
1334 { | |
1335 /* Show Please Wait dialog briefly, then call move function | |
1336 */ | |
1337 bookShowInfoScreen( Phbk->win, TxtPleaseWait, NULL, (T_VOID_FUNC)bookCopySingle, (USHORT)TRUE, 100); | |
1338 } | |
1339 else | |
1340 { | |
1341 bookShowInformation( Phbk->win, TxtNotAvailable, NULL, NULL); | |
1342 } | |
1343 | |
1344 return MFW_EVENT_CONSUMED; | |
1345 } | |
1346 | |
1347 /******************************************************************************* | |
1348 | |
1349 $Function: bookMoveAll | |
1350 | |
1351 $Description: Move all entries from/to internal memory | |
1352 | |
1353 $Returns: Refer Menu Handlers Definition Block Above | |
1354 | |
1355 $Arguments: Refer Menu Handlers Definition Block Above | |
1356 | |
1357 *******************************************************************************/ | |
1358 | |
1359 PROTECTED_MENU_HANDLER( bookMoveAll ) | |
1360 { | |
1361 T_MFW_HND win = mfwParent( mfw_header() ); | |
1362 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
1363 tBookStandard *data = (tBookStandard *) win_data->user; | |
1364 T_phbk *Phbk = data->phbk; | |
1365 | |
1366 TRACE_FUNCTION( "bookMoveAll()" ); | |
1367 | |
1368 if (bookGetBookAvailable()) | |
1369 { | |
1370 /* Show Please Wait dialog briefly, then call copy function | |
1371 */ | |
1372 bookCopyMultiple(Phbk->win, TRUE, 0); | |
1373 } | |
1374 else | |
1375 { | |
1376 bookShowInformation( Phbk->win, TxtNotAvailable, NULL, NULL); | |
1377 } | |
1378 | |
1379 return MFW_EVENT_CONSUMED; | |
1380 } | |
1381 | |
1382 #endif | |
1383 | |
1384 PIN2RQD_MENU_HANDLER( CphsAlsLock ) | |
1385 { | |
1386 return cphs_lock_als( Menu, Item ); | |
1387 } | |
1388 | |
1389 PIN2RQD_MENU_HANDLER( CphsAlsUnlock ) | |
1390 { | |
1391 return cphs_unlock_als( Menu, Item ); | |
1392 } | |
1393 /******************************************************************************* | |
1394 | |
1395 End of File | |
1396 | |
1397 *******************************************************************************/ | |
1398 | |
1399 | |
1400 |