williamr@2: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@2: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // Header file for the Automated Test Tool williamr@2: // williamr@2: // williamr@2: williamr@2: /** williamr@2: @file williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: williamr@2: #ifndef __CS_SUBCONPARAMS_H__ williamr@2: #define __CS_SUBCONPARAMS_H__ williamr@2: williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: #include williamr@4: #include williamr@2: williamr@2: #include williamr@2: williamr@4: //Parameter Types are defined here and enums defined locally in the class williamr@2: const TInt32 KSubConnQosGenericParamsType = 1; williamr@2: const TInt32 KSubConnAuthorisationGenericParamsType = 2; williamr@4: const TInt32 KFlowRequestParametersType = 3; williamr@4: const TInt32 KSubConnProtocolGenericParamsType = 4; williamr@4: williamr@2: using Meta::SMetaDataECom; williamr@2: williamr@2: class CSubConQosGenericParamSet : public CSubConGenericParameterSet williamr@2: /** Qos generic parameter set. williamr@2: williamr@2: This class contains a collection of generic QoS family parameters i.e, independent of any technology williamr@2: and provides the interface to access them. williamr@2: williamr@2: The following operations are also provided: williamr@2: williamr@2: GetDownlinkBandwidth()/SetDownlinkBandwidth() - Accessor function for downlink bandwidth value. williamr@2: GetUplinkBandwidth()/SetUplinkBandwidth() - Accessor function for uplink bandwidth value. williamr@2: GetDownLinkMaximumBurstSize()/SetDownLinkMaximumBurstSize() - Accessor function for maximum size of downlink burst of data the client can handle. williamr@2: GetUpLinkMaximumBurstSize()/SetUpLinkMaximumBurstSize() - Accessor function for maximum size of uplink burst of data the client can handle. williamr@2: GetDownLinkAveragePacketSize()/SetDownLinkAveragePacketSize() - Accessor function for downlink average packet size data. williamr@2: GetUpLinkAveragePacketSize()/SetUpLinkAveragePacketSize() - Accessor function for uplink average packet size data. williamr@2: GetDownLinkMaximumPacketSize()/SetDownLinkMaximumPacketSize() - Accessor function for downlink maximum packet size data. williamr@2: GetUpLinkMaximumPacketSize()/SetUpLinkMaximumPacketSize() - Accessor function for uplink maximum packet size data. williamr@2: GetDownLinkDelay()/SetDownLinkDelay() - Accessor function for acceptable downlink delay/latency value. williamr@2: GetUpLinkDelay()/SetUpLinkDelay() - Accessor function for acceptable uplink delay/latency value. williamr@2: GetDownLinkDelayVariation()/SetDownLinkDelayVariation() - Accessor function for acceptable downlink variation in delay. williamr@2: GetUpLinkDelayVariation()/SetUpLinkDelayVariation() - Accessor function for acceptable uplink variation in delay. williamr@2: GetDownLinkPriority()/SetDownLinkPriority() - Accessor function for downlink priority williamr@2: GetUpLinkPriority()/SetUpLinkPriority() - Accessor function for uplink priority williamr@2: GetHeaderMode()/SetHeaderMode() - Accessor function for header mode (Specify whether the header size should be calculated by the QoS module or specified by the client) williamr@2: GetName()/SetName() - Accessor function for QoS Parameters name. williamr@2: williamr@2: @note SMetaDataECom must be the first in the superclasses' list williamr@2: @publishedAll williamr@2: @released since v9.1 */ williamr@2: { williamr@2: public: williamr@4: enum williamr@4: { williamr@4: EUid=KSubConnGenericParamsImplUid, williamr@4: EType=KSubConnQosGenericParamsType williamr@4: }; williamr@4: williamr@2: inline static CSubConQosGenericParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType); williamr@4: inline static CSubConQosGenericParamSet* NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType); williamr@2: inline static CSubConQosGenericParamSet* NewL(); williamr@2: williamr@2: inline CSubConQosGenericParamSet(); williamr@2: williamr@2: inline TInt GetDownlinkBandwidth() const; williamr@2: inline TInt GetUplinkBandwidth() const; williamr@2: inline TInt GetDownLinkMaximumBurstSize() const; williamr@2: inline TInt GetUpLinkMaximumBurstSize() const; williamr@2: inline TInt GetDownLinkAveragePacketSize() const; williamr@2: inline TInt GetUpLinkAveragePacketSize() const; williamr@2: inline TInt GetDownLinkMaximumPacketSize() const; williamr@2: inline TInt GetUpLinkMaximumPacketSize() const; williamr@2: inline TInt GetDownLinkDelay() const; williamr@2: inline TInt GetUpLinkDelay() const; williamr@2: inline TInt GetDownLinkDelayVariation() const; williamr@2: inline TInt GetUpLinkDelayVariation() const; williamr@2: inline TInt GetDownLinkPriority() const; williamr@2: inline TInt GetUpLinkPriority() const; williamr@2: inline TBool GetHeaderMode() const; williamr@2: inline const TName& GetName() const; williamr@2: williamr@2: inline void SetDownlinkBandwidth(TInt); williamr@2: inline void SetUplinkBandwidth(TInt); williamr@2: inline void SetDownLinkMaximumBurstSize(TInt); williamr@2: inline void SetUpLinkMaximumBurstSize(TInt); williamr@2: inline void SetDownLinkAveragePacketSize(TInt); williamr@2: inline void SetUpLinkAveragePacketSize(TInt); williamr@2: inline void SetDownLinkMaximumPacketSize(TInt); williamr@2: inline void SetUpLinkMaximumPacketSize(TInt); williamr@2: inline void SetDownLinkDelay(TInt); williamr@2: inline void SetUpLinkDelay(TInt); williamr@2: inline void SetDownLinkDelayVariation(TInt); williamr@2: inline void SetUpLinkDelayVariation(TInt); williamr@2: inline void SetDownLinkPriority(TInt); williamr@2: inline void SetUpLinkPriority(TInt); williamr@2: inline void SetHeaderMode(TBool); williamr@2: inline void SetName(const TName&); williamr@2: williamr@2: protected: williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: TInt iDownlinkBandwidth; williamr@2: TInt iUplinkBandwidth; williamr@2: TInt iDownLinkMaximumBurstSize; williamr@2: TInt iUpLinkMaximumBurstSize; williamr@2: TInt iDownLinkAveragePacketSize; williamr@2: TInt iUpLinkAveragePacketSize; williamr@2: TInt iDownLinkMaximumPacketSize; williamr@2: TInt iUpLinkMaximumPacketSize; williamr@2: TInt iDownLinkDelay; williamr@2: TInt iUpLinkDelay; williamr@2: TInt iDownLinkDelayVariation; williamr@2: TInt iUpLinkDelayVariation; williamr@2: TInt iDownLinkPriority; williamr@2: TInt iUpLinkPriority; williamr@2: TBool iHeaderMode; williamr@2: TName iName; williamr@2: }; williamr@2: williamr@2: class CSubConAuthorisationGenericParamSet : public CSubConGenericParameterSet williamr@2: /** Authorisation generic parameter set. williamr@2: williamr@2: This class contains authorization generic parameters. williamr@2: williamr@2: @note SMetaDataECom must be the first in the superclasses' list williamr@2: @publishedAll williamr@2: @released since v9.1 */ williamr@2: { williamr@2: public: williamr@4: enum williamr@4: { williamr@4: EUid=KSubConnGenericParamsImplUid, williamr@4: EType=KSubConnAuthorisationGenericParamsType williamr@4: }; williamr@4: williamr@2: inline static CSubConAuthorisationGenericParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType); williamr@4: inline static CSubConAuthorisationGenericParamSet* NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType); williamr@2: inline static CSubConAuthorisationGenericParamSet* NewL(); williamr@2: williamr@2: inline CSubConAuthorisationGenericParamSet(); williamr@2: williamr@2: inline TInt GetId() const; williamr@2: williamr@2: inline void SetId(TInt); williamr@2: williamr@2: protected: williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: TInt iId; williamr@2: }; williamr@2: williamr@2: williamr@2: #include williamr@4: williamr@2: #endif // __CS_SUBCONPARAMS_H__ williamr@4: