videoscheduler/SchedulerServer/inc/CCseSchedulerPluginControllerBase.h
branchRCL_3
changeset 47 826cea16efd9
parent 45 798ee5f1972c
child 48 13a33d82ad98
--- a/videoscheduler/SchedulerServer/inc/CCseSchedulerPluginControllerBase.h	Thu Aug 19 10:54:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +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 the License "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:    Header for PluginControllerBase-class*
-*/
-
-
-
-
-#ifndef __CCSESCHEDULERPLUGINCONTROLLERBASE_H
-#define __CCSESCHEDULERPLUGINCONTROLLERBASE_H
-
-// INCLUDES
-#include <e32base.h>
-#include <ipvideo/MCsePluginObserver.h>
-#include <ipvideo/MCseScheduleObserver.h>
-#include "MCseSchedulerTimerObserver.h"
-#include "MCsePluginControllerObserver.h"
-
-// CONSTANTS
-// None
-
-// MACROS
-// None
-
-// DATA TYPES
-// None
-
-// FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-// CLASS DECLARATION
-class CCseScheduledProgram;
-class CCseSchedulerTimer;
-class CCseSchedulerServerEngine;
-
-/**
-* Base class for plugin controllers. Handles all plugin related stuff except scheduling logic.
-*/
-class CCseSchedulerPluginControllerBase : public CBase,                                          
-                                          public MCseScheduleObserver,
-                                          public MCseSchedulerTimerObserver
-    {
-    public: // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        * @params aEngine reference to engine
-        * @params aPluginUid plugin uid of the plugin this plugin controller is made for
-        * @return CCseSchedulerPluginControllerBase pointer to CCseSchedulerPluginControllerBase class
-        */
-        static CCseSchedulerPluginControllerBase* NewL( MCsePluginControllerObserver& aEngine, TInt32 aPluginUid );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CCseSchedulerPluginControllerBase();
-
-    protected:
-        /**
-        * C++ default constructor.
-        */
-        CCseSchedulerPluginControllerBase( MCsePluginControllerObserver& aEngine, TInt32 aPluginUid );
-        
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();           
-    
-    public: // from MCseScheduleObserver-class     
-        /**
-        * Plugins uses this method to inform common scheduler engine that
-        * schedule is handled.
-		* @param aDbIdentifier DbIdentifier of scheduled program that just
-		*                      has been processed.
-        */
-        virtual void ScheduleCompletedL( const TUint32 aDbIdentifier, TInt aCompletitionCode );
-
-    public: // from MCseSchedulerTimerObserver-class        
-        /**
-        * Plugins uses this method to inform common scheduler engine that
-        * schedule is handled.
-		* @param aDbIdentifier DbIdentifier of scheduled program that just
-		*                      has been processed.
-        */
-        virtual void TimerErrorL( const TInt32 aError );
-        
-        /**
-        * Timer is up, run the Plugins!!!
-        */
-        virtual void RunPluginsL( );
-
-    public: // New methods
-    
-        /**
-         * Sets plugin to be cleared after callstack break.
-         * @param aToBeCleared ETrue if controller needs to be cleared.
-         */
-        void SetToBeCleared( TBool aToBeCleared );
-        
-        /**
-         * Clears controller: clears (takes down all threads running for the plugin)
-         * all landlords. 
-         */
-        virtual void ClearControllerL();
-        
-        /**
-        * Cleans the controller from LandLord(s) that aren't needed anymore.
-        */
-        virtual void DoCleanUp( );
-     
-        /**
-        * Sets schedules to controller. More precise information is found from Uni and Multi
-        * controller classes.
-        * @params aScheduleArrat    Array of schedules to be set into controller. All given
-        *                           schedules should have same start time.
-        */
-        virtual void SetSchedulesL( RPointerArray<CCseScheduledProgram>& aScheduleArray );
-                
-        /**
-        * Gets plugin id. This Uid of the plugin going to be run when time is right. Can be
-        * used, for example, to find right kind of controller to a schedule.
-        * @return plugin Uid of the plugin used to run the schedule.
-        */
-        TInt32 PluginUid( );        
-        
-        /**
-        * Checks if the plugin is obsolete (There are no more schedules to be run).
-        * @return ETrue if obsolete, EFalse if not.
-        */
-        TBool IsObsolete() const;
-
-        /**
-        * Checks if the plugin is set to be cleared.
-        * @return ETrue if set, EFalse if not.
-        */
-        TBool IsToBeCleared();
-        
-        /**
-        * Checks if there are active plugins in controller.
-        * @return ETrue if active plugins found, EFalse otherwise
-        */
-        virtual TBool IsControllerActive();
-        
-    protected: //data        
-        /**
-        * Array containing schedules to be run. Own.
-        */
-        RPointerArray<CCseScheduledProgram> iScheduleArray;
-        
-         /**
-        * Timer class. Own.
-        */
-        CCseSchedulerTimer* iTimer;
-        
-        /**
-        * Reference to engine
-        */
-        MCsePluginControllerObserver& iEngine;
-        
-        /**
-        * Uid of the plugin contrelled by this controller.
-        */        
-        TInt32 iPluginUid;
-        
-        /**
-        * Boolean indicating if this plugin controller is to cleared
-        * (plugin running is deleted).
-        */        
-        TBool iToBeCleared;
-    };
-    
-#endif // __CCSESCHEDULERPLUGINCONTROLLERBASE_H