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 |