wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h
changeset 19 10810c91db26
parent 3 ff3b37722600
child 22 498f36116140
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,465 +0,0 @@
-/*
-* 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 CWsfAiPlugin
-*
-*/
-
-
-#ifndef C_WSFAIPLUGIN_H
-#define C_WSFAIPLUGIN_H
-
-//  EXTERNAL INCLUDES
-#include <aicontentpublisher.h>
-#include <aicontentobserver.h>
-#include <aipropertyextension.h>
-#include <aieventhandlerextension.h>
-#include <e32cmn.h>
-
-//  INTERNAL INCLUDES
-#include "wsfaicontroller.h"
-#include "wsfaipublishobserver.h"
-#include "wsfaiplugincontentmodel.h"
-
-//  CONSTANTS
-LOCAL_D const TInt  KDeferredWaitTime = 1000 * 1000; 
-                            // one second in milliseconds
-
-//  FORWARD DECLARATIONS
-class MAiPluginSettings;
-class MAiContentObserver;
-class MAiContentItemIterator;
-
-class CWsfModel;
-class CWsfAiModel;
-class CWsfAiView;
-class CAknIconArray;
-class CGulIcon;
-class CWsfDbObserver;
-
-
-// CLASS DECLARATION
-
-/**
- * The main class, containing the plugin behavior. 
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CWsfAiPlugin ): public CAiContentPublisher,
-                                   public MAiPropertyExtension,
-                                   public MAiEventHandlerExtension,
-                                   public MWsfAiPublishObserver
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Two-phased constructor
-        * @since S60 5.0 
-        * @return instance of CWsfAiPlugin class
-        */
-        static CWsfAiPlugin* NewL();
-        
-        /**
-        * Destructor of CWsfAiPlugin class
-        * @since S60 5.0     
-        */
-        virtual ~CWsfAiPlugin();
-    
-    private:// Constructors
-        
-        /**
-        * Default C++ constructor 
-        * @since S60 5.0 
-        */
-        CWsfAiPlugin();
-        
-        /**
-        * 2nd phase constructor
-        * @since S60 5.0 
-        */
-        void ConstructL();
-        
-        /**
-        * Steps 
-        * @param ptr Pointer to an instance of this class
-        */
-        static TInt CWsfAiPlugin::DoRefreshingStepL( TAny* ptr );
-        
-        /**
-        * Steps the refresh animation
-        */                
-        void CWsfAiPlugin::DoRefreshingStepL();
-        
-        /**
-        * Steps 
-        * @param ptr Pointer to an instance of this class
-        */
-        static TInt CWsfAiPlugin::DoConnectingStepL( TAny* ptr );
-        
-        /**
-        * Steps the refresh animation
-        */                
-        void CWsfAiPlugin::DoConnectingStepL();
-    
-    public:     // from CAiContentPublisher
-        
-        /**
-        * This method transit the plugin to "Alive" state.
-        * The method is called by the framework to instruct plug-in that it is
-        * allowed to actively publish its data to its observers. This means the plugin
-        * is allowed to consume memory and CPU resources, e.g plug-in is able load 
-        * engines, run timers, perform asynchronous operations, etc. The method 
-        * transits the plug-in to "Alive" state. There can be many concurrent
-        * calls to resume, with different or the same reason code, this allows
-        * the plugin to properly respond to enviroment change that raise the
-        * need to re-publish content (changes like date/time change etc).
-        *
-        * @param aReason reason for state change, see TAiTransitionChange.
-        */
-        void Resume( TAiTransitionReason aReason );
-        
-        /**
-        * This method transits the plug-in to "Suspendend" state.
-        * The method is called by the framework to instruct plug-in that it is
-        * not allowed to consume CPU resources, e.g plug-in MUST stop each
-        * timer, cancel outstanding asynchronous operations, etc. 
-        *
-        * @param aReason reason for state change, see TAiTransitionChange.
-        */
-        void Suspend( TAiTransitionReason aReason );
-        
-        /**
-        * This method transits the plug-in to "Idle" state.
-        * The method is called by the framework to request the plug-in free all
-        * memory and CPU resources and close all its open files, the plug-in 
-        * should unload its engines during backup operation.
-        *
-        * @param aReason reason for state change, see TAiTransitionChange.
-        */
-        void Stop( TAiTransitionReason aReason );
-        
-        /**
-        * Adds the content observer / subscriber to plug-in. The plug-in MUST
-        * maintain a registry of subscribers and send notification to all them
-        * whenever the plug-in changes state or new content available.
-        *
-        * @param aObserver content observer to register.
-        */
-        void SubscribeL( MAiContentObserver& aObserver );
-    
-        /**
-        * Configures the plug-in.
-        *
-        * @param aSettings setting items defined in the UI definition.
-        *                  This plugin takes ownership of the
-        *                  MAiPluginSettings objects in the array.
-        *                  If this method leaves the caller will handle the cleanup.
-        */
-        void ConfigureL( RAiSettingsItemArray& aSettings );
-        
-        /**
-        * Returns interface extension. In S60 3.2 only event & property
-        * extensions are supported. See MAiEventHandlerExtension & MAiPropertyExtension
-        * interfaces.
-        *
-        * @param  aUid - UID of the extension interface to access.
-        * @return the extension interface. Actual type depends on the passed aUid 
-        *         argument.
-        */
-        TAny* Extension( TUid aUid );
-
-    
-    public:     // from MAiPropertyExtension
-    
-        /**
-        * Read property of publisher plug-in.
-        *
-        * @param aProperty - identification of property.
-        * @return Pointer to property value.
-        */
-        TAny* GetPropertyL( TInt aProperty );
-    
-        /**
-        * Write property value.
-        *
-        * @param aProperty - identification of property.
-        * @param aValue - contains pointer to property value.
-        */
-        void SetPropertyL( TInt aProperty, TAny* aValue );
-    
-    
-    public:     // from MAiEventHandlerExtension
-    
-        /**
-        * See aieventhandlerextension.h for detailed description.
-        * @since S60 5.0
-        */
-        void HandleEvent( TInt aEvent, const TDesC& aParam );
-
-    
-    public: // From MWsfAiPublishObserver
-    
-        /**
-        * Publishes images from array and text
-        * @since S60 5.0
-        * @param aPublishIconArray the published icons
-        * @param aText1 title text label
-        */
-        void PublishContentL( CArrayFix<TInt>* aPublishIconArray,
-                              CEikLabel* aText1 );
-        
-        /**
-        * Sets signal strenght and the security string
-        * @since S60 5.0  
-        * @param aStrength siganl strength string
-        * @param aSecure security string
-        */
-        void SetStrengthAndSecure( TDesC* aStrength, TDesC* aSecure );
-        
-        /**
-        * Sets Scanning status on/off.
-        * @since S60 5.0
-        * @param aScanState Scanning satus flag
-        */
-        void SetScanningState( TBool aScanState );
-        
-        /**
-        * Sets refreshing status on/off.
-        * @since S60 5.0
-        * @param aScanState Refreshing status flag
-        */
-        void SetRefreshingL( TBool aRefreshing );
-        
-        /**
-        * Set connecting status on.
-        * @since S60 5.0
-        */
-        void StartConnectingL();
-        
-        /**
-        * Publishes just status image from array 
-        * @since S60 5.0
-        * @param aPublishIconArray the published icons
-        * @param aText1 title text label
-        */
-        void PublishStatusIconL( CArrayFix<TInt>* aPublishIconArray, 
-                                            CEikLabel* aText1 );
-        
-    private:
-    
-        /**
-        * Allocates Engine, Model and functional UI for plugin
-        */
-        void AllocateResourcesL();
-    
-        /**
-        * Unpublishes (clears) all plugin content from AI2 view
-        */
-        void ClearL();
-    
-        /**
-        * Launch WLAN Wizard application
-        */
-        void LaunchApplicationL();
-    
-        /**
-        * Set the value of Middle Soft Key based on the
-        * Scanning status of the WLAN Wizard
-        */
-        void SetMskL();
-        
-        /**
-        * Publish the given text
-        * @param aObserver - pointer to the observer
-        * @param aContentId - content ID
-        * @param aText1 - title text label
-        * @return ETrue - if it can be published
-        *         EFalse - if it can not be published
-        */
-        TBool PublishText( MAiContentObserver* aObserver,
-                           TWsfAiWizardContentIds aContentId,
-                           const TDesC16& aText );
-        
-        /**
-        * Publish the given icon
-        * @param aObserver - pointer to the observer
-        * @param aContentId - content ID
-        * @param aIconId - icon ID
-        * @return ETrue - if it can be published
-        *         EFalse - if it can not be published
-        */
-        TBool PublishIconL( MAiContentObserver* aObserver,
-                            TWsfAiWizardContentIds aContentId,
-                            TInt aIconId );
-    
-        /**
-        * Cleanup function to to cancel publish transaction
-        * @since S60 5.0
-        * @param aPtr Pointer for the observer class
-        */
-        static void PublishCleanup( TAny* aPtr );
-       
-        /**
-        * Callback function for carrying out refresh at startup
-        * @since S60 5.0
-        * @param aPtr Pointer to this class
-        * @return Error code        
-        */
-        static TInt StartupRefresh( TAny* aPtr );
-
-        /**
-        * Callback function for carrying out refresh at startup
-        * @since S60 5.0
-        * @return Error code        
-        */
-        TInt StartupRefreshL();
-
-        
-    private: // Data
-    
-        /**
-        * Array of content observers
-        */
-        RPointerArray<MAiContentObserver> iObservers;
-    
-        /**
-        * Iterator for plugin content
-        * Own.
-        */
-        MAiContentItemIterator* iContent;
-    
-        /**
-        * Iterator for plugin resources
-        * Own.
-        */
-        MAiContentItemIterator* iResources;
-    
-        /**
-        * Iterator for plugin events
-        * Own.
-        */
-        MAiContentItemIterator* iEvents;
-    
-        /**
-        * Information about the content publisher (this plug-in)
-        */
-        TAiPublisherInfo iInfo;
-    
-        /**
-        * Pointer to CWsfModel
-        * Own.
-        */
-        CWsfModel* iModel;
-        
-        /**
-        * Pointer to AI Model
-        * Own.
-        */
-        CWsfAiModel* iAiModel;
-    
-        /**
-        * AI Controller
-        * Own.
-        */
-        TWsfAiController iController;
-        
-        /**
-        * Pointer to CWsfAiView
-        * Own.
-        */
-        CWsfAiView* iUi;
-   
-        /**
-        * The database observer obseving changes in
-        * show WLAN availablity
-        */
-        CWsfDbObserver* iDbObserver;
-        
-        /**
-        * The resource file offset
-        */
-        TInt iResourceFileOffset;
-    
-        /**
-        * Constants for Signal Strength text
-        * Own.
-        */
-        HBufC* iCurrentSignalStrength;
-    
-        /**
-        * Constants for Secure Information text
-        * Own.
-        */
-        HBufC* iCurrentSecureInfo;
-    
-        /**
-        * Constants for Title text
-        * Own.
-        */
-        HBufC* iWlanTitle;
-    
-        /**
-        * Constants for MSK activate text
-        * Own.
-        */
-        HBufC* iMskActivate;
-    
-        /**
-        * Scanning status flag
-        */
-        TBool iScanState;
-    
-        /**
-        * Flag for focus of information area 
-        */
-        TBool iInfoAreaFocus;
-        
-        /**
-        * The current observer item index 
-        */
-        TInt iCurrentObserverIndex;
-        
-        /**
-         * The current refreshing state
-         */
-        TBool iRefreshing;
-        
-        /**
-        * Active Object callback for displaying data at startup
-        */
-        CAsyncCallBack* iStartupRefresh;
-        
-        /*
-	     * The periodic that steps the refreshing animation
-	     */
-	    CPeriodic* iAnimationPeriodic;
-	    
-	    /**
-	     * Constants for 'Connected to:' text
-	     * Own.
-	     */
-        HBufC* iConnectedTo;
-        
-        /**
-         * Constants for 'Known network found:' text
-         * Own.
-         */
-        HBufC* iKnownNetworkFound;
-	    	    
-    };
-
-
-#endif // C_WSFAIPLUGIN_H
-
-// End of File.