--- a/scrsaver/scrsaverplugins/SlideshowPlugin/src/SlideshowPluginUtils.cpp Mon Jan 18 20:19:52 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +0,0 @@
-/*
-* Copyright (c) 2006 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: SlideshowPlugin utility classes and functions
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <centralrepository.h>
-#include <f32fsys.h>
-#include <eikenv.h>
-#include <pathinfo.h>
-#include <DRMHelper.h>
-#include <caf/caftypes.h>
-
-#include "SlideshowPluginUtils.h"
-
-_LIT(KSSPDriveLetterMC, "E");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// Repository watcher
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::NewL
-// ---------------------------------------------------------------------------
-//
-CRepositoryWatcher* CRepositoryWatcher::NewL(
- const TUid aUid,
- const TUint32 aKey,
- CCenRepNotifyHandler::TCenRepKeyType aKeyType,
- TCallBack aCallBack,
- CRepository* aRepository)
- {
- CRepositoryWatcher* self = new(ELeave)
- CRepositoryWatcher(aUid, aKey, aCallBack, aRepository);
-
- CleanupStack::PushL(self);
- self->ConstructL(aKeyType);
- CleanupStack::Pop(self);
-
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::NewL
-// ---------------------------------------------------------------------------
-//
-CRepositoryWatcher* CRepositoryWatcher::NewL(
- const TUid aUid,
- TCallBack aCallBack,
- CRepository* aRepository)
- {
- CRepositoryWatcher* self = new(ELeave) CRepositoryWatcher(
- aUid, NCentralRepositoryConstants::KInvalidNotificationId, aCallBack, aRepository);
-
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
-
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::~CRepositoryWatcher
-// ---------------------------------------------------------------------------
-//
-CRepositoryWatcher::~CRepositoryWatcher()
- {
- if ( iNotifyHandler )
- {
- iNotifyHandler->StopListening();
- delete iNotifyHandler;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::CRepositoryWatcher
-// ---------------------------------------------------------------------------
-//
-CRepositoryWatcher::CRepositoryWatcher(
- const TUid aUid,
- const TUint32 aKey,
- TCallBack aCallBack,
- CRepository* aRepository)
- :
- iUid(aUid), iKey(aKey), iCallBack(aCallBack), iRepository(aRepository)
- {
- }
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CRepositoryWatcher::ConstructL(CCenRepNotifyHandler::TCenRepKeyType aKeyType)
- {
- iNotifyHandler = CCenRepNotifyHandler::NewL(*this, *iRepository, aKeyType, iKey);
- iNotifyHandler->StartListeningL();
- }
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CRepositoryWatcher::ConstructL()
- {
- iNotifyHandler = CCenRepNotifyHandler::NewL(*this, *iRepository);
- iNotifyHandler->StartListeningL();
- }
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::ChangedKey
-// ---------------------------------------------------------------------------
-//
-TUint32 CRepositoryWatcher::ChangedKey()
- {
- return iChangedKey;
- }
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::HandleNotifyInt
-// ---------------------------------------------------------------------------
-//
-void CRepositoryWatcher::HandleNotifyInt(
- TUint32 aKey, TInt /*aNewValue*/ )
- {
- iChangedKey = aKey;
- iCallBack.CallBack();
- iChangedKey = NCentralRepositoryConstants::KInvalidNotificationId;
- }
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::HandleNotifyString
-// ---------------------------------------------------------------------------
-//
-void CRepositoryWatcher::HandleNotifyString( TUint32 aKey,
- const TDesC16& /*aNewValue*/ )
- {
- iChangedKey = aKey;
- iCallBack.CallBack();
- iChangedKey = NCentralRepositoryConstants::KInvalidNotificationId;
- }
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::HandleNotifyGeneric
-// ---------------------------------------------------------------------------
-//
-void CRepositoryWatcher::HandleNotifyGeneric(TUint32 aKey)
- {
- iChangedKey = aKey;
- iCallBack.CallBack();
- iChangedKey = NCentralRepositoryConstants::KInvalidNotificationId;
- }
-
-// ---------------------------------------------------------------------------
-// CRepositoryWatcher::HandleNotifyError
-// ---------------------------------------------------------------------------
-//
-void CRepositoryWatcher::HandleNotifyError(TUint32 /*aKey*/, TInt /*aError*/, CCenRepNotifyHandler* /*aHandler*/)
- {
- }
-
-
-// P & S subscriber
-
-// ---------------------------------------------------------------------------
-// CPSSubscriber::CPSSubscriber
-// ---------------------------------------------------------------------------
-//
-CPSSubscriber::CPSSubscriber(TCallBack aCallBack, RProperty& aProperty)
- : CActive(EPriorityNormal), iCallBack(aCallBack), iProperty(aProperty)
- {
- CActiveScheduler::Add(this);
- }
-
-// ---------------------------------------------------------------------------
-// CPSSubscriber::~CPSSubscriber
-// ---------------------------------------------------------------------------
-//
-CPSSubscriber::~CPSSubscriber()
- {
- Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// CPSSubscriber::SubscribeL
-// ---------------------------------------------------------------------------
-//
-void CPSSubscriber::SubscribeL()
- {
- if (!IsActive())
- {
- iProperty.Subscribe(iStatus);
- SetActive();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CPSSubscriber::StopSubscribe
-// ---------------------------------------------------------------------------
-//
-void CPSSubscriber::StopSubscribe()
- {
- Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// CPSSubscriber::RunL
-// ---------------------------------------------------------------------------
-//
-void CPSSubscriber::RunL()
- {
- if (iStatus.Int() == KErrNone)
- {
- iCallBack.CallBack();
- SubscribeL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CPSSubscriber::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CPSSubscriber::DoCancel()
- {
- iProperty.Cancel();
- }
-
-
-
-// ========== UTILITIES CLASS ===============================
-
-// Checks if memory card is present
-TBool SlideshowUtil::IsMCPresent()
- {
- RFs& fs = CCoeEnv::Static()->FsSession();
-
- TInt error = KErrNone;
- TDriveInfo driveInfo;
- TInt res = 0;
- TInt err = fs.CharToDrive(PathInfo::MemoryCardRootPath()[0], res);
- error = fs.Drive(driveInfo, res );
-
- // Not present, locked or unknown is bad
- if ((error != KErrNone) ||
- (driveInfo.iMediaAtt & KMediaAttLocked) ||
- (driveInfo.iType == EMediaNotPresent) ||
- (driveInfo.iType == EMediaUnknown))
- {
- return EFalse;
- }
-
- // Read-only is fine
- return ETrue;
- }
-
-
-// Checks if the given file is on memory card
-TBool SlideshowUtil::IsOnMC(TFileName aFile)
- {
- // Grab drive letter from path and compare to memory card drive letter
- TBuf<1> driveLetterBuf;
- driveLetterBuf.CopyUC(aFile.Left(1));
-
- if (driveLetterBuf.Compare(KSSPDriveLetterMC) == 0)
- {
- return ETrue;
- }
-
- return EFalse;
- }
-
-
-// Checks that the file has enough DRM rights to be displayed
-TBool SlideshowUtil::DRMCheck(CDRMHelper *aDRMHelper, TDesC& /* aFileName */)
- {
- if (!aDRMHelper)
- {
- return EFalse;
- }
-
- return ETrue;
- }
-
-
-// Checks that the slide has enough DRM rights to be displayed
-TBool SlideshowUtil::DRMCheck(CDRMHelper *aDRMHelper, CSlideshowSlide* aSlide)
- {
- if (!aDRMHelper || !aSlide)
- {
- return EFalse;
- }
-
- return (DRMCheck(aDRMHelper, *(aSlide->FileName())));
- }
-
-
-// Consumes the slide's DRM rights
-void SlideshowUtil::DRMConsume(CDRMHelper* aDRMHelper, CSlideshowSlide* aSlide)
- {
- if (!aDRMHelper || !aSlide)
- {
- return;
- }
-
- aDRMHelper->ConsumeFile2(*(aSlide->FileName()),
- ContentAccess::EView,
- CDRMHelper::EStart);
- aDRMHelper->ConsumeFile2(*(aSlide->FileName()),
- ContentAccess::EView,
- CDRMHelper::EFinish);
- }
-
-
-// End of File