hotspotfw/hsserver/inc/hotspotsession.h
changeset 19 10810c91db26
parent 2 6e4b6261703d
child 39 7b3e49e4608a
child 52 b852595f5cbe
equal deleted inserted replaced
3:ff3b37722600 19:10810c91db26
    63         /**
    63         /**
    64         * Two-phased constructor.
    64         * Two-phased constructor.
    65         */
    65         */
    66         static CHotSpotSession* NewL( CHotSpotServer& aServer );
    66         static CHotSpotSession* NewL( CHotSpotServer& aServer );
    67         
    67         
    68          /**
    68         /**
    69         * Destructor.
    69         * Destructor.
    70         */
    70         */
    71         ~CHotSpotSession();
    71         ~CHotSpotSession();
    72    
    72    
    73        struct TNotification
    73         /**
    74         {
    74         * Struct for notifications.
    75         TInt id;
    75         */
    76         TBuf8<KHssMaxNotificationLength> data;
    76         struct TNotification
    77         };
    77             {
       
    78             TInt id;
       
    79             TBuf8<KHssMaxNotificationLength> data;
       
    80             };
       
    81        
    78     public: // Functions from base classes
    82     public: // Functions from base classes
    79 
    83 
    80         /**
    84         /**
    81         * From CSession called when a client asks for service
    85         * From CSession called when a client asks for service
    82         * @param aMessage the message
    86         * @param aMessage the message
   114         * @return None
   118         * @return None
   115         */
   119         */
   116         void LogoutTimeout();
   120         void LogoutTimeout();
   117         
   121         
   118         /**
   122         /**
   119                 * From MWlanMgmtNotifications
   123         * From MWlanMgmtNotifications
   120                 * @since Series 60 3.0
   124         * @since Series 60 3.0
   121                 * @param aNewState State of WLAN
   125         * @param aNewState State of WLAN
   122                 * @return None
   126         * @return None
   123                 */
   127         */
   124                 virtual void ConnectionStateChanged( TWlanConnectionMode aNewState );
   128         virtual void ConnectionStateChanged( TWlanConnectionMode aNewState );
   125         
   129         
   126     public: // New functions
   130     public: // New functions
   127 
   131 
   128  
   132  
   129         /**
   133         /**
   130         * Metods for handling passthrough notifications
   134         * Methods for handling passthrough notifications
   131         */
   135         */
   132         void HandleCancelNotifications( const RMessage2& aMessage );
   136         void HandleCancelNotifications( const RMessage2& aMessage );
   133         void AddNotification( TInt aNotification, TDes8& aData );
   137         void AddNotification( TInt aNotification, TDes8& aData );
   134         void HandleOrderNotifications( const RMessage2& aMessage );
   138         void HandleOrderNotifications( const RMessage2& aMessage );
   135         void HandleNotification();
   139         void HandleNotification();
   189         /**
   193         /**
   190         * Starts Configure & reJoin procedures
   194         * Starts Configure & reJoin procedures
   191         * @param aIapId, IAP id
   195         * @param aIapId, IAP id
   192         * @return KErrNone, if successful, otherwice one of system wide errorcodes.
   196         * @return KErrNone, if successful, otherwice one of system wide errorcodes.
   193         */
   197         */
   194        TInt ProcessStartAgain( const TUint aIapId );
   198         TInt ProcessStartAgain( const TUint aIapId );
   195         
   199         
   196         /**
   200         /**
   197         * Sends WLAN association status to client
   201         * Sends WLAN association status to client
   198         * @param aIapId, IAP id
   202         * @param aIapId, IAP id
   199         * @param aResult, ETrue is successful, otherwise EFalse
   203         * @param aResult, ETrue is successful, otherwise EFalse
   204         /**
   208         /**
   205         * Starts CloseConnection procedures
   209         * Starts CloseConnection procedures
   206         * @param aIapId, IAP id
   210         * @param aIapId, IAP id
   207         * @return KErrNone, if successful, otherwice one of system wide errorcodes.
   211         * @return KErrNone, if successful, otherwice one of system wide errorcodes.
   208         */
   212         */
   209        TInt ProcessCloseL( const TUint aIapId );
   213         TInt ProcessCloseL( const TUint aIapId );
   210         
   214         
   211         /**
   215         /**
   212         * Creates client instance through ECom
   216         * Creates client instance through ECom
   213         * @param aUid, ECom implementation UID of client
   217         * @param aUid, ECom implementation UID of client
   214         * @return KErrNone, if successful, otherwice one of system wide errorcodes.
   218         * @return KErrNone, if successful, otherwice one of system wide errorcodes.
   232         * @param aString, redirect URL
   236         * @param aString, redirect URL
   233         */        
   237         */        
   234         void AuthenticateL( const TDesC& aString );
   238         void AuthenticateL( const TDesC& aString );
   235         
   239         
   236         /**
   240         /**
   237         * Reads EasyWLAN IAP id
   241         * Removes brackets from the UID
   238         * @return None 
   242         * @param aUid, UID of the client
   239         */
   243         */
   240         void EasyWlanIdL();
   244         void ModifyClientUid( TDes& aUid );
       
   245         
       
   246         /**
       
   247         * Convert descriptor to TUid and saves it to member variable
       
   248         * @param aUid, UID of the client
       
   249         */
       
   250         void ConvertTBufToTUid( TDes& aUid );
   241     
   251     
   242     private:    // Data
   252     private:    // Data
   243     
   253     
   244         /** List of pending (not sent) notifications. */
   254         /** 
       
   255         * List of pending (not sent) notifications. 
       
   256         */
   245         RArray<TNotification> iPendingNotifications;
   257         RArray<TNotification> iPendingNotifications;
   246         
   258         
   247         /** The request from the client pending for a notification. */
   259         /** 
       
   260         * The request from the client pending for a notification. 
       
   261         */
   248         RMessagePtr2 iPendingNotificationRequest;
   262         RMessagePtr2 iPendingNotificationRequest;
   249 
   263 
   250         /** Is there a pending request from the client. */
   264         /** 
       
   265         * Is there a pending request from the client. 
       
   266         */
   251         TBool iIsNotificationRequestPending;
   267         TBool iIsNotificationRequestPending;
   252 
   268 
   253 	    /**
   269 	    /**
   254         * Handle to server
   270         * Handle to server
   255         */	
   271         */	
   260         * Own
   276         * Own
   261         */
   277         */
   262         CHssClientPlugin* iClient;
   278         CHssClientPlugin* iClient;
   263 
   279 
   264         /**
   280         /**
   265         * handle to MHssSrvNotifications
   281         * Handle to MHssSrvNotifications
   266         */
   282         */
   267 		MHssSrvNotifications *iSrvNotifications;
   283 		MHssSrvNotifications *iSrvNotifications;
   268 
   284 
   269         /** Handle to remove notification. */
   285         /** 
       
   286         * Handle to remove notification. 
       
   287         */
   270         CSessionNotification* iNotificationHandle;
   288         CSessionNotification* iNotificationHandle;
   271 
   289 
   272 	    /**
   290 	    /**
   273         * RMessage instance
   291         * RMessage instance
   274         */	
   292         */	
   292         /**
   310         /**
   293         * handle to HssNotifications
   311         * handle to HssNotifications
   294         */
   312         */
   295  	    HssNotifications *iNotifications;
   313  	    HssNotifications *iNotifications;
   296 
   314 
   297 
       
   298         /**
       
   299         * statusinformation of Async call
       
   300         */
       
   301 		TRequestStatus iStatus;
       
   302 
       
   303         /**
   315         /**
   304         * Handler for changing IAP settings
   316         * Handler for changing IAP settings
   305         * Own
   317         * Own
   306         */
   318         */
   307         CHssIapSettingsHandler* iIapSettingsHandler;
   319         CHssIapSettingsHandler* iIapSettingsHandler;
   336         
   348         
   337         /**
   349         /**
   338         * Flag for indicate if extended HSFW API is used
   350         * Flag for indicate if extended HSFW API is used
   339         */
   351         */
   340         TBool iHotspotExtension;
   352         TBool iHotspotExtension;
   341         
   353 
   342         /**
       
   343         * Easy WLAN IAP Id
       
   344         */
       
   345         TUint32 iEasyWlanId;
       
   346 	};
   354 	};
   347 	
   355 	
   348 #endif
   356 #endif