sysstatemgmt/systemstatereferenceplugins/clayer/inc/startupadaptation.h
changeset 0 4e1aa6a622a0
child 5 1a73e8f1b64d
equal deleted inserted replaced
-1:000000000000 0:4e1aa6a622a0
       
     1 /*
       
     2 * Copyright (c) 2004-2009 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 "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:
       
    15 * Name        : startupadaptation.h
       
    16 * Part of     : System Startup / Starter
       
    17 * Interface   : Domain, Startup Adaptation API
       
    18 * This header file defines the Startup Adaptation API command
       
    19 * interface used to issue commands towards adaptation.
       
    20 * Version     : %version: ou1s60rt#6 %
       
    21 * This material, including documentation and any related computer
       
    22 * programs, is protected by copyright controlled by Nokia.  All
       
    23 * rights are reserved.  Copying, including reproducing, storing,
       
    24 * adapting or translating, any or all of this material requires the
       
    25 * prior written consent of Nokia.  This material also contains
       
    26 * confidential information which may not be disclosed to others
       
    27 * without the prior written consent of Nokia.
       
    28 * Template version: 4.0
       
    29 * Nokia Core OS *
       
    30 *
       
    31 */
       
    32 
       
    33 
       
    34 
       
    35 #ifndef __STARTUPADAPTATION_H__
       
    36 #define __STARTUPADAPTATION_H__
       
    37 
       
    38 #include <e32base.h>
       
    39 #include <ssm/startupadaptationcommands.h>
       
    40 
       
    41 /*
       
    42 * @publishedPartner
       
    43 * @released
       
    44 */
       
    45 class MStartupAdaptationObserver;
       
    46 
       
    47 /*****************************************************
       
    48 *       Series 60 Customer
       
    49 *       Needs customer implementation
       
    50 *****************************************************/
       
    51 
       
    52 /**
       
    53 *  An ECOM plug-in interface class to be implemented by startup adaptation.
       
    54 *
       
    55 *  @since S60 3.2
       
    56 */
       
    57 class CStartupAdaptation : public CBase
       
    58     {
       
    59 
       
    60 public:  // Constructors and destructor
       
    61 
       
    62     /**
       
    63     * Create new startup adaptation plug-in object.
       
    64     *
       
    65     * @since S60 3.2
       
    66     *
       
    67     * @param anObserver An observer object for receiving command responses
       
    68     * and adaptation events.
       
    69     */
       
    70     inline static CStartupAdaptation* NewL(
       
    71         MStartupAdaptationObserver& anObserver );
       
    72 
       
    73     /**
       
    74     * Destructor.
       
    75     *
       
    76     * @since S60 3.2
       
    77     */
       
    78     inline virtual ~CStartupAdaptation();
       
    79 
       
    80 public: // New functions
       
    81 
       
    82     /**
       
    83     * Issue a command to startup adaptation.
       
    84     *
       
    85     * @since S60 3.2
       
    86     *
       
    87     * @param aCommandId A command identifier.
       
    88     * @param aData      Data associated with the command.
       
    89     */
       
    90     virtual void CommandL(
       
    91         const StartupAdaptation::TCommand aCommandId,
       
    92         TDesC8& aData ) = 0;
       
    93 
       
    94     /**
       
    95     * Cancel a command.
       
    96     *
       
    97     * @since S60 3.2
       
    98     *
       
    99     * @param aCommandId A command identifier.
       
   100     */
       
   101     virtual void CancelCommandL(
       
   102         const StartupAdaptation::TCommand aCommandId ) = 0;
       
   103 
       
   104     /**
       
   105     * Get plug-in implementation version. Major and minor version numbers
       
   106     * are relevant.
       
   107     *
       
   108     * @since S60 3.2
       
   109     *
       
   110     * @return The plug-in implementation version.
       
   111     */
       
   112     virtual TVersion Version() const = 0;
       
   113 
       
   114 
       
   115 private:    // Data
       
   116 
       
   117     /**
       
   118     * Plug-in identifier. Used to inform ECom after the object has been
       
   119     * destroyed.
       
   120     */
       
   121     TUid iDtorIDKey;
       
   122 
       
   123     };
       
   124 
       
   125 #include <ssm/startupadaptation.inl>
       
   126 
       
   127 #endif // __STARTUPADAPTATION_H__