idlefw/inc/framework/aipluginfactory.h
branchRCL_3
changeset 14 15e4dd19031c
parent 8 d0529222e3f0
child 16 b276298d5729
equal deleted inserted replaced
12:502e5d91ad42 14:15e4dd19031c
    27 // User includes
    27 // User includes
    28 
    28 
    29 // Forward declarations
    29 // Forward declarations
    30 class CAiUiControllerManager;
    30 class CAiUiControllerManager;
    31 class CAiStateManager;
    31 class CAiStateManager;
       
    32 class MAiCpsCommandBuffer;
    32 class CHsContentPublisher;
    33 class CHsContentPublisher;
    33 class THsPublisherInfo;
    34 class THsPublisherInfo;
    34 
    35 
    35 // Class declaration
    36 // Class declaration
    36 /**
    37 /**
    75      * @since S60 5.2
    76      * @since S60 5.2
    76      * @param aPublisherInfo plugin to destroy.      
    77      * @param aPublisherInfo plugin to destroy.      
    77      */
    78      */
    78     void DestroyPlugin( 
    79     void DestroyPlugin( 
    79         const THsPublisherInfo& aPublisherInfo );		    
    80         const THsPublisherInfo& aPublisherInfo );		    
    80                          
    81 
       
    82     /**
       
    83      * Destroy plugin
       
    84      *
       
    85      * @since S60 5.2
       
    86      * @param aUid Implementation UID of a plugin to destroy.
       
    87      */
       
    88     void DestroyPlugin( 
       
    89         const TUid& aUid );           
       
    90 
    81     /**
    91     /**
    82      * Finds plugin by publisher info.
    92      * Finds plugin by publisher info.
    83      *
    93      *
    84      * @since S60 5.2
    94      * @since S60 5.2
    85      * @param aInfo publisher info.
    95      * @param aInfo publisher info.
   103      * @since S60 5.2
   113      * @since S60 5.2
   104      * @param aInfo publisher info.
   114      * @param aInfo publisher info.
   105      * @return Pointer to plugin, NULL if not found. Factory keeps plugin's ownership.
   115      * @return Pointer to plugin, NULL if not found. Factory keeps plugin's ownership.
   106      */                
   116      */                
   107     CHsContentPublisher* PluginByName( const TDesC& aName ) const;
   117     CHsContentPublisher* PluginByName( const TDesC& aName ) const;
   108             
   118       
       
   119     /**
       
   120      * Sets cps command buffer
       
   121      * 
       
   122      * @since S60 5.2
       
   123      * @param aCommanddBuffer Command buffer
       
   124      */
       
   125     void SetCommandBuffer( MAiCpsCommandBuffer* aCommanddBuffer );
       
   126     
   109 private:	
   127 private:	
   110     // private constructors
   128     // private constructors
   111 
   129 
   112     /**
   130     /**
   113      * Leaving constructor
   131      * Leaving constructor
   132     void ConfigurePluginL(         
   150     void ConfigurePluginL(         
   133         CHsContentPublisher& aContentPublisher,
   151         CHsContentPublisher& aContentPublisher,
   134         const THsPublisherInfo& aPublisherInfo );		                           
   152         const THsPublisherInfo& aPublisherInfo );		                           
   135     
   153     
   136     RPointerArray< CHsContentPublisher >& Publishers() const;
   154     RPointerArray< CHsContentPublisher >& Publishers() const;
   137     
   155         
   138     void ResolvePluginsToUpgradeL( 
       
   139         RArray< THsPublisherInfo >& aArray );
       
   140     
       
   141 private:     
   156 private:     
   142     // data	
   157     // data	
   143 
   158 
   144     /** UI Controller Manager, Not owned */
   159     /** UI Controller Manager, Not owned */
   145     CAiUiControllerManager& iUiControllerManager;
   160     CAiUiControllerManager& iUiControllerManager;
       
   161     /** Cps command buffer, Not owned */
       
   162     MAiCpsCommandBuffer* iCommandBuffer;
   146     /** Array of loaded data plugins, Owned */
   163     /** Array of loaded data plugins, Owned */
   147     mutable RPointerArray< CHsContentPublisher > iPublishers;
   164     mutable RPointerArray< CHsContentPublisher > iPublishers;
   148     /** Ecom implementation info, Owned */
   165     /** Ecom implementation info, Owned */
   149     RImplInfoPtrArray iEComPlugins;		          
   166     RImplInfoPtrArray iEComPlugins;		          
   150     
   167