wlanutilities/wlansniffer/aiplugin/inc/wsfaiview.h
branchRCL_3
changeset 25 f28ada11abbf
parent 0 56b72877c1cb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/aiplugin/inc/wsfaiview.h	Wed Sep 01 12:20:32 2010 +0100
@@ -0,0 +1,263 @@
+/*
+* Copyright (c) 2007-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:  Class header for CWsfAiView
+*
+*/
+
+
+#ifndef C_WSFAIVIEW_H
+#define C_WSFAIVIEW_H
+
+//  EXTERNAL INCLUDES
+#include <e32def.h>
+
+//  INTERNAL INCLUDES
+#include "wsfaiuiobserver.h"
+#include "wsfaiplugincommon.h"
+
+
+//  CONSTANTS
+//  MACROS
+//  DATA TYPES
+//  FORWARD DECLARATIONS
+class CEikLabel;
+class MWsfAiPublishObserver;
+
+class CWsfAiView : public CBase,
+                   public MWsfAiUiObserver
+    {
+    public:     // Constructors
+        /**
+        * Two-phased constructor
+        * @since S60 5.0 
+        * @param aPublishObserver - reference to the plugin's 
+        *                           abstract interface
+        * @return instance of CWsfAiView class
+        */
+        static CWsfAiView* NewL( MWsfAiPublishObserver& aPublishObserver );
+        
+        /**
+        * Two-phased constructor. Leaves the object on CleanupStack
+        * @since S60 5.0 
+        * @param aPublishObserver - reference to the plugin's 
+        *                           abstract interface
+        * @return instance of CWsfAiView class
+        */
+        static CWsfAiView* NewLC( MWsfAiPublishObserver& aPublishObserver );
+        
+        /**
+        * Destructor of CWsfAiView class
+        * @since S60 5.0     
+        */
+        ~CWsfAiView();
+        
+    private:
+        
+        /**
+        * Default C++ constructor 
+        * @since S60 5.0 
+        * @param aPublishObserver - reference to the plugin's 
+        *                           abstract interface
+        */
+        CWsfAiView( MWsfAiPublishObserver& aPublishObserver );
+        
+        /**
+        * 2nd phase constructor
+        * @since S60 5.0 
+        */
+        void ConstructL();    
+
+    public: // from MWsfAiUiObserver
+        
+        /**
+        * Update the contents of control
+        * Set the focus on aCurrentImte
+        * @since S60 5.0 
+        * @param aItemTextArray text of the current item
+        * @param aCurrentItem index of the current item
+        */ 
+        void UpdateHotSpotsL( MDesCArray* aItemTextArray, 
+                              TInt aCurrentItem );
+
+        /**
+        * Gives back the index of the selected item
+        * @since S60 5.0 
+        * @return the index of the selected item
+        */ 
+        TInt SelectedItem();
+        
+        /*
+        * Check if the control is multiline capable control 
+        * @since S60 5.0 
+        * @return Etrue if control is multiline capable control
+        */
+        TBool MultilineControl();
+
+        /*
+        * Display engine off text in UI
+        * @since S60 5.0 
+        */
+        void DisplayEngineOffL();
+        
+        /*
+        * Set the refressing UI note visible
+        * @since S60 5.0 
+        */
+        void ForceRefreshingL();
+        
+        /*
+        * Set the refressing UI note visible
+        * @since S60 5.0 
+        */
+        void StartConnectingAnimationL();
+        
+        /**
+        * Update the contents of control
+        * @since S60 5.0 
+        * @param aItemTextArray text of the current item
+        */ 
+        void UpdateViewL( MDesCArray* aItemTextArray );
+        
+    private:
+        
+        /*
+        * Parses the string into ui component data
+        * @since S60 5.0 
+        * @param aString - a string into ui
+        * @return - TBool - ETrue if deferred update is executed
+        */
+         TBool ParseStringL( const TDesC& aString );
+             
+        /*
+        * Complete the change for new data - this is 
+        * a callback for deferred update
+        * @since S60 5.0 
+        * @param aPtr pointer to this
+        * @return ETrue if update is completed
+        */
+        static TInt DoCompleteUpdateL( TAny* aPtr );
+
+        /* 
+        * Commit the update change
+        * @since S60 5.0 
+        */
+        void DoCompleteUpdateL();
+
+        /** 
+        * Activates refresh timer  
+        * @since S60 5.0 
+        */
+        void ActivateRefreshTimer();
+        
+        /**
+        * 'MakePublishIconsL' and 'MakeTransparentPublishIconsL'
+        * create arrays consisting of icon ids for the icons to publish
+        * @since S60 5.0 
+        */
+        void MakePublishIconsL();
+        
+        /** 
+        * 'MakePublishIconsL' and 'MakeTransparentPublishIconsL'
+        * create arrays consisting of icon ids for the icons to publish
+        * @since S60 5.0 
+        */
+        void MakeTransparentPublishIconsL();
+
+    private:    // Data
+
+        /**
+        * Coe env for loading string from resource
+        * Not Own.
+        */
+        CCoeEnv* iEnv;
+
+        /**
+        * Publish images in array
+        * Own.
+        */
+        CArrayFix< TInt >* iPublishIconArray;
+
+        /**
+         * Timer for update
+         * Own.
+         */
+        CPeriodic*     iDeferredUpdater;
+        
+        /**
+        * Times callback
+        * Own. 
+        */
+        TCallBack*     iDeferredUpdateCallBack;
+        
+        /**
+        * Title text label
+        * Own.
+        */
+        CEikLabel* iTextLabel;
+        
+        /**
+        * The label text
+        */ 
+        TName        iCurrentText;
+        
+        /**
+        * ID constants for Secure Icon 
+        */
+        TWsfPluginIcons iUpdateSecureIconDeferred;
+
+        /**
+        * ID constants for Signal Strength Icon 
+        */
+        TWsfPluginIcons iUpdateSignalStrengthIconDeferred;
+
+        /**
+        * ID constants for Status Icon 
+        */
+        TWsfPluginIcons iUpdateStatusIconDeferred;
+        
+        /**
+        * ID constants for Status Icon saved to remember after refreshing
+        */
+        TWsfPluginIcons iSavedUpdateStatusIconDeferred;
+        
+        /**
+        * Pointer to Publish Observer interface
+        * Not Own. 
+        */
+        MWsfAiPublishObserver* iPublishObserver;
+        
+        /**
+        * Constants for 'WLAN scanning off' text
+        * Own.
+        */
+        HBufC* iStatusScanningOff;
+        
+        /**
+        * Constants for 'Refreshing' text
+        * Own.
+        */
+        HBufC* iStatusRefreshing;
+
+        /**
+        * Constants for 'Connecting' text
+        * Own.
+        */
+        HBufC* iStatusConnecting;
+    };
+
+
+
+#endif      //  C_WSFAIVIEW_H
+
+// End of file