--- 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 <gdi.h>
-#include <coecntrl.h>
-#include <e32cmn.h>
-#include <coecobs.h>
-#include <AknsSrvClient.h>
-#include <ScreensaverpluginIntDef.h>
-#include <screensaverplugin.h>
-#include <ScreensaverInternalPSKeys.h>
-
-#include <MCLFOperationObserver.h>
-#include <MCLFContentListingEngine.h>
-#include <MCLFItemListModel.h>
-
-#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