diff -r b01126ce0bec -r ba63c83f4716 idlehomescreen/examples/carouselwidgetexample/publisher/inc/carouselplugindata.h --- a/idlehomescreen/examples/carouselwidgetexample/publisher/inc/carouselplugindata.h Wed Sep 15 12:00:00 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,274 +0,0 @@ -/* -* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Plug-in data class -* -*/ - - -#ifndef CMCSPLUGINDATA_H -#define CMCSPLUGINDATA_H - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include - -class TMenuItem; -class CCarouselPluginEngine; - -/** - * @ingroup group_mcsplugin - * - * Stores the MCS Menu Items and keeps track whether - * item needs to be published or not. - * - * @since S60 v9.1 - */ -NONSHARABLE_CLASS( CCarouselData ) : public CBase - { -public: - CCarouselData(); - - ~CCarouselData(); - - /** - * SetMenuItem - * - * @param aMenuItem - */ - void SetMenuItem( TMenuItem& aMenuItem ); - - /** - * MenuItem - * - * @return TMenuItem - */ - TMenuItem& MenuItem(); - - /** - * Name of the item. - */ - TDesC& Name(); - - /** - * Set name of the item, - */ - void SetNameL( const TDesC& aName ); - - /** - * Value of the item. Used for bookmark url. - */ - TDesC& Value(); - - /* - * Set value of the item. - */ - void SetValueL( const TDesC& aValue ); - - /** - * SetDirty - * - * @param aDirty - * @return TBool - */ - void SetDirty( TBool aDirty ); - - /** - * IsDirty - * - * @return TBool - */ - TBool IsDirty() const; - -private: - /** - * iMenuItem - */ - TMenuItem iMenuItem; - - /** - * Item name, own - */ - HBufC* iName; - - /** - * Item value, own - */ - HBufC* iValue; - - /** - * iDirty - */ - TBool iDirty; - }; - -/** - * @ingroup group_mcsplugin - * - * Plug-in data class - * - * @since - */ -NONSHARABLE_CLASS( CCarouselPluginData ) : public CBase, - public HSPluginSettingsIf::MHomeScreenSettingsObserver - { - -public: - - /** - * Part of the two phased constuction - * - * @param aEngine - * @param aInstanceUid - * @return Pointer to the created CMCSPluginData object - */ - static CCarouselPluginData* NewL( CCarouselPluginEngine& aEngine, - const TDesC8& aInstanceUid ); - - /** - * Constructor - * - * @param aEngine - * @param aInstanceUid - * @return none - */ - CCarouselPluginData( CCarouselPluginEngine& aEngine, const TDesC8& aInstanceUid ); - - /** - * Destructor - * - * @param none - * @return none - */ - ~CCarouselPluginData(); - - /** - * DataItem - * - * @param aIndex - * @return TMCSData& - */ - CCarouselData& DataItemL( TInt aIndex ); - - /** - * Saves 'Undefined' menu item into settings when mailbox is deleted - * - * @param aIndex - * @param aMenuItem - */ - void SaveUndefinedItemL( const TInt& aIndex ); - - /** - * DataCount - * - * @return TInt - */ - TInt DataCount(){ return iData.Count();}; - - /** - * Gets the instance specific settings from HSPS and creates data items - */ - void UpdateDataL(); - - /** - * Removes data item from data list and saves new setting into HSPS - */ - void RemoveDataL( TInt aId ); - - // From MHomeScreenSettingsObserver - /** - * SettingsChangedL - * - * @param aEvent - * @param aPluginName - * @param aPluginUid - * @param aPluginId - */ - void SettingsChangedL( const TDesC8& aEvent, const TDesC8& aPluginName, - const TDesC8& aPluginUid, const TDesC8& aPluginId ); - -private: - - /** - * Part of the two phased construction - * - * @param void - * @return void - */ - void ConstructL(); - - /** - * GetMenuDataL - * @param aProperties - * @return TMenuItem - */ - CCarouselData* GetMenuDataL( - RPointerArray& aProperties ); - - /** - * Get bookmark data item - * @param aUid, used for bookmark uid - * @param aView, used for bookmark url - * @param aParam, used for bookmark name - * @param aData, is filled with appropriate values - */ - void GetBkmDataL( const TDesC8& aUid, const TDesC8& aView, const TDesC8& aParam, CCarouselData& aData ); - - /** - * Get folder data item - * @param aParam, is used for folder id (in MCS) - * @param aData, is filled with appropriate values - */ - void GetFolderData( const TDesC8& aParam, CCarouselData& aData ); - - /** - * Get mailbox data item - * @param aUid, uid of the mailbox in messaging application - * @param aParam, name of the mailbox - * @param aData, is filled with appropriate values - */ - void GetMailboxDataL( const TDesC8& aUid, const TDesC8& aParam, CCarouselData& aData ); - - /** - * Get MCS data item - * @param aProperties, Properties are used to filter correct item from MCS. - * @param aData, is filled with appropriate values - */ - void GetMCSDataL( - RPointerArray& aProperties, CCarouselData& aData ); - -private: // data - - // Menu items, which are defined in settings - // Own - RPointerArray iData; - - // Plugin settings. NOT OWNED! - HSPluginSettingsIf::CHomescreenSettings* iPluginSettings; - - // Reference to MCS plug-in engine - CCarouselPluginEngine& iEngine; - - // Reference to instance uid of HSPS widget - const TDesC8& iInstanceUid; - - // MCS resource handle, owned - RMenu iMenu; - - }; - -#endif // CMCSPLUGINDATA_H