homesync/contentmanager/homesyncgsplugin/inc/mssettingitemlist.h
changeset 0 7f85d04be362
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homesync/contentmanager/homesyncgsplugin/inc/mssettingitemlist.h	Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,214 @@
+/*
+* Copyright (c) 2008 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:  Definition for Setting item list -class
+*
+*/
+
+
+#ifndef MSSETTINGITEMLIST_H
+#define MSSETTINGITEMLIST_H
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+
+#include "cmcommon.h"
+#include "msengineobserver.h"
+#include "msgs.hrh"
+
+// FORWARD DECLARATIONS
+class CMSSettingsView;
+class CMSEngine;
+class CCmMediaServerFull;
+
+
+// CLASS DECLARATION
+
+/**
+* CMSSSettingItemList general class. This class is used to
+* create setting items to several setting item lists.
+*/
+NONSHARABLE_CLASS( CMSSettingItemList ): public CAknSettingItemList,
+                                         public MMSEngineObserver
+    {
+    public: // Constructor and destructor
+
+        /**
+         * NewL
+         * 2-phase constructor.
+         * @param aResourceId : resource ID of setting page.
+         * @param aAppUi : application ui.
+         */
+        static CMSSettingItemList* NewL( TInt aResourceId,
+                                         CMSSettingsView& aView );
+
+        /**
+         * NewLC
+         * 2-phase constructor.
+         * @param aResourceId : resource ID of setting page.
+         * @param aAppUi : application ui.
+         */
+        static CMSSettingItemList* NewLC( TInt aResourceId,
+                                         CMSSettingsView& aView );
+
+        /**
+         * Constructor.
+         */
+        CMSSettingItemList( CMSSettingsView& aView );
+        
+        /**
+         * ConstructL
+         * Second phase constructor.
+         * @param aResourceId : resource ID of setting page.
+         * @param aAppUi : application ui
+         */
+        void ConstructL( TInt aResourceId );
+
+        /**
+         * Destructor.
+         */
+        virtual ~CMSSettingItemList();
+
+        /**
+         * Opens the selected listbox item
+         *
+         * @since S60 5.1
+         */
+        void OpenSelectedListboxItemL();
+
+        /**
+         * Returns MSEngine
+         *
+         * @since S60 5.1
+         * @return CMSEngine, application engine
+         */
+        CMSEngine* MSEngine();
+
+    protected:
+
+    // From base class CAknSettingItemList
+
+        /**
+         * From CAknSettingItemList
+         * See base class definition
+         */
+        CAknSettingItem* CreateSettingItemL( TInt aSettingId );
+
+        /**
+         * From CAknSettingItemList
+         * See base class definition
+         */
+        void SizeChanged();
+
+        /**
+         * From CAknSettingItemList
+         * See base class definition
+         */
+        void HandleResourceChange( TInt aType );
+
+        /**
+         * From CAknSettingItemList
+         * See base class definition
+         */
+        void EditItemL ( TInt aIndex, TBool aCalledFromMenu );
+
+        /**
+         * From CAknSettingItemList
+         * See base class definition
+         */
+        void HandleListBoxEventL( CEikListBox *aListBox,
+                                  TListBoxEvent aEventType );
+
+    // From base class MMSEngineObserver
+
+        /**
+         * From MMSEngineObserver
+         * see base class definition
+         */
+        void ReadyL( TCmService aService, TInt aError );
+
+    // From base class CCoeControl
+
+        /**
+         * From CCoeControl
+         * see base class definition
+         */
+        void GetHelpContext(TCoeHelpContext& aContext) const;
+
+    private:
+
+        /**
+         * Searches item from the list be item ID
+         *
+         * @since S60 5.1
+         * @param aId, item id
+         * @return CAknSettingItem, item pointer
+         */
+        CAknSettingItem* SearchItemById( const TMSSettingItems aId ) const;
+
+        /**
+         * Reads current profile from cenrep
+         *
+         * @since S60 5.1
+         * @return TInt, profile
+         */
+        TInt GetCurrentProfileL() const;
+
+        /**
+         * Sets memory selection visibility
+         *
+         * @since S60 5.1
+         */
+        void SetMemorySelectionL();
+
+    private:
+
+        /**
+         * Reference to AppUi
+         */
+        CMSEngine*                          iMSEngine;          // owned
+        
+        /**
+         * Parent view
+         */
+        CMSSettingsView&                    iView;
+        
+        /**
+         * Pointer to listbox
+         */
+        CEikFormattedCellListBox*           iListBox;           // not owned
+        
+        /**
+         * dummy text needed by text setting items
+         */
+        TBuf<KMaxFileName>                  iDummyText;
+        
+        /**
+         * Sync selection
+         */
+        TCmServiceState                     iSync;
+        
+        /**
+         * Memory manager
+         */
+        TCmServiceState                     iMemoryManager;
+        
+        /**
+         * searched servers list
+         */
+        RPointerArray<CCmMediaServerFull>*  iStoredServers;     // owned        
+    };
+
+#endif // MSSETTINGITEMLIST_H
+
+// End of File