idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h
branchRCL_3
changeset 9 f966699dea19
parent 0 f72a12da539e
child 15 ff572dfe6d86
equal deleted inserted replaced
5:c743ef5928ba 9:f966699dea19
    28 class CXnDomNode;
    28 class CXnDomNode;
    29 class CXnResource;
    29 class CXnResource;
    30 class CXnControlAdapter;
    30 class CXnControlAdapter;
    31 class CXnViewData;
    31 class CXnViewData;
    32 class CXnODT;
    32 class CXnODT;
    33 class CXnDataPluginLoader;
       
    34 class CXnViewManager;
    33 class CXnViewManager;
    35 class CPeriodic;
    34 class CPeriodic;
       
    35 
    36 // Constants
    36 // Constants
    37 
    37 
    38 // Class declaration
    38 // Class declaration
    39 
    39 
    40 /**
    40 /**
    54         EIsDispose,
    54         EIsDispose,
    55         EIsOccupied,   
    55         EIsOccupied,   
    56         EIsEmpty,
    56         EIsEmpty,
    57         EIsRemovable,
    57         EIsRemovable,
    58         EIsActive,             
    58         EIsActive,             
    59         EIsInitial,
    59         EIsInitial        
    60         EIsDataPluginsReady
       
    61         };
    60         };
    62         
    61         
    63 public:    
    62 public:    
    64     // Constructors and destructor
    63     // Constructors and destructor
    65     
    64     
   110 
   109 
   111 public:
   110 public:
   112     // New functions
   111     // New functions
   113 
   112 
   114     /**
   113     /**
   115      * Loads content to plugin          
   114      * Loads content to plugin
   116      */    
   115      * 
   117     virtual void LoadL();
   116      * @return KErrNone if succesful, error code otherwise          
       
   117      */    
       
   118     virtual TInt Load();
   118 
   119 
   119     /**
   120     /**
   120      * Destroys content from plugin          
   121      * Destroys content from plugin          
   121      */    
   122      */    
   122     virtual void Destroy();
   123     virtual void Destroy();
   238      * Returns plugin type
   239      * Returns plugin type
   239      * 
   240      * 
   240      * @return Plugin type
   241      * @return Plugin type
   241      */    
   242      */    
   242     inline const TDesC8& Type() const;
   243     inline const TDesC8& Type() const;
   243 
       
   244     /**
       
   245      * Sets new plugin state
       
   246      * 
       
   247      * @param aConfigurationState Plugin state     
       
   248      */    
       
   249     void SetPluginStateL( const TDesC8& aPluginState );
       
   250 
       
   251     /*
       
   252      * Reverts plugin state back to confirmed from wait for confirmation
       
   253      */
       
   254     void RevertPluginState();
       
   255         
       
   256     /**
       
   257      * Returns plugin state
       
   258      * 
       
   259      * @return Plugin state
       
   260      */    
       
   261     inline const TDesC8& PluginState() const;
       
   262 
   244 
   263     /**
   245     /**
   264 	 * void SetPublisherNameL( const TDesC8& aPublisherName )
   246 	 * void SetPublisherNameL( const TDesC8& aPublisherName )
   265 	 * Sets the name of the publisher
   247 	 * Sets the name of the publisher
   266 	 *
   248 	 *
   403     /**
   385     /**
   404      * Sets/Unsets the popup
   386      * Sets/Unsets the popup
   405      * @param aVisible sets the popup visible or invisible
   387      * @param aVisible sets the popup visible or invisible
   406      * @param aNode a pointer to the popup node
   388      * @param aNode a pointer to the popup node
   407      */
   389      */
   408     void SetIsDisplayingPopup ( TBool aVisible, CXnNode* aNode );
   390     void SetIsDisplayingPopup( TBool aVisible, CXnNode* aNode );
   409 
   391 
   410     /**
   392     /**
   411      * Checks if the popup is displayed
   393      * Checks if the popup is displayed
   412      */
   394      */
   413     TBool IsDisplayingPopup () const;
   395     TBool IsDisplayingPopup() const;
   414     
   396         
   415     
       
   416     /**
   397     /**
   417      * Returns list of plugindata
   398      * Returns list of plugindata
   418      * 
   399      * 
   419      * @return List of plugindata
   400      * @return List of plugindata
   420      */
   401      */
   421     inline RPointerArray< CXnPluginData >& PluginData() const;
   402     inline RPointerArray< CXnPluginData >& PluginData() const;
   422 
   403 
   423     /**
   404     /**
   424      * Loads data plugins associated to the plugin data
   405      * Loads publishers, called by CXnViewData
   425      * 
   406      * 
   426      */
   407      * @param aReason Load reason
   427     virtual void LoadDataPluginsL();
   408      */    
   428 
   409     TInt LoadPublishers( TInt aReason );
   429     /**
   410         
   430      * Deletes data plugins associated to the plugin data
   411     /**
   431      */
   412      * Queries whether this plugins publishers are virgin
   432     virtual void DestroyDataPluginsL();
   413      * 
   433     
   414      * @return ETrue if virgin, EFalse otherwise
   434     /**
   415      */
   435      * Indicates that all data plugins are loaded by data plugin loader
   416     TBool VirginPublishers() const;
   436      * 
   417         
   437      * @param aStatus Loading status
   418     /**
   438      */
   419      * Show content removed error note
   439     virtual void DataPluginsLoadCompletedL( TInt aStatus );
   420      */
   440 
   421     void ShowContentRemovedError();
   441     /**
   422 
   442      * Returns data plugin loading status
   423     /**
   443      * 
   424      * Show oom error note
   444      * @return ETrue if data plugins are loaded or there is no data
   425      */    
   445      *               plugins associated to the plugin.
   426     void ShowOutOfMemError();
   446      *         EFalse otherwise
   427         
   447      */
       
   448     virtual TBool DataPluginsLoaded() const;
       
   449 
       
   450 
       
   451 private:
   428 private:
   452     // New functions
   429     // New functions
   453     
   430             
   454     static TInt RunL( TAny* aAny );
   431     void LoadPublishers();
       
   432     
       
   433     void DestroyPublishers();
       
   434     
       
   435     void DoDestroyPublishersL();
       
   436     
       
   437     void DoShowContentRemovedErrorL();
       
   438     
       
   439     static TInt PeriodicEventL( TAny* aAny );
   455     
   440     
   456 protected:
   441 protected:
   457     // data
   442     // data
   458         
   443         
   459     /** Data plugin loader, Owned */
   444     /** Data publisher loader, Owned */
   460     CPeriodic* iLoader;
   445     CPeriodic* iLoader;
   461     /** Data plugin load index */
       
   462     TInt iLoadIndex;  
       
   463     /** Plugins data */
   446     /** Plugins data */
   464     mutable RPointerArray< CXnPluginData > iPluginsData;
   447     mutable RPointerArray< CXnPluginData > iPluginsData;
   465     /** List of plugin resources, Owned */
   448     /** List of plugin resources, Owned */
   466     CArrayPtrSeg< CXnResource >* iResources;
   449     CArrayPtrSeg< CXnResource >* iResources;
   467     /** List of controls, Not owned */
   450     /** List of controls, Not owned */
   472     RPointerArray< CXnNode > iAppearanceNodes;
   455     RPointerArray< CXnNode > iAppearanceNodes;
   473     /** List of initial focus nodes, Not owned */
   456     /** List of initial focus nodes, Not owned */
   474     RPointerArray< CXnNode > iInitialFocusNodes;   
   457     RPointerArray< CXnNode > iInitialFocusNodes;   
   475     /** List of popup focus nodes, Not owned */
   458     /** List of popup focus nodes, Not owned */
   476     RPointerArray< CXnNode > iPopupNodes;
   459     RPointerArray< CXnNode > iPopupNodes;
   477 
       
   478     /** Parent, Not owned */
   460     /** Parent, Not owned */
   479     CXnPluginData* iParent;
   461     CXnPluginData* iParent;
   480     /** View manager, Not owned */
   462     /** View manager, Not owned */
   481     CXnViewManager& iManager;
   463     CXnViewManager& iManager;
   482     /** This plugin's node, Not owned */
   464     /** This plugin's node, Not owned */
   491     HBufC8* iPluginUid;
   473     HBufC8* iPluginUid;
   492     /** Plugin name, Owned */
   474     /** Plugin name, Owned */
   493     HBufC8* iPluginName;    
   475     HBufC8* iPluginName;    
   494     /** Plugin type, Owned */
   476     /** Plugin type, Owned */
   495     HBufC8* iPluginType;
   477     HBufC8* iPluginType;
   496     /** Plugin state, Owned */
       
   497     HBufC8* iPluginState;
       
   498     /** Publisher name, Owned */
   478     /** Publisher name, Owned */
   499     HBufC* iPublisherName;
   479     HBufC* iPublisherName;
   500     /** Flags to define this plugin's state */
   480     /** Flags to define this plugin's state */
   501     TBitFlags32 iFlags;
   481     TBitFlags32 iFlags;
       
   482     /** Flag to indicate whether this data's publishers are virgins */
       
   483     TBool iVirginPublishers;    
   502     };
   484     };
   503 
   485 
   504 // Inline functions
   486 // Inline functions
   505 #include "xnplugindata.inl"
   487 #include "xnplugindata.inl"
   506 
   488