diff -r ff3b37722600 -r 10810c91db26 hotspotfw/hsserver/inc/hotspotserver.h --- a/hotspotfw/hsserver/inc/hotspotserver.h Tue Jan 26 13:04:04 2010 +0200 +++ b/hotspotfw/hsserver/inc/hotspotserver.h Fri Apr 16 16:07:56 2010 +0300 @@ -86,20 +86,34 @@ void PanicClient(const RMessagePtr2& aMessage,THotspotPanic aPanic); +/** +* Stores RMessage entries +*/ struct SRequestMapEntry { RMessagePtr2 iMessage; THotSpotCommands iFunction; TUint iIapId; }; - +/** +* Stores timer values for each client +*/ struct SLoginLogoutTimers { - TUid clientUid; - TUint loginTimeMicroSecs; - TUint logoutTimeMicroSecs; + TBuf iClientUid; + TUint iLoginTimeMicroSecs; + TUint iLogoutTimeMicroSecs; }; - + +/** +* Stores all registered IAPs and their client UIDs +*/ +struct SClientIaps + { + TUint iIapId; + TBuf iClientUid; + }; + // CLASS DECLARATION /** @@ -209,54 +223,79 @@ * @return ETrue if can be sent. Otherwise EFalse. */ TBool GetAssociationFlagValue(); - + /** - * Set service id of IAP in use - * @since Series 60 3.0 - * @param aServiceId service id + * Finds HotspotFW created client IAPs. + * @since Series 60 5.2 * @return None */ - void SetServiceId( TInt aServiceId ); + void FindClientIapsL(); /** - * Gets service id of IAP in use - * @since Series 60 3.0 - * @return service ID - */ - TInt GetServiceId(); - - /** * Checks IAPs if there's any unused Hotspot IAPs. - * @since Series 60 3.0 + * @since Series 60 3.2 * @return None */ void CheckIapsL(); /** * Get login timer value for the specified client. - * @param aClientUid, client's user ID, + * @since Series 60 5.2 + * @param aClientUid, clients user id * @return Login timer value. */ - TUint GetLoginTimeMicroSecs( TUid aClientUid ); + TUint GetLoginTimeMicroSecs( TDes& aClientUid ); /** * Get logout timer value for the specified client. - * @param aClientUid, client's user ID, + * @since Series 60 5.2 + * @param aClientUid, clients user id * @return Logout timer value. */ - TUint GetLogoutTimeMicroSecs( TUid aClientUid ); + TUint GetLogoutTimeMicroSecs( TDes& aClientUid ); /** * Set both login and logout timer values for the specified client. - * @param aClientUid, client's user ID, - * @param aLoginTimerValue, set login timer value, + * @since Series 60 5.2 + * @param aClientUid, clients user id + * @param aLoginTimerValue, set login timer value * @param aLogoutTimerValue, set logout timer value. */ - void CHotSpotServer::SetTimerValues( - TUid aClientUid, + void SetTimerValues( + TDes& aClientUid, TUint aLoginTimerValue, TUint aLogoutTimerValue ); + /** + * Finds if given IAP id has an existing client. + * @since Series 60 5.2 + * @param aClientUid, clients user id + * @return KErrNone if client is found, otherwise KErrNotFound + */ + TInt GetClientUid( TUint aIapId, TDes& aUid ); + + /** + * Adds client IAP to the array. + * @since Series 60 5.2 + * @param aIapId, IAP id + * @param aUid, clients user id + */ + void SetClientIap( TUint aIapId, TDes& aUid ); + + /** + * Removes client IAP from the array. + * @since Series 60 5.2 + * @param aIapId, IAP id + */ + void RemoveClientIap( TUint aIapId ); + + /** + * Returns Easy WLAN IAP id. + * @since Series 60 5.2 + * @return Easy WLAN id + */ + TInt GetEasyWlanId(); + private: /** @@ -264,7 +303,7 @@ * @param aClientUid, client UID to find. * @return matching index if UID was found, otherwise KErrNotFound. */ - TInt CHotSpotServer::FindClientUid( TUid aClientUid ); + TInt FindClientUid( TDes& aClientUid ); public: // Functions from base classes @@ -331,24 +370,34 @@ TBool iAssociationValue; /** - * Boolean flag whether the IAPs has been checked or not + * Flag for the IAP check */ TBool iIapCheckValue; + + /** + * Flag for client IAP search + */ + TInt iClientIapsChecked; /** * WLAN management API */ CWlanMgmtClient* iMgtClient; - - /** - * Service id of IAP in use - */ - TInt iCurrentServiceIdInUse; - + /** * Array for storing client dependent login and logout timer values. */ RArray iLoginLogoutTimerArray; + + /** + * Array for storing client IAPs and their UIDs. + */ + RArray iClientIaps; + + /** + * Easy WLAN IAP Id + */ + TInt iEasyWlanId; }; #endif