1.1 --- a/epoc32/include/ip_subconparams.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/ip_subconparams.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,223 @@
1.4 -ip_subconparams.h
1.5 +/**
1.6 +* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
1.7 +* All rights reserved.
1.8 +* This component and the accompanying materials are made available
1.9 +* 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
1.10 +* which accompanies this distribution, and is available
1.11 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.12 +*
1.13 +* Initial Contributors:
1.14 +* Nokia Corporation - initial contribution.
1.15 +*
1.16 +* Contributors:
1.17 +*
1.18 +* Description:
1.19 +* Header file for the IP SubConnection Parameters
1.20 +*
1.21 +*
1.22 +*/
1.23 +
1.24 +
1.25 +
1.26 +
1.27 +
1.28 +/**
1.29 + @file ip_subconparams.h
1.30 +*/
1.31 +
1.32 +#ifndef __IP_SUBCONPARAMS_H__
1.33 +#define __IP_SUBCONPARAMS_H__
1.34 +
1.35 +#include <es_sock.h>
1.36 +#include <comms-infras/metadata.h>
1.37 +#include <comms-infras/metatype.h>
1.38 +#include <etelqos.h>
1.39 +
1.40 +
1.41 +// NOTE: This Uid may be changed - See #ifdef at bottom of the file
1.42 +const TInt KSubConIPParamsUid = 0x10204309;
1.43 +const TInt KSubConQosIPLinkR99ParamsType = 1;
1.44 +
1.45 +
1.46 +#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
1.47 +#include <networking/qos3gpp_subconparams.h>
1.48 +
1.49 +#else
1.50 +const TInt KSubConnSBLPR5ExtensionParamsType = 2;
1.51 +
1.52 +
1.53 +/** Constant definitions particular to the Generic Parameters. */
1.54 +const TInt KMAuthTokenLength = 255;
1.55 +/** Typedef for the AuthToken Holder. */
1.56 +typedef TBuf8<KMAuthTokenLength> TAuthToken;
1.57 +
1.58 +#if defined(SYMBIAN_NETWORKING_UMTSR5) && !defined(SYMBIAN_NETWORKING_3GPPDEFAULTQOS)
1.59 +#pragma message("SYMBIAN_NETWORKING_UMTSR5 cannot be defined without SYMBIAN_NETWORKING_3GPPDEFAULTQOS")
1.60 +#endif
1.61 +// SYMBIAN_NETWORKING_UMTSR5
1.62 +
1.63 +
1.64 +#endif
1.65 +
1.66 +
1.67 +#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
1.68 +/** Provides Implementation of IP QoS Parameters
1.69 +
1.70 +@publishedAll
1.71 +@released since v9.1
1.72 +@deprecated from v9.2 onwards. Use CSubConQosR99ParamSet from Qos3GPP_Subconparams.h instead.
1.73 +*/
1.74 +#else
1.75 +/** Provides Implementation of IP QoS Parameters
1.76 +
1.77 +@publishedAll
1.78 +@released since v9.1
1.79 +*/#endif
1.80 +class CSubConQosIPLinkR99ParamSet : public CSubConExtensionParameterSet
1.81 +{
1.82 +public:
1.83 + inline static CSubConQosIPLinkR99ParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType);
1.84 + inline static CSubConQosIPLinkR99ParamSet* NewL();
1.85 +
1.86 + inline CSubConQosIPLinkR99ParamSet();
1.87 +
1.88 + inline RPacketQoS::TTrafficClass GetTrafficClass() const;
1.89 + inline RPacketQoS::TDeliveryOrder GetDeliveryOrder() const;
1.90 + inline RPacketQoS::TErroneousSDUDelivery GetErroneousSDUDelivery() const;
1.91 + inline RPacketQoS::TBitErrorRatio GetResidualBitErrorRatio() const;
1.92 + inline RPacketQoS::TSDUErrorRatio GetSDUErrorRatio() const;
1.93 + inline RPacketQoS::TTrafficHandlingPriority GetTrafficHandlingPriority() const;
1.94 + inline TInt GetTransferDelay() const;
1.95 + inline TInt GetMaxSduSize() const;
1.96 + inline TInt GetMaxBitrateUplink() const;
1.97 + inline TInt GetMaxBitrateDownlink() const;
1.98 + inline TInt GetGuaBitrateUplink() const;
1.99 + inline TInt GetGuaBitrateDownlink() const;
1.100 + inline void SetTrafficClass(RPacketQoS::TTrafficClass aTrafficClass);
1.101 + inline void SetDeliveryOrder(RPacketQoS::TDeliveryOrder aDeliveryOrder);
1.102 + inline void SetErroneousSDUDelivery(RPacketQoS::TErroneousSDUDelivery aDeliveryOfErroneusSdu);
1.103 + inline void SetResidualBitErrorRatio(RPacketQoS::TBitErrorRatio aResidualBer);
1.104 + inline void SetSDUErrorRatio(RPacketQoS::TSDUErrorRatio aErrorRatio);
1.105 + inline void SetTrafficHandlingPriority(RPacketQoS::TTrafficHandlingPriority aPriority);
1.106 + inline void SetTransferDelay(TInt aTransferDelay);
1.107 + inline void SetMaxSduSize(TInt aMaxSduSize);
1.108 + inline void SetMaxBitrateUplink(TInt aMaxBitrateUplink);
1.109 + inline void SetMaxBitrateDownlink(TInt aMaxBitrateDownlink);
1.110 + inline void SetGuaBitrateUplink(TInt aGuaBitrateUplink);
1.111 + inline void SetGuaBitrateDownlink(TInt aGuaBitrateDownlink);
1.112 +
1.113 +protected:
1.114 +
1.115 + DATA_VTABLE
1.116 +
1.117 +protected:
1.118 + RPacketQoS::TTrafficClass iTrafficClass; // Traffic class
1.119 + RPacketQoS::TDeliveryOrder iDeliveryOrder; // Delivery order
1.120 + RPacketQoS::TErroneousSDUDelivery iDeliveryOfErroneusSdu; // Delivery of erroneous SDUs
1.121 + RPacketQoS::TBitErrorRatio iResidualBer; // Residual BER
1.122 + RPacketQoS::TSDUErrorRatio iErrorRatio; // SDU error ratio
1.123 + RPacketQoS::TTrafficHandlingPriority iPriority; // Traffic handling priority
1.124 + TInt iTransferDelay; // Transfer delay
1.125 + TInt iMaxSduSize; // Maximum SDU size
1.126 + TInt iMaxBitrateUplink; // Maximum bit rate for uplink
1.127 + TInt iMaxBitrateDownlink; // Maximum bit rate for downlink
1.128 + TInt iGuaBitrateUplink; // Guaranteed bit rate for uplink
1.129 + TInt iGuaBitrateDownlink; // Guaranteed bit rate for downlink
1.130 + };
1.131 +
1.132 +#ifndef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
1.133 +
1.134 +
1.135 +/** Flow Identifires
1.136 +ECOM Implementation Id for SBLP Extension parameters.
1.137 +
1.138 +@publishedAll
1.139 +@released since v9.1 */
1.140 +struct TFlowId
1.141 + {
1.142 + /** Getter Function for the Components of Flow ids. */
1.143 + inline TUint16 GetMediaComponentNumber() const;
1.144 + inline TUint16 GetIPFlowNumber() const;
1.145 + /** Setter Function For Flow Id Components. */
1.146 + inline void SetMediaComponentNumber(TUint16 aMediaComponentNumber);
1.147 + inline void SetIPFlowNumber(TUint16 aIPFlowNumber);
1.148 +
1.149 +private:
1.150 + TUint16 iMediaComponentNumber;
1.151 + TUint16 iIPFlowNumber;
1.152 + };
1.153 +
1.154 +typedef RArray<TFlowId> RFlowIdentifiers;
1.155 +
1.156 +/** Extension Parameter Sets, Consise of MAT and FI(s).
1.157 +Provides Implementation of Extension parameters of the SBLP Family.
1.158 +
1.159 +@publishedAll
1.160 +@released since v9.1 */
1.161 +class CSubConSBLPR5ExtensionParamSet : public CSubConExtensionParameterSet
1.162 + {
1.163 +public:
1.164 + inline static CSubConSBLPR5ExtensionParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType);
1.165 + inline static CSubConSBLPR5ExtensionParamSet* NewL();
1.166 +
1.167 + /** Media Authorization Token setter and getter functions. */
1.168 + inline const TAuthToken& GetMAT() const;
1.169 + inline void SetMAT(const TAuthToken& aAuthToken);
1.170 +
1.171 + /** Flow identifires setter and getter functions. */
1.172 + inline TInt GetNumberOfFlowIds() const;
1.173 + inline const TFlowId& GetFlowIdAt(TInt aIndex) const;
1.174 +
1.175 + /** Adding of Flow Identifires into an array. */
1.176 + inline void AddFlowIdL(const TFlowId& aFlowId);
1.177 +
1.178 + /** public constructors so that it can be accessed by factory. */
1.179 + inline CSubConSBLPR5ExtensionParamSet();
1.180 + inline ~CSubConSBLPR5ExtensionParamSet();
1.181 +
1.182 +protected:
1.183 + DATA_VTABLE
1.184 +
1.185 + /** Single Media Authorization Token (MAT). */
1.186 + TAuthToken iAuthToken;
1.187 +
1.188 + /** Multiple Flow Identifiers. */
1.189 + RFlowIdentifiers iFlowIds;
1.190 + };
1.191 +#endif
1.192 +
1.193 +
1.194 +
1.195 +
1.196 +
1.197 +/**
1.198 +Factory used to create instances of IP SubConnection Parameters.
1.199 +
1.200 +@internalComponent
1.201 +@released since v9.1
1.202 +*/
1.203 +class CSubConIPExtensionParamsFactory : public CBase
1.204 + {
1.205 +public:
1.206 + static CSubConExtensionParameterSet* NewL(TAny* aConstructionParameters);
1.207 + };
1.208 +
1.209 +#include <ip_subconparams.inl>
1.210 +
1.211 +
1.212 +
1.213 +#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
1.214 +/*
1.215 + Umts QoS extension classes have been relocated to the UmtsGprsSCPR component.
1.216 + So now we need to make sure that the correct class factory TUid, class name,
1.217 + and class Id are used
1.218 +*/
1.219 +#define KSubConIPParamsUid KSubCon3GPPExtParamsFactoryUid
1.220 +#define KSubConQosIPLinkR99ParamsType KSubConQosR99ParamsType
1.221 +#define CSubConQosIPLinkR99ParamSet CSubConQosR99ParamSet
1.222 +#endif
1.223 +// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
1.224 +
1.225 +
1.226 +#endif
1.227 +// __IP_SUBCONPARAMS_H__