view src/ui/bmi/mmiBookController.h @ 78:c632896652ba

mfw/ti1_key.c: properly initialize notified_keys array The code in this ti1_key.c layer needs to call kpd_subscribe() and kpd_define_key_notification() functions in order to register with the KPD driver. The original code passed KPD_NB_PHYSICAL_KEYS in nb_notified_keys - this constant is defined to 24 in kpd_cfg.h on all platforms of interest to us - but it only filled the first 23 slots in the notified_keys array, resulting in stack garbage being passed to KPD API functions. The fix consists of initializing the last missed array slot to KPD_KEY_RECORD, the key ID for the right side button on the D-Sample handset. On our current hw targets this "Record" button exists as the EXTRA button on our Luna keypad board and as the camera button on the Pirelli DP-L10. There is no support whatsoever for this button in current BMI+MFW, we have no plans of doing anything with Pirelli's camera button even if we do get our UI fw running on that phone, and the Mother's dream of building our own FreeCalypso handset with the same button arrangement as D-Sample (including the right side button) is currently very nebulous - but let us nonetheless handle the full set of buttons on the KPD to MFW interface, and let upper layers weed out unsupported buttons.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 25 Oct 2020 23:41:01 +0000
parents 67bfe9f274f6
children c0052fe355d3
line wrap: on
line source

#ifndef _MMIBOOKCONTROLLER_H_
#define _MMIBOOKCONTROLLER_H_ 1

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

					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:		PhoneBook
 $File:		    MmiBookController.h
 $Revision:		1.0                                                       
                                                                              
 $Author:		Condat(UK)                                                         
 $Date:		    25/10/00                                                      
                                                                               
********************************************************************************
                                                                              
 Description:
 
	The book controller module provides the external
	interface to the phone book. It provides ALL external
	entry points to the phone book system.
                        
********************************************************************************
 $History: MmiBookController.h

	25/10/00			Original Condat(UK) BMI version.	
	   
	Nov 10, 2006   DRT: OMAPS000103354  x0039928
	Description: Delete all failure in LDN Phonebook
	Solution: A new function phbDeleteRec is added
	   
 $End

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


/* MMI Phone Book Controller Module

   This module provides the entry points to the phone book
   functionality. The real work of the phonebook is carried
   out in subordinate modules

   Each of the subordinate modules provides a mechanism for
   driving the functionality required by it's own module, but
   the external view outside the phonebook itself will come
   from here.
*/



/* In addition to the primary entry points for the phonebook,
   which are identified below, there are additional entry
   points provided as utilities by the MmiBookUtilities
   module. In order to ensure that these are correctly
   enabled by users of the phonebook, we will include their
   definitions here
*/
#include "MmiResources.h"
#include "MmiBookUtils.h"



/* Define the primary access points which exist in the MMI
   Menu tree, we will have a simple one to one mapping here
   between the menu items in the menu tree and the handler
   functions in the phone book.

   Menu handlers have a standard interface, the only thing
   that changes is the name, so wrap this up cleanly
*/
#define MENU_HANDLER( Name ) tBookStatus Name( tBookMfwMenu *Menu, tBookMfwMenuItem *Item )

MENU_HANDLER( bookNameEnter );
MENU_HANDLER( bookNameEdit );
MENU_HANDLER( bookNameDelete );
MENU_HANDLER( bookNameCall );
MENU_HANDLER( bookDeleteAll );
MENU_HANDLER( bookNameSearch );
MENU_HANDLER( bookNumberSearch );
MENU_HANDLER( bookLocationSearch );
MENU_HANDLER( bookDeleteRec );                     // Nov 10, 2006   DRT: OMAPS000103354  x0039928
MENU_HANDLER( bookNameDeleteAll );

MENU_HANDLER( bookSendAsDTMF );
MENU_HANDLER( bookSendMessage );

MENU_HANDLER( bookGetOwnNumber );
MENU_HANDLER( bookSetOwnNumber );

MENU_HANDLER( bookRepRedNameEnter );
MENU_HANDLER( bookRepRedDelete );

MENU_HANDLER( bookCallListDetails );
MENU_HANDLER( bookDetailsList );

MENU_HANDLER( bookServiceNumbers );
MENU_HANDLER( bookMemoryStatus );
MENU_HANDLER( bookFDNActivate );
MENU_HANDLER( bookFDNDeactivate );

MENU_HANDLER( bookEnterLDN );
MENU_HANDLER( bookEnterLRN) ;
MENU_HANDLER( bookEnterLMN );

/* SPR#1112 - Internal phonebook menu options */
#ifdef INT_PHONEBOOK
MENU_HANDLER( bookSelectBook );
MENU_HANDLER( bookSelectBookSIM );
MENU_HANDLER( bookSelectBookPhone );
MENU_HANDLER( bookCopyEntry );
MENU_HANDLER( bookCopyAll );
MENU_HANDLER( bookMoveEntry );
MENU_HANDLER( bookMoveAll );
#endif

MENU_HANDLER( CphsAlsLock );
MENU_HANDLER( CphsAlsUnlock );

/*******************************************************************************
                                                                              
                                End of File
                                                                              
*******************************************************************************/

#endif