web_plat/connection_manager_api/inc/MConnection.h
changeset 0 dd21522fd290
child 64 ac77f89b1d9e
child 74 91031d3aab7d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/connection_manager_api/inc/MConnection.h	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,209 @@
+/*
+* Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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: 
+*     This interface class defines a protocolconnection/session
+*	  handling.
+*	
+*
+*/
+
+
+#ifndef M_Connection_H
+#define M_Connection_H
+
+// INCLUDES
+
+#include <ApEngineConsts.h> // TEMP
+#include <CmApplicationSettingsUi.h>
+
+//FORWARD DECLARATIONS
+class TIdPair;
+class MApChangeObserver;
+class CApAccessPointItem;
+class RSocketServ;
+class RConnection;
+
+enum TAPValidity
+	{
+	EFirst,
+	ESecond,
+	EBoth,
+	ENeither,
+	};
+
+enum TConManChangeConn
+	{
+	EConManDoNothing,
+	EConManCloseAndStart,
+	EConManStartAgain,
+	};
+
+//This class provides a standerd interface for the WML Browser towards any concrete implementation of a connection manager
+class MConnection
+	{
+public:
+	/**
+	*Sets the requested AP later it may not be the one to be used
+	*@param aRequestedAPs the requested AP idpair 
+	*/
+	virtual void SetRequestedAPs( TIdPair aRequestedAPs ) = 0;
+	
+	/**
+	*Sets RequestedAP
+	*@param aRequestedAP the requested AP id
+	*/
+	virtual void SetRequestedAP( TUint32 aRequestedAPId , TBool aDefault = EFalse ) = 0;
+		
+	/**
+	*Functions that are used to store the connection type and the snap ID
+	*/
+    virtual void SetConnectionType( CMManager::TCmSettingSelectionMode aConnectionType ) = 0;
+    
+    virtual void SetRequestedSnap (TUint32 aRequestedSnapId) = 0;
+	
+	virtual TAPValidity RequestedAPValidityL() = 0;
+	
+	/**
+	*A query function to find out whether there is a connection which
+	*was matches with the "current" connection parameters
+	*@return ETrue if the condition above is satisfied EFalse otherwise.
+	*/
+	virtual TBool Connected() = 0;
+	
+	/**
+	*Call this for obtaining the AP for the current connection
+	*@return the AP for the latest connection
+	* NULL if there isn't any
+	*/
+	virtual const CApAccessPointItem* CurrentAccessPoint() const = 0;
+
+	/**
+	*Returns the currently (or the last used) AP id
+	*@return the currently (or the last used) AP id
+	*/
+	virtual TUint32 CurrentAPId() const = 0;
+	
+	/**
+	*Call this the find out the session security mode for the current AP
+	*@retun the security mode for the current AP
+	*/
+	virtual TBool CurrentSessionSecure() const = 0;
+	
+	/**
+	*Call this the find out the connection type for the current AP
+	*@retun the conection type for the current AP
+	*/
+	virtual TBool CurrentSessionConnectionOriented() const = 0;
+	
+	/**
+	*Call this the get the gateway address to be used
+	*@retun the address of the gateway associated with the current AP, space for zero terminator should also be allocated
+	*/
+	virtual HBufC* CurrentGatewayLC() const = 0;
+	
+		
+	/**
+	*Call this the get the start page to be used
+	*@return the address of the start page associated with the current AP, space for zero terminator should also be allocated
+	*/
+	virtual HBufC* CurrentStartPageLC() const = 0;
+	
+	/**
+	*Call this function to get the name of the current Wap AP, space for zero terminator should also allocated
+	*return 
+	*/
+	virtual HBufC* CurrentApNameLC() const = 0;
+
+	/**
+	*Call this the get the current connection speed to be used
+	*@return the the connection speed 
+	*/
+	virtual TApCallSpeed CurrentConnectionSpeed() const = 0;
+	
+	/**
+	*Call this the get the current bearer to be used
+	*@return the bearer type associated with the current AP
+	*/
+	virtual TApBearerType CurrentBearerTypeL() const = 0;
+
+	/**
+	*It closes the connection and sets the manager to offline mode
+	*/
+	virtual void Disconnect() = 0;
+	
+	/**
+	*Sets an observer on the AP changes
+	*@param aObserver reference to the the AP change observer 
+	*/
+	virtual void SetApChangeObserver( MApChangeObserver& aObserver ) = 0;
+	
+	/**
+	*Removes the AP change observer
+	*/
+	virtual void UnsetApChangeObserver() = 0;
+
+
+	/**
+	*Returns whether a new connection needed to be established or the old one is used.
+	*/
+	virtual TBool NewConnectionEstablished()  const = 0;
+
+	/**
+	*Starts the connection process
+	*@param aDisableConnNeeded if set to ETrue the initial dialog indicating that there is no connection will not appear
+	*@param aIgnoreSecureAttribute if set to ETrue the security of the AP will not be taken into account when making 
+                                                   making decisions about which AP to use the requested or the active
+	*/
+	virtual TInt StartConnectionL( TBool aDisableConnNeeded = EFalse, TBool aIgnoreSecureAttribute = EFalse ) = 0;
+	
+    /**
+    *Returns the RConnection object used to create connection.
+    *@return RConnection object
+    */
+    virtual RConnection& Connection() = 0;
+
+    /**
+    *Return name of the connection created.
+    *Ownership of name is handed over.
+    *@return name of the connection
+    */
+    virtual TName* ConnectionNameL() = 0;
+
+    /**
+    * Return socket server
+    * @return socket server
+    */
+    virtual RSocketServ& SocketServer() = 0;
+
+    /**
+    * Change Internet Accespoint ( Change Connection )
+    * @return
+    */
+    virtual void ChangeIapL( TConManChangeConn& aCangeConn,
+                             TUint32& aNewAp ) = 0;
+
+    /**
+    * Ask Internet Accespoint from dialog
+    * @return KErrNone if the user selected an Iap or and error code
+    */
+    virtual TInt AskIap( TUint32& aNewAp  ) = 0;
+
+    /**
+    * Shows the connection changed dialog.
+    * @return none.
+    */
+    virtual void ShowConnectionChangedDlg() = 0;
+    };
+
+#endif
\ No newline at end of file