videofeeds/scheduleddlplugin/inc/iptvscheduleddownloadlugin.h
changeset 0 96612d01cf9f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/scheduleddlplugin/inc/iptvscheduleddownloadlugin.h	Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2007 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:    Implementation of the scheduled download plugin*
+*/
+
+
+
+#ifndef CIPTVSCHEDULEDDOWNLOADPLUGIN_H
+#define CIPTVSCHEDULEDDOWNLOADPLUGIN_H
+
+// INCLUDES
+#include <ipvideo/CCseSchedulerPluginIF.h>
+#include <e32std.h>
+
+// CONSTANTS
+// None
+
+// MACROS
+// None.
+
+// DATA TYPES
+// None.
+
+// FUNCTION PROTOTYPES
+// None.
+
+// FORWARD DECLARATIONS
+class CCseScheduledProgram;
+class MCsePluginObserver;
+class CIptvScheduledDownloadPluginEngine;
+
+// CLASS DECLARATION    
+/**
+*  Implementation of the scheduled download plugin
+*
+*  @lib iptvscheduleddownloadplugin.dll
+*/
+class CIptvScheduledDownloadPlugin : public CCseSchedulerPluginIF
+	{
+    public:// Constructors and destructor
+
+        /**
+        * Two-phased constructor.        
+        */
+    	static CIptvScheduledDownloadPlugin* NewL();
+    	
+    	/**
+        * C+ destructor
+        */
+    	virtual ~CIptvScheduledDownloadPlugin();    	
+   
+    public: // From CCseSchedulerPluginIF
+
+        /**
+        * 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.
+        */	
+    	void RunTaskL( CCseScheduledProgram& aProg,
+    				   MCsePluginObserver* aObserver );
+
+    private:// Constructors and destructor
+
+        /**
+        * C++ constructor
+        */
+    	CIptvScheduledDownloadPlugin();
+
+        /**
+        * Reschedule the given schedule.
+        *
+        * @param aObserver The schedule callback.
+        * @param aProg The schedule to reschedule.
+        * @param aDelay The delay of the reschedule.
+        */
+        void RescheduleL(
+            MCsePluginObserver* aObserver,
+            CCseScheduledProgram& aProg,
+            TTimeIntervalMinutes aDelay );
+
+    private: // Data
+
+        /**
+        * Pointer to plug-in engine. Owned.
+        */
+        CIptvScheduledDownloadPluginEngine* iEngine;
+        
+        /**
+         * Boolean pointer representing if we have aborted the plugin
+         * operation by deleting this class. Value is red after iEngine->RunTaskL
+         * -call in RunTaskL -method. If value is true we return immediately. 
+         */
+        TBool* iIsDead;        
+	};
+
+#endif // CIPTVSCHEDULEDDOWNLOADPLUGIN_H