--- a/linklayerprotocols/tundriver/inc/tundriverbinder.h Wed Sep 15 13:53:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/**
-* Copyright (c) 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:
-* Header file for the Ip4 and Ip6 Binder Configuration.
-*
-*
-*/
-
-/**
- @file tundriverbinder.h
- @internalTechnology
-*/
-
-#ifndef _TUNDRIVERBINDER_H
-#define _TUNDRIVERBINDER_H
-
-#include <ip4_hdr.h>
-#include <ip6_hdr.h>
-#include <udp_hdr.h>
-#include <comms-infras/ss_protflow.h>
-#include <comms-infras/ss_flowbinders.h>
-#include <comms-infras/commsdebugutility.h>
-#include <nifmbuf.h>
-#include "es_protbinder.h"
-#include "tundriverflow.h"
-
-const TInt KMTU = 1500;
-
-const TInt KSpeedMetric = 0;
-
-const TUint KTUNDriverTos = 192; // 0xC0; uses the UNUSED 7,8 MSB of Differentiated Services
-
-class CTunDriverSubConnectionFlow;
-
-class CTunDriverBinder : public CBase, public ESock::MLowerDataSender, public ESock::MLowerControl
-/**
-Common Binder for the tunnel driver binder. This binder will be inherited by IPv4 or IPv6 Binder classes.
-*/
- {
-public:
- virtual MLowerDataSender* Bind(ESock::MUpperDataReceiver& aUpperReceiver , ESock::MUpperControl& aUpperControl);
- virtual void Unbind (ESock::MUpperDataReceiver& aUpperReceiver, ESock::MUpperControl& aUpperControl);
- virtual TBool MatchesUpperControl(ESock::MUpperControl* aUpperControl) const;
- virtual TInt Control(TUint, TUint, TDes8&);
- void SetPort(TUint aPort);
- TUint GetPort();
-protected:
- CTunDriverBinder(CTunDriverSubConnectionFlow& aTunDriverSubConnectionFlow);
-protected:
- __FLOG_DECLARATION_MEMBER;
-private:
- CTunDriverSubConnectionFlow& iTunDriverSubConnectionFlow;
- TUint iPort;
- };
-
-class CTunDriverBinder4 : public CTunDriverBinder
- {
-public:
- static CTunDriverBinder4* NewL(CTunDriverSubConnectionFlow& aLink);
- ~CTunDriverBinder4();
- // from MLowerDataSender
- virtual TInt GetName(TDes& aName);
- virtual TInt GetConfig(TBinderConfig& aConfig);
- MLowerDataSender* Bind(ESock::MUpperDataReceiver& aUpperReceiver , ESock::MUpperControl& aUpperControl);
- void Unbind (ESock::MUpperDataReceiver& aUpperReceiver, ESock::MUpperControl& aUpperControl);
- TBool MatchesUpperControl(ESock::MUpperControl* aUpperControl) const;
- ESock::MLowerDataSender::TSendResult Send(RMBufChain& aData);
- void StartSending();
-private:
- CTunDriverBinder4(CTunDriverSubConnectionFlow& aLink);
- void ConstructL();
- void TunnelProcessing(RMBufPacket& aPacket, RMBufPacket& aRecv);
- inline CTunDriverSubConnectionFlow* Flow();
- virtual void DoSend();
- virtual void DoProcess();
- static TInt RecvCallBack(TAny* aCProtocol);
- static TInt SendCallBack(TAny* aCProtocol);
-private:
- TInetAddr iLocalAddress;
- CTunDriverSubConnectionFlow& iTunDriverSubConnectionFlow;
- ESock::MUpperDataReceiver* iUpperReceiver;
- ESock::MUpperControl* iUpperControl;
- RMBufPktQ iSendQ;
- RMBufPktQ iRecvQ;
- CAsyncCallBack* iSendCallBack;
- CAsyncCallBack* iRecvCallBack;
- };
-
-CTunDriverSubConnectionFlow* CTunDriverBinder4::Flow()
- {
- return &iTunDriverSubConnectionFlow;
- }
-
-#ifdef IPV6SUPPORT
-class CTunDriverBinder6 : public CTunDriverBinder
- {
-public:
- static CTunDriverBinder6* NewL(CTunDriverSubConnectionFlow& aLink);
- ~CTunDriverBinder6();
- // from MLowerDataSender
- virtual TInt GetName(TDes& aName);
- virtual TInt GetConfig(TBinderConfig& aConfig);
- MLowerDataSender* Bind(ESock::MUpperDataReceiver& aUpperReceiver , ESock::MUpperControl& aUpperControl);
- void Unbind (ESock::MUpperDataReceiver& aUpperReceiver, ESock::MUpperControl& aUpperControl);
- TBool MatchesUpperControl(ESock::MUpperControl* aUpperControl) const;
- ESock::MLowerDataSender::TSendResult Send(RMBufChain& aData);
- void StartSending();
-private:
- CTunDriverBinder6(CTunDriverSubConnectionFlow& aLink);
- void ConstructL();
- void TunnelProcessing(RMBufPacket& aPacket, RMBufPacket& aRecv);
- inline CTunDriverSubConnectionFlow* Flow();
- virtual void DoSend();
- virtual void DoProcess();
- static TInt RecvCallBack(TAny* aCProtocol);
- static TInt SendCallBack(TAny* aCProtocol);
-private:
- TInetAddr iLocalAddress;
- CTunDriverSubConnectionFlow& iTunDriverSubConnectionFlow;
- ESock::MUpperDataReceiver* iUpperReceiver;
- ESock::MUpperControl* iUpperControl;
- RMBufPktQ iSendQ;
- RMBufPktQ iRecvQ;
- CAsyncCallBack* iSendCallBack;
- CAsyncCallBack* iRecvCallBack;
- };
-#endif
-#endif // _TUNDRIVERBINDER_H