# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1277129174 -10800 # Node ID 0b0048910c20ce5bb909eef4473feb4ef40bba7b # Parent b2f9f823b5fb415c7a94c06edd0c6b3110a58058 Revision: 201023 Kit: 2010125 diff -r b2f9f823b5fb -r 0b0048910c20 accessoryservices/accessoryserver/src/Server/AccSrvConnectionHandler.cpp --- a/accessoryservices/accessoryserver/src/Server/AccSrvConnectionHandler.cpp Wed Jun 09 11:04:22 2010 +0300 +++ b/accessoryservices/accessoryserver/src/Server/AccSrvConnectionHandler.cpp Mon Jun 21 17:06:14 2010 +0300 @@ -238,6 +238,7 @@ TBool aUpdatedConnection ) { COM_TRACE_( "[AccFW:AccServer] CAccSrvConnectionHandler::StartConnectionHandling()" ); + #define UNMASK_LINE_OUT(selectionListBitmask) (selectionListBitmask & (~KASLineOut)) iGenericID = aGenericID; iConnectionUpdate = aUpdatedConnection; @@ -309,6 +310,7 @@ if ( accCount > 1 ) { //if there is possible selection show UI + selectionListBitmask = UNMASK_LINE_OUT(selectionListBitmask); SetupSelectionDialogL( selectionListBitmask ); } else diff -r b2f9f823b5fb -r 0b0048910c20 accessoryservices/pluggeddisplay/edidparser/bwins/edidparseru.def --- a/accessoryservices/pluggeddisplay/edidparser/bwins/edidparseru.def Wed Jun 09 11:04:22 2010 +0300 +++ b/accessoryservices/pluggeddisplay/edidparser/bwins/edidparseru.def Mon Jun 21 17:06:14 2010 +0300 @@ -55,4 +55,6 @@ ?GetInterlacedVideoLatency@CCea861EdidParser@@QAEEXZ @ 54 NONAME ; unsigned char CCea861EdidParser::GetInterlacedVideoLatency(void) ?GetStandardTimings@CEdidParserBase@@QAEEH@Z @ 55 NONAME ; unsigned char CEdidParserBase::GetStandardTimings(int) ?HasIEEERegistration@CCea861EdidParser@@QAEHXZ @ 56 NONAME ; int CCea861EdidParser::HasIEEERegistration(void) + ?UpdateCea861ExtensionL@CEdidParserBase@@QAEXHPAVCCea861EdidParser@@@Z @ 57 NONAME ; void CEdidParserBase::UpdateCea861ExtensionL(int, class CCea861EdidParser *) + ?UpdateRawDataL@CEdidParserBase@@QAEXABVTDesC8@@@Z @ 58 NONAME ; void CEdidParserBase::UpdateRawDataL(class TDesC8 const &) diff -r b2f9f823b5fb -r 0b0048910c20 accessoryservices/pluggeddisplay/edidparser/eabi/edidparseru.def --- a/accessoryservices/pluggeddisplay/edidparser/eabi/edidparseru.def Wed Jun 09 11:04:22 2010 +0300 +++ b/accessoryservices/pluggeddisplay/edidparser/eabi/edidparseru.def Mon Jun 21 17:06:14 2010 +0300 @@ -57,4 +57,6 @@ _ZTV17CCea861EdidParser @ 56 NONAME ; ## _ZN15CEdidParserBase18GetStandardTimingsEi @ 57 NONAME _ZN17CCea861EdidParser19HasIEEERegistrationEv @ 58 NONAME + _ZN15CEdidParserBase14UpdateRawDataLERK6TDesC8 @ 59 NONAME + _ZN15CEdidParserBase22UpdateCea861ExtensionLEiP17CCea861EdidParser @ 60 NONAME diff -r b2f9f823b5fb -r 0b0048910c20 accessoryservices/pluggeddisplay/edidparser/inc/edidparserbase.h --- a/accessoryservices/pluggeddisplay/edidparser/inc/edidparserbase.h Wed Jun 09 11:04:22 2010 +0300 +++ b/accessoryservices/pluggeddisplay/edidparser/inc/edidparserbase.h Mon Jun 21 17:06:14 2010 +0300 @@ -378,6 +378,9 @@ */ IMPORT_C TUint8 GetChecksum(); + IMPORT_C void UpdateRawDataL( const TDesC8& aBinaryData ); + IMPORT_C void UpdateCea861ExtensionL( TInt aNumber, CCea861EdidParser* aParser ); + private: /** @@ -558,6 +561,7 @@ HBufC8* iRawData; // Raw data that contains all EDID data TUint iNumberOfExtensionBlocks; // Number of extensionblocks for this base edid block TExtDataBlock iExtensionData; // Extension data + TInt iRawdataLength; // Raw data length }; #endif // C_CEDIDPARSERBASE_H diff -r b2f9f823b5fb -r 0b0048910c20 accessoryservices/pluggeddisplay/edidparser/src/edidparserbase.cpp --- a/accessoryservices/pluggeddisplay/edidparser/src/edidparserbase.cpp Wed Jun 09 11:04:22 2010 +0300 +++ b/accessoryservices/pluggeddisplay/edidparser/src/edidparserbase.cpp Mon Jun 21 17:06:14 2010 +0300 @@ -52,8 +52,10 @@ // Make a copy of base EDID data Mem::Copy( &iBaseEdidData, rawPtr.Ptr(), KEdidParserSizeOfEdidBlock ); - - TRACE_EDID_DATA( *this ); + + iRawdataLength = aBinaryData.Length(); + + //TRACE_EDID_DATA( *this ); } // --------------------------------------------------------------------------- @@ -761,6 +763,51 @@ return parser; } +EXPORT_C void CEdidParserBase::UpdateRawDataL( const TDesC8& aBinaryData ) + { + FUNC_LOG; + + if ( iRawData ) + { + iRawData = iRawData->ReAllocL( iRawdataLength + aBinaryData.Length() ); + + TPtr8 rawPtr = iRawData->Des(); + rawPtr.Append( aBinaryData ); + } + else + { + iRawData = HBufC8::NewL( aBinaryData.Length() ); + TPtr8 rawPtr = iRawData->Des(); + rawPtr.Copy( aBinaryData ); + } + + iRawdataLength = iRawdataLength + aBinaryData.Length(); + } + +EXPORT_C void CEdidParserBase::UpdateCea861ExtensionL( TInt aNumber, CCea861EdidParser* aParser ) + { + FUNC_LOG; + + TInt ext = GetExtensionType( aNumber ); + switch( ext ) + { + case ECea861Ext: + { + // CEA 861 extension + if( aParser ) + { + aParser->ParseExtensionBlockL( iExtensionData ); + } + break; + } + default: + { + // Not supported + break; + } + } + } + // --------------------------------------------------------------------------- // CEdidParserBase::GetChecksum // --------------------------------------------------------------------------- diff -r b2f9f823b5fb -r 0b0048910c20 accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/edidhandler.h --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/edidhandler.h Wed Jun 09 11:04:22 2010 +0300 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/edidhandler.h Mon Jun 21 17:06:14 2010 +0300 @@ -173,6 +173,16 @@ */ TInt GetHdcpSupportStatus( TBool& aHdcpSupport ) const; + /** + * Update overscan values from cenrep. + * + * @param None. + * @return None. + */ + void UpdateOverscanValues(); + + void GetCurrentOverscanValue( TInt& aHOverscan, TInt& aVOverscan ); + private: /** @@ -347,14 +357,6 @@ */ void CalculateOverscan( TPoint& aTLCorner, TPoint& aBRCorner ) const; - /** - * Update overscan values from cenrep. - * - * @param None. - * @return None. - */ - void UpdateOverscanValues(); - /** * Filter out the unsupported TV configurations. * @@ -411,6 +413,12 @@ // Request ID TRequestTypeID iRequestID; + + // Number of extensions to read + TInt inbrOfExtensions; + + // Current EDID block + TInt iCurrentBlock; }; #endif // C_EDIDHANDLER_H diff -r b2f9f823b5fb -r 0b0048910c20 accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/hdmicablestateconnected.h --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/hdmicablestateconnected.h Wed Jun 09 11:04:22 2010 +0300 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/inc/hdmicablestateconnected.h Mon Jun 21 17:06:14 2010 +0300 @@ -444,6 +444,10 @@ // Flag to indicate the change of overscan TBool iOverScanSettingsChanged; + + // Current overscan value + TInt iHOverscanValue; + TInt iVOverscanValue; }; diff -r b2f9f823b5fb -r 0b0048910c20 accessoryservices/pluggeddisplay/pluggeddisplayengine/src/edidhandler.cpp --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/edidhandler.cpp Wed Jun 09 11:04:22 2010 +0300 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/edidhandler.cpp Mon Jun 21 17:06:14 2010 +0300 @@ -125,9 +125,6 @@ RArray analogConfigs; RArray hdmiConfigs; - // Update overscan values from cenrep - UpdateOverscanValues(); - // Set video parameters INFO( "--------------------------------------------------------------------" ); INFO( "SETTING CEA AND DMT TIMINGS:" ); @@ -177,6 +174,9 @@ iEdidParserPtr = NULL; delete iExtensionParserPtr; iExtensionParserPtr = NULL; + + iCurrentBlock = 0; + inbrOfExtensions = 0; } //------------------------------------------------------------------------------ @@ -519,26 +519,81 @@ { case EDdcReadRequest: { - if( KErrNone == iStatus.Int() ) - { - TPtrC8 - dataBlockDes( iDataBlockPtr->iDataBlock, sizeof( *iDataBlockPtr ) ); - iEdidParserPtr = CEdidParserBase::NewL( dataBlockDes ); - TInt nbrOfExtensions = iEdidParserPtr->GetNumberOfExtensions(); - for( TInt i = 0; i < nbrOfExtensions; ++i ) - { - if( ECea861Ext == iEdidParserPtr->GetExtensionType( i + 1 ) ) - { - INFO_1( "ECea861Ext extension data block number: %d", ( i+1 ) ); - iExtensionParserPtr - = iEdidParserPtr->CreateCea861ExtensionParserL( i + 1 ); - break; - } - } - INFO_1( "Data block count in nbrOfExtensions: %d", nbrOfExtensions ); - iFSM.Input( EPDEIfEDIDHandler, EPDEIfEDIDHandlerEventEdidDataFetched ); - iRetryCounter = KErrNone; - } + if( KErrNone == iStatus.Int() ) + { + if( iCurrentBlock == 0 ) + { + TPtrC8 dataBlockDes( iDataBlockPtr->iDataBlock, sizeof( *iDataBlockPtr ) ); + + iEdidParserPtr = CEdidParserBase::NewL( dataBlockDes ); + inbrOfExtensions = iEdidParserPtr->GetNumberOfExtensions(); + + INFO_1( "No. of extensions from Block 0: %d", inbrOfExtensions ); + + if( inbrOfExtensions ) + { + inbrOfExtensions--; + } + } + else + { + TPtrC8 dataBlockDes( iDataBlockPtr->iDataBlock, sizeof( *iDataBlockPtr ) ); + + INFO_1( "Updating the Rawdata for the Block %d...", iCurrentBlock ); + iEdidParserPtr->UpdateRawDataL(dataBlockDes); + + iCurrentBlock++; + if( inbrOfExtensions >= 2 ) + { + inbrOfExtensions = inbrOfExtensions - 2; + } + else + { + inbrOfExtensions--; + } + } + + if( inbrOfExtensions ) + { + iRetryCounter = KErrNone; + + if( ReadEDIDDataL() != KErrNone ) + { + ResetData(); + iFSM.Input( EPDEIfEDIDHandler, EPDEIfEDIDHandlerEventEdidDataFetchFailed ); + } + } + else + { + TInt extensions = iEdidParserPtr->GetNumberOfExtensions(); + + INFO_1( "No. of extensions from Block 0: %d", extensions ); + + for( TInt i = 0; i < extensions; ++i ) + { + if( ECea861Ext == iEdidParserPtr->GetExtensionType( i + 1 ) ) + { + INFO_1( "ECea861Ext extension data block number: %d", ( i+1 ) ); + if( !iExtensionParserPtr ) + { + INFO( "First CEA 861 extension is being read..." ); + iExtensionParserPtr + = iEdidParserPtr->CreateCea861ExtensionParserL( i + 1 ); + } + else + { + INFO_1( "CEA 861 extension is being read... at the index %d", i+1 ); + iEdidParserPtr->UpdateCea861ExtensionL( i + 1, iExtensionParserPtr ); + } + } + } + } + + TRACE_EDID_DATA( *iEdidParserPtr ); + + iFSM.Input( EPDEIfEDIDHandler, EPDEIfEDIDHandlerEventEdidDataFetched ); + iRetryCounter = KErrNone; + } else { INFO_1( "CDdcPortAccess::Read failed, error code: %d", iStatus.Int() ); @@ -625,8 +680,19 @@ { iDataBlockPtr = new(ELeave) TDataBlock; } + else if( inbrOfExtensions ) + { + if( iDataBlockPtr ) + { + delete iDataBlockPtr; + iDataBlockPtr = NULL; + } + iDataBlockPtr = new(ELeave) TDataBlock; + } + + INFO_1( "Reading EDID block %d...", iCurrentBlock ); - retVal = iDdcPortAccess->Read( EMonitorPort, 0, // First block contains EDID data if that exists + retVal = iDdcPortAccess->Read( EMonitorPort, iCurrentBlock, // First block contains EDID data if that exists iDataBlockPtr->iDataBlock, iStatus ); @@ -1508,6 +1574,16 @@ return retVal; } +void CEDIDHandler::GetCurrentOverscanValue( TInt& aHOverscan, TInt& aVOverscan ) + { + FUNC_LOG; + + aHOverscan = iHOverscan; + aVOverscan = iVOverscan; + + INFO_2("Overscan used: %d, %d", iHOverscan, iVOverscan); + } + //------------------------------------------------------------------------------ // C++ constructor //------------------------------------------------------------------------------ @@ -1518,7 +1594,9 @@ iFSM( aFSM ), iTVOutConfigForHDMI( aTVOutConfigForHDMI ), iRetryCounter( 0 ), - iRequestID( EUndefRequest ) + iRequestID( EUndefRequest ), + inbrOfExtensions( 0 ), + iCurrentBlock( 0 ) { FUNC_LOG; } diff -r b2f9f823b5fb -r 0b0048910c20 accessoryservices/pluggeddisplay/pluggeddisplayengine/src/hdmicablestateconnected.cpp --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/hdmicablestateconnected.cpp Wed Jun 09 11:04:22 2010 +0300 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/hdmicablestateconnected.cpp Mon Jun 21 17:06:14 2010 +0300 @@ -99,7 +99,9 @@ if ( KCRUidTvoutSettings == aRepositoryId ) { if ( KSettingsTvoutVerticalOverscan == aId ) - { + { + INFO("Cenrep Value Changed"); + iEDIDHandler.UpdateOverscanValues(); Input( EPDEIfCentralRepositoryWatch, EPDEIfCentralRepositoryWatchEventKeyChanged ); } else @@ -111,6 +113,7 @@ { INFO_1("Unexpected Central Repository ID, aRepositoryId 0x%x", aRepositoryId); } + } // --------------------------------------------------------------------------- @@ -151,6 +154,11 @@ FUNC_LOG; TInt retVal( KErrNone ); iOverScanSettingsChanged = EFalse; + + // Get the current overscan value + iEDIDHandler.UpdateOverscanValues(); + iEDIDHandler.GetCurrentOverscanValue( iHOverscanValue, iVOverscanValue ); + iCopyProtectListenFailCounter.iCount = 0; iTVOutConfigForCopyProtect->ResetLatestRecordedCopyProtectionStatus(); retVal = iEDIDHandler.FetchEDIDData(); @@ -393,6 +401,9 @@ } else { + // Update the current overscan value + iEDIDHandler.GetCurrentOverscanValue( iHOverscanValue, iVOverscanValue ); + TFSMEventId event = iTVOutConfigForHDMI.ListenHDMICableStatusIfNoMissedEvents(); if ( EIfTVOutConfigEventCableDisconnected == event ) { @@ -704,7 +715,7 @@ iSubState = ESubStateConnected; ListenCopyProtectionStatusChanges(); iTVOutConfigForSettingChanges->ListenSettingsChanges(); - iCRWatchForVOverScan->Watch(); + iCRWatchForVOverScan->Watch(); } } else if ( EPDEIfAccessoryControlEventConnectFailed == aEvent ) @@ -956,6 +967,13 @@ { INFO( "Event: EIfTVOutConfigEventSettingsChangesListenStarted" ); // Everything is OK. Stay in the same state. + // Should not miss the cenrep value change + TInt newOverScanValue = 0; + iCRWatchForVOverScan->GetCurrentValue(newOverScanValue); + if( iVOverscanValue != newOverScanValue ) + { + Input( EPDEIfCentralRepositoryWatch, EPDEIfCentralRepositoryWatchEventKeyChanged ); + } } else if ( EIfTVOutConfigEventSettingsChangesListenFailed == aEvent ) { @@ -981,17 +999,18 @@ if ( EPDEIfCentralRepositoryWatchEventKeyChanged == aEvent ) { INFO( "Event: EPDEIfCentralRepositoryWatchEventKeyChanged" ); - + // Get the available config THdmiDviTimings curConfig; iTVOutConfigForHDMI.GetTvOutConfig()->GetConfig( curConfig ); if( (TTvSettings::EHDMI == curConfig.iConnector) && (!curConfig.iUnderscanEnabled) ) - { + { // Clear the available config ClearAvailableTvOutConfig(); - + iCRWatchForVOverScan->Cancel(); + TInt retVal = iEDIDHandler.SetVideoParameters(); if ( KErrNone != retVal ) { @@ -1002,6 +1021,9 @@ } else { + // Update the current overscan value + iEDIDHandler.GetCurrentOverscanValue( iHOverscanValue, iVOverscanValue ); + TFSMEventId event = iTVOutConfigForHDMI.ListenHDMICableStatusIfNoMissedEvents(); if ( EIfTVOutConfigEventCableDisconnected == event ) { @@ -1016,7 +1038,7 @@ iSubState = ESubStateWaitForSettingsChanged; } } - } + } } else { @@ -1053,16 +1075,43 @@ if ( EIfTVOutConfigEventCableDisconnected == event ) { INFO( "Retreating back to since cable was disconnected while WF setting changes!" ); + + // Stop listening Copy Protection status + iTVOutConfigForCopyProtect->Cancel(); + // Stop listen setting changes iTVOutConfigForSettingChanges->Cancel(); - iHDMICableStatusFSM.Transit( EHDMICableStateIdle ); + iCRWatchForVOverScan->Cancel(); + + if( iTVOutConfigForHDMI.GetTvOutConfig()->Enabled() ) + { + iSubState = ESubStateIdlingDisable; + iTVOutConfigForHDMI.Disable(); + } + else + { + iHDMICableStatusFSM.Transit( EHDMICableStateIdle ); + } } } else if ( EIfTVOutConfigEventCableDisconnected == aEvent ) { INFO( "Event: EIfTVOutConfigEventCableDisconnected" ); INFO( "Retreating back to since cable was disconnected while WF setting changes!" ); - iTVOutConfigForSettingChanges->Cancel(); - iHDMICableStatusFSM.Transit( EHDMICableStateIdle ); + // Stop listening Copy Protection status + iTVOutConfigForCopyProtect->Cancel(); + // Stop listen setting changes + iTVOutConfigForSettingChanges->Cancel(); + iCRWatchForVOverScan->Cancel(); + + if( iTVOutConfigForHDMI.GetTvOutConfig()->Enabled() ) + { + iSubState = ESubStateIdlingDisable; + iTVOutConfigForHDMI.Disable(); + } + else + { + iHDMICableStatusFSM.Transit( EHDMICableStateIdle ); + } } else if ( EIfTVOutConfigEventSettingsChanged == aEvent ) { @@ -1090,7 +1139,20 @@ { INFO( "Event: EIfTVOutConfigEventSettingsChangesListenFailed" ); INFO( "Going to state since setting changes listening failed!" ); - iHDMICableStatusFSM.Transit( EHDMICableStateRejected ); + // Stop listening Copy Protection status + iTVOutConfigForCopyProtect->Cancel(); + // Stop listen setting changes + iCRWatchForVOverScan->Cancel(); + + if( iTVOutConfigForHDMI.GetTvOutConfig()->Enabled() ) + { + iSubState = ESubStateIdlingDisable; + iTVOutConfigForHDMI.Disable(); + } + else + { + iHDMICableStatusFSM.Transit( EHDMICableStateRejected ); + } } else { diff -r b2f9f823b5fb -r 0b0048910c20 accessoryservices/pluggeddisplay/pluggeddisplayengine/src/tvoutconfigforhdmi.cpp --- a/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/tvoutconfigforhdmi.cpp Wed Jun 09 11:04:22 2010 +0300 +++ b/accessoryservices/pluggeddisplay/pluggeddisplayengine/src/tvoutconfigforhdmi.cpp Mon Jun 21 17:06:14 2010 +0300 @@ -221,6 +221,7 @@ if ( iLastRecordedCopyProtectEnabledStatus != currentCopyProtectStatus ) { INFO("Copy Protection status changed while not listening."); + iLastRecordedCopyProtectEnabledStatus = currentCopyProtectStatus; retStruct.iFSMEventId = EIfTVOutConfigEventSetCopyProtectStatusChanged; } else if ( !IsActive() ) diff -r b2f9f823b5fb -r 0b0048910c20 commonservices/PlatformEnv/rom/PlatformEnv.iby --- a/commonservices/PlatformEnv/rom/PlatformEnv.iby Wed Jun 09 11:04:22 2010 +0300 +++ b/commonservices/PlatformEnv/rom/PlatformEnv.iby Mon Jun 21 17:06:14 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2009 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" @@ -22,10 +22,12 @@ file=ABI_DIR\BUILD_DIR\PlatformEnv.dll SHARED_LIB_DIR\PlatformEnv.dll #ifdef FF_USE_MASS_STORAGE_CONFIG -patchdata PlatformEnv.dll@KDriveInfoDefaultRemovableMassStorage 5 // EDriveF -patchdata PlatformEnv.dll@KDriveInfoLogicallyRemovableDrive1 4 // EDriveE +patchdata PlatformEnv.dll@KDriveInfoDefaultRemovableMassStorage FF_DEFAULT_REMOVABLE_MASS_STORAGE +patchdata PlatformEnv.dll@KDriveInfoLogicallyRemovableDrive1 FF_LOGICALLY_REMOVABLE_DRIVE1 #endif // FF_USE_MASS_STORAGE_CONFIG +patchdata PlatformEnv.dll@KDriveInfoUsbDrivesStart FF_USB_DRIVE_START + file=ABI_DIR\BUILD_DIR\disknotifyhandler.dll SHARED_LIB_DIR\disknotifyhandler.dll file=ABI_DIR\BUILD_DIR\sysversioninfo.dll SHARED_LIB_DIR\sysversioninfo.dll file=ABI_DIR\BUILD_DIR\platformver.dll SHARED_LIB_DIR\platformver.dll diff -r b2f9f823b5fb -r 0b0048910c20 sensorservices/sensorserver/src/util/sensrvproperty.cpp --- a/sensorservices/sensorserver/src/util/sensrvproperty.cpp Wed Jun 09 11:04:22 2010 +0300 +++ b/sensorservices/sensorserver/src/util/sensrvproperty.cpp Mon Jun 21 17:06:14 2010 +0300 @@ -356,9 +356,12 @@ { API_TRACE( ( _L( "Sensor Util - TSensrvProperty::GetValue return %e" ), iRealValue ) ); - __ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); + //__ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); - aValue = iRealValue; + if( ESensrvRealProperty == iPropertyType ) + aValue = iRealValue; + else if( ESensrvIntProperty == iPropertyType ) + aValue = iIntValue; } // --------------------------------------------------------------------------- @@ -467,9 +470,13 @@ { API_TRACE( ( _L( "Sensor Util - TSensrvProperty::GetMaxValue return %e" ), iRealValueMax ) ); - __ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); + //__ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); - aMaxValue = iRealValueMax; + if( ESensrvRealProperty == iPropertyType ) + aMaxValue = iRealValueMax; + else if ( ESensrvIntProperty == iPropertyType ) + aMaxValue = iIntValueMax; + } // --------------------------------------------------------------------------- @@ -480,9 +487,11 @@ { API_TRACE( ( _L( "Sensor Util - TSensrvProperty::GetMinValue return %e" ), iRealValueMin ) ); - __ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); - - aMinValue = iRealValueMin; + //__ASSERT_ALWAYS( ESensrvRealProperty == iPropertyType, User::Panic( KSensrvPropertyPanic, 0 )); + if( ESensrvRealProperty == iPropertyType ) + aMinValue = iRealValueMin; + else if( ESensrvIntProperty == iPropertyType ) + aMinValue = iIntValueMin; } // --------------------------------------------------------------------------- diff -r b2f9f823b5fb -r 0b0048910c20 sensorservices/tiltcompensationssy/inc/tcsendeventtimer.h --- a/sensorservices/tiltcompensationssy/inc/tcsendeventtimer.h Wed Jun 09 11:04:22 2010 +0300 +++ b/sensorservices/tiltcompensationssy/inc/tcsendeventtimer.h Mon Jun 21 17:06:14 2010 +0300 @@ -71,6 +71,8 @@ // @see CActive TInt RunError( TInt aError ); + public: + void Start( ); private: // Private data for base channel diff -r b2f9f823b5fb -r 0b0048910c20 sensorservices/tiltcompensationssy/src/tcsendeventtimer.cpp --- a/sensorservices/tiltcompensationssy/src/tcsendeventtimer.cpp Wed Jun 09 11:04:22 2010 +0300 +++ b/sensorservices/tiltcompensationssy/src/tcsendeventtimer.cpp Mon Jun 21 17:06:14 2010 +0300 @@ -74,7 +74,10 @@ ret = iTimer.CreateLocal(); User::LeaveIfError( ret ); iTimerToHzLevel = aSetTimerToHzLevel; - TTimeIntervalMicroSeconds32 interval( KOneSecondInMicroSeconds / aSetTimerToHzLevel ); + } +void CTCSendEventTimer::Start() + { + TTimeIntervalMicroSeconds32 interval( KOneSecondInMicroSeconds / iTimerToHzLevel ); if( !IsActive() ) { diff -r b2f9f823b5fb -r 0b0048910c20 sensorservices/tiltcompensationssy/src/tcstatetiltlistendata.cpp --- a/sensorservices/tiltcompensationssy/src/tcstatetiltlistendata.cpp Wed Jun 09 11:04:22 2010 +0300 +++ b/sensorservices/tiltcompensationssy/src/tcstatetiltlistendata.cpp Mon Jun 21 17:06:14 2010 +0300 @@ -355,6 +355,7 @@ if( !iTimerToSend ) { iTimerToSend = CTCSendEventTimer::NewL( iHzSamplingRate, *this ); + iTimerToSend->Start(); } else if( iHasChanged ) { @@ -363,6 +364,10 @@ iTimerToSend = CTCSendEventTimer::NewL( iHzSamplingRate, *this ); iHasChanged = EFalse; } + else + { + iTimerToSend->Start(); + } } // ---------------------------------------------------------------------------------- @@ -375,8 +380,7 @@ if( iTimerToSend ) { - delete iTimerToSend; - iTimerToSend = NULL; + iTimerToSend->Cancel(); } } diff -r b2f9f823b5fb -r 0b0048910c20 sysstatemgmt/ssmcmdlists/data/noncriticalcmdlist_ext.rss --- a/sysstatemgmt/ssmcmdlists/data/noncriticalcmdlist_ext.rss Wed Jun 09 11:04:22 2010 +0300 +++ b/sysstatemgmt/ssmcmdlists/data/noncriticalcmdlist_ext.rss Mon Jun 21 17:06:14 2010 +0300 @@ -565,9 +565,9 @@ { priority = 0xFFA7; name = "z:\\sys\\bin\\taskswitcher.exe"; - execution_behaviour = ESsmDeferredWaitForSignal; + execution_behaviour = ESsmDeferredWaitForSignal; background = 1; // To background - monitor_info = r_mon_3_restarts_ignore; + monitor_info = r_mon_max_restarts_ignore; } // --------------------------------------------------------------------------- diff -r b2f9f823b5fb -r 0b0048910c20 sysstatemgmt/systemstatemgr/cmd/src/cmdpublishsystemstate.cpp --- a/sysstatemgmt/systemstatemgr/cmd/src/cmdpublishsystemstate.cpp Wed Jun 09 11:04:22 2010 +0300 +++ b/sysstatemgmt/systemstatemgr/cmd/src/cmdpublishsystemstate.cpp Mon Jun 21 17:06:14 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 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" @@ -294,6 +294,9 @@ if(iConnected) { iDomainManager.CancelTransition(); + // Close domain manager connection + iDomainManager.Close(); + iConnected = EFalse; } }