# HG changeset patch # User hgs # Date 1287049674 -10800 # Node ID 3f0699f2e14ce4a24d0e289c981d9a287c3fdb0a # Parent 8a984d260a2d494ade5daf6cf50a90f800337d5d 201041 diff -r 8a984d260a2d -r 3f0699f2e14c accessoryservices/pluggeddisplay/tsrc/stubs/tvoutconfig/bwins/tvoutconfig_stubu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/pluggeddisplay/tsrc/stubs/tvoutconfig/bwins/tvoutconfig_stubu.def Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,7 @@ +EXPORTS + ?TagAssign@STvOutConfigSharedData@@QAEXXZ @ 1 NONAME ; void STvOutConfigSharedData::TagAssign(void) + ?ZeroLoadDataNotTag@STvOutConfigSharedData@@QAEXXZ @ 2 NONAME ; void STvOutConfigSharedData::ZeroLoadDataNotTag(void) + ?TagCheckL@STvOutConfigSharedData@@QAEXXZ @ 3 NONAME ; void STvOutConfigSharedData::TagCheckL(void) + ?ApiVersion@CTvOutConfig@@SAIXZ @ 4 NONAME ; unsigned int CTvOutConfig::ApiVersion(void) + ?NewL@CTvOutConfig@@SAPAV1@XZ @ 5 NONAME ; class CTvOutConfig * CTvOutConfig::NewL(void) + diff -r 8a984d260a2d -r 3f0699f2e14c accessoryservices/pluggeddisplay/tsrc/stubs/tvoutconfig/bwins/tvoutconfigu.def --- a/accessoryservices/pluggeddisplay/tsrc/stubs/tvoutconfig/bwins/tvoutconfigu.def Tue Oct 12 15:02:43 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -EXPORTS - ?TagAssign@STvOutConfigSharedData@@QAEXXZ @ 1 NONAME ; void STvOutConfigSharedData::TagAssign(void) - ?ZeroLoadDataNotTag@STvOutConfigSharedData@@QAEXXZ @ 2 NONAME ; void STvOutConfigSharedData::ZeroLoadDataNotTag(void) - ?TagCheckL@STvOutConfigSharedData@@QAEXXZ @ 3 NONAME ; void STvOutConfigSharedData::TagCheckL(void) - ?ApiVersion@CTvOutConfig@@SAIXZ @ 4 NONAME ; unsigned int CTvOutConfig::ApiVersion(void) - ?NewL@CTvOutConfig@@SAPAV1@XZ @ 5 NONAME ; class CTvOutConfig * CTvOutConfig::NewL(void) - diff -r 8a984d260a2d -r 3f0699f2e14c accessoryservices/pluggeddisplay/tsrc/stubs/tvoutconfig/eabi/tvoutconfig_stubu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/pluggeddisplay/tsrc/stubs/tvoutconfig/eabi/tvoutconfig_stubu.def Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,11 @@ +EXPORTS + _ZN12CTvOutConfig10ApiVersionEv @ 1 NONAME + _ZN12CTvOutConfig4NewLEv @ 2 NONAME + _ZN22STvOutConfigSharedData18ZeroLoadDataNotTagEv @ 3 NONAME + _ZN22STvOutConfigSharedData9TagAssignEv @ 4 NONAME + _ZN22STvOutConfigSharedData9TagCheckLEv @ 5 NONAME + _ZTI15CTvOutConfigImp @ 6 NONAME ; ## + _ZTI23CTVOutStubEventListener @ 7 NONAME ; ## + _ZTV15CTvOutConfigImp @ 8 NONAME ; ## + _ZTV23CTVOutStubEventListener @ 9 NONAME ; ## + diff -r 8a984d260a2d -r 3f0699f2e14c accessoryservices/pluggeddisplay/tsrc/stubs/tvoutconfig/eabi/tvoutconfigu.def --- a/accessoryservices/pluggeddisplay/tsrc/stubs/tvoutconfig/eabi/tvoutconfigu.def Tue Oct 12 15:02:43 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -EXPORTS - _ZN12CTvOutConfig10ApiVersionEv @ 1 NONAME - _ZN12CTvOutConfig4NewLEv @ 2 NONAME - _ZN22STvOutConfigSharedData18ZeroLoadDataNotTagEv @ 3 NONAME - _ZN22STvOutConfigSharedData9TagAssignEv @ 4 NONAME - _ZN22STvOutConfigSharedData9TagCheckLEv @ 5 NONAME - _ZTI15CTvOutConfigImp @ 6 NONAME ; ## - _ZTI23CTVOutStubEventListener @ 7 NONAME ; ## - _ZTV15CTvOutConfigImp @ 8 NONAME ; ## - _ZTV23CTVOutStubEventListener @ 9 NONAME ; ## - diff -r 8a984d260a2d -r 3f0699f2e14c commonservices/PlatformEnv/platformver/src/versioninfo.cpp --- a/commonservices/PlatformEnv/platformver/src/versioninfo.cpp Tue Oct 12 15:02:43 2010 +0300 +++ b/commonservices/PlatformEnv/platformver/src/versioninfo.cpp Thu Oct 14 12:47:54 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -23,8 +23,8 @@ #include "platformverdebug.h" // CONSTANTS -_LIT( KS60ProductIDFiles, "z:\\system\\install\\series60v*.sis" ); -const TInt KS60ProductIDPos = 9; // Length of 'series60v' +_LIT( KS60ProductIDFiles, "z:\\system\\install\\Symbianv*.sis" ); +const TInt KS60ProductIDPos = 8; // Length of 'Symbianv' _LIT( KS60ProductIDSplitMark, "." ); // For splitting 'XX.YY' to 'XX' and 'YY' diff -r 8a984d260a2d -r 3f0699f2e14c commonservices/PlatformEnv/platformver/tsrc/platformvertest/src/platformvertestcases.cpp --- a/commonservices/PlatformEnv/platformver/tsrc/platformvertest/src/platformvertestcases.cpp Tue Oct 12 15:02:43 2010 +0300 +++ b/commonservices/PlatformEnv/platformver/tsrc/platformvertest/src/platformvertestcases.cpp Thu Oct 14 12:47:54 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -51,7 +51,7 @@ // ============================= LOCAL FUNCTIONS =============================== -_LIT( KS60ProductIDFiles, "z:\\system\\install\\series60v*.sis" ); +_LIT( KS60ProductIDFiles, "z:\\system\\install\\Symbianv*.sis" ); // ----------------------------------------------------------------------------- diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_plat/energymgmt_chipset_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/energymgmt_chipset_api/group/bld.inf Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: File that exports the files belonging to +* Energy Management Chipset API +* +*/ + + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/adc_chipset_api.h OS_LAYER_PLATFORM_EXPORT_PATH(adc_chipset_api.h) +../inc/adc_types.h OS_LAYER_PLATFORM_EXPORT_PATH(adc_types.h) +../inc/em_chipset_api.h OS_LAYER_PLATFORM_EXPORT_PATH(em_chipset_api.h) diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_plat/energymgmt_chipset_api/inc/adc_chipset_api.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/energymgmt_chipset_api/inc/adc_chipset_api.h Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,174 @@ +/* + Nokia/Devices/R&D/CT/Adaptation SW/BB + CONFIDENTIAL + Deliverable software + + + + adc_chipset_api.h + -------------------------------- + + SW Include Document - Symbian OS + + + + Document identification and location in Synergy/CM + + Database: co1core + + Object (this information is substituted by Synergy/CM): + %name: adc_chipset_api.h % + %cvtype: incl % + %instance: bh1dsgas_1 % + %version: 1 % + %date_modified: Wed Oct 06 17:16:07 2010 % + + Copyright (c) Nokia. This material, including documentation and any related + computer programs, is protected by copyright controlled by Nokia. + All rights are reserved. Copying, including reproducing, storing, adapting or + translating, any or all of this material requires the prior written consent + of Nokia. This material also contains confidential information, which may not + be disclosed to others without the prior written consent of Nokia. + */ + +/** @file + @brief Chipset API H Template + + This is a header template for Chipset API work. This template should not be + used as a normal code template because the location of where the API is + documented is different in normal coding style! Doxygen commenting style tries + to be similar what Symbian is using for their kernel side development. + + You can define here also the scope of the whole API see below, or you can + define the scope separately before the class or even before the function if + that is needed. + + @publishedDeviceAbstraction + */ + +#ifndef ADC_CHIPSET_API_H +#define ADC_CHIPSET_API_H + +/* --------------------------------------------------------------------------- + * + * CONSTANTS + * + */ + +/* Battery Voltage (VBAT) */ +#define HAL_ADC_CHIPSET_VBAT 0x01 + +/* Battery Size Identification (BSI) */ +#define HAL_ADC_CHIPSET_BSI 0x04 + +/* Battery TEMPerature (BTEMP) */ +#define HAL_ADC_CHIPSET_BTEMP 0x05 + +/* Power Amplifier TEMPerature (PATEMP) */ +#define HAL_ADC_PATEMP 0x09 + +/* Battery current (positive: current from battery to phone, negative: current running to the battery) */ +/* Ibat can be implemented as a physical or logical adc channel, in case of logical this channel is still used in calibration */ +#define HAL_ADC_CHIPSET_IBAT 0x0E + +/* PWB Temperature */ +#define HAL_ADC_CHIPSET_PWBTEMP 0x22 + +/* Main channel */ +#define HAL_ADC_MAIN_CAL 0xFE + +#include +#include + +/* --------------------------------------------------------------------------- + * + * TYPES + * + */ + +/* + * Type definition for the call-back function used writing to + * asynchronous em callback. + */ +typedef void (*HAL_ADC_CALLBACK)(TUint event, TInt p1, TAny* p2); + +/* --------------------------------------------------------------------------- + * + * FUNCTIONAL PROTOTYPES AND MACROS + * + */ +class TAdcHal + { + + // Class declaration + + /** + Implements AdcHal chipset + */ + +public: + + enum THalAdcCalType + { + EHalAdcCalAppliedVoltage = 1, + EHalAdcCalAppliedCurrent, + EHalAdcCalSensor + }; + + /* --------------------------------------------------------------------------- + * + * DATA STRUCTURES + * + */ + + class HAL_ADC_CAL_DATA_ELEMENT_TYPE + { + public: + TUint8 Channel; + TUint16 RawReading; + THalAdcCalType Type; + TInt32 ReferenceValue; + TInt32 Identification; + }; + + class HAL_ADC_CAL_DATA_TYPE + { + public: + TUint16 NumberOfElements; + HAL_ADC_CAL_DATA_ELEMENT_TYPE *Element; + }; + + /* + * Constructor: + */ + + TAdcHal(); + + /* + * Extension entrypoint + */ + IMPORT_C static TAdcHal* hal_adc_entry_point(); + + /* Initialisation */ + virtual void hal_adc_init(); + + /* Read/convert raw values */ + virtual TInt hal_adc_raw_read(TUint channel, TUint* value, + HAL_ADC_CALLBACK adc_handler, TAny* context); + virtual TInt hal_adc_unit_convert(TUint channel, TUint value); + + /* Calibration depending function */ + virtual TInt hal_adc_unit_read(TUint channel, TInt* value, + HAL_ADC_CALLBACK adc_handler, TAny* context); + virtual TInt hal_adc_cal_unit_conv(TUint channel, TUint rawval, + TInt *unitval); + virtual TInt hal_adc_cal_get(TUint8 channel, TUint *identification, + TInt *value1, TInt *value2, TInt *value3); + virtual TInt hal_adc_cal_set(HAL_ADC_CAL_DATA_TYPE *data); + virtual TInt hal_adc_cal_store(); + virtual TInt hal_adc_unit_lock_channel(TUint channel, TBool action, + TInt value); + }; + +#endif /* ADC_CHIPSET_API_H */ +/* End of Include File */ diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_plat/energymgmt_chipset_api/inc/adc_types.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/energymgmt_chipset_api/inc/adc_types.h Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,38 @@ +/* + adc_types.h + + Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). + All rights reserved. + + This program and the accompanying materials are made available + under the terms of the Eclipse Public License v1.0 which accompanies + this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Initial Contributors: + Nokia Corporation - initial contribution. + + Contributors: +*/ + +/** @file +@brief Energy Management Chipset API H + +This is the header file for Energy Management Chipset API that is used to access +the Energy Management releated service provided by the third party chipset vendor. + +@publishedDeviceAbstraction +*/ + +#include +#include + + + +typedef TUint8 uint8; +typedef TUint16 uint16; +typedef TUint32 uint32; + +typedef TInt32 int32; + + diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_plat/energymgmt_chipset_api/inc/em_chipset_api.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/energymgmt_chipset_api/inc/em_chipset_api.h Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,222 @@ +/* + Nokia/Devices/R&D/CT/Adaptation SW/BB + CONFIDENTIAL + Deliverable software + + + + em_chipset_api.h + -------------------------------- + + SW Include Document - Symbian OS + + + + Document identification and location in Synergy/CM + + Database: co1core + + Object (this information is substituted by Synergy/CM): + %name: em_chipset_api.h % + %cvtype: incl % + %instance: bh1dsgas_1 % + %version: 1 % + %date_modified: Wed Oct 06 17:16:17 2010 % + + Copyright (c) Nokia. This material, including documentation and any related + computer programs, is protected by copyright controlled by Nokia. + All rights are reserved. Copying, including reproducing, storing, adapting or + translating, any or all of this material requires the prior written consent + of Nokia. This material also contains confidential information, which may not + be disclosed to others without the prior written consent of Nokia. + */ + +/** @file + @brief Chipset API H Template + + This is a header template for Chipset API work. This template should not be + used as a normal code template because the location of where the API is + documented is different in normal coding style! Doxygen commenting style tries + to be similar what Symbian is using for their kernel side development. + + You can define here also the scope of the whole API see below, or you can + define the scope separately before the class or even before the function if + that is needed. + + @publishedDeviceAbstraction + */ + +#ifndef EM_CHIPSET_API_H +#define EM_CHIPSET_API_H + +#include +#include + +/* --------------------------------------------------------------------------- + * + * TYPES + * + */ + +/* + * Type definition for the call-back function used writing to + * asynchronous em callback. Callback is executed in the EM chipset's context. + */ +typedef void (*HAL_EM_CALLBACK)(TUint event, TInt p1, TAny* p2); + +/* --------------------------------------------------------------------------- + * + * FUNCTIONAL PROTOTYPES AND MACROS + * + */ + +class TEmHal + { + // Class declaration + + /** + Implements EmHal chipset + */ +public: + + /* --------------------------------------------------------------------------- + * + * CONSTANTS + * + */ + + enum THalEmChaEvtType + { + EHalEMChaChargeStarted = 1, + EHalEmChaChargeStopped, + EHalEamChaChargeReady, + EHalEamChaChargeChargerType, + EHalEamChaChargeFull, + EHalEamChaChargeError + }; + + enum THalEmChaChargerType + { + EHalEmChaChargerNone = 1, + EHalEmChaChargerSpecial, + EHalEmChaChargerDynamo + }; + + enum THalEmChaSource + { + EHalEmChaSourceDynamo = 1, + EHalEmChaSourceUsb + }; + + enum THalEmIbatEvtType + { + EHalEmChaIbatStarted = 1, + EHalEmChaIbatStopped, + EHalEmChaIbatSampling, + EHalEmChaIbatError + }; + + enum THalEmVbatEvtType + { + EHalEmVbatTxOn = 1, + EHalEmVbatTxOff, + EHalEmVbatChOn, + EHalEmVbatChOff, + EHalEmVbatError + }; + + enum THalEmBsiEvtType + { + EHalEmBsiFloating = 1 + }; + + enum THalEmDbiEvtType + { + EHalEmDbiAuthenticationOk = 1, + EHalEmDbiAuthenticationFailed, + EHalEmDbiReadReady, + EHalEmDbiReadError, + EHalEmDbiWriteReady, + EHalEmDbiWriteError + }; + + /* + * Constructor: + */ + + TEmHal(); + + /* + * Extension entrypoint + */ + + IMPORT_C static TEmHal* hal_em_entry_point(); + + /* + * INIT (setup): + */ + + virtual void hal_em_init(HAL_EM_CALLBACK cha_handler, + HAL_EM_CALLBACK ibat_handler, HAL_EM_CALLBACK vbat_handler, + HAL_EM_CALLBACK bsi_handler + + ); + + /* + * CHARGING: + */ + virtual TInt hal_em_cha_charge(TInt action); + virtual TInt hal_em_cha_charge_pause(TInt action); + virtual TInt hal_em_cha_set_target_voltage(TInt mV); + virtual TInt hal_em_cha_set_termination_current(TInt mA); + virtual TInt hal_em_cha_set_in_current(TInt mA); + virtual TInt hal_em_cha_set_out_current(TInt mA); + virtual TInt hal_em_cha_set_min_vbus_volt(TInt mv); + virtual TInt hal_em_cha_set_charging_source(THalEmChaSource source); + + /* + * IBAT + */ + virtual TInt hal_em_ibat_read(); + virtual TUint hal_em_ibat_sample_time(); + virtual TUint hal_em_ibat_avg_time_get(); + virtual TInt hal_em_ibat_avg_time_set(TUint number); + virtual TInt hal_em_ibat_avg_get(); + virtual TInt hal_em_ibat_avg_start(); + virtual TInt hal_em_ibat_avg_stop(); + virtual TInt hal_em_ibat_avg_state_get(); + + /* + * VBAT + */ + + virtual TInt hal_em_vbat_initial(); + virtual TInt hal_em_vbat_read(TUint *value); + virtual TInt hal_em_vbat_sync(TInt action); + + /* + * BTEMP + */ + virtual TInt hal_em_btemp_read(TUint *value); + + /* + * BSI + */ + virtual TInt hal_em_bsi_read(TUint *value); + + /* WATCHDOG */ + virtual void hal_em_watchdog(); + + /* DBI */ + + virtual TInt hal_em_dbi_init(HAL_EM_CALLBACK dbi_handler); + virtual TInt hal_em_dbi_authenticate(TUint8 *challenge, + TUint8 challengelength, TUint8 *response, TUint8 responselength); + virtual TInt + hal_em_dbi_read(TUint address, TUint length, TUint8* readbuf); + virtual TInt hal_em_dbi_write(TUint address, TUint length, + TUint8* writebuf); + }; + +#endif /* EM_CHIPSET_API_H */ +/* End of Include File */ diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_plat/group/bld.inf --- a/devicesrv_plat/group/bld.inf Tue Oct 12 15:02:43 2010 +0300 +++ b/devicesrv_plat/group/bld.inf Thu Oct 14 12:47:54 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -72,3 +72,7 @@ #ifdef FF_AUTOMOTIVESTACK #include "../autoaudio_plugin_api/group/bld.inf" #endif +#include "../light_chipset_api/group/bld.inf" +#include "../thermal_shai_api/group/bld.inf" +#include "../energymgmt_chipset_api/group/bld.inf" + diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_plat/light_chipset_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/light_chipset_api/group/bld.inf Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,26 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Light chipset API definition +* +*/ + + +#include + +PRJ_PLATFORMS +ARMV5 ARMV5SMP + +PRJ_EXPORTS + +../inc/light_chipset_api.h OS_LAYER_PLATFORM_EXPORT_PATH(light_chipset_api.h) \ No newline at end of file diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_plat/light_chipset_api/inc/light_chipset_api.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/light_chipset_api/inc/light_chipset_api.h Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,130 @@ +/* + light_chipset_api.h + + Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). + All rights reserved. + + This program and the accompanying materials are made available + under the terms of the Eclipse Public License v1.0 which accompanies + this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Initial Contributors: + Nokia Corporation - initial contribution. + + Contributors: +*/ + +/** @file +@brief Light Chipset API H + +This is the header file for Light Chipset API that is used to access +the light service provided by the third party chipset vendor. + +@publishedDeviceAbstraction +*/ + +#ifndef __LIGHT_CHIPSET_API_H__ +#define __LIGHT_CHIPSET_API_H__ + +// Include files + +#include + + +// Constants + + +// Macros + + +// Data types + +/** +* RGB values. +* +*/ + +struct TLightColor +{ + TUint8 iRed; + TUint8 iGreen; + TUint8 iBlue; +}; + +// Function prototypes + + +// Class declaration + +/** +This class defines the Chipset API that is used to access +the light service provided by the third party chipset vendor. +*/ +class LightService + { + public: + + /** + This method is used to do all the necessary initialization so + that the chipset is ready to provide the light service. + + @return Symbian OS system wide error code, and the followings are required: + KErrNone – the operation is successfully executed + KErrGeneral – error condition + KErrAlreadyExists – if trying to initialize twice + + @pre Pre-condition, it should be called first before the other methods of this class are used + */ + IMPORT_C static TInt Init(); + + /** + This function is used to set the specified output to the desired intensity. + + @param aOutputId The identity of the output line that shall be controlled + @param aIntensity The desired intensity of the light with range 0 – 10000 [1/100%] + + @return Symbian OS system wide error code, and the followings are required: + KErrNone – the operation is successfully executed + KErrGeneral – error condition + KErrNotReady –if trying to access uninitialized device + KErrNotSupported – if the feature is not supported by the HW + + @pre Pre-condition, the method Init() has been executed successfully + */ + IMPORT_C static TInt SetIntensity(TUint aOutputId, TUint16 aIntensity); + + /** + This function is used to set the specified output to the desired PWM frequency. + + @param aOutputId The identity of the output line that shall be controlled + @param aFrequency The PWM frequency from 0 to the maximum frequency available from the chipset (range 0 to 65535Hz) + + @return Symbian OS system wide error code, and the followings are required: + KErrNone – the operation is successfully executed + KErrGeneral – error condition + KErrNotReady – if trying to access uninitialized device + KErrNotSupported – if the feature is not supported by the HW + + @pre Pre-condition, the method Init() has been executed successfully + */ + IMPORT_C static TInt SetFrequency(TUint aOutputId, TUint16 aFrequency); + /** + This function is used to set the color of the LED target. + + @param aOutputId The identity of the output line that shall be controlled + @param TLightColor The Light color structure to specify RGB values + + @return Symbian OS system wide error code, and the followings are required: + KErrNone – the operation is successfully executed + KErrGeneral – error condition + KErrNotReady – if trying to access uninitialized device + KErrNotSupported – if the feature is not supported by the HW + + @pre Pre-condition, the method Init() has been executed successfully + */ + IMPORT_C static TInt SetColor(TUint aOutputId, TLightColor aRGB); + + }; + +#endif // __LIGHT_CHIPSET_API_H__ diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_plat/thermal_shai_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/thermal_shai_api/group/bld.inf Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,27 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: File that exports the files belonging to +* Thermalsensing chipset API +* +*/ + + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/pm_thermalsensing_chipset_api.h OS_LAYER_PLATFORM_EXPORT_PATH(pm_thermalsensing_chipset_api.h) diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_plat/thermal_shai_api/inc/pm_thermalsensing_chipset_api.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicesrv_plat/thermal_shai_api/inc/pm_thermalsensing_chipset_api.h Thu Oct 14 12:47:54 2010 +0300 @@ -0,0 +1,333 @@ +/* +Nokia +CONFIDENTIAL +Deliverable software + + pm_thermalsensing_chipset_api.h + -------------------------------- + + SW Include Document - Symbian OS + +* ============================================================================ +* Name : pm_thermalsensing_chipset_api.h +* Part of : TP/PP/CoreSW/SASW, System Infra +* Origin : System Power Knowledge Center, Nokia Corporation +* Created : Aditya Singh (16.05.2007) +* Description: +* This describes the class that determines the thermal sensor driver from a +* hardware dependent way for battery temperature. +* +* Continuus version : +* %version: 1 %, +* %date_modified: Tue Oct 05 17:58:12 2010 % +* by %derived_by: s95kumar % +* +* Copyright (c) Nokia. This material, including documentation and any related +* computer programs, is protected by copyright controlled by Nokia. All rights +* are reserved. Copying, including reproducing, storing, adapting or +* translating, any or all of this material requires the prior written consent +* of Nokia. This material also contains confidential information which may +* not be disclosed to others without the prior written consent of Nokia. +* --------------------------------------------------------------------------- +* Version history: +* Template version: 1.0, 05.10.2004 by pkahonen +* +* +* Version: 1 +* Ref: 417-41499 +* Initial Version of Thermal Sensing HW Adaptation Driver +* +* +* ============================================================================ +*/ + +/** @file +@brief Chipset API H Template + +This is a header template for Chipset API work. This template should not be +used as a normal code template because the location of where the API is +documented is different in normal coding style! Doxygen commenting style tries +to be similar what Symbian is using for their kernel side development. + +You can define here also the scope of the whole API see below, or you can +define the scope separately before the class or even before the function if +that is needed. + +@publishedDeviceAbstraction + */ + +#ifndef __PM_THERMALSENSING_CHIPSET_API_H__ +#define __PM_THERMALSENSING_CHIPSET_API_H__ + + +// Include files + +#include + +/** +Description of the function pointer + +@note Description Callback Function which is being executed from DFC + +@param TAny* Any type of parameter passed to the callback function + */ +typedef void (*TthermalSensorCbFn)(TAny* aParam); + +// Forward declarations + +class TthermalSensorCb; +class ChipsetThermalSensorHWPool; +class DThermalSensorHW; + + +// Class declaration +/** + * + * Thermal Sensor Callback function + * + */ +class TthermalSensorCb : public TDfc + { + +public : + /** + Description of TthermalSensorCb + This is the Thermal Sensor Callback Function + @param aFn Callback Function Pointer + @param aParam Any type of parameter passed to the callback function + @param aPriority Priority Assigned + @return KErrNone or a system wide error code to specify the effect of the method call. + @pre This can be called only after the ChipsetThermalSensorHWPool has been initialized + in the system. Preferable way to call this function is from a thread context with + interrupts enabled after all the kernel extensions have been initialized in the boot up. + */ + IMPORT_C TthermalSensorCb(TthermalSensorCbFn aFn, TAny *aParam, TInt aPriority); + /** + Description of TthermalSensorCb + This is the Thermal Sensor Callback Function + @param aFn Callback Function Pointer + @param aParam Any type of parameter passed to the callback function + @param aPriority Priority Assigned + @param aQue Interrupt Handling DFC queue. The same queue is used by the HW specific interface + @return KErrNone or a system wide error code to specify the effect of the method call. + @pre This can be called only after the ChipsetThermalSensorHWPool has been initialized + in the system. Preferable way to call this function is from a thread context with + interrupts enabled after all the kernel extensions have been initialized in the boot up. + */ + IMPORT_C TthermalSensorCb(TthermalSensorCbFn aFn, TAny *aParam, TInt aPriority, TDfcQue* aQue); + +private : + + static void CallbackFunc( TAny *); + +private : + /*** Any type of parameter passed to the callback function */ + TAny* iParam; + + /*** Callback Function Pointer */ + TthermalSensorCbFn iCallback; + + }; + +/** +@brief Class acting as a container class for several sensor objects + +This class acts as a repository using which the references to the specific thermal sensor +interface can be accessed. The recommendation is to implement this as a Singleton class. + */ +class ChipsetThermalSensorHWPool + { + // Methods +public : + enum TthermalSensorID + { + /// Invalid Sensor ID to be used if system design does not have any thermal sensor. + EInvalidThermalSensor = 0x0, + /// Battery Specific Sensing + EBatteryThermalSensor, + /// DRAM Specific Sensing + EDRAMThermalSensor, + /// RF ASIC Specific Sensors + ERFThermalSensor, + /// Memory Card Specific Sensors + EMemoryCardThermalSensor, + /// SOC Specific Sensors + EAPEThermalSensor, + /// Camera Module Specific Sensors + ECameraThermalSensor, + /// GPS Module Specific Sensors + EGPSThermalSensor, + /// Display Module Specific Sensors + EDisplayThermalSensor, + /// Chipset Specific Sensors + EChipsetCustom1ThermalSensor, + EChipsetCustom2ThermalSensor, + EChipsetCustom3hermalSensor, + EChipsetCustom4ThermalSensor, + EChipsetCustom5ThermalSensor, + EChipsetCustom6ThermalSensor + }; + + /** + Description of GetThermalSensorHW + This is the method to get the pointer of the DThermalSensorHW object from the + ChipsetThermalSensorHWPool. + @param aId input parameter specifying the ID of the thermal sensor whose pointer we are + trying to reference. + @param aSensor output parameter giving the pointer of the thermal sensor object representing + the ID requested or NULL if the thermal sensor do not exist in the system. + @return KErrNone or a system wide error code to specify the effect of the method call. + @pre This can be called only after the ChipsetThermalSensorHWPool has been initialized + in the system. Preferable way to call this function is from a thread context with + interrupts enabled after all the kernel extensions have been initialized in the boot up. + */ + + IMPORT_C static TInt GetThermalSensorHW(TthermalSensorID aId, DThermalSensorHW** aSensor); + + /** + Description of GetNumberOfSensors + This is the method to get the number of sensors supported by the chipset adaptation software. + In addition it should give the highest and lowest identifier for the sensors to optimize the search + possibilities for the client software. + @param aHighestID output parameter that gives the ID of the thermal sensor with the most positive value + or 0 if no sensor is present. + @param aLowestID output parameter that gives the ID of the thermal sensor with the least positive value + or 0 if no sensor is present. + @return number of sensors in the system (+ve value or 0) or + a system wide error code to specify the effect of the method call. + @pre This can be called only after the ChipsetThermalSensorHWPool has been initialized + in the system. + */ + IMPORT_C static TInt GetNumberOfSensors(TthermalSensorID& aHighestID, TthermalSensorID& aLowestID); + + }; + + +/** + * + * This class represents a generic thermal sensor that would be found in the HW. + * The pointer of the thermal sensor object would be passed to the client who can then call the virtual methods that are exposed by this interface. + * + */ +NONSHARABLE_CLASS( DThermalSensorHW ) : public DBase + { + public : + /** + Constructor + Defined as a private to prevent clients to create own instances + from this class + @since ver 1 + @param none + @return none + @panic none + */ + DThermalSensorHW(); + + /** + Virtual Destructor + @since ver 1 + @param none + @return none + @panic none + */ + virtual ~DThermalSensorHW(); + + /** + Description of InitHw + This is the method by which the HW is initialized in the system. + The implementation has to take care that the HW is initialized only once even though this method can be called multiple times. + The main motivation for this method is that the client becomes sure about the functional state of the HW after it calls this method. + There are several scenarios possible when the interface is called. For example, + • If the HW cannot be initialized then the implementation should return KErrNotReady or KErrNotSupported depending on the scenario. + • If the HW can be initialized then the call would do the necessary initializations and reply with KErrNone. + • If the HW is already initialized, then the call should return immediately without changing the HW state and return value should also be KErrNone. + @since ver 1 + @param none + @return KErrNone if success + otherwise system wide error code to let the client know about the status of the HW + @panic none + @ pre This can be called at any time after the kernel extensions have been loaded. + The preferable way to call this function is from a thread context with interrupts enabled. + */ + virtual TInt InitHw() = 0; + + /** + Description of SetupAlert + This is the method to set up a callback mechanism when temperature moves outside the range + [alerts should occur when temperature is higher than high temperature limit (aTmpHigh) and lower than the low temperature limit (aTmpHigh – aTmpDiff)] + presented in the arguments of this method. Only one client is permitted to call this API because this controls the functional behavior of the thermal sensor. + If the boundary condition is already set and another client calls this method the call would not have any functional effect and the callback would not be registered. + @since ver 1 + @param aTmpHigh The higher boundary of the temperature range in Kelvin. + The callback specified would be triggered if the temperature of the sensor becomes greater than this level + @param aTmpDiff difference between THIGH and TLOW + @param aCb this is the DFC that should be queued when the temperature of the sensor moves outside the range specified by the boundaries + @return KErrNone if success + KErrAlreadyExists if the boundary values are already specified + otherwise system wide error code + @panic none + @pre the preferable way to call this function is from a thread context with interrupts enabled after all the kernel extensions have been initialized in the boot up. + */ + virtual TInt SetupAlert(TInt16 aTmpHigh, TInt16 aTmpDiff,TthermalSensorCb *aCb) = 0; + + /** + Description of SetupCallBack + This is the method to register callbacks for the current prevailing boundary conditions for a particular sensor. + This function is needed because only the controlling client is allowed to call the SetupAlert API, hence this API needs to be used by all other observer clients + @since ver 1 + @param aCb This is the DFC that should be queued when the temperature of the sensor moves outside the range specified by the boundaries set before in the SetAlert method. + @return KErrNone if success + otherwise system wide error code + @panic none + @pre The preferable way to call this function is from a thread context with interrupts enabled after all the kernel extensions have been initialized in the boot up. + */ + virtual TInt SetupCallBack(TthermalSensorCb *aCb) = 0; + + /** + Description of StopAlert + This is the method to cancel callbacks or the entire alert mechanism for a particular sensor. + @since ver 1 + @param stopAll If this true then the Alert mechanism is stopped altogether and the sensing HW is disabled until the next InitHW is called. + It is recommended that only the client who has called SetupAlert successfully before calls this method. + In other cases only the callback function is removed. If the callback function was the one used in the SetupAlert call before + then the Alert mechanism is disabled also before the next SetupAlert is called. + @param aCb This is the DFC that should be removed from the list of callbacks. + @return KErrNone if success + otherwise system wide error code + @panic none + @pre This can only be called after SetupAlert API or SetupCallback API + The preferable way to call this function is from a thread context with interrupts enabled after all the kernel extensions have been initialized in the boot up. + */ + virtual TInt StopAlert(TBool stopAll, TthermalSensorCb *aCb) = 0; + + + /** + Description of ReadTempData + This is the method to read temperature data from a particular sensor + @since ver 2 + @param tmpData stores the current temperature reading + @param aNewRead checks whether a new read is required for temperature + @return KErrNone if success + otherwise system wide error code + @panic none + @pre The preferable way to call this function is from a thread context with interrupts enabled after all the kernel extensions have been initialized in the boot up. + */ + virtual TInt ReadTempData(TInt16& tmpData, TBool aNewRead) = 0; + + /** + Description of PeformHWSelfTest + This is the method to performing self test on the underlying thermal sensor HW. This method should be self contained meaning it should be able to save the context , + perform the self test and then restore the context back exactly to the state before the self test. + @since ver 2 + @param none + @return KErrNone if success + otherwise system wide error code + @panic none + @pre The preferable way to call this function is from a thread context with interrupts enabled after all the kernel extensions have been initialized in the boot up. + */ + virtual TInt PerformHWSelfTest(void) = 0; + }; + +#endif // __PM_THERMALSENSING_CHIPSET_API_H__ + +// End Of File diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_pub/version_info_api/inc/versioninfo.h --- a/devicesrv_pub/version_info_api/inc/versioninfo.h Tue Oct 12 15:02:43 2010 +0300 +++ b/devicesrv_pub/version_info_api/inc/versioninfo.h Thu Oct 14 12:47:54 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -83,7 +83,7 @@ /** * Class TPlatformVersion stores platform version information. - * The class is used as parameter in GetVersionInfo() methods. + * The class is used as parameter in GetVersion() methods. * @since S60 3.2 */ class TPlatformVersion : public TVersionBase @@ -95,10 +95,10 @@ inline TPlatformVersion(); public: - /** Contains the major version. For example 3 if S60 3.2 */ + /** Contains the major version. For example 4 for Symbian^4 */ TUint16 iMajorVersion; - /** Contains the minor version. For example 2 if S60 3.2 */ + /** Contains the minor version. For example 0 for Symbian^4 */ TUint16 iMinorVersion; }; diff -r 8a984d260a2d -r 3f0699f2e14c devicesrv_pub/version_info_api/tsrc/bc/platformvertest/src/platformvertestcases.cpp --- a/devicesrv_pub/version_info_api/tsrc/bc/platformvertest/src/platformvertestcases.cpp Tue Oct 12 15:02:43 2010 +0300 +++ b/devicesrv_pub/version_info_api/tsrc/bc/platformvertest/src/platformvertestcases.cpp Thu Oct 14 12:47:54 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -51,7 +51,7 @@ // ============================= LOCAL FUNCTIONS =============================== -_LIT( KS60ProductIDFiles, "z:\\system\\install\\series60v*.sis" ); +_LIT( KS60ProductIDFiles, "z:\\system\\install\\Symbianv*.sis" ); // ----------------------------------------------------------------------------- diff -r 8a984d260a2d -r 3f0699f2e14c hwrmhaptics/tsrc/haptics_stif/group/envrecall.cmd --- a/hwrmhaptics/tsrc/haptics_stif/group/envrecall.cmd Tue Oct 12 15:02:43 2010 +0300 +++ b/hwrmhaptics/tsrc/haptics_stif/group/envrecall.cmd Thu Oct 14 12:47:54 2010 +0300 @@ -19,8 +19,7 @@ @echo Cleaning Haptics Test stubs... pushd ..\..\hapticstestplugins\group\ -call sbs -c armv5.test reallyclean -call sbs -c winscw.test reallyclean +call sbs reallyclean popd @echo Cleaning Haptics Test stubs... Finished diff -r 8a984d260a2d -r 3f0699f2e14c hwrmhaptics/tsrc/haptics_stif/group/envsetup.cmd --- a/hwrmhaptics/tsrc/haptics_stif/group/envsetup.cmd Tue Oct 12 15:02:43 2010 +0300 +++ b/hwrmhaptics/tsrc/haptics_stif/group/envsetup.cmd Thu Oct 14 12:47:54 2010 +0300 @@ -41,9 +41,7 @@ @echo Setting up Haptics Test stubs... pushd ..\..\hapticstestplugins\group\ -call sbs -c armv5.test reallyclean -call sbs -c winscw.test reallyclean -call sbs -c armv5.test -call sbs -c winscw.test +call sbs reallyclean +call sbs popd @echo Setting up Haptics Test stubs... Finished diff -r 8a984d260a2d -r 3f0699f2e14c package_definition.xml --- a/package_definition.xml Tue Oct 12 15:02:43 2010 +0300 +++ b/package_definition.xml Thu Oct 14 12:47:54 2010 +0300 @@ -258,6 +258,15 @@ + + + + + + + + + @@ -278,9 +287,6 @@ - - - diff -r 8a984d260a2d -r 3f0699f2e14c resourceinterfaces/fmtransmittercontrol/inc/HWRMFmTx.h --- a/resourceinterfaces/fmtransmittercontrol/inc/HWRMFmTx.h Tue Oct 12 15:02:43 2010 +0300 +++ b/resourceinterfaces/fmtransmittercontrol/inc/HWRMFmTx.h Thu Oct 14 12:47:54 2010 +0300 @@ -179,7 +179,8 @@ * @exception KErrInUse if reserved by another client * KErrNotSupported if RSSI scanning is unsupported * KErrGeneral if there is a hardware error - * KErrNotReady if FM Tx is not enabled + * KErrNotReady if there is a wired accessory conflict. Some + * accessories are mutually exclusive with FM Tx. */ virtual void GetNextClearFrequencyL(TInt& aClearFrequency) = 0; @@ -198,7 +199,8 @@ * KErrArgument If aCount is out of range * KErrNotSupported if RSSI scanning is unsupported * KErrGeneral if there is a hardware error - * KErrNotReady if FM Tx is not enabled + * KErrNotReady if there is a wired accessory conflict. Some + * accessories are mutually exclusive with FM Tx. */ virtual void GetNextClearFrequencyL(TClearFrequencyArray& aClearFrequencyArray, TUint& aCount) = 0; @@ -247,7 +249,8 @@ * @exception KErrInUse if reserved by another client. * KErrNotSupported if RSSI scanning is unsupported * KErrGeneral if there is a hardware error. - * KErrNotReady if FM Tx is not enabled + * KErrNotReady if there is a wired accessory conflict. Some + * accessories are mutually exclusive with FM Tx. */ virtual void SetNextClearFrequencyL(TInt& aClearFrequency) = 0; diff -r 8a984d260a2d -r 3f0699f2e14c resourcemgmt/hwresourcesmgr/server/inc/HWRMFmTxCommonData.h --- a/resourcemgmt/hwresourcesmgr/server/inc/HWRMFmTxCommonData.h Tue Oct 12 15:02:43 2010 +0300 +++ b/resourcemgmt/hwresourcesmgr/server/inc/HWRMFmTxCommonData.h Thu Oct 14 12:47:54 2010 +0300 @@ -263,6 +263,14 @@ */ void UpdateRdsLanguageId(const TRdsLanguageIdType aLanguageId); + /** + * Setter for indicating whether audio policy should be notified. + * + * @param aEnable Enable status + * @param aNotifyAudioPolicy ETrue if audio policy should be notified instantly. + */ + void EnableAudioRouting(TBool aEnable, TBool aNotifyAudioPolicy = EFalse); + private: /** @@ -315,6 +323,7 @@ TFmTxRdsData iRdsData; // RDS settings HWRMFmTxCommand::TRdsPs iRdsConvertedPs; // Text converted into 8bit RDS format HWRMFmTxCommand::TRdsPtyn iRdsConvertedPtyn; // Text converted into 8bit RDS format + TBool iAudioRoutingEnabled; public: // Friend classes diff -r 8a984d260a2d -r 3f0699f2e14c resourcemgmt/hwresourcesmgr/server/inc/HWRMFmTxService.h --- a/resourcemgmt/hwresourcesmgr/server/inc/HWRMFmTxService.h Tue Oct 12 15:02:43 2010 +0300 +++ b/resourcemgmt/hwresourcesmgr/server/inc/HWRMFmTxService.h Thu Oct 14 12:47:54 2010 +0300 @@ -87,6 +87,18 @@ */ class CHWRMFmTxService : public CHWRMService { + private: // Enumerations + + /** + * Private enumeration to identify scan type + */ + enum TFmTxScanType + { + EFmTxScanTypeNone = 0, + EFmTxScanTypeGet, + EFmTxScanTypeSet + }; + public: // Constructors and Destructor /** @@ -311,6 +323,20 @@ */ void CancelPluginCommandL(HWRMFmTxCommand::TFmTxCmd aCommandId); + /** + * Enables transmitter for being able to scan and set free frequencies + * without need to explicitly enable transmitter. + * + */ + void EnsureTransmitterOnL( const RMessage2& aMessage ); + + /** + * Resets scan request state and audio policing. + * + * @param aNotifyAudioPolicy ETrue if audio policy should be notified instantly. + */ + void ResetScanRequest( TBool aNotifyAudioPolicy = EFalse ); + private: // data CHWRMPluginHandler& iWatcherPluginHandler; // Reference to watcher plugin handler. @@ -320,6 +346,8 @@ TBool iSuspended; // Flag to indicate if this session is suspended. TBool iReserved; // Flag to indicate if this session is reserved. + TFmTxScanType iScanRequestType; + TUint iClearFreqsRequired; }; #endif // HWRMFMTXSERVICE_H diff -r 8a984d260a2d -r 3f0699f2e14c resourcemgmt/hwresourcesmgr/server/src/HWRMFmTxCommonData.cpp --- a/resourcemgmt/hwresourcesmgr/server/src/HWRMFmTxCommonData.cpp Tue Oct 12 15:02:43 2010 +0300 +++ b/resourcemgmt/hwresourcesmgr/server/src/HWRMFmTxCommonData.cpp Thu Oct 14 12:47:54 2010 +0300 @@ -278,13 +278,20 @@ THWRMFmTxAvailableFlag nowAvailable = FmTxAvailableState(newState); THWRMFmTxAvailableFlag wasAvailable = FmTxAvailableState(iFmTxState); + COMPONENT_TRACE3( _L("HWRM Server - CHWRMFmTxCommonData::UpdateStatus - nowAvailable: %d, wasAvailable: %d"), + nowAvailable, wasAvailable ); if ( nowAvailable != wasAvailable ) { - COMPONENT_TRACE2(_L("HWRM Server - CHWRMFmTxCommonData::UpdateStatus - Audio Policy notification: %d"), nowAvailable ); - TInt err = iFmTxIsAvailableProperty.Set(nowAvailable); - if ( err != KErrNone ) + COMPONENT_TRACE2( _L("HWRM Server - CHWRMFmTxCommonData::UpdateStatus - iAudioRoutingEnabled: %d"), + iAudioRoutingEnabled ); + if ( iAudioRoutingEnabled ) { - COMPONENT_TRACE2( _L("HWRM Server - CHWRMFmTxCommonData::UpdateStatus - Audio Policy notification failed: %d"), err ); + COMPONENT_TRACE2(_L("HWRM Server - CHWRMFmTxCommonData::UpdateStatus - Audio Policy notification: %d"), nowAvailable ); + TInt err = iFmTxIsAvailableProperty.Set(nowAvailable); + if ( err != KErrNone ) + { + COMPONENT_TRACE2( _L("HWRM Server - CHWRMFmTxCommonData::UpdateStatus - Audio Policy notification failed: %d"), err ); + } } // Update power save status if Fm Tx is available @@ -534,6 +541,26 @@ } // ----------------------------------------------------------------------------- +// CHWRMFmTxCommonData::EnableAudioRouting +// Enables or disables audio routing +// ----------------------------------------------------------------------------- +// +void CHWRMFmTxCommonData::EnableAudioRouting(TBool aEnable, TBool aNotifyAudioPolicy) + { + COMPONENT_TRACE3( _L("HWRM Server - CHWRMFmTxCommonData::EnableAudioRouting %d, %d"), + aEnable, aNotifyAudioPolicy ); + iAudioRoutingEnabled = aEnable; + if ( aNotifyAudioPolicy ) + { + TInt err = iFmTxIsAvailableProperty.Set( aEnable ); + if ( err != KErrNone ) + { + COMPONENT_TRACE2( _L("HWRM Server - CHWRMFmTxCommonData::EnableAudioRouting - Audio Policy notification failed: %d"), err ); + } + } + } + +// ----------------------------------------------------------------------------- // CHWRMFmTxCommonData::SetFrequencyRange // Set the Central Repository data, frequency range and step size // ----------------------------------------------------------------------------- diff -r 8a984d260a2d -r 3f0699f2e14c resourcemgmt/hwresourcesmgr/server/src/HWRMFmTxService.cpp --- a/resourcemgmt/hwresourcesmgr/server/src/HWRMFmTxService.cpp Tue Oct 12 15:02:43 2010 +0300 +++ b/resourcemgmt/hwresourcesmgr/server/src/HWRMFmTxService.cpp Thu Oct 14 12:47:54 2010 +0300 @@ -41,7 +41,8 @@ CHWRMFmTxRdsTextConverter& aRdsTextConverter) : iWatcherPluginHandler(aWatcherPluginHandler), iFmTxCommonData(aFmTxCommonData), - iRdsTextConverter(aRdsTextConverter) + iRdsTextConverter(aRdsTextConverter), + iScanRequestType(EFmTxScanTypeNone) { COMPONENT_TRACE1( _L( "HWRM Server - CHWRMFmTxService::CHWRMFmTxService()" )); COMPONENT_TRACE1( _L( "HWRM Server - CHWRMFmTxService::CHWRMFmTxService - return" )); @@ -234,6 +235,7 @@ { COMPONENT_TRACE1( _L("HWRM Server - CHWRMFmTxService::ExecuteMessageL - EHWRMFmTxCancelGetNextClearFreq") ); + ResetScanRequest(); CancelPluginCommandL( HWRMFmTxCommand::ETxScanRequestCmdId ); completeMessage = ETrue; // no responses from plugin cancel commands } @@ -252,6 +254,7 @@ { COMPONENT_TRACE1( _L("HWRM Server - CHWRMFmTxService::ExecuteMessageL - EHWRMFmTxCancelSetNextClearFreq") ); + ResetScanRequest(); // no hope of cancelling the ESetTxFrequencyCmdId part, so try the ETxScanRequestCmdId CancelPluginCommandL( HWRMFmTxCommand::ETxScanRequestCmdId ); completeMessage = ETrue; // no responses from plugin cancel commands @@ -379,6 +382,7 @@ COMPONENT_TRACE2( _L( "HWRM Server - CHWRMFmTxService::EnableL(0x%x)" ), aMessage.Int0() ); LeaveIfOtherReservationL(); + ResetScanRequest( iFmTxCommonData.IsFmTxHardwareOn() ); // We cannot enable from "power save" state if ( iFmTxCommonData.IsAccessoryPowerSaveOn() ) @@ -414,6 +418,7 @@ COMPONENT_TRACE1( _L( "HWRM Server - CHWRMFmTxService::DisableL" ) ); LeaveIfOtherReservationL(); + ResetScanRequest(); // We don't need to disable HW from some states if ( !iFmTxCommonData.IsFmTxHardwareOn() ) @@ -486,12 +491,18 @@ LeaveIfOtherReservationL(); - LeaveIfTransmitterOffL(); - - // package up the request - HWRMFmTxCommand::TScanRequestPackage pckg(aClearFreqsRequired); - - ExecutePluginCommandL(aMessage, HWRMFmTxCommand::ETxScanRequestCmdId, EFalse/*not split*/, pckg ); + if ( !iFmTxCommonData.IsFmTxHardwareOn() ) + { + EnsureTransmitterOnL( aMessage ); + iScanRequestType = EFmTxScanTypeGet; + iClearFreqsRequired = aClearFreqsRequired; + } + else + { + // package up the request + HWRMFmTxCommand::TScanRequestPackage pckg( aClearFreqsRequired ); + ExecutePluginCommandL(aMessage, HWRMFmTxCommand::ETxScanRequestCmdId, EFalse/*not split*/, pckg ); + } COMPONENT_TRACE1( _L( "HWRM Server - CHWRMFmTxService::GetClearFrequencyL - return" ) ); } @@ -508,13 +519,19 @@ LeaveIfOtherReservationL(); - LeaveIfTransmitterOffL(); - - // package up the request - HWRMFmTxCommand::TScanRequestPackage pckg(aClearFreqsRequired); - - ExecutePluginCommandL(aMessage, HWRMFmTxCommand::ETxScanRequestCmdId, ETrue/*split*/, pckg ); - // wait until response before calling SetFrequencyL + if ( !iFmTxCommonData.IsFmTxHardwareOn() ) + { + EnsureTransmitterOnL( aMessage ); + iScanRequestType = EFmTxScanTypeSet; + iClearFreqsRequired = aClearFreqsRequired; + } + else + { + // package up the request + HWRMFmTxCommand::TScanRequestPackage pckg( aClearFreqsRequired ); + ExecutePluginCommandL(aMessage, HWRMFmTxCommand::ETxScanRequestCmdId, ETrue/*split*/, pckg ); + // wait until response before calling SetFrequencyL + } COMPONENT_TRACE1( _L( "HWRM Server - CHWRMFmTxService::SetNextClearFrequencyL - return" ) ); } @@ -792,10 +809,20 @@ EFalse ) ); if(data) { + COMPONENT_TRACE2( _L( "HWRM Server - CHWRMFmTxService::ProcessResponseL, EStartObservingCmdId scan type = %d" ), + iScanRequestType ); + + TBool split( ( iScanRequestType != EFmTxScanTypeNone ) ? ETrue : EFalse ); TRAP( pluginErr, ExecutePluginCommandL( data->iRequestMessage, HWRMFmTxCommand::ETxOnCmdId, - EFalse/*not split*/, + split, pckg ) ); + + if( !pluginErr && iScanRequestType != EFmTxScanTypeNone ) + { + // Temporarily prevent audio routing. + iFmTxCommonData.EnableAudioRouting( EFalse ); + } } else { @@ -813,16 +840,30 @@ errPckg.Copy(aData); pluginErr = errPckg(); - COMPONENT_TRACE2( _L( "HWRM Server - CHWRMFmTxService::ProcessResponseL, ETxOnCmdId pluginErr = %d" ), pluginErr ); + COMPONENT_TRACE3( _L( "HWRM Server - CHWRMFmTxService::ProcessResponseL, ETxOnCmdId pluginErr = %d, scan type = %d" ), + pluginErr, iScanRequestType ); if ( pluginErr == KErrNone || pluginErr == KErrInUse ) { pluginErr = KErrNone; // If already enabled, complete client request with KErrNone + // Update common data power save iFmTxCommonData.UpdatePowerSaveState( CHWRMFmTxCommonData::EHWRMFmTxPowerSaveOff ); // Store the new status iFmTxCommonData.UpdateStatus(CHWRMFmTxCommonData::EFmTxStateTransOn); + + // Proceed with scan command if needed. + if( iScanRequestType != EFmTxScanTypeNone ) + { + THWRMPluginRequestData* data = static_cast(iTransactionList->FindTransaction(aTransId, EFalse)); + if( data ) + { + HWRMFmTxCommand::TScanRequestPackage pckg( iClearFreqsRequired ); + TBool split( ( iScanRequestType == EFmTxScanTypeSet ) ? ETrue : EFalse ); + ExecutePluginCommandL( data->iRequestMessage, HWRMFmTxCommand::ETxScanRequestCmdId, split, pckg ); + } + } } } break; @@ -926,7 +967,7 @@ scanPckg.Copy(aData); HWRMFmTxCommand::TScanResponseData scanResp = scanPckg(); COMPONENT_TRACE3( _L( "HWRM Server - CHWRMFmTxService::ProcessResponseL, ETxScanRequestCmdId error = %d, found = %d" ), scanResp.iErrorCode, scanResp.iFrequenciesFound ); - + if ( scanResp.iErrorCode != KErrNone || scanResp.iFrequenciesFound == 0 || scanResp.iFrequenciesFound > KClearFrequencyArrayMax ) @@ -957,7 +998,20 @@ pluginErr = data->iRequestMessage.Write(0,clientClearFreqPckg); } - if ( pluginErr == KErrNone && + // Disable transmitter if scan state is still get or set (i.e. transmitter not enabled + // or disabled explicitly during scan neither accessory connected during scan). + // If scan state is set, we can still just disable transmitter because frequency is + // being set upon next transmitter enabling. + if ( pluginErr == KErrNone && iScanRequestType != EFmTxScanTypeNone ) + { + ExecutePluginCommand(HWRMFmTxCommand::ETxOffCmdId); + if ( iScanRequestType == EFmTxScanTypeSet ) + { + // Store the new frequency, which is used when next time enabling transmitter + iFmTxCommonData.UpdateFrequency( firstClearFreq ); + } + } + else if ( pluginErr == KErrNone && data->iRequestMessage.Function() == EHWRMFmTxSetNextClearFreq ) { // Continue split command @@ -1451,6 +1505,44 @@ COMPONENT_TRACE1( _L( "HWRM Server - CHWRMFmTxService::CancelPluginCommandL - return" ) ); } + +// ----------------------------------------------------------------------------- +// CHWRMFmTxService::EnsureTransmitterOnL +// Enables transmitter for being able to scan and set free frequencies. +// ----------------------------------------------------------------------------- +// +void CHWRMFmTxService::EnsureTransmitterOnL( const RMessage2& aMessage ) + { + COMPONENT_TRACE1( _L( "HWRM Server - CHWRMFmTxService::EnsureTransmitterOnL" ) ); + + // Enable transmitter if not in "power save" state + if ( iFmTxCommonData.IsAccessoryPowerSaveOn() ) + { + // We cannot enable during "power save" due to mutually exclusive accessory connection. + COMPONENT_TRACE1( _L( "HWRM Server - CHWRMFmTxService::EnableL - not ready in \"power save\" state" ) ); + User::Leave( KErrNotReady ); + } + else + { + //start observing + ExecutePluginCommandL( aMessage, HWRMFmTxCommand::EStartObservingCmdId, EFalse/*not split*/ ); + } + + COMPONENT_TRACE1( _L( "HWRM Server - CHWRMFmTxService::EnsureTransmitterOnL - return" ) ); + } + +// ----------------------------------------------------------------------------- +// CHWRMFmTxService::ResetScanRequest +// Resets scan request and enables audio routing. +// ----------------------------------------------------------------------------- +// +void CHWRMFmTxService::ResetScanRequest( TBool aNotifyAudioPolicy ) + { + COMPONENT_TRACE1( _L( "HWRM Server - CHWRMFmTxService::ResetScanRequest" ) ); + + iFmTxCommonData.EnableAudioRouting( ETrue, aNotifyAudioPolicy ); + iScanRequestType = EFmTxScanTypeNone; + } // ========================== OTHER EXPORTED FUNCTIONS ========================= diff -r 8a984d260a2d -r 3f0699f2e14c resourcemgmt/hwresourcesmgr/server/src/HWRMFmTxStateUtility.cpp --- a/resourcemgmt/hwresourcesmgr/server/src/HWRMFmTxStateUtility.cpp Tue Oct 12 15:02:43 2010 +0300 +++ b/resourcemgmt/hwresourcesmgr/server/src/HWRMFmTxStateUtility.cpp Thu Oct 14 12:47:54 2010 +0300 @@ -258,6 +258,8 @@ // transition from EFmTxStatePowerSaveAccessory to EFmTxStateOff must occur. iFmTxService->ExecutePluginCommand(HWRMFmTxCommand::ETxOffCmdId); // Don't change iFmTxState until power down completes + // Enable audio routing (which may have been disabled by scan request) + iFmTxCommonData->EnableAudioRouting( ETrue ); } break; diff -r 8a984d260a2d -r 3f0699f2e14c resourcemgmt/hwresourcesmgr/test/te_hwrm/hwrmtest.cpp --- a/resourcemgmt/hwresourcesmgr/test/te_hwrm/hwrmtest.cpp Tue Oct 12 15:02:43 2010 +0300 +++ b/resourcemgmt/hwresourcesmgr/test/te_hwrm/hwrmtest.cpp Thu Oct 14 12:47:54 2010 +0300 @@ -288,6 +288,8 @@ ADD_TEST_STEP_ISO_CPP(CHWRMTest, TestFmTxEnableDuringPowersaveL); #endif // INSECURE_AUDIO_POLICY_KEYS + ADD_TEST_STEP_ISO_CPP(CHWRMTest, TestFmTxGetNextClearFrequencyWithoutEnableL); + END_SUITE; } @@ -4407,7 +4409,7 @@ INFO_PRINTF1(_L("Start test step: TestFmTxGetNextClearFrequencyArrayL")); AddTestStateL(this, &CHWRMTest::FmTxOpenL, KTwoTimeUnits); - AddTestStateL(this, &CHWRMTest::FmTxGetNextClearFrequencyArrayWhileDisabledL, KOneTimeUnit); + //AddTestStateL(this, &CHWRMTest::FmTxGetNextClearFrequencyArrayWhileDisabledL, KOneTimeUnit); AddTestStateL(this, &CHWRMTest::FmTxEnableL, KTwoTimeUnits); AddTestStateL(this, &CHWRMTest::FmTxGetNextClearFrequencyArrayErrArgumentMinL, KOneTimeUnit); AddTestStateL(this, &CHWRMTest::FmTxGetNextClearFrequencyArrayErrArgumentMaxL, KOneTimeUnit); @@ -4639,6 +4641,17 @@ #endif // INSECURE_AUDIO_POLICY_KEYS +void CHWRMTest::TestFmTxGetNextClearFrequencyWithoutEnableL() + { + INFO_PRINTF1(_L("Start test step: TestFmTxGetNextClearFrequencyWithoutEnableL")); + + AddTestStateL(this, &CHWRMTest::FmTxOpenL, KTwoTimeUnits); + AddTestStateL(this, &CHWRMTest::FmTxGetNextClearFrequencyWithoutEnableL, KTwoTimeUnits); + + ExecuteTestL(); + } + + void CHWRMTest::InvalidSessionLightL() { INFO_PRINTF1(_L("Step state: InvalidSessionLightL")); @@ -8697,6 +8710,28 @@ #endif // INSECURE_AUDIO_POLICY_KEYS + +void CHWRMTest::FmTxGetNextClearFrequencyWithoutEnableL() + { + INFO_PRINTF1(_L("Step state: FmTxGetNextClearFrequencyWithoutEnableL")); + + CHWRMFmTx& fmTx = GetFmTxSessionWithCallbackRegisteredL(); + + ExpectFmTxStatusNotificationL(EFmTxStateOff, EFmTxStateInactive); + ExpectFmTxStatusNotificationL(EFmTxStateInactive, EFmTxStateOff); + + TInt clearFrequency; + fmTx.GetNextClearFrequencyL(clearFrequency); + + // the frequency that is returned is hard coded in the cmockfmtxengine + if (clearFrequency != 89000) + { + User::Leave(KErrGeneral); + } + } + + + // // THE FOLLOWING STEPS AND STATES TEST LIGHT API DEPENDING ON // PRODUCT-SPECIFIC PHYSICAL DEVICE CONFIGURATION (FLIP, SLIDER, ETC. diff -r 8a984d260a2d -r 3f0699f2e14c resourcemgmt/hwresourcesmgr/test/te_hwrm/hwrmtest.h --- a/resourcemgmt/hwresourcesmgr/test/te_hwrm/hwrmtest.h Tue Oct 12 15:02:43 2010 +0300 +++ b/resourcemgmt/hwresourcesmgr/test/te_hwrm/hwrmtest.h Thu Oct 14 12:47:54 2010 +0300 @@ -262,6 +262,7 @@ void TestFmTxPowerSaveOnOffStateL(); void TestFmTxPowerSaveOffL(); #endif // INSECURE_AUDIO_POLICY_KEYS + void TestFmTxGetNextClearFrequencyWithoutEnableL(); private: // @@ -752,6 +753,8 @@ void SetWatcherPluginConnectedStatusL(TBool aStatus ); void SetAudioRoutedFlagL(TBool aFlag); #endif // INSECURE_AUDIO_POLICY_KEYS + + void FmTxGetNextClearFrequencyWithoutEnableL(); // Test case utilities void IncrementFrequency(TInt &aFrequency); diff -r 8a984d260a2d -r 3f0699f2e14c resourcemgmt/hwresourcesmgr/test/te_hwrm/te_hwrm_fmtx.script --- a/resourcemgmt/hwresourcesmgr/test/te_hwrm/te_hwrm_fmtx.script Tue Oct 12 15:02:43 2010 +0300 +++ b/resourcemgmt/hwresourcesmgr/test/te_hwrm/te_hwrm_fmtx.script Thu Oct 14 12:47:54 2010 +0300 @@ -426,4 +426,15 @@ RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestFmTxEnableDuringPowersaveL END_TESTCASE DEVSRVS-HWRM-F-0037 +START_TESTCASE DEVSRVS-HWRM-F-0038 +//!@SYMTestCaseID DEVSRVS-HWRM-F-0038 +//!@SYMComponent telephony_hwrm +//!@SYMTestCaseDesc Test scan during fmtx off +//!@SYMTestPriority High +//!@SYMTestActions Open a FmTx session, scan with fmtxoff. +//!@SYMTestExpectedResults Pass +//!@SYMTestType CT +RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestFmTxGetNextClearFrequencyWithoutEnableL +END_TESTCASE DEVSRVS-HWRM-F-0038 + PRINT Completed te_hwrm_fmtx tests diff -r 8a984d260a2d -r 3f0699f2e14c resourcemgmt/hwresourcesmgrconfig/conf/hwresourcesandenhancements.confml Binary file resourcemgmt/hwresourcesmgrconfig/conf/hwresourcesandenhancements.confml has changed diff -r 8a984d260a2d -r 3f0699f2e14c resourcemgmt/hwrmtargetmodifierplugin/tsrc/hwrmtargetmodifierplugintest/src/hwrmtargetmodifierplugintest.cpp --- a/resourcemgmt/hwrmtargetmodifierplugin/tsrc/hwrmtargetmodifierplugintest/src/hwrmtargetmodifierplugintest.cpp Tue Oct 12 15:02:43 2010 +0300 +++ b/resourcemgmt/hwrmtargetmodifierplugin/tsrc/hwrmtargetmodifierplugintest/src/hwrmtargetmodifierplugintest.cpp Thu Oct 14 12:47:54 2010 +0300 @@ -12,7 +12,7 @@ * Contributors: * * Description: ?Description -* %version: bh1dsgas#3 %, % date_modified: % by %derived_by: ravindrr % +* %version: bh1dsgas#4 %, % date_modified: % by %derived_by: sarakuma % * */ @@ -101,11 +101,11 @@ { // To add new test cases, add new items to this array { (TText*) L"HWRM Target Modifier Plugin [CreateAndDestroy]", - GETPTR CHwrmTargetModifierPluginTests::CreateAndDestroy }, + GETPTR &CHwrmTargetModifierPluginTests::CreateAndDestroy }, { (TText*) L"HWRM Target Modifier Plugin [GetFullSystemTarget]", - GETPTR CHwrmTargetModifierPluginTests::GetFullSystemTarget }, + GETPTR &CHwrmTargetModifierPluginTests::GetFullSystemTarget }, { (TText*) L"HWRM Target Modifier Plugin [ModifyTarget]", - GETPTR CHwrmTargetModifierPluginTests::ModifyTarget } + GETPTR &CHwrmTargetModifierPluginTests::ModifyTarget } }; // Verify that case number is valid diff -r 8a984d260a2d -r 3f0699f2e14c sysstatemgmt/ssmcmdlists/data/uiservicescmdlist.rss --- a/sysstatemgmt/ssmcmdlists/data/uiservicescmdlist.rss Tue Oct 12 15:02:43 2010 +0300 +++ b/sysstatemgmt/ssmcmdlists/data/uiservicescmdlist.rss Thu Oct 14 12:47:54 2010 +0300 @@ -94,8 +94,11 @@ r_cmd_devicedialog, //CR:KJLN-7WBEGU // prio 0xFF77 r_cmd_apparc_init, // Init application framework - // prio 0xFF75 r_cmd_rfspostui // Restore factory settings - after UI framework is up +#ifdef SYMBIAN_INCLUDE_APP_CENTRIC + // prio 0xFF76 + ,r_cmd_emcore //JHOI-889FRH +#endif // SYMBIAN_INCLUDE_APP_CENTRIC }; } @@ -152,6 +155,22 @@ execution_behaviour = ESsmWaitForSignal; } +#ifdef SYMBIAN_INCLUDE_APP_CENTRIC +// --------------------------------------------------------------------------- +// r_cmd_emcore +// --------------------------------------------------------------------------- +// +RESOURCE SSM_START_PROCESS_INFO r_cmd_emcore + { + priority = 0xFF76; + severity = ECmdCriticalSeverity; + name = "Z:\\sys\\bin\\emcore.exe"; + execution_behaviour = ESsmWaitForSignal; + retries = 5; + monitor_info = r_mon_3_restarts_reset; + } +#endif // SYMBIAN_INCLUDE_APP_CENTRIC + // --------------------------------------------------------------------------- // r_cmd_hbthemeserver // --------------------------------------------------------------------------- diff -r 8a984d260a2d -r 3f0699f2e14c sysstatemgmt/systemstateplugins/gsapolicy/resource/gsastartupcmdlist1.rss --- a/sysstatemgmt/systemstateplugins/gsapolicy/resource/gsastartupcmdlist1.rss Tue Oct 12 15:02:43 2010 +0300 +++ b/sysstatemgmt/systemstateplugins/gsapolicy/resource/gsastartupcmdlist1.rss Thu Oct 14 12:47:54 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -59,6 +59,9 @@ , r_command_sysmon , r_command_sysagt2svr , r_command_ewsrv +#ifdef SYMBIAN_INCLUDE_APP_CENTRIC + ,r_cmd_emcore //JHOI-889FRH +#endif // SYMBIAN_INCLUDE_APP_CENTRIC }; } @@ -122,4 +125,21 @@ dsc_id = 0x2000836D; // removing this id will cause a rcomp failure unless dsc_id is #defined in ssmcmd.rh file. } +#ifdef SYMBIAN_INCLUDE_APP_CENTRIC +RESOURCE SSM_START_PROCESS_INFO r_cmd_emcore + { + severity = ECmdCriticalSeverity; + name = "Z:\\sys\\bin\\emcore.exe"; + execution_behaviour = ESsmWaitForSignal; + retries = 5; + monitor_info = r_mon_3_restarts_reset; + } +RESOURCE SSM_MONITOR_INFO r_mon_3_restarts_reset + { + restart_policy = ESsmRestartOS; + restart_mode = 0; + retries = 3; + } + +#endif // SYMBIAN_INCLUDE_APP_CENTRIC diff -r 8a984d260a2d -r 3f0699f2e14c sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_publishsimownedandchanged.cpp --- a/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_publishsimownedandchanged.cpp Tue Oct 12 15:02:43 2010 +0300 +++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_publishsimownedandchanged.cpp Thu Oct 14 12:47:54 2010 +0300 @@ -23,7 +23,7 @@ #include "ssmcustomcmdfactory.h" // class under test -#include "cmdpublishSimOwnedAndChanged.h" +#include "cmdpublishsimownedandchanged.h" // helper class #include "activestopper.h"