idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h
branchRCL_3
changeset 23 7be2816dbabd
parent 11 ff572dfe6d86
equal deleted inserted replaced
19:79311d856354 23:7be2816dbabd
    21 
    21 
    22 // System includes
    22 // System includes
    23 #include <e32base.h>
    23 #include <e32base.h>
    24 #include <babitflags.h>
    24 #include <babitflags.h>
    25 
    25 
       
    26 // User includes
       
    27 
    26 // Forward declarations
    28 // Forward declarations
    27 class CXnNode;
    29 class CXnNode;
    28 class CXnDomNode;
    30 class CXnDomNode;
    29 class CXnResource;
    31 class CXnResource;
    30 class CXnControlAdapter;
    32 class CXnControlAdapter;
    31 class CXnViewData;
    33 class CXnViewData;
    32 class CXnODT;
    34 class CXnODT;
    33 class CXnViewManager;
    35 class CXnViewManager;
    34 class CPeriodic;
    36 class CXnPublisherData;
    35 
    37 
    36 // Constants
    38 // Constants
    37 
    39 
    38 // Class declaration
    40 // Class declaration
    39 
    41 
   308      * @param aList List where they are returned
   310      * @param aList List where they are returned
   309      */
   311      */
   310     virtual void ContentSourceNodesL( RPointerArray< CXnNode >& aList ) const;
   312     virtual void ContentSourceNodesL( RPointerArray< CXnNode >& aList ) const;
   311 
   313 
   312     /**
   314     /**
       
   315      * Returns all publishers
       
   316      * 
       
   317      * @param aList List publishers
       
   318      */
       
   319     virtual void PublishersL( RPointerArray< CXnPublisherData >& aList ) const;    
       
   320     
       
   321     /**
   313      * Adds appearance nodes
   322      * Adds appearance nodes
   314      * 
   323      * 
   315      * @param aNode Node to be added
   324      * @param aNode Node to be added
   316      */
   325      */
   317     void SetAppearanceNodeL( CXnNode* aNode );
   326     void SetAppearanceNodeL( CXnNode* aNode );
   400      * @return List of plugindata
   409      * @return List of plugindata
   401      */
   410      */
   402     inline RPointerArray< CXnPluginData >& PluginData() const;
   411     inline RPointerArray< CXnPluginData >& PluginData() const;
   403 
   412 
   404     /**
   413     /**
   405      * Loads publishers, called by CXnViewData
   414      * Loads publishers
   406      * 
   415      * 
   407      * @param aReason Load reason
   416      * @param aReason Load reason
   408      */    
   417      */    
   409     TInt LoadPublishers( TInt aReason );
   418     void LoadPublishers( TInt aReason );
   410         
   419 
   411     /**
   420     /**
   412      * Queries whether this plugins publishers are virgin
   421      * Destroy publishers
   413      * 
   422      * 
   414      * @return ETrue if virgin, EFalse otherwise
   423      * @param aReason Destroy reason
   415      */
   424      */    
   416     TBool VirginPublishers() const;
   425     void DestroyPublishers( TInt aReason );
   417         
   426             
       
   427     /**
       
   428      * Notifies a publisher is ready
       
   429      */        
       
   430     virtual void NotifyPublisherReadyL();        
       
   431 
   418     /**
   432     /**
   419      * Show content removed error note
   433      * Show content removed error note
   420      */
   434      */
   421     void ShowContentRemovedError();
   435     void ShowContentRemovedError();
   422 
   436 
   430      * 
   444      * 
   431      * @param aStatus "locked" / "none"
   445      * @param aStatus "locked" / "none"
   432      */
   446      */
   433     void SetLockingStatus( const TDesC8& aStatus );    
   447     void SetLockingStatus( const TDesC8& aStatus );    
   434         
   448         
   435 private:
       
   436     // New functions
       
   437             
       
   438     void LoadPublishers();
       
   439     
       
   440     void DestroyPublishers();
       
   441     
       
   442     void DoDestroyPublishersL();
       
   443     
       
   444     void DoShowContentRemovedErrorL();
       
   445     
       
   446     static TInt PeriodicEventL( TAny* aAny );
       
   447     
       
   448 protected:
   449 protected:
   449     // data
   450     // data
   450         
   451         
   451     /** Data publisher loader, Owned */
       
   452     CPeriodic* iLoader;
       
   453     /** Plugins data */
   452     /** Plugins data */
   454     mutable RPointerArray< CXnPluginData > iPluginsData;
   453     mutable RPointerArray< CXnPluginData > iPluginsData;
   455     /** List of plugin resources, Owned */
   454     /** List of plugin resources, Owned */
   456     CArrayPtrSeg< CXnResource >* iResources;
   455     CArrayPtrSeg< CXnResource >* iResources;
   457     /** List of controls, Not owned */
   456     /** List of controls, Not owned */
   458     RPointerArray< CXnControlAdapter > iControls;
   457     RPointerArray< CXnControlAdapter > iControls;
   459     /** List of content source nodes, Not owned */
   458     /** List of publishers, Owned */
   460     RPointerArray< CXnNode > iContentSourceNodes;       
   459     RPointerArray< CXnPublisherData > iPublishers;
   461     /** List of appearance nodes, Not owned */
   460     /** List of appearance nodes, Not owned */
   462     RPointerArray< CXnNode > iAppearanceNodes;
   461     RPointerArray< CXnNode > iAppearanceNodes;
   463     /** List of initial focus nodes, Not owned */
   462     /** List of initial focus nodes, Not owned */
   464     RPointerArray< CXnNode > iInitialFocusNodes;   
   463     RPointerArray< CXnNode > iInitialFocusNodes;   
   465     /** List of popup focus nodes, Not owned */
   464     /** List of popup focus nodes, Not owned */
   484     HBufC8* iPluginType;
   483     HBufC8* iPluginType;
   485     /** Publisher name, Owned */
   484     /** Publisher name, Owned */
   486     HBufC* iPublisherName;
   485     HBufC* iPublisherName;
   487     /** Flags to define this plugin's state */
   486     /** Flags to define this plugin's state */
   488     TBitFlags32 iFlags;
   487     TBitFlags32 iFlags;
   489     /** Flag to indicate whether this data's publishers are virgins */
       
   490     TBool iVirginPublishers;    
       
   491     };
   488     };
   492 
   489 
   493 // Inline functions
   490 // Inline functions
   494 #include "xnplugindata.inl"
   491 #include "xnplugindata.inl"
   495 
   492