view src/ui3/bmi/mmiUserData.h @ 636:57e67ca2e1cb

pcmdata.c: default +CGMI to "FreeCalypso" and +CGMM to model The present change has no effect whatsoever on Falconia-made and Openmoko-made devices on which /pcm/CGMI and /pcm/CGMM files have been programmed in FFS with sensible ID strings by the respective factories, but what should AT+CGMI and AT+CGMM queries return when the device is a Huawei GTM900 or Tango modem that has been converted to FreeCalypso with a firmware change? Before the present change they would return compiled-in defaults of "<manufacturer>" and "<model>", respectively; with the present change the firmware will self-identify as "FreeCalypso GTM900-FC" or "FreeCalypso Tango" on the two respective targets. This firmware identification will become important if someone incorporates an FC-converted GTM900 or Tango modem into a ZeroPhone-style smartphone where some high-level software like ofono will be talking to the modem and will need to properly identify this modem as FreeCalypso, as opposed to some other AT command modem flavor with different quirks. In technical terms, the compiled-in default for the AT+CGMI query (which will always be overridden by the /pcm/CGMI file in FFS if one is present) is now "FreeCalypso" in all configs on all targets; the compiled-in default for the AT+CGMM query (likewise always overridden by /pcm/CGMM if present) is "GTM900-FC" if CONFIG_TARGET_GTM900 or "Tango" if CONFIG_TARGET_TANGO or the original default of "<model>" otherwise.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 19 Jan 2020 20:14:58 +0000
parents 6a4d9f47793e
children
line wrap: on
line source

#ifndef _DEF_MMI_USERDATA_H_
#define _DEF_MMI_USERDATA_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:		MMI
 $File:		    MmiUserData.h
 $Revision:		1.0                                                       
                                                                              
 $Author:		Condat(UK)                                                         
 $Date:		    25/10/00                                                      
                                                                               
********************************************************************************
                                                                              
 Description:

    This provides the root mofule for the basic MMI
                        
********************************************************************************
 $History: MmiUserData.h

	
	   
 $End

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




#define ALLOC_MEMORY mfwAlloc
#define FREE_MEMORY  mfwFree



/*
 * The following enum is the _only_ place where keys for the userData mechanism
 * can be defined. Everybody _can_ and _must_ define their own keys for
 * _every_ particular use of userData.
 */
typedef enum
{
    UD_SOFTKEYS,
	UD_OLD_FOCUS,
    UD_SAT_BITS,
	UD_SAT_HANDLE,
    UD_SAT_KEYBOARD,
    UD_SAT_MENU,
    UD_SAT_MENU_ATTRIBUTES,
    UD_SAT_MENU_IDS,
    UD_SAT_MENU_STRINGPOOL,
    UD_SAT_SETUPMENU_COMMAND,
    UD_KBD,
	UD_PARENTWIN,
	UD_MENU
} UserKey;


/*
 * Please note that all functions below come in a userDataHnd... and userDataWin...
 * version, which have identical functionality, but get the <window> passed
 * in MfwHnd or MfwWin pointer form respectively.
 * You can just use either one depending on what you got hold of at the moment.
 */


void *userDataHndSet( MfwHnd window, UserKey key, void *data);

void *userDataWinSet( MfwWin *window, UserKey key, void *data);
/*
 * Sets the user data for <window> with <key> to <data>,
 * and returns the previous contents of the user data.
 * If <data> itself is returned no user data with <key>
 * existed and a new user data element with <key> has been created
 * and set to <data>.
 * If NULL is returned, either <window> was invalid or a new user data
 * element could not be created.
 */


void *userDataHndGet( MfwHnd window, UserKey key);

void *userDataWinGet( MfwWin *window, UserKey key);
/*
 * Returns the user data for <window> with <key>.
 * If NULL is returned, either <window> was invalid or no user data
 * with <key> existed.
 */


void *userDataHndDelete( MfwHnd window, UserKey key);

void *userDataWinDelete( MfwWin *window, UserKey key);
/*
 * Deletes the user data for <window> with <key>, and returns the
 * contents of the user data.
 * If NULL is returned, either <window> was invalid or no user data
 * with <key> existed.
 */


#endif