diff -r 000000000000 -r 822a42b6c3f1 videoutils_plat/videoscheduler_api/inc/ipvideo/CCseSchedulerPluginIF.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoutils_plat/videoscheduler_api/inc/ipvideo/CCseSchedulerPluginIF.h Thu Dec 17 09:14:38 2009 +0200 @@ -0,0 +1,80 @@ +/* +* 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: Common interface for scheduler plugins.* +*/ + + + + +#ifndef CCSESCHEDULERPLUGINIF_H +#define CCSESCHEDULERPLUGINIF_H + +#include +#include +class CCseScheduledProgram; +class MCsePluginObserver; + +class CCseSchedulerPluginIF : public CBase + { +public: + /** + * Construction method. + * @param aUid Ecom implementation uid of the used plugin. + * @return None + */ + static CCseSchedulerPluginIF* NewL( const TUid& aUid ); + + /** + * Runs given task in plugin. + * @param aProg Schedule to be run in plugin. + * @param aObserver Pointer back to scheduling engine. Called + * when schedule is completed or error occurs. + * @return None + */ + virtual void RunTaskL( CCseScheduledProgram& aProg, + MCsePluginObserver* aObserver ) = 0; + + /** + * Return the ECom implementation uid of this plugin. + * @return ECom implementation uid. + */ + TUid ImplementationUid() const; + + /** + * Destructor + */ + virtual ~CCseSchedulerPluginIF(); + +protected: + /** + * Instance identifier key. When instance of an + * implementation is created by ECOM framework, the + * framework will assign UID for it. The UID is used in + * destructor to notify framework that this instance is + * being destroyed and resources can be released. + */ + TUid iDtorIDKey; + + /** + * Ecom implementation uid + */ + TUid iImplementationUid; + }; + + + +#include +#include + +#endif //CCSESCHEDULERPLUGINIF_H