diff -r 058b1fc1663a -r 8a173132b0aa scrsaver/scrsaverplugins/SlideshowPlugin/inc/SlideshowPlugin.h --- a/scrsaver/scrsaverplugins/SlideshowPlugin/inc/SlideshowPlugin.h 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: Implements the Slideshow plugin beef, especially -* MScreensaverPlugin interface -* -*/ - - - -#ifndef C_SLIDESHOWPLUGIN_H -#define C_SLIDESHOWPLUGIN_H - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "SlideshowModel.h" -#include "SlideshowSlide.h" -#include "SlideshowPluginUtils.h" - -class CEikonEnv; -class CDRMHelper; -class CRepositoryWatcher; -class CRepository; - - -/** -* Encapsulates the Settings that are written into the central repository -* @lib ScreenSaverAnimPlugin.lib -* @since 3.1 -*/ -class CSlideshowSettings : public CBase - { -public: - CSlideshowSettings(); - -public: - // Slideshow time - TInt iSlideshowTime; - - // Lights time - TInt iLightsTime; - - // Time a slide is displayed - TInt iSlideTime; - - // Slideshow type - TInt iSlideshowType; - }; - - -/** -* Provides the Animated ScreenSaverPlugin functionality which implements -* ScreenSaver Interface and gives a Netscape Browser Plugin Interface -* to the format specific plugins like SVG, Flash, M3G etc. -* @lib ScreenSaverAnimPlugin.lib -* @since 3.1 -*/ -class CSlideshowPlugin: public CScreensaverPluginInterfaceDefinition, - public MCLFOperationObserver - { - enum TPluginState - { - EPluginStateLoading = 0, - EPluginStateInitializing, - EPluginStateRunning, - EPluginStateStopping - }; - -public: - - /** - * Creator - * @since 3.1 - */ - static CSlideshowPlugin* NewL(); - - /** - * Destructor - */ - virtual ~CSlideshowPlugin(); - -private: - /** - * 2nd phase constructor - * @since 3.1 - */ - void ConstructL(); - - /** - * Default Constructor - * @since 3.1 - */ - CSlideshowPlugin(); - -public: // Functions From CScreensaverPluginInterfaceDefinition - - /** - * From MScreensaverPlugin, Method called by Screensaver - * when plugin is being loaded into use - * @param aHost Plugin host (Screensaver). - * @since 3.1 - */ - virtual TInt InitializeL(MScreensaverPluginHost *aHost); - - /** - * From MScreensaverPlugin, Method called by Screensaver - * when plugin is allowed to draw - * @since 3.1 - */ - virtual TInt Draw( CWindowGc& aGc ); - - /** - * From MScreensaverPlugin, Method called by Themes application - * to get localised name - * @since 3.1 - */ - virtual const TDesC16& Name() const; - - /** - * From MScreensaverPlugin, Method called by Screensaver - * to get the capabilities of screensaver plugin - * @since 3.1 - */ - virtual TInt Capabilities(); - - /** - * From MScreensaverPlugin, Method called by Themes application - * to configure the plugin or to pass e.g. selection notifications - * to plugin - * @since 3.1 - */ - virtual TInt PluginFunction( - TScPluginCaps /* aFunction */, - TAny* /* aParam */ ); - - /** - * From MScreensaverPlugin, Method called by Screensaver - * when there are screensaver events, such as starting and stopping - * @since 3.1 - */ - virtual TInt HandleScreensaverEventL( - TScreensaverEvent aEvent, - TAny* aData ); - - -public: // From MCLFOperationObserver - - /** - * From MCLFOperationObserver. Called by CLF when e.g. a content listing - * operation is finished. - * @since S60 3.1 - * @param aOperationEvent Operation event code of the event - * @param aError System wide error code if the operation did not - * succeed. - */ - virtual void HandleOperationEventL(TCLFOperationEvent aOperationEvent, - TInt aError); - - -public: // New Functions - - /** - * Reads the settings from the central repository - * @since 3.1 - * @return System wide Error value - */ - TInt ReadSettings(); - -#if 0 - /** - * This method checks whether the set file exists currently - * if not, it updates the filename string - * This also checks if the rights are valid if the content is drm - * if not, it updates the filename with the empty file name - * returns True, if the Filename is updated - * False, otherwise - * @since 3.2 - */ - TBool UpdateFileName(); -#endif - - /** - * Called when there is a central repository settings change - * @since 3.2 - */ - void HandleCRSettingsChange(TAny* aPtr); - - /** - * Called by the repository watcher when there is a central - * repository settings change - * @since 3.2 - */ - static TInt HandleRepositoryCallBack(TAny* aPtr); - - /** - * Called by the P & S subscriber when the subscribed key value changes - * @since 3.2 - */ - static TInt HandleSettingsChanged(TAny* aPtr); - -private: // New functions - - /** - * Connects the central repository session - * @since 3.1 - */ - void InitializeCenRepL(); - - /** - * Registers for central repository key changes - * @since 3.1 - */ - void NotifyCenrepChangeL(); - - /** - * Cancels registration for central repository key changes - * @since 3.1 - */ - void NotifyCenrepChangeCancel(); - - /** - * Disconnects the central repository session - * @since 3.1 - */ - void UnInitializeCenRep(); - - void StartPlugin(); - void StopPlugin(); - void DrawCentered(CWindowGc& aGc, CSlideshowSlide* aSlide); - void LoadSlidesL(); - void LoadSlideSetL(); - void LoadRandomSlidesL(); - void SetDisplayMode(); - void Lights(TInt aSecs); - void ConfigureL(TAny* aParam); - void UpdateDisplayInfo(); - void FlushDrawBuffer(); - - TInt SettingsChanged(); - - void ConnectToCLFL(); - void WaitForCLF(); - void EndWaitForCLF(); - -private: - // Pointer to the screensaver host - MScreensaverPluginHost* iHost; - - // Display info - TScreensaverDisplayInfo iDi; - - // Plugin state tracking - TInt iState; - - // Resource file offset - TInt iResourceOffset; - - // Handle to the central repository session - CRepository* iSlideshowRepository; - - // Environment pointer - CEikonEnv* iEikEnv; - - // Pointer to settings - CSlideshowSettings* iSettings; - - // Slideshow model - CSlideshowModel* iModel; - - // Pointer to Drm Helper - CDRMHelper* iDrmHelper; - - // Cenrep watcher for settings change - CRepositoryWatcher* iSlideshowCRWatcher; - - RProperty iSettingsChangedProperty; - CPSSubscriber* iSettingsChangedSubscriber; - - // Localised name - HBufC* iScreensaverName; - - // Gallery content listing engine - MCLFContentListingEngine* iCLFEngine; - - // Gallery content listing model - MCLFItemListModel* iCLFModel; - - // CLF status - TInt iCLFError; - - // CLF model state - TBool iCLFModelUpToDate; - - - // Waiter - CActiveSchedulerWait iWaiter; - TBool iWaitActive; - - // Draw count - TInt iDrawCount; - TBool iTimerUpdated; - }; - - -#endif // C_SLIDESHOWPLUGIN_H -// End Of file