--- a/epoc32/include/ip_subconparams.h Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/ip_subconparams.h Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,223 @@
-ip_subconparams.h
+/**
+* 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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header file for the IP SubConnection Parameters
+*
+*
+*/
+
+
+
+
+
+/**
+ @file ip_subconparams.h
+*/
+
+#ifndef __IP_SUBCONPARAMS_H__
+#define __IP_SUBCONPARAMS_H__
+
+#include <es_sock.h>
+#include <comms-infras/metadata.h>
+#include <comms-infras/metatype.h>
+#include <etelqos.h>
+
+
+// NOTE: This Uid may be changed - See #ifdef at bottom of the file
+const TInt KSubConIPParamsUid = 0x10204309;
+const TInt KSubConQosIPLinkR99ParamsType = 1;
+
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+#include <networking/qos3gpp_subconparams.h>
+
+#else
+const TInt KSubConnSBLPR5ExtensionParamsType = 2;
+
+
+/** Constant definitions particular to the Generic Parameters. */
+const TInt KMAuthTokenLength = 255;
+/** Typedef for the AuthToken Holder. */
+typedef TBuf8<KMAuthTokenLength> TAuthToken;
+
+#if defined(SYMBIAN_NETWORKING_UMTSR5) && !defined(SYMBIAN_NETWORKING_3GPPDEFAULTQOS)
+#pragma message("SYMBIAN_NETWORKING_UMTSR5 cannot be defined without SYMBIAN_NETWORKING_3GPPDEFAULTQOS")
+#endif
+// SYMBIAN_NETWORKING_UMTSR5
+
+
+#endif
+
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+/** Provides Implementation of IP QoS Parameters
+
+@publishedAll
+@released since v9.1
+@deprecated from v9.2 onwards. Use CSubConQosR99ParamSet from Qos3GPP_Subconparams.h instead.
+*/
+#else
+/** Provides Implementation of IP QoS Parameters
+
+@publishedAll
+@released since v9.1
+*/#endif
+class CSubConQosIPLinkR99ParamSet : public CSubConExtensionParameterSet
+{
+public:
+ inline static CSubConQosIPLinkR99ParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType);
+ inline static CSubConQosIPLinkR99ParamSet* NewL();
+
+ inline CSubConQosIPLinkR99ParamSet();
+
+ inline RPacketQoS::TTrafficClass GetTrafficClass() const;
+ inline RPacketQoS::TDeliveryOrder GetDeliveryOrder() const;
+ inline RPacketQoS::TErroneousSDUDelivery GetErroneousSDUDelivery() const;
+ inline RPacketQoS::TBitErrorRatio GetResidualBitErrorRatio() const;
+ inline RPacketQoS::TSDUErrorRatio GetSDUErrorRatio() const;
+ inline RPacketQoS::TTrafficHandlingPriority GetTrafficHandlingPriority() const;
+ inline TInt GetTransferDelay() const;
+ inline TInt GetMaxSduSize() const;
+ inline TInt GetMaxBitrateUplink() const;
+ inline TInt GetMaxBitrateDownlink() const;
+ inline TInt GetGuaBitrateUplink() const;
+ inline TInt GetGuaBitrateDownlink() const;
+ inline void SetTrafficClass(RPacketQoS::TTrafficClass aTrafficClass);
+ inline void SetDeliveryOrder(RPacketQoS::TDeliveryOrder aDeliveryOrder);
+ inline void SetErroneousSDUDelivery(RPacketQoS::TErroneousSDUDelivery aDeliveryOfErroneusSdu);
+ inline void SetResidualBitErrorRatio(RPacketQoS::TBitErrorRatio aResidualBer);
+ inline void SetSDUErrorRatio(RPacketQoS::TSDUErrorRatio aErrorRatio);
+ inline void SetTrafficHandlingPriority(RPacketQoS::TTrafficHandlingPriority aPriority);
+ inline void SetTransferDelay(TInt aTransferDelay);
+ inline void SetMaxSduSize(TInt aMaxSduSize);
+ inline void SetMaxBitrateUplink(TInt aMaxBitrateUplink);
+ inline void SetMaxBitrateDownlink(TInt aMaxBitrateDownlink);
+ inline void SetGuaBitrateUplink(TInt aGuaBitrateUplink);
+ inline void SetGuaBitrateDownlink(TInt aGuaBitrateDownlink);
+
+protected:
+
+ DATA_VTABLE
+
+protected:
+ RPacketQoS::TTrafficClass iTrafficClass; // Traffic class
+ RPacketQoS::TDeliveryOrder iDeliveryOrder; // Delivery order
+ RPacketQoS::TErroneousSDUDelivery iDeliveryOfErroneusSdu; // Delivery of erroneous SDUs
+ RPacketQoS::TBitErrorRatio iResidualBer; // Residual BER
+ RPacketQoS::TSDUErrorRatio iErrorRatio; // SDU error ratio
+ RPacketQoS::TTrafficHandlingPriority iPriority; // Traffic handling priority
+ TInt iTransferDelay; // Transfer delay
+ TInt iMaxSduSize; // Maximum SDU size
+ TInt iMaxBitrateUplink; // Maximum bit rate for uplink
+ TInt iMaxBitrateDownlink; // Maximum bit rate for downlink
+ TInt iGuaBitrateUplink; // Guaranteed bit rate for uplink
+ TInt iGuaBitrateDownlink; // Guaranteed bit rate for downlink
+ };
+
+#ifndef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+
+/** Flow Identifires
+ECOM Implementation Id for SBLP Extension parameters.
+
+@publishedAll
+@released since v9.1 */
+struct TFlowId
+ {
+ /** Getter Function for the Components of Flow ids. */
+ inline TUint16 GetMediaComponentNumber() const;
+ inline TUint16 GetIPFlowNumber() const;
+ /** Setter Function For Flow Id Components. */
+ inline void SetMediaComponentNumber(TUint16 aMediaComponentNumber);
+ inline void SetIPFlowNumber(TUint16 aIPFlowNumber);
+
+private:
+ TUint16 iMediaComponentNumber;
+ TUint16 iIPFlowNumber;
+ };
+
+typedef RArray<TFlowId> RFlowIdentifiers;
+
+/** Extension Parameter Sets, Consise of MAT and FI(s).
+Provides Implementation of Extension parameters of the SBLP Family.
+
+@publishedAll
+@released since v9.1 */
+class CSubConSBLPR5ExtensionParamSet : public CSubConExtensionParameterSet
+ {
+public:
+ inline static CSubConSBLPR5ExtensionParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType);
+ inline static CSubConSBLPR5ExtensionParamSet* NewL();
+
+ /** Media Authorization Token setter and getter functions. */
+ inline const TAuthToken& GetMAT() const;
+ inline void SetMAT(const TAuthToken& aAuthToken);
+
+ /** Flow identifires setter and getter functions. */
+ inline TInt GetNumberOfFlowIds() const;
+ inline const TFlowId& GetFlowIdAt(TInt aIndex) const;
+
+ /** Adding of Flow Identifires into an array. */
+ inline void AddFlowIdL(const TFlowId& aFlowId);
+
+ /** public constructors so that it can be accessed by factory. */
+ inline CSubConSBLPR5ExtensionParamSet();
+ inline ~CSubConSBLPR5ExtensionParamSet();
+
+protected:
+ DATA_VTABLE
+
+ /** Single Media Authorization Token (MAT). */
+ TAuthToken iAuthToken;
+
+ /** Multiple Flow Identifiers. */
+ RFlowIdentifiers iFlowIds;
+ };
+#endif
+
+
+
+
+
+/**
+Factory used to create instances of IP SubConnection Parameters.
+
+@internalComponent
+@released since v9.1
+*/
+class CSubConIPExtensionParamsFactory : public CBase
+ {
+public:
+ static CSubConExtensionParameterSet* NewL(TAny* aConstructionParameters);
+ };
+
+#include <ip_subconparams.inl>
+
+
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+/*
+ Umts QoS extension classes have been relocated to the UmtsGprsSCPR component.
+ So now we need to make sure that the correct class factory TUid, class name,
+ and class Id are used
+*/
+#define KSubConIPParamsUid KSubCon3GPPExtParamsFactoryUid
+#define KSubConQosIPLinkR99ParamsType KSubConQosR99ParamsType
+#define CSubConQosIPLinkR99ParamSet CSubConQosR99ParamSet
+#endif
+// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+
+#endif
+// __IP_SUBCONPARAMS_H__