diff -r 000000000000 -r c40eb8fe8501 wlan_bearer/wlanagent/inc/wlanagtsm.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlan_bearer/wlanagent/inc/wlanagtsm.h Tue Feb 02 02:03:13 2010 +0200 @@ -0,0 +1,190 @@ +/* +* Copyright (c) 2002-2009 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: Wlan agent's state machine +* +*/ + +/* +* %version: 9 % +*/ + +#ifndef _WLANSM_H_ +#define _WLANSM_H_ + +#include +#include "rwlmserver.h" + +struct SWLANSettings; + +/** + * WLAN agent statemachine + * + * @lib wlanagt.agt + * @since S60 v3.0 + */ +NONSHARABLE_CLASS( CWlanSM ): public CAgentSMBase +{ +public: + + /** + * NewL + * + * @since S60 v3.0 + * @param aObserver + * @param aDlgPrc + * @param aDbAccess + * @return instance of statemachine + */ + static CWlanSM* NewL( + MAgentNotify& aObserver, + CDialogProcessor* aDlgPrc, + CCommsDbAccess& aDbAccess ); + + /** + * destructor + * + * @since S60 v3.0 + */ + ~CWlanSM(); + +public: // From CAgentSMBase + + /** + * GetExcessData + * + * @since S60 v3.0 + * @param aBuffer + * @return + */ + virtual TInt GetExcessData( TDes8& aBuffer ); + + /** + * Notification + * + * @since S60 v3.0 + * @param aEvent + * @param aInfo + */ + virtual TInt Notification( TNifToAgentEventType aEvent, TAny* aInfo ); + + + /** + * SetOverrideSettingsL + * + * @since S60 v3.0 + * @param aWLMOverrideSettings + */ + void SetOverrideSettingsL( const TWLMOverrideSettings& aWLMOverrideSettings ); + + /** + * WlanSettings + * + * @since S60 v3.0 + * @return pointer to SWLANSettings structure + */ + const SWLANSettings* WlanSettings() const; + + /** + * SettingsId + * + * @since S60 v3.0 + * @return Id of the chosen IAP + */ + TUint32 SettingsId() const; + + /** + * IapId + * + * @since S60 v3.0 + * @return Id of the chosen IAP + */ + TUint32 IapId() const; + + /** + * OverrideSettings + * + * @since S60 v3.0 + * @param overridesettings object + */ + TWLMOverrideSettings* OverrideSettings() const; + + /** + * SetHotSpotAP + * + * @since S60 v3.2 + * @Sets the flag indicating if the AP is HotSpot AP or Normal AP + */ + void SetHotSpotAP(TBool aHotSpotAP); + + /** + * IsHotSpotAP + * + * @since S60 v3.2 + * @Returns the flag indicating if the AP is HotSpot AP or Normal AP + */ + TBool IsHotSpotAP() const; + + +protected: + + /** + * constructor + * + * @since S60 v3.0 + * @param aObserver + * @param aDlgPrc + * @param aDbAccess + */ + CWlanSM( + MAgentNotify& aObserver, + CDialogProcessor* aDlgPrc, + CCommsDbAccess& aDbAccess ); + + /** + * ConstructL + * + * @since S60 v3.0 + */ + void ConstructL(); + +private: + + /** + * DoConstructL + * + * @since S60 v3.0 + */ + void DoConstructL(); + +private: + /** Client API instance of the WLAN Engine */ + RWLMServer iWLMServer; + /** WLAN Settings of the IAP from CommsDat*/ + SWLANSettings* iWlanSettings; + /** An index for accessing IAP specific WLAN settings from CommsDat */ + TUint32 iServiceId; + /** + * Structure that can convey connection parameters which should override + * the ones in CommsDat + */ + TWLMOverrideSettings* iWLMOverrideSettings; + /** Identifier of the IAP */ + TUint32 iIapId; + + /** HotSpot related variable + */ + TBool iIsHotSpotAP; +}; + +#endif // _WLANSM_H_