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 |