Msrp/MsrpServer/inc/MMSRPConnectionManager.h
branchMSRP_FrameWork
changeset 25 505ad3f0ce5c
child 58 cdb720e67852
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Msrp/MsrpServer/inc/MMSRPConnectionManager.h	Sat Jun 12 14:30:11 2010 +0530
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2009-2010 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:
+* MSRP Implementation
+*
+*/
+
+#ifndef __MMMSRPCONNECTIONMANAGER_H
+#define __MMMSRPCONNECTIONMANAGER_H
+
+#include <in_sock.h>
+#include <e32base.h>
+
+/* 
+ * subsession to ensure no connect call after listen
+ * or multiple connect/listen calls
+ * make call to connmngr only if iConn not null
+ * stop association of multiple connections with single session
+ * stop association of single session multiple times with varying conns
+ * stopping assocation of same session id twice or more with the same connection needs to be taken care by connmgr
+ * done automatically by subsession, 506 (session already in use) response scenario doesnot arise
+ */
+// FORWARD DECLARATIONS
+class MMSRPConnection;
+
+// CLASS DECLARATIONS
+class MMSRPConnectionManager
+	{
+	public:
+	    inline virtual ~MMSRPConnectionManager(){}
+        
+	    /**
+        * Get local ip address to form msrp path
+        * @out param aLocalAddress 
+        */	    
+	    virtual void ResolveLocalIPAddressL( TInetAddr& aLocalAddr ) = 0;
+
+        /**
+        * Connection request to a specified address
+        * @param aHost host address, direct ip address or host name
+		* @param 
+        */
+	    
+	    virtual MMSRPConnection& getConnectionL( TDesC8& aHost, TUint aPort ) = 0;
+
+	    //take care of case where listen completes before connect
+	    //and connect completes before listen to same host
+	    //virtual MMSRPConnection& ListenL( TDesC8& aHost, TUint aPort, MMSRPConnectionObserver& aSubsession ) = 0;
+	    
+	    /**
+	     * Start listener if not running
+	     * else call listen to increment listen count
+	     */	    
+	    virtual void ListenL(MMSRPConnection* /*aConnection*/) = 0;
+	    
+       /**
+         * issue listener cancel and remove connection
+         */     
+        virtual void ListenCancel(MMSRPConnection* aConnection) = 0;    
+	    
+	    /**
+	     * should we move to CMSRPConnectionManager, 
+	     * and keep a ref to the actual object in conn rather than access through interface class
+	     */
+	    virtual void Remove(MMSRPConnection* aConnection) = 0;
+	    
+	    
+	    /*to be moved to C class?*/
+	    
+	    virtual RSocketServ& SocketServer() = 0;               
+	            
+	    virtual RConnection& SocketServerConn() = 0 ;
+	    
+	    //virtual TBool MatchIapId(TUint32 aIapID);
+	    
+	};
+
+#endif // __MMMSRPCONNECTIONMANAGER_H
+
+// End of file