homesync/contentmanager/mediaservant/inc/msappui.h
changeset 0 7f85d04be362
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homesync/contentmanager/mediaservant/inc/msappui.h	Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,219 @@
+/*
+* 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 MediaServant appui class
+*
+*/
+
+
+#ifndef C_CMSAPPUI_H
+#define C_CMSAPPUI_H
+
+// INCLUDES
+#include <aknViewAppUi.h>
+#include <GSPluginInterface.h>
+#include <GSFWViewUIDs.h>
+#include <GSPluginLoader.h>
+
+#include "msparameteragent.h"
+#include "msfillrulecontroller.h"
+
+// FORWARD DECLARATIONS
+class CMSEngine;
+class CMSStoreListController;
+class CCmDriveInfo;
+class CMSGSInterface;
+
+/**
+ *  Application UI class.
+ *
+ *  @since S60 5.1
+ */
+NONSHARABLE_CLASS( CMSAppUi ): public CAknViewAppUi
+    {
+
+    public:
+
+
+        /**
+         * Destructor.
+         */
+        ~CMSAppUi();
+
+        /**
+         * Changes active view according to parameters.
+         * @since S60 3.1
+         * @param aOldView current view
+         * @param aNewView new view
+         */
+        void ChangeViewL(const TUid& aOldView, const TUid& aNewView);
+
+        /**
+         * Returns fill rule controller
+         * @since S60 3.1
+         * @return CMSFillRuleController, controller pointer
+         */
+        CMSFillRuleController* FillRuleController();
+
+        /**
+         * Returns store rule controller
+         * @since S60 5.0
+         * @return CCmStoreListController, pointer to controller
+         */
+        CMSStoreListController* StoreListController();
+
+        /**
+         * Refresh store and fill lists
+         * @since S60 3.1
+         */
+        void RefreshListsL();
+
+        /**
+         * File server session
+         * @since S60 3.1
+         * return RFs, file server session
+         */
+        RFs& FsSession();
+
+        /**
+         * Returns msengine
+         * @since S60 3.1
+         * @return CMSEngine, pointer to engine
+         */
+        CMSEngine* MSEngine();
+
+        /**
+         * Reads memory info
+         * @since S60 3.1
+         * @param aCapasity, size of memory
+         * @param aFreeSpace, free space of memory
+         * @return TInt, error code
+         */
+        TInt ReadMMCInfoL( TInt64& aCapasity, TInt64& aFreeSpace );
+        /**
+         * Get Filled Files Size
+         * @since S60 3.1
+         * @param aSize, size of filled files
+         * @param aID, fill rule ID
+         */
+        void GetFilledFilesSize( TInt64& aSize, const TInt aID );
+
+        /**
+         * Returns pointer to parameter agent
+         * @since S60 3.1
+         * @return CMSParameterAgent, parameter agent
+         */
+        CMSParameterAgent* ParameterAgent();
+
+        /**
+         * drive selection indicator
+         * @since S60 3.1
+         * @return TBool, ETrue if selected, EFalse otherwise
+         */
+        TBool DriveSelectedL();
+
+        /**
+         * drive selection indicator
+         * @since S60 3.1
+         * @return TBool, ETrue if selected, EFalse otherwise
+         */
+        CMSGSInterface* SettingsPlugin();
+
+        /**
+         * Compares IDs of two drives
+         * @since S60 3.1
+         * @return TBool, ETrue if match, EFalse otherwise
+         */
+
+        static TBool CompareIds( const CCmDriveInfo& aStoredDrive,
+                                 const CCmDriveInfo& aDrive );
+
+        /**
+         * Start wizard
+         * 
+         * @since S60 5.1
+         * @return TInt, wizard exit code
+         */
+        TInt RunWizardL();
+        
+protected:
+
+// From base class CAknViewAppUi
+
+        /**
+         * From CAknViewAppUi
+         * See base class definition
+         */
+        void HandleCommandL( TInt aCommand );
+
+private:
+        /**
+         * Performs the second phase construction.
+         */
+        void ConstructL();
+
+        /**
+         * Checks if selected memory is on the device
+         * @since S60 3.1
+         * @return TBool, ETrue if found, EFalse otherwise
+         */
+        TBool MemoryAttachedL();
+
+
+        /**
+         * Loads gs plugin ( settings view )
+         * @since S60 3.1
+         */
+        void LoadSettingsPluginL();
+
+       /**
+         * Check memory selected status, if none of drives have been selected
+         * the mass memory will be selected as default drive
+         * @since S60 3.2
+         */
+        void CheckDrivesSelectedL();
+
+private:
+
+        /**
+         * view which is currently active
+         */
+        TInt iActiveView;
+        /** 
+         * focus index of main view
+         */        
+        TInt iMainFocusIndex;
+        /**
+         * pointer to application engine
+         */
+        CMSEngine*                  iMSEngine;              // owned
+        /**
+         * parameter class
+         */
+        CMSParameterAgent*          iParameterAgent;        // owned
+        /**
+         * fill list controller
+         */
+        CMSFillRuleController*      iFillRuleController;    // owned
+        /**
+         * store list controller
+         */
+        CMSStoreListController*     iStoreListController;   // owned
+        /**
+         * GS plugin ( settings view )
+         */
+        CMSGSInterface*             iPlugin;                // owned
+    };
+#endif // C_CMSAPPUI_H
+
+// End of File