diff -r 826cea16efd9 -r 13a33d82ad98 videoutils_plat/videoscheduler_api/inc/ipvideo/RCseSchedulerService.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoutils_plat/videoscheduler_api/inc/ipvideo/RCseSchedulerService.h Wed Sep 01 12:20:37 2010 +0100 @@ -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 // 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& 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& 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& 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& 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& aArray ) const; + }; + +#endif //__RCSESCHEDULERSERVICE_H__ + +// End of File +