diff -r 3406c99bc375 -r 07b41fa8d1dd hti/HtiCommPlugins/HtiIPCommPlugin/inc/HtiConnectionManager.h --- a/hti/HtiCommPlugins/HtiIPCommPlugin/inc/HtiConnectionManager.h Thu Jul 15 20:25:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,158 +0,0 @@ -/* -* Copyright (c) 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: ECOM plugin to communicate over IP port -* -*/ - - -#ifndef CHTICONNECTIONMANAGER_H -#define CHTICONNECTIONMANAGER_H - - -// INCLUDES -#include // defined in HtiFramework project -#include -#include -#include - -#include "HtiIPCommServerCommon.h" -#include "HtiSocketMonitor.h" -#include "HtiIPCommServer.h" - - -// FORWARD DECLARATIONS -class CHtiIPCommServer; -class CHtiCfg; - -// CLASS DECLARATION - -class MHtiTimerObserver -{ -public: - virtual void TimerExpiredL() = 0; -}; - - -class CHtiTimer : public CTimer -{ -public: - static CHtiTimer* NewL( MHtiTimerObserver& aObserver ); - virtual ~CHtiTimer(); - -protected: // From CActive - void RunL(); - TInt RunError(TInt aError); - -private: - CHtiTimer( MHtiTimerObserver& aObserver ); - void ConstructL(); - -private: - MHtiTimerObserver& iObserver; -}; - - -class CHtiConnectionManager : public CActive, - public MHtiSocketObserver, - public MHtiTimerObserver -{ -public: - enum TConnectionstate { - EStartingIAP, - EWaitingConnection, - EConnecting, - EConnected, - EDisconnecting, - EDisconnected - }; - - static CHtiConnectionManager* NewL( CHtiIPCommServer* aServer ); - ~CHtiConnectionManager(); - - void Receive( const RMessage2& aMessage ); - void Send( const RMessage2& aMessage ); - void CancelReceive(); - void CancelSend(); - -private: - CHtiConnectionManager( CHtiIPCommServer* aServer ); - void ConstructL(); - - // Config file reading separated to 2 parts because - // ReadConnectionConfigL might need dns resolver and - // that should be done after the IAP is started... - void ReadIAPConfigL(); - void ReadConnectionConfigL(); - - void ReadSocket(); - void WriteSocket(); - - void StartConnectingL(); - void StartListeningL(); - - /* - * Cancels all outstanding server session requests - */ - void CancelAllRequests(); - - void ShowErrorNotifierL( const TDesC& aText, TInt aErr = KErrGeneral ); - -protected: // From CActive - void RunL(); - void DoCancel(); - TInt RunError(TInt aError); - -public: // MHtiTimerObserver - void TimerExpiredL(); - -public: // MHtiSocketObserver - void ReportComplete( MHtiSocketObserver::TRequestType aType, TInt aError ); - - - -private: - CHtiIPCommServer* iServer; - - CHtiCfg* iCfg; - TUint32 iIAPId; - - TInt iListenPort; - TInetAddr iRemoteHost; - - RSocketServ iSocketServ; - RConnection iConnection; - RSocket iDataSocket; - RSocket iListenSocket; - TSockXfrLength iRecvLen; - TConnectionstate iState; - - RMessage2 iReceiveRequest; - RMessage2 iSendRequest; - - TBool iReceiveRequestComplete; - TBool iSendRequestComplete; - - CHtiSocketMonitor* iSendMonitor; - CHtiSocketMonitor* iReceiveMonitor; - - CHtiTimer* iConnectTimer; - TInt iConnectTimeout; - - TBuf8 iReceiveBuffer; - TBuf8 iSendBuffer; - - TCommDbConnPref iConnPref; -}; - -#endif