diff -r 7e865e817571 -r 689a71addb96 syncmlfw/syncmlnotifier/src/SyncMLNotifierBase.cpp --- a/syncmlfw/syncmlnotifier/src/SyncMLNotifierBase.cpp Tue Jul 13 09:16:46 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,287 +0,0 @@ -/* -* Copyright (c) 2005 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: Implementation of the SyncML Appserver starter notifier -* -*/ - - - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include // Eikon environment -#include // Eikon server ui (for suppressing app -key) -#include // BAFL utils (for language file) -#include -#include - -#include "SyncMLNotifierBase.h" -#include "SyncMLNotifDebug.h" - -// CONSTANTS -// Literals for resource and bitmap files ( drive, directory, filename(s) ) -_LIT(KFileDrive,"z:"); -_LIT(KResourceFileName, "SyncMLNotifier.rsc"); - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::CSyncMLNotifierBase -// C++ default constructor can NOT contain any code, that -// might leave. Sets the AOs priority and puts -// itself to the active scheduler stack. -// ----------------------------------------------------------------------------- -// -CSyncMLNotifierBase::CSyncMLNotifierBase() : CActive(EPriorityStandard) - { - CActiveScheduler::Add(this); - } - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::ConstructL -// Symbian 2nd phase constructor can leave. -// Create registry object and open resource file. -// ----------------------------------------------------------------------------- -// -void CSyncMLNotifierBase::ConstructL() - { - FLOG(_L("[SmlNotif]\t CSyncMLNotifierBase::ConstructL()")); - - iEikEnv = CEikonEnv::Static(); - - TFileName filename; - filename += KFileDrive; - filename += KDC_RESOURCE_FILES_DIR; - filename += KResourceFileName; - BaflUtils::NearestLanguageFile( iEikEnv->FsSession(), filename ); - iResourceFileFlag = iEikEnv->AddResourceFileL( filename ); - FLOG(_L("[SmlNotif]\t CSyncMLNotifierBase::ConstructL() completed")); - } - -// ----------------------------------------------------------------------------- -// Destructor. -// ----------------------------------------------------------------------------- -// -CSyncMLNotifierBase::~CSyncMLNotifierBase() - { - Cancel(); - iEikEnv->DeleteResourceFile( iResourceFileFlag ); - - // Complete the RMessage2 if needed - // - if ( iNeedToCompleteMessage ) - { - iMessage.Complete( KErrDied ); - } - - // Activate apps -key again (if not previously activated yet) - SuppressAppSwitching( EFalse ); - - iReplySlot = NULL; - } - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::Release -// Release itself. Call to destructor. -// ----------------------------------------------------------------------------- -// -void CSyncMLNotifierBase::Release() - { - delete this; - } - - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::Info -// Return registered information. -// ----------------------------------------------------------------------------- -// -CSyncMLNotifierBase::TNotifierInfo CSyncMLNotifierBase::Info() const - { - return iInfo; - } - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::StartL -// Synchronic notifier launch. Does nothing here. -// ----------------------------------------------------------------------------- -// -TPtrC8 CSyncMLNotifierBase::StartL( const TDesC8& /*aBuffer*/ ) - { - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::StartL(sync)") ); - TPtrC8 ret( KNullDesC8 ); - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::StartL(sync) completed") ); - return ( ret ); - } - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::StartL -// Asynchronic notifier launch. -// ----------------------------------------------------------------------------- -// -void CSyncMLNotifierBase::StartL( const TDesC8& aBuffer, - TInt aReplySlot, - const RMessagePtr2& aMessage ) - { - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::StartL(async)") ); - TRAPD( err, GetParamsL( aBuffer, aReplySlot, aMessage ) ); - if ( err ) - { - aMessage.Complete( err ); - iNeedToCompleteMessage = EFalse; - User::Leave( err ); - } - FLOG(_L("[SmlNotif]\t CSyncMLNotifierBase::StartL(async) completed")); - } - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::Cancel -// Cancelling method. -// ----------------------------------------------------------------------------- -// -void CSyncMLNotifierBase::Cancel() - { - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::Cancel()") ); - if (iNeedToCompleteMessage) - { - iMessage.Complete(KErrCancel); - iNeedToCompleteMessage = EFalse; - } - iNeedToCompleteMessage = EFalse; - iReplySlot = NULL; - - // Activate apps -key again (if not previously activated yet) - SuppressAppSwitching( EFalse ); - - CActive::Cancel(); - - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::Cancel() completed") ); - } - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::UpdateL -// Notifier update. Not supported. -// ----------------------------------------------------------------------------- -// -TPtrC8 CSyncMLNotifierBase::UpdateL(const TDesC8& /*aBuffer*/) - { - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::UpdateL()") ); - TPtrC8 ret(KNullDesC8); - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::UpdateL() completed") ); - return ret; - } - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::DoCancel -// This method will be called by framework (CActive) -// if active object is still active. -// Does nothing here. -// ----------------------------------------------------------------------------- -// -void CSyncMLNotifierBase::DoCancel() - { - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::DoCancel()") ); - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::DoCancel()--End") ); - } - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::RunError -// This method is called if any leaving has been occured -// during RunL. Optional method for CActive derived objects. -// ----------------------------------------------------------------------------- -// -TInt CSyncMLNotifierBase::RunError( TInt aError ) - { - FTRACE( FPrint( _L("[SmlNotif]\t CSyncMLNotifierBase::RunError() Error = %d"), aError ) ); - // Activate apps -key again (if not previously activated yet) - SuppressAppSwitching( EFalse ); - - // Complete message if needed and return the error code. - if( iNeedToCompleteMessage ) - { - iMessage.Complete( aError ); - } - iNeedToCompleteMessage = EFalse; - iReplySlot = NULL; - - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::RunError() completed") ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::TurnLightsOn -// ----------------------------------------------------------------------------- -// -void CSyncMLNotifierBase::TurnLightsOn() - { - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::TurnLightsOn()") ); - - RProperty::Set( KPSUidCoreApplicationUIs, KLightsControl, ELightsOn ); - RProperty::Set( KPSUidCoreApplicationUIs, KLightsControl, ELightsOff ); - - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::TurnLightsOn() completed") ); - } - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::AutoLockOnL -// ----------------------------------------------------------------------------- -// -TBool CSyncMLNotifierBase::AutoLockOnL() - { - FLOG( _L("[SmlNotif]\t CSyncMLNotifierBase::AutoLockOnL()") ); - - TBool result = EFalse; - TInt status = 1; - - // Connecting and initialization: - CRepository* repository = CRepository::NewL( KCRUidSecuritySettings ); - - repository->Get( KSettingsAutolockStatus, status ); - - // Closing connection: - delete repository; - - if ( status == 1 ) - { - result = ETrue; - } - - FTRACE( FPrint( - _L("[SmlNotif]\t CSyncMLNotifierBase::AutoLockOnL() completed with %d"), - result ) ); - - return result; - } - - -// ----------------------------------------------------------------------------- -// CSyncMLNotifierBase::SuppressAppSwitchching -// ----------------------------------------------------------------------------- -// -void CSyncMLNotifierBase::SuppressAppSwitching( TBool aEnable ) - { - if ( iAppsKeyBlocked != aEnable ) - { - TInt err = ( ( CAknNotifierAppServerAppUi* ) - ( CEikonEnv::Static() )->EikAppUi() )-> - SuppressAppSwitching( aEnable ); - iAppsKeyBlocked = aEnable; - } - } - -// End of File