videoutils_plat/videoscheduler_api/inc/ipvideo/CCseSchedulerPluginIF.h
branchRCL_3
changeset 23 13a33d82ad98
parent 0 822a42b6c3f1
child 3 bdf78597b41c
equal deleted inserted replaced
22:826cea16efd9 23:13a33d82ad98
       
     1 /*
       
     2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:    Common interface for scheduler plugins.*
       
    15 */
       
    16 
       
    17 
       
    18 
       
    19 
       
    20 #ifndef CCSESCHEDULERPLUGINIF_H
       
    21 #define CCSESCHEDULERPLUGINIF_H
       
    22 
       
    23 #include <e32std.h>
       
    24 #include <e32base.h>
       
    25 class CCseScheduledProgram;
       
    26 class MCsePluginObserver;
       
    27 
       
    28 class CCseSchedulerPluginIF : public CBase
       
    29     {
       
    30 public:
       
    31     /**
       
    32     * Construction method.
       
    33     * @param    aUid    Ecom implementation uid of the used plugin.
       
    34     * @return   None
       
    35     */
       
    36     static CCseSchedulerPluginIF* NewL( const TUid& aUid );
       
    37 
       
    38     /**
       
    39     * Runs given task in plugin.
       
    40     * @param    aProg       Schedule to be run in plugin.
       
    41     * @param    aObserver   Pointer back to scheduling engine. Called
       
    42     *                       when schedule is completed or error occurs.
       
    43     * @return   None
       
    44     */	
       
    45 	virtual void RunTaskL( CCseScheduledProgram& aProg,
       
    46 						   MCsePluginObserver* aObserver ) = 0;	
       
    47 	
       
    48     /**
       
    49     * Return the ECom implementation uid of this plugin.
       
    50     * @return ECom implementation uid.
       
    51     */
       
    52     TUid ImplementationUid() const;
       
    53     
       
    54     /**
       
    55     * Destructor
       
    56     */    
       
    57     virtual ~CCseSchedulerPluginIF();
       
    58     
       
    59 protected:    
       
    60     /**
       
    61     * Instance identifier key. When instance of an
       
    62     * implementation is created by ECOM framework, the
       
    63     * framework will assign UID for it. The UID is used in
       
    64     * destructor to notify framework that this instance is
       
    65     * being destroyed and resources can be released.
       
    66     */    
       
    67     TUid iDtorIDKey;
       
    68 
       
    69     /**
       
    70     * Ecom implementation uid
       
    71     */
       
    72     TUid iImplementationUid;
       
    73     };
       
    74 
       
    75 
       
    76 
       
    77 #include <ecom/ecom.h>
       
    78 #include <ipvideo/CCseSchedulerPluginIF.inl>
       
    79 
       
    80 #endif //CCSESCHEDULERPLUGINIF_H