scrsaver/scrsaverplugins/SlideshowPlugin/inc/SlideshowPlugin.h
changeset 14 8a173132b0aa
parent 2 058b1fc1663a
--- 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