videoutils_plat/videoscheduler_api/inc/ipvideo/RCseSchedulerService.h
changeset 0 822a42b6c3f1
child 3 bdf78597b41c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videoutils_plat/videoscheduler_api/inc/ipvideo/RCseSchedulerService.h	Thu Dec 17 09:14:38 2009 +0200
@@ -0,0 +1,141 @@
+/*
+* 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:    Interface for CseScheduler Client's Service class*
+*/
+
+
+
+#ifndef __RCSESCHEDULERSERVICE_H__
+#define __RCSESCHEDULERSERVICE_H__
+
+// INCLUDES
+#include <ipvideo/RCseSchedulerServiceBase.h>   // Client common methods (open, close etc)
+
+// CONSTANTS
+// None.
+
+// MACROS
+// None.
+
+// DATA TYPES
+// None.
+
+// FUNCTION PROTOTYPES
+// None.
+
+// FORWARD DECLARATIONS
+class CCseScheduledProgram;
+
+// CLASS DECLARATION    
+/**
+*  General client api that manages service functionality.
+*
+*  @lib CseSchedulerClient.lib
+*/
+class RCseSchedulerService : public RCseSchedulerServiceBase
+    {
+    public: // Constructors and destructor
+        
+        /**
+        * Constructor.
+        * @return None.
+        */
+        RCseSchedulerService();
+
+        /**
+        * Destructor.
+        * @return None.
+        */
+        virtual ~RCseSchedulerService();
+    
+    public: // New methods
+    	/**
+        * Adds given schedule to Common Scheduling Engine database. After the call is
+        * completed, the parameter contains the DB identifier of the schedule.
+        * @param    aData   Schedule to be added to database.        
+        */
+        void AddScheduleL( CCseScheduledProgram& aData ) const;
+        
+        /**
+        * Removes schedule from database.
+        * @param    aDbIdentifier  Database identifier of the schedule to be removed.
+        * @return Generic symbian error code.
+        */
+        void RemoveScheduleL( const TUint32 aDbIdentifier ) const;
+        
+        /**
+        * Gets schedule from database.
+        * @param    aDbIdentifier   Database identifier of the schedule that is wanted
+        *                           from the database
+        * @param    aProg           Pointer where this scheduled program is get.
+        * @return   Generic symbian error codes.
+        */
+        void GetScheduleL( const TUint32 aDbIdentifier,
+        				  CCseScheduledProgram* aProg ) const;
+
+		/**
+		* Get list of scheduled events from the scheduling engine based on given UID.
+		* @param    aAppUid     Application UID.
+		* @param    aArray      On return contains items from the database.
+		* @return   Generic symbian error code.
+		*/
+		void GetSchedulesL( const TInt32 aAppUid, 
+							RPointerArray<CCseScheduledProgram>& aArray ) const;
+
+		/**
+		* Get overlapping schedule (if any) from the scheduling engine.
+		* Uses schedule type, start and end times to find overalapping 
+		* schedules from the Commone Scheduling Engine database.
+		* @param    aProgram        Schedule to used for finding overlapping schedules.
+		* @param    aResultArray    On return, contains array of overlapping 
+		* 		                    schedules, empty if none found.
+		* @return Generic symbian error code.
+		*/
+		void GetOverlappingSchedulesL( CCseScheduledProgram& aProgram, 
+					RPointerArray<CCseScheduledProgram>& aResultArray );
+		
+		/**
+		* Get list of scheduled events from the scheduling engine based on given plugin UID.
+		* @param    aPluginUid     Plugin UID.
+		* @param    aArray      On return contains items from the database.
+		* @return   Generic symbian error code.
+		*/			
+		void GetSchedulesByPluginUidL( const TInt32 aPluginUid, 
+					                   RPointerArray<CCseScheduledProgram>& aArray ) const;
+        
+        /**
+		* Get list of scheduled events from the scheduling engine based on given schedule type.
+		* @param    aType       Schedule type.
+		* @param    aArray      On return contains items from the database.
+		* @return   Generic symbian error code.
+		*/			
+        void GetSchedulesByTypeL( const TInt32 aType, 
+			                      RPointerArray<CCseScheduledProgram>& aArray ) const;
+        
+        /**
+		* Get list of scheduled events from the scheduling engine between given timeframe.
+		* @param    aBeginning  Beginning of the timeframe.
+		* @param    aEnd        End of the timeframe.
+		* @param    aArray      On return contains items from the database.
+		* @return   Generic symbian error code.
+		*/						                    
+        void GetSchedulesByTimeL( const TTime& aBegining, 
+                                  const TTime& aEnd,
+			                      RPointerArray<CCseScheduledProgram>& aArray ) const;
+    };
+
+#endif //__RCSESCHEDULERSERVICE_H__
+
+// End of File
+