networkcontrol/ipscpr/inc/ipscpr.h
branchRCL_3
changeset 58 8d540f55e491
parent 57 abbed5a4b42a
child 59 e36178c55292
child 63 425d8f4f7fa5
--- 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__
-