diff -r c892c53c664e -r 9d2210c8eed2 connectivity/com.nokia.tcf/native/TCFNative/TCFServer/Connection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/connectivity/com.nokia.tcf/native/TCFNative/TCFServer/Connection.h Mon Apr 06 15:18:48 2009 -0500 @@ -0,0 +1,74 @@ +/* +* 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 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: +* +*/ +// Connection.h: interface for the CConnection class. +// Implemented by CConnectionImpl +// +// one of these per connection +// +////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_CONNECTION_H__C7E97807_97B0_4BF7_AEC7_FA246A751509__INCLUDED_) +#define AFX_CONNECTION_H__C7E97807_97B0_4BF7_AEC7_FA246A751509__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#include "ServerClient.h" +#include "TCErrorConstants.h" +#include "Client.h" +#include "Registry.h" +#include "BaseCom.h" +#include +#include + +// basename is suffixed with connection ID to make it unique per CConnection +#define MESSAGEPROCESSOR_EXITEVENT_BASENAME "TCFServerMessageProcessorExittedEvent" +#define MESSAGEPROCESSOR_STOPEVENT_BASENAME "TCFServerMessageProcessorStoppedEvent" +#define MESSAGEPROCESSOR_STARTEVENT_BASENAME "TCFServerMessageProcessorStartedEvent" +#define MESSAGEPROCESSOR_EVENTWAIT_TIMEOUT 60000L + +typedef std::vector ClientList; + +// m_MessageProcessorState states +#define MP_NONE (0) +#define MP_EXIT (1) +#define MP_START (2) +#define MP_PAUSE (3) +#define MP_PROCESSING (4) + + +#define FLUSH_TIME (100) // 100 ms +class CConnection +{ +public: + CConnection(); + CConnection(ConnectData conData, DWORD connectionId); + virtual ~CConnection(); + + virtual BOOL IsEqual(CConnection* connection)=0; + virtual BOOL IsEqual(pConnectData pConData)=0; + virtual long GetConnectionId() { return m_ConnectionID; } + virtual BOOL ExitProcessing()=0; // exit processing thread + virtual long DoDisconnect()=0; + virtual void NotifyClientsCommError(long tcfError, bool passOsError=false, DWORD osError=0)=0; + long m_ConnectionID; // id for this connection + + ConnectData* m_ConnectSettings; // connection settings +}; + +#endif // !defined(AFX_CONNECTION_H__C7E97807_97B0_4BF7_AEC7_FA246A751509__INCLUDED_)