--- a/networkcontrol/ipscpr/inc/ipscpr.h Tue Aug 31 16:45:15 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/**
-* Copyright (c) 2005-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:
-* Header file for the IP SubConnection Provider and its basic version
-*
-*
-*/
-
-
-
-/**
- @file ipscpr.h
-*/
-
-#ifndef __IPSCPR_H__
-#define __IPSCPR_H__
-
-#include <e32base.h>
-#include <e32std.h>
-#include <ss_subconnprov.h>
-#include "deft_scpr.h"
-#include <eintsock.h>
-#include <in_sock.h>
-#include <es_sock.h>
-
-
-#ifndef BASIC_IPSCPR
-#include "asyncwriter.h"
-#include <qoslib.h>
-#include <ip_subconparams.h>
-
-#ifdef SYMBIAN_NETWORKING_UMTSR5
-#include <umtsextn.h>
-#include <imsextn.h>
-#endif
-#endif
-
-
-/**
-Connection Provider Id - Protocol Family
-
-@internalComponent
-
-@released Since v9.0
-*/
-const TUint KIPConnectionProviderFactoryId = KAfInet;
-
-/**
-ECOM Implementation Id for Connection Provider
-
-@internalComponent
-
-@released Since v9.0
-*/
-#ifdef BASIC_IPSCPR
-const TInt KSubConnectionProviderImplementationUid = { 0x102752C5 };
-#else
-const TInt KSubConnectionProviderImplementationUid = { 0x10204308 };
-#endif
-
-
-class CConnectionProviderBase;
-class CIpSubConnectionProviderFactory : public CSubConnectionProviderFactoryBase
-/**
-Factory that is used to create instances of IP Connection Providers
-
-@internalComponent
-
-@released Since v9.0
-*/
- {
-public:
- static CIpSubConnectionProviderFactory* NewL(TAny* aConstructionParameters);
- virtual ~CIpSubConnectionProviderFactory();
-
- CIpSubConnectionProviderFactory(TUint aFactoryId, CSubConnectionFactoryContainer& aParentContainer);
-
- // methods to be overriden for CSubConnectionProviderFactory
- virtual CSubConnectionProviderBase* DoCreateProviderL(CConnectionProviderBase& aConnProvider, RSubConnection::TSubConnType aType);
- };
-
-
-#ifndef BASIC_IPSCPR
-
-class CQoSMsgWriter;
-class CQoSMsgReader;
-class TPfqosMessage;
-class CSubConGenEventParamsGranted;
-class CSubConQosGenericParamSet;
-class CSubConQosIPLinkR99ParamSet;
-class CSubConSBLPR5ExtensionParamSet;
-class CSblpParameters;
-class TQoSParameters;
-class TUmtsQoSParameters;
-
-
-#ifdef SYMBIAN_NETWORKING_UMTSR5
-class TUmtsR5QoSParameters;
-class TImsParameter;
-class CSubConQosR5ParamSet;
-class CSubConIMSExtParamSet;
-#endif
-// SYMBIAN_NETWORKING_UMTSR5
-
-
-class CIpSubConnectionProvider : public CEmptySubConnectionProvider
-/**
-Defines the IP Connection Provider. Class provides a mapping from ESock Subconnection
-function calls to QoS.PRT messages.
-
-@internalComponent
-
-@released Since v9.0
-*/
- {
-private:
- enum
- {
- KParameterRelInvalid = 0,
- KParameterRelGeneric = 1,
- KParameterRel4Rel99 = 4,
- KParameterRel5 = 5,
- };
-
-public:
- // Construction
- static CIpSubConnectionProvider* NewL(CIpSubConnectionProviderFactory& aFactory, CConnectionProviderBase& aConnProvider);
-
-protected:
- // Construction
- CIpSubConnectionProvider(CIpSubConnectionProviderFactory& aFactory, CConnectionProviderBase& aConnProvider);
-
- // Methods to be overriden be derived subconnection provider
- virtual void DoDataClientJoiningL(MSubConnectionDataClient& aDataClient);
- virtual void DoDataClientLeaving(MSubConnectionDataClient& aDataClient);
- virtual void DoSourceAddressUpdate(MSubConnectionDataClient& aDataClient, const TSockAddr& aSource);
- virtual void DoDestinationAddressUpdate(MSubConnectionDataClient& aDataClient, const TSockAddr& aDestination);
- virtual void DoDataClientRouted(MSubConnectionDataClient& aDataClient, const TSockAddr& aSource, const TSockAddr& aDestination, const TDesC8& aConnectionInfo);
- virtual void DoParametersAboutToBeSetL(CSubConParameterBundle& aParameterBundle);
- virtual TInt DoControl(TUint aOptionLevel, TUint aOptionName, TDes8& aOption);
-
- virtual void DoStartL();
- virtual void DoStop();
- virtual CSubConnectionProviderBase* DoNextLayer();
- virtual CConnDataTransfer& DoDataTransferL();
-
- //MConnectionDataClient
- virtual TAny* FetchInterfaceInstanceL(CSubConnectionProviderBase& aProvider, const STypeId& aTid);
- virtual void ConnectionGoingDown(CConnectionProviderBase& aConnProvider);
- virtual void Notify(TNotify aNotifyType, CConnectionProviderBase* aConnProvider, TInt aError, const CConNotificationEvent* aConNotificationEvent);
- virtual void AttachToNext(CSubConnectionProviderBase* aSubConnProvider);
-
- // Don't allow clients to invoke the destructor.
- // (Only the CCommsFactoryBase should do this)
- virtual ~CIpSubConnectionProvider();
-
- void ConstructL();
-
-public:
- // Messages from PRT
- void ProcessPRTMsg(TPfqosMessage& aMsg);
- void ProcessPRTError(TPfqosMessage& aMsg, TInt aError);
-#ifdef _DEBUG
- void ProcessPRTError(TInt aMsgType, TInt aError);
-#endif
-
-private:
- // Messages to PRT
- void SendOpenExistingL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocol);
- void SendCreateL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocol);
- void SendCloseL();
- void SendJoinL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocol);
- void SendLeaveL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocol);
- void SendSetQoSL();
-
- // Internal Processing
- void ProcessPRTEventL(TPfqosMessage& aMsg);
- void ProcessPRTReplyL(TPfqosMessage& aMsg);
-
- void ConvertParametersFromESockL(CSubConParameterBundle& aParameterBundle);
- void ConvertParametersFromQOSL(TPfqosMessage& aMsg, CSubConGenEventParamsGranted* aEvent);
-
- TInt DetermineClient(const TPfqosMessage& aMsg, MSubConnectionDataClient*& aDataClient);
- void MapGenericParamsFromESockToPRTL(const CSubConQosGenericParamSet& generic) const;
- void MapGenericParamsFromPRTToESockL(CSubConQosGenericParamSet& generic) const;
- void MapExtensionParamsFromESockToPRTL(const CSubConQosIPLinkR99ParamSet& extension, TUmtsQoSParameters& params);
-
- void ResetPrtExtensions();
-
-
-#ifdef SYMBIAN_NETWORKING_UMTSR5
- void MapExtensionParamsFromESockToPRTL(const CSubConQosR5ParamSet& aExtension, TUmtsR5QoSParameters& aParams);
- void MapExtensionParamsFromESockToPRTL(const CSubConImsExtParamSet& aExtension, TImsParameter& aParams);
-
- CSubConExtensionParameterSet* MapFromUmtsR5ExtensionL (const CUmtsR5QoSPolicy* aPolicy);
- CSubConExtensionParameterSet* MapFromImsExtensionL (const CImsPolicy* aPolicy);
-#endif
-// SYMBIAN_NETWORKING_UMTSR5
-
-
- void MapExtensionParamsFromESockToPRTL(const CSubConSBLPR5ExtensionParamSet& extension, CSblpParameters& params) const;
-
- void ConvertTQoSIntoCQoSParamsL(const TQoSParameters& aParameter);
- void ConvertCQoSIntoTQoSParamsL(TQoSParameters& aParameters) const;
-
-private:
- /** Internal Socket */
- RInternalSocket iSocket;
-
- /** PRT message writer */
- CQoSMsgWriter* iWriter;
-
- /** PRT message reader */
- CQoSMsgReader* iReader;
-
- /** QoS channel Id */
- TInt iChannelId;
-
- /** Process UID */
- TUidType iUid;
-
- /** QoS Parameters */
- CQoSParameters* iPrtParameters;
-
- /** QoS Extensions */
- TQoSExtensionQueue iPrtExtensions;
-
- /** QoS Parameters Set */
- TBool iParametersSet;
- TInt iParameterRelease;
-
- /**Class for doing async writes */
- CAsyncWriter* iAsyncWriter;
- };
-
-#endif // BASIC_IPSCPR
-#endif // __IPSCPR_H__
-