diff -r b2bba7f74ac0 -r bcb8d447d716 idlefw/plugins/shortcutplugin/inc/caiscutsettingsmodel.h --- a/idlefw/plugins/shortcutplugin/inc/caiscutsettingsmodel.h Mon Mar 08 21:43:47 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,325 +0,0 @@ -/* -* Copyright (c) 2005-2006 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: Shrortcut settings plug-in model. -* -*/ - - -#ifndef CAISCUTSETTINGSMODEL_H -#define CAISCUTSETTINGSMODEL_H - -#include -#include // For MDesCArray -#include // For RApaLsSession -#include // For RFavouritesDb -#include // For CFavouritesItemList - -#include "caiscutsettingsapplist.h" -#include "caiscutsettingsbkmlist.h" - -class CCoeEnv; -class CRepository; -class CAiScutSettingsItem; -class CAiScutSettingsContainer; -class CAiScutRepositoryWatcher; -class CAiScutSettings; - -/** - * Shrortcut settings plug-in model - * - * @lib aiscutsettings.lib - * @since S60 v3.2 - */ -class CAiScutSettingsModel : public CBase - , public MDesCArray - , public MAiScutListObserver -{ - -public: - - /** - * - */ - static CAiScutSettingsModel* NewL(CAiScutSettings& aPlugin, CCoeEnv* aEnv); - - /** - * - */ - virtual ~CAiScutSettingsModel(); - -public: // from MDesCArray - - /** - * Returns the number of descriptor elements in a descriptor array. - * - * @since S60 v3.2 - * @return The number of descriptor elements in a descriptor array. - */ - TInt MdcaCount() const; - - /** - * Indexes into a descriptor array. - * - * @since S60 v3.2 - * @param aIndex The position of the descriptor element within a descriptor array. - * @return A 16 bit non-modifiable pointer descriptor representing the descriptor - * element located at position aIndex within a descriptor array. - */ - TPtrC MdcaPoint(TInt aIndex) const; - - /** - * Handle Shortcuts changed - */ - static TInt HandleShortcutsChanged(TAny* aPtr); - - /** - * Handle hidden Applications changed - */ - static TInt HandleHiddenAppsChanged(TAny* aPtr); - -public: // from MAiScutListObserver - - /** - * From MAiScutListObserver - * Callback for application list events - * - * @since S60 v3.2 - * @param aEvent AppList event code - * @param aAdded ETrue if applications were added, EFalse if removed - */ - void HandleScutListEventL(TScutListEvent aEvent, TBool aAdded); - - /** - * Find application is hidden using Uid - */ - TBool IsHidden(const TUid& aAppUid) const; - -public: - - /** - * Tells the application list and bookmark list to start or stop observing for changes - */ - void ActivateObservers(TBool aActivate); - - /** - * Returns a setting item for the given index - * - * @since S60 v3.2 - * @param aIndex Index of the setting item - * @return Pointer to a setting item - */ - CAiScutSettingsItem* Item(TInt aIndex) const; - - /** - * Utility function to retrieve an appliation caption from an uid - * - * @since S60 v3.2 - * @param aUid Application uid - * @return Pointer descriptor to the application caption - */ - TInt GetAppCaption(const TUid aUid, TDes& aCaption); - - /** - * Utility function to retrieve a bookmark caption from an uid - * - * @since S60 v3.2 - * @param aUid Bookmark uid - * @return Pointer descriptor to the bookmark caption - */ - TInt GetBkmCaptionL(const TUid aUid, TDes& aCaption); - - /** - * Returns a pointer to the coe environment - * - * @since S60 v3.2 - * @return Pointer to coe environment - */ - CCoeEnv* Env(); - - /** - * Handles saving a setting item to central repository - * - * @since S60 v3.2 - * @param aItem Item to save - */ - void SaveItemL(CAiScutSettingsItem& aItem); - - /** - * Sets pointer to settings plug-in container. - * - * @since S60 v3.2 - * @param aContainer Pointer to settings plug-in container. - */ - void SetContainer(CAiScutSettingsContainer* aContainer); - - /** - * Read bookmarks from favourites engine. - * - */ - void ReadBookmarksL(); - - /** - * Return bookmark count. - */ - TInt BookmarkCount() const; - - /** - * Get bookmark from index aIndex. - */ - CFavouritesItem* GetBookmark(TInt aIndex); - - /** - * Returns reference to the bookmark database owned by the engine - * - * @return Reference to RFavouritesDb - */ - RFavouritesDb& FavouritesDb(); - - /** - * - */ - CAiScutSettingsAppList* AppList(); - - /** - * - */ - CAiScutSettingsBkmList* BkmList(); - - /** - * - */ - void SetSettingsKeys(RArray& aKeys); - - /** - * - */ - void UpdateSettingsL(); - - /** - * - */ - void UpdateSettingsContainerL(); - -private: - - /** - * - */ - CAiScutSettingsModel(CAiScutSettings& aPlugin, CCoeEnv* aEnv); - - /** - * - */ - void ConstructL(); - - - /** - * - */ - void GetHiddenAppsL(); - -private: // data - - /** - * Array of setting items. - * Own. - */ - RPointerArray iSettings; - - /** - * Array of keys for settings items - * Own. - */ - RArray iKeys; - - /** - * Central repository handler. - * Own. - */ - CRepository* iRepository; - - /** - * Application architecture server session. - * Own. - */ - RApaLsSession iApaSession; - - /** - * Bookmark database session. - * Own. - */ - RFavouritesSession iBookmarkSess; - - /** - * Bookmark database. - * Own. - */ - RFavouritesDb iBookmarkDb; - - /** - * Bookmark list. - * Own. - */ - CFavouritesItemList* iFavItemList; - - /** - * Settings plugin - * Not own. - */ - CAiScutSettings& iPlugin; - - /** - * Coe environment. - * Not own. - */ - CCoeEnv* iEnv; - - /** - * Application list. - * Own. - */ - CAiScutSettingsAppList* iAppList; - - /** - * Bookmark list. - * Own. - */ - CAiScutSettingsBkmList* iBkmList; - - /** - * Notifier for changes in the shortcut settings. - * Own. - */ - CAiScutRepositoryWatcher* iSettingsNotifier; - - /** - * Settings plugin container. - * Not own. - */ - CAiScutSettingsContainer* iContainer; - - // Array of UIDs which are hidden from the TARM - RArray iHiddenApps; - - // Central repository object for Hidden Apps - CRepository* iHiddenAppsRepository; - - // Central repository change handler for Hidden Apps - CAiScutRepositoryWatcher* iHiddenAppsNotifier; - -}; - -#endif // CAISCUTSETTINGSMODEL_H - -// End of File.