idlehomescreen/xmluirendering/uiengine/inc/xnappuiadapterimpl.h
changeset 0 f72a12da539e
child 15 ff572dfe6d86
equal deleted inserted replaced
-1:000000000000 0:f72a12da539e
       
     1 /*
       
     2 * Copyright (c) 2008 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:  Adapter for Avkon for Xuikon
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef XNAPPUIADAPTERIMPL_H
       
    20 #define XNAPPUIADAPTERIMPL_H
       
    21 
       
    22 // System includes
       
    23 #include <e32base.h>
       
    24 
       
    25 
       
    26 // Forward declarations
       
    27 class CXnUiEngine;
       
    28 class CXnAppUiAdapter;
       
    29 class CXnViewAdapter;
       
    30 class CXnViewManager;
       
    31 class CXnUiStateListener;
       
    32 class CHsContentControlFactory;
       
    33 class MHsContentControlUi;
       
    34 class CHsCcProviderClient;
       
    35 class CXnEffectManager;
       
    36 class MHsContentControl;
       
    37 
       
    38 // Constants
       
    39 
       
    40 // Class declaration
       
    41 
       
    42 /**
       
    43 *  Avkon Adapter for Xuikon
       
    44 *  
       
    45 *  @ingroup group_xnlayoutengine
       
    46 *  @lib xn3layoutengine.lib
       
    47 *  @since Series 60 3.1
       
    48 */
       
    49 NONSHARABLE_CLASS( CXnAppUiAdapterImpl ) : public CBase    
       
    50     {
       
    51 public:
       
    52     // Constructors and destructor
       
    53 
       
    54     /**
       
    55      * Second-phase constructor
       
    56      * 
       
    57      * @since Series 60 3.1
       
    58      * @param aApplicationUid App Id 
       
    59      * @param aAdapter An AppUi adapter
       
    60      */
       
    61     static CXnAppUiAdapterImpl* NewL( TUid aApplicationUid,
       
    62         CXnAppUiAdapter& aAdapter );
       
    63 
       
    64     /**
       
    65      * Second-phase constructor
       
    66      * 
       
    67      * @since S60 5.0
       
    68      */
       
    69     void ConstructL();
       
    70     
       
    71     /**
       
    72      * Destructor.
       
    73      */
       
    74     ~CXnAppUiAdapterImpl();
       
    75 
       
    76 public:
       
    77     // New functions
       
    78         
       
    79     /**
       
    80      * Get the UI engine
       
    81      * 
       
    82      * @since Series 60 3.1
       
    83      * @return UI engine
       
    84      */
       
    85     CXnUiEngine& UiEngine() const;
       
    86 
       
    87     /**
       
    88      * Get the View manager
       
    89      * 
       
    90      * @since S60 5.0
       
    91      * @return ViewManager
       
    92      */
       
    93     CXnViewManager& ViewManager() const;
       
    94 
       
    95     /**
       
    96      * Get the View adapter
       
    97      * 
       
    98      * @since S60 5.0
       
    99      * @return ViewAdapter
       
   100      */
       
   101     CXnViewAdapter& ViewAdapter() const;
       
   102     
       
   103     /**
       
   104      * Get the UI state listener
       
   105      * 
       
   106      * @since S60 5.0
       
   107      * @return UiStateListener
       
   108      */
       
   109     CXnUiStateListener& UiStateListener() const;
       
   110     
       
   111     /**
       
   112      * Gets the Content control UI interface
       
   113 	 *
       
   114 	 * @since S60 5.0
       
   115 	 * @param aType Content control UI type
       
   116      * @return Content control UI interface, NULL if not present
       
   117      */
       
   118     MHsContentControlUi* HsContentController( const TDesC8& aType ) const;
       
   119 		
       
   120     /**
       
   121      * Get the effect manager
       
   122      * 
       
   123      * @since S60 5.0
       
   124      * @return Effect manager
       
   125      */
       
   126     CXnEffectManager* EffectManager() const;
       
   127 
       
   128     /**
       
   129      * Gets the Content control server interface
       
   130      *
       
   131      * @since S60 5.0
       
   132      * @return Content control server interface, NULL if not present
       
   133      */
       
   134     MHsContentControl* HsContentControlSrv() const;
       
   135 
       
   136     /**
       
   137      * Reload the UI after application root configuration is changed
       
   138      * 
       
   139      * @since S60 5.0     
       
   140      */
       
   141     void ReloadUiL();
       
   142 
       
   143     /**
       
   144      * Handles a change to the control's resources of type aType
       
   145      * 
       
   146      * @since Series 60 3.1
       
   147      * @param aType Changed resource type
       
   148      */
       
   149     void HandleResourceChangeL( TInt aType );
       
   150     
       
   151 private:
       
   152     
       
   153     /**
       
   154      * C++ default constructor.
       
   155      */
       
   156     CXnAppUiAdapterImpl( TUid aApplicationUid,    
       
   157             CXnAppUiAdapter& aAdapter );
       
   158 
       
   159 private:
       
   160     // Data
       
   161     /** AppUi, Not owned. */
       
   162     CXnAppUiAdapter& iAdapter;    
       
   163     /** Application uid */
       
   164     TUid iApplicationUid;
       
   165     /** UiEngine, Owned */
       
   166     CXnUiEngine* iUiEngine;
       
   167     /** View Adapter, Owned */
       
   168     CXnViewAdapter* iViewAdapter;
       
   169     /** View Manager, Owned */
       
   170     CXnViewManager* iViewManager;
       
   171     /** UI State listener, Owned */
       
   172     CXnUiStateListener* iUiStateListener;
       
   173     /** Content control factory, Owned */
       
   174     CHsContentControlFactory* iContentControlFactory;
       
   175     /** Content control provider client, Owned */
       
   176     CHsCcProviderClient* iCcProviderClient;
       
   177     /** Effect manager, Owned */
       
   178     CXnEffectManager* iEffectManager;
       
   179     /** Resource offset */
       
   180     TInt iResourceOffset;    
       
   181     };
       
   182 
       
   183 #endif      // XNAPPUIADAPTERIMPL_H
       
   184