commsconfig/cscapplicationui/inc/cscserviceview.h
changeset 0 a4daefaec16c
child 6 fc8c25e5a2e8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsconfig/cscapplicationui/inc/cscserviceview.h	Mon Jan 18 20:12:36 2010 +0200
@@ -0,0 +1,368 @@
+/*
+* Copyright (c) 2007-2007 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:  CSC Applications Service View
+*
+*/
+
+
+#ifndef C_CSCSERVICEVIEW_H
+#define C_CSCSERVICEVIEW_H
+
+#include <aknview.h>
+#include "mcscservicecontainerobserver.h"
+
+class CCSCAppUi;
+class CCSCDialog;
+class CCSCEngCCHHandler;
+class CCSCServiceContainer;
+class CCSCEngStartupHandler;
+class CCSCEngServiceHandler;
+class CCSCEngBrandingHandler;
+class CCSCEngServicePluginHandler;
+class CCSCEngUiExtensionPluginHandler;
+class CCSCSettingsUi;
+
+/**
+ *  CCSCServiceView class
+ *  An instance of CCSCServiceView is the Application View object
+ *  for the CSC application
+ *
+ *  @lib
+ *  @since S60 v3.2
+ */
+NONSHARABLE_CLASS( CCSCServiceView ) : public CAknView,
+                                       public MEikListBoxObserver,
+                                       public MCSCServiceContainerObserver
+    {
+    public:
+
+        /**
+         * Two-phased constructor.
+         *
+         * @param aServicePluginHandler reference to service plug-in handler
+         * @param aUiExtensionPluginHandler reference to ui extension 
+         *        plug-in handler
+         * @param aStartupHandler reference to startup handler
+         * @param aServiceHandler reference to service handler
+         * @param aBrandingHandler reference to branding handler
+         * @param aCCHHandler reference to cch handler
+         */
+        static CCSCServiceView* NewL( 
+            CCSCEngServicePluginHandler& aServicePluginHandler,
+            CCSCEngUiExtensionPluginHandler& aUiExtensionPluginHandler,
+            CCSCEngStartupHandler& aStartupHandler,
+            CCSCEngServiceHandler& aServiceHandler,
+            CCSCEngBrandingHandler& aBrandingHandler,
+            CCSCEngCCHHandler& aCCHHandler );
+
+
+        /**
+         * Two-phased constructor.
+         *
+         * @param aServicePluginHandler reference to service plug-in handler
+         * @param aUiExtensionPluginHandler reference to ui extension 
+         *        plug-in handler
+         * @param aStartupHandler reference to startup handler
+         * @param aServiceHandler reference to service handler
+         * @param aBrandingHandler reference to branding handler
+         * @param aCCHHandler reference to cch handler
+         */
+        static CCSCServiceView* NewLC( 
+            CCSCEngServicePluginHandler& aServicePluginHandler,
+            CCSCEngUiExtensionPluginHandler& aUiExtensionPluginHandler,
+            CCSCEngStartupHandler& aStartupHandler,
+            CCSCEngServiceHandler& aServiceHandler,
+            CCSCEngBrandingHandler& aBrandingHandler,
+            CCSCEngCCHHandler& aCCHHandler );
+
+        
+        /**
+         * Destructor.
+         */
+        virtual ~CCSCServiceView();
+        
+        /**
+         * Initializes view with startup parameters.
+         * 
+         * @since S60 v5.1
+         */
+        void InitializeWithStartupParametersL();
+                            
+        /**
+         * Updates container data because of layout change.
+         *
+         * @since S60 v3.2
+         * @param aType for layout change type
+         */ 
+        void UpdateLayout( TInt aType );
+        
+         
+       
+        // from base class CAknView
+        
+        /**
+         * From CAknView.
+         * Handles the commands. If the command is command which is require to
+         * display outline-screen, the command display outline-screen
+         * corresponded to required.
+         *
+         * @since S60 v3.0
+         * @param aCommand Command to be handled.
+         */
+        void HandleCommandL( TInt aCommand );
+        
+        
+        /**
+         * From CAknView.
+         *
+         * @since S60 v3.0
+         * @return The ID of view.
+         */
+        TUid Id() const;
+        
+        
+        /**
+         * From CAknView.
+         *
+         * @since S60 v3.0
+         * @param aForeground
+         */
+        void HandleForegroundEventL( TBool aForeground );
+        
+         
+        /**
+         * For handling ui extension plug-in exits
+         *
+         * @since S60 v3.2
+         */  
+        void HandleUiExtensionExitL();
+        
+        
+        /**
+         * For updating service view
+         *
+         * @since S60 v3.2
+         */  
+        void UpdateServiceViewL();
+        
+        
+        /**
+         * For deleting service
+         *
+         * @since S60 v3.2
+         * @param aServiceId
+         */  
+        void DeleteServiceL( TUint aServiceId );
+        
+        
+        /**
+         * Service configuration failed.
+         *
+         * @since S60 v3.2
+         * @param aIndex index of plugin
+         */ 
+        void ServiceConfiguringFailedL( TInt aIndex );
+        
+        
+        /**
+         * Hides dialog wait note
+         *
+         * @since S60 v3.2
+         * @param aIndex index of plugin
+         */ 
+        void HideDialogWaitNote();
+        
+                
+        /**
+         * For handling service configuration
+         *
+         * @since S60 v3.2
+         * @param aUid for service setup plugin uid
+         * @return ETrue if configuration canceled by user
+         */  
+        TBool HandleServiceConfigurationL( TUid aUid  );
+        
+        
+        /**
+         * Executes startup actions based on startup parameters.
+         * 
+         * @since   S60 v5.1
+         * @param   aForeGroundEvent    ETrue if initiated by foreground event.
+         * @param   aLaunchedFromAi     ETrue if launched from active idle.
+         */
+        void ExecuteStartupActionsL( 
+            TBool aForeGroundEvent = EFalse,
+            TBool aLaunchedFromAi = EFalse );
+        
+        
+        // from base class MCSCServiceContainerObserver
+        
+        /**
+         * Update softkey
+         *
+         * @since S60 v3.2
+         */         
+        void UpdateCbaL();
+                
+    protected:
+              
+        // from base class MEIkListBoxObserver
+        
+        /**
+         * From MEikListBoxObserver.
+         * For handling list box events.
+         *
+         * @since S60 v3.0
+         * @param aListBox for listbox
+         * @param aEventType for event type
+         */
+        void HandleListBoxEventL( CEikListBox* aListBox, 
+                                  TListBoxEvent aEventType );    
+                                  
+        
+        
+    private:
+        
+        
+        CCSCServiceView( 
+            CCSCEngServicePluginHandler& aServicePluginHandler,
+            CCSCEngUiExtensionPluginHandler& aUiExtensionPluginHandler,
+            CCSCEngStartupHandler& aStartupHandler,
+            CCSCEngServiceHandler& aServiceHandler,
+            CCSCEngBrandingHandler& aBrandingHandler,
+            CCSCEngCCHHandler& aCCHHandler );
+        
+  
+        void ConstructL();
+        
+        
+        /**
+         * For handling listbox itemp opening.
+         *
+         * @since S60 v3.2
+         */  
+        void HandleListboxItemOpenL();
+        
+        
+        /**
+         * For changing text in the title pane.
+         *
+         * @since S60 v3.2
+         */         
+        void SetTitlePaneTextL() const;
+                 
+                
+        // from base class CAknView
+        
+        /**
+         * From CAknView.
+         * Dynamically initializes the contents of the menu list.
+         *
+         * @since S60 v3.0
+         * @param aResourceId Initiallized resource
+         * @param aMenuPane Instance to MenuPanel
+         */
+        void DynInitMenuPaneL( TInt aResourceId,
+                               CEikMenuPane* aMenuPane );
+        
+        
+        /**
+         * From CAknView.
+         * Creates the Container class object.
+         *
+         * @since S60 v3.0
+         * @param aPrevViewId is not used.
+         * @param aCustomMessageId is not used.
+         * @param aCustomMessage is not used.
+         */
+        void DoActivateL( const TVwsViewId& aPrevViewId,
+                          TUid aCustomMessageId,
+                          const TDesC8& aCustomMessage );
+
+
+        /**
+        * From CAknView.
+        * Deletes the Container class object.
+        *
+        * @since S60 v3.0
+        */
+        void DoDeactivate();
+        
+        
+    private: // data
+                           
+        /**
+         *  Reference to CCSCServicePluginHandler
+         */          
+        CCSCEngServicePluginHandler& iServicePluginHandler;
+        
+        /**
+         *  Reference to CCSCUiExtensionPluginHandler
+         */         
+        CCSCEngUiExtensionPluginHandler& iUiExtensionPluginHandler;
+                
+        /**
+         *  Reference to CCSCEngStartupHandler
+         */         
+        CCSCEngStartupHandler& iStartupHandler;
+        
+        /**
+         *  Reference to CCSCEngServiceHandler
+         */         
+        CCSCEngServiceHandler& iServiceHandler;
+        
+        /**
+         *  Reference to CCSCEngBrandingHandler
+         */
+        CCSCEngBrandingHandler& iBrandingHandler;
+        
+        /**
+         *  Reference to CCSCEngCCHHandler
+         */
+        CCSCEngCCHHandler& iCCHHandler;
+                
+        /**
+         * Pointer to service container
+         * Own.
+         */       
+        CCSCServiceContainer* iContainer;
+        
+        /**
+         * Pointer to CSC Settings UI
+         * Own.
+         */ 
+        CCSCSettingsUi* iSettingsUi; 
+        
+        /**
+         *  Flag indicating if DoActivateL is called first time (startup)
+         */ 
+        TBool iStartup;
+                                                        
+        /**
+         * Current list item index in container
+         */
+        TInt iCurrentIndex;
+        
+        /**
+         * Array for already offered to configure plugin uids
+         */
+        RArray<TUid> iOfferedPluginUids;
+        
+#ifdef _DEBUG
+    friend class UT_CSC;
+#endif
+        
+    };
+
+#endif // C_CSCSERVICEVIEW_H