--- a/src/screensavershareddatamonitor.cpp Mon Jan 18 20:19:52 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +0,0 @@
-/*
-* Copyright (c) 2003 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 for screensaver shared data monitoring.
-*
-*/
-
-
-
-#include <coemain.h>
-#include <ScreensaverInternalCRKeys.h>
-#include <UsbWatcherInternalPSKeys.h>
-#include <avkondomainpskeys.h> // kaknkeyguardstatus
-#include <ctsydomainpskeys.h> // kpsuidctsycallinformation
-#include <startupdomainpskeys.h> // kpsglobalsystemstate
-#include <ScreensaverInternalPSKeys.h>
-#include <UikonInternalPSKeys.h> // kuikmmcinserted
-
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-#include <akntransitionutils.h>
-#endif
-
-#include "screensavershareddatamonitor.h"
-#include "screensavershareddatai.h"
-#include "screensaverrepositorywatcher.h"
-#include "screensaverview.h"
-#include "screensaverengine.h"
-#include "screensaverappui.h"
-#include "screensaversubscriber.h"
-#include "screensaverutility.h"
-
-//System shuttingdown value
-const TInt KSystemShuttingdown = 1;
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::~CScreensaverSharedDataMonitor
-// -----------------------------------------------------------------------------
-//
-CScreensaverSharedDataMonitor::~CScreensaverSharedDataMonitor()
- {
- DeleteSubscriber( iPreviewModeSubscriber );
- iPreviewModeProperty.Close();
-
- DeleteSubscriber( iMMCWatchSubscriber );
- iMMCWatchProperty.Close();
-
- DeleteSubscriber( iUSBWatchSubscriber );
- iUSBWatchProperty.Close();
-
- DeleteSubscriber( iKeyguardStateSubscriber );
- iKeyguardStateProperty.Close();
-
- DeleteSubscriber( iCallStateSubscriber );
- iCallStateProperty.Close();
-
- DeleteSubscriber( iShuttingDownSubscriber );
- iShuttingDownProperty.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::NewL
-// -----------------------------------------------------------------------------
-//
-CScreensaverSharedDataMonitor* CScreensaverSharedDataMonitor::NewL( CScreensaverSharedDataI* aData )
- {
- CScreensaverSharedDataMonitor* self = new( ELeave )CScreensaverSharedDataMonitor( aData );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self;
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::CScreensaverSharedDataMonitor
-// -----------------------------------------------------------------------------
-//
-CScreensaverSharedDataMonitor::CScreensaverSharedDataMonitor(
- CScreensaverSharedDataI* aData )
- :iData( aData )
- {
- // No implementation required
- }
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CScreensaverSharedDataMonitor::ConstructL()
- {
- User::LeaveIfError(iPreviewModeProperty.Attach(KPSUidScreenSaver, KScreenSaverPreviewMode));
- iPreviewModeSubscriber = new (ELeave) CSubscriber(TCallBack(HandlePreviewModeChanged, this), iPreviewModeProperty);
- iPreviewModeSubscriber->SubscribeL();
-
-
- // MMC watcher
- User::LeaveIfError(iMMCWatchProperty.Attach(KPSUidUikon, KUikMMCInserted));
- iMMCWatchSubscriber = new (ELeave) CSubscriber(
- TCallBack(HandleMMCStateChanged, this), iMMCWatchProperty);
- iMMCWatchSubscriber->SubscribeL();
-
- // USB watcher (MMC dismount)
- User::LeaveIfError(iUSBWatchProperty.Attach(
- KPSUidUsbWatcher, KUsbWatcherSelectedPersonality));
- iUSBWatchSubscriber = new (ELeave) CSubscriber(
- TCallBack(HandleUSBStateChanged, this), iUSBWatchProperty);
- iUSBWatchSubscriber->SubscribeL();
-
- // Keyguard state watcher
- User::LeaveIfError(iKeyguardStateProperty.Attach(
- KPSUidAvkonDomain, KAknKeyguardStatus));
- iKeyguardStateSubscriber = new (ELeave) CSubscriber(
- TCallBack(HandleKeyguardStateChanged, this), iKeyguardStateProperty);
- iKeyguardStateSubscriber->SubscribeL();
-
- // Call state watcher
- User::LeaveIfError(iCallStateProperty.Attach( KPSUidCtsyCallInformation, KCTsyCallState ) );
- iCallStateSubscriber = new (ELeave) CSubscriber(
- TCallBack(HandleCallStateChanged, this), iCallStateProperty);
- iCallStateSubscriber->SubscribeL();
-
- // Shutting down state watcher
- User::LeaveIfError( iShuttingDownProperty.Attach( KPSUidStartup, KPSGlobalSystemState ) );
- iShuttingDownSubscriber = new (ELeave) CSubscriber(
- TCallBack(HandleShuttingDownStateChanged, this), iShuttingDownProperty);
- iShuttingDownSubscriber->SubscribeL();
- }
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::View
-// -----------------------------------------------------------------------------
-//
-CScreensaverView* CScreensaverSharedDataMonitor::View()
- {
- return STATIC_CAST( CScreensaverAppUi*, CCoeEnv::Static()->AppUi() )->ScreensaverView();
- }
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::Model
-// -----------------------------------------------------------------------------
-//
-CScreensaverEngine& CScreensaverSharedDataMonitor::Model()
- {
- return STATIC_CAST( CScreensaverAppUi*, CCoeEnv::Static()->AppUi() )->Model();
- }
-
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::DeteleSubscriber
-// -----------------------------------------------------------------------------
-//
-void CScreensaverSharedDataMonitor::DeleteSubscriber( CSubscriber*& aSubscriber )
- {
- if ( aSubscriber )
- {
- aSubscriber->StopSubscribe();
- }
- delete aSubscriber;
- }
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::HandlePreviewModeChanged
-// Handles preview mode property key change. If key is changed to 1,
-// preview mode is started
-// -----------------------------------------------------------------------------
-//
-TInt CScreensaverSharedDataMonitor::HandlePreviewModeChanged(TAny *aPtr)
- {
- CScreensaverSharedDataMonitor *data = STATIC_CAST(CScreensaverSharedDataMonitor*, aPtr);
-
- if ( data->iData->ScreensaverPreviewMode() == 1)
- {
- TRAP_IGNORE( data->Model().StartPreviewModeL() );
- }
-
- return KErrNone;
- }
-
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::HandleMMCStateChanged
-// Handles MMC state change callback. If current plugin is loaded from
-// MMC, screensaver defaults to date & time when MMC removed
-// -----------------------------------------------------------------------------
-//
-TInt CScreensaverSharedDataMonitor::HandleMMCStateChanged(TAny* aPtr)
- {
- STATIC_CAST(CScreensaverSharedDataMonitor*, aPtr)->Model().StopScreenSaver();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::HandleUSBStateChanged
-// Handles USB state change callback. If current plugin is loaded from
-// MMC, screensaver defaults to date & time when USB attached
-// -----------------------------------------------------------------------------
-//
-TInt CScreensaverSharedDataMonitor::HandleUSBStateChanged(TAny* aPtr)
- {
- // Same handler as in MMC removal, parameter tells it's because of USB
- STATIC_CAST(CScreensaverSharedDataMonitor*, aPtr)->Model().StopScreenSaver();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::HandleKeyguardStateChanged
-// Handles keyguards status change callback.
-// When keys become locked, screensaver timeout is shortened.
-// -----------------------------------------------------------------------------
-//
-TInt CScreensaverSharedDataMonitor::HandleKeyguardStateChanged(TAny* aPtr)
- {
- // If keyguard just became unlocked, inform model so that
- // short timeout use is reset. Otherwise there might be a situation
- // where short timeout was in use, user opened keys, did something
- // without letting the device idle for short timeout period and
- // locked keys again. Then short timeout would remain in use without this
- // notification.
- // Also inform of keys locked, in case Screensaver is running this
- // happened because of automatic keyguard fired, and screensaver
- // should update the display to show the keyguard indicator
- CScreensaverSharedDataMonitor* _this =
- STATIC_CAST(CScreensaverSharedDataMonitor*, aPtr);
-
- if ( _this->iData->IsKeyguardOn() )
- {
- // Keys locked - if screensaver is running, this was caused by
- // automatic keyguard and screensaver should refresh the view
- // to show the keylock indicator
- if ( _this->Model().ScreenSaverIsOn() )
- {
- _this->View()->UpdateAndRefresh();
- }
- }
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::HandleCallStateChanged
-// Handles call state change callback. If call state changes,
-// screensaver is stopped
-// -----------------------------------------------------------------------------
-//
-TInt CScreensaverSharedDataMonitor::HandleCallStateChanged(TAny* aPtr)
- {
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
- // Prevent fullscreen transition from screensaver on incoming call
- CAknTransitionUtils::SetData( KScreensaverCallStateChange, (TAny*)1 );
-#endif
-
- STATIC_CAST(CScreensaverSharedDataMonitor*, aPtr)->Model().StopScreenSaver();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CScreensaverSharedDataMonitor::HandleShuttingDownStateChanged
-// -----------------------------------------------------------------------------
-//
-TInt CScreensaverSharedDataMonitor::HandleShuttingDownStateChanged( TAny* /*aPtr*/ )
- {
- TInt startupState = -1;
-
- RProperty::Get( KPSUidStartup, KPSGlobalSystemState, startupState );
-
- if( startupState == ESwStateShuttingDown )
- {
- RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, KSystemShuttingdown);
- }
-
- return KErrNone;
- }
-
-// End of file