diff -r 35488577e233 -r 2fa1fa551b0b satengine/SatServer/SystemState/src/CSatPSChangeNotifier.cpp --- a/satengine/SatServer/SystemState/src/CSatPSChangeNotifier.cpp Mon Aug 23 15:50:31 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,228 +0,0 @@ -/* -* Copyright (c) 2002-2007 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: Notifies the changes in publish and suscripe properties. -* -*/ - - - -// INCLUDE FILES -#include "CSatPSChangeNotifier.h" -#include "MSatSystemStateObserver.h" -#include "Panic.h" -#include "SatLog.h" - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CSatPSChangeNotifier::CSatPSChangeNotifier -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -CSatPSChangeNotifier::CSatPSChangeNotifier( - const TUid& aPropertyKey, - TUint aPropertyValue, - MSatSystemStateObserver& aObserver, - TInt aNotifyValue ) : - CActive( EPriorityStandard ), - iObserver( aObserver ), - iPSKey( aPropertyKey ), - iPSValue( aPropertyValue ), - iNotifyValue( aNotifyValue ) - { - LOG( SIMPLE, - "SATSYSTEMSTATE: CSatPSChangeNotifier::CSatPSChangeNotifier calling" ) - // Log parameters - LOG2( NORMAL, - "SATSYSTEMSTATE: CSatPSChangeNotifier::CSatPSChangeNotifier PS Uid: %d", - aPropertyKey ) - LOG2( NORMAL, - "SATSYSTEMSTATE: CSatPSChangeNotifier::CSatPSChangeNotifier PS Key: %d", - aPropertyValue ) - LOG2( NORMAL, - "SATSYSTEMSTATE: CSatPSChangeNotifier::CSatPSChangeNotifier Needed \ - value: %d ", aNotifyValue ) - - CActiveScheduler::Add( this ); - - LOG( SIMPLE, - "SATSYSTEMSTATE: CSatPSChangeNotifier::CSatPSChangeNotifier exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatPSChangeNotifier::NewL -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CSatPSChangeNotifier* CSatPSChangeNotifier::NewL( - const TUid& aPropertyKey, - TUint aPropertyValue, - MSatSystemStateObserver& aObserver, - TInt aNotifyValue ) - { - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::NewL calling" ) - - CSatPSChangeNotifier* self = - new( ELeave ) CSatPSChangeNotifier( - aPropertyKey, aPropertyValue, aObserver, aNotifyValue ); - - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::NewL exiting" ) - return self; - } - - -// Destructor -CSatPSChangeNotifier::~CSatPSChangeNotifier() - { - LOG( SIMPLE, - "SATSYSTEMSTATE: CSatPSChangeNotifier::~CSatPSChangeNotifier calling" ) - - Cancel(); - iPSClient.Close(); - - LOG( SIMPLE, - "SATSYSTEMSTATE: CSatPSChangeNotifier::~CSatPSChangeNotifier exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatPSChangeNotifier::NotifyChangeL -// Issues notification request. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CSatPSChangeNotifier::NotifyChangeL() - { - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::NotifyChangeL calling" ) - - __ASSERT_ALWAYS( !IsActive(), Panic( ESatSystemStateAllReadyActive ) ); - User::LeaveIfError( iPSClient.Attach( iPSKey, iPSValue ) ); - Activate(); - - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::NotifyChangeL exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatPSChangeNotifier::CancelNotify -// Cancels outstanding request. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CSatPSChangeNotifier::CancelNotify() - { - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::CancelNotify calling" ) - - Cancel(); - - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::CancelNotify exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatPSChangeNotifier::DoCancel -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CSatPSChangeNotifier::DoCancel() - { - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::DoCancel calling" ) - - iPSClient.Cancel(); - - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::DoCancel exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatPSChangeNotifier::RunL -// Activates the request again and calls the observer. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CSatPSChangeNotifier::RunL() - { - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::RunL calling" ) - // Makes sure that all the changes are notified. - LOG2( SIMPLE, "SATSYSTEMSTATE: Failed: %i", iStatus.Int() ) - if ( KErrNone == iStatus.Int() ) - { - NotifyChangeL(); - - // Check the value - TInt value = KNotifyValueNotSet; - - // Get the value from P&S - RProperty::Get( iPSKey, iPSValue, value ); - - // If notify value is set, check the value before notifying observer - if ( KNotifyValueNotSet != iNotifyValue ) - { - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::RunL \ - KNotifyValueNotSet != iNotifyValue" ) - // If changed P&S value is same as notify value, notify observer - if ( value == iNotifyValue ) - { - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::RunL \ - value == iNotifyValue" ) - iObserver.StateChanged(); - } - } - else - { - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::RunL \ - KNotifyValueNotSet == iNotifyValue" ) - // Notify value not specified -> Send the changed value - iObserver.StateChanged( value ); - } - } - else if ( KErrCancel == iStatus.Int() ) - { - Activate(); - } - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::RunL exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatPSChangeNotifier::Activate -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CSatPSChangeNotifier::Activate() - { - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::Activate calling" ) - - iPSClient.Subscribe( iStatus ); - SetActive(); - - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::Activate exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatPSChangeNotifier::GetValueInt -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -TInt CSatPSChangeNotifier::GetValueInt() - { - LOG( SIMPLE, "SATSYSTEMSTATE: CSatPSChangeNotifier::GetValueInt calling" ) - - // Gets the value from P&S. - TInt value( KNotifyValueNotSet ); - RProperty::Get( iPSKey, iPSValue, value ); - - LOG2( SIMPLE, - "SATSYSTEMSTATE: CSatPSChangeNotifier::GetValueInt exiting %i", - value ) - return value; - } - -// End of File