diff -r 63be7eb3fc78 -r f28ada11abbf wlanutilities/wlansniffer/aiplugin/inc/wsfaiview.h --- /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 + +// 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