diff -r 000000000000 -r 3553901f7fa8 telephonyprotocols/qos3gppcpr/src/Qos3GPP_subconparams.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyprotocols/qos3gppcpr/src/Qos3GPP_subconparams.cpp Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,93 @@ +// 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: +// Qos3GPP_subconnProvFactory.cpp +// Implementation file for the 3GPP SubConnection Parameter Set (R99/R4) +// +// + +/** + @file + @internalComponent +*/ + + +#include +#include +#include +#include +#include +#include +#include + +START_ATTRIBUTE_TABLE( CSubConQosR99ParamSet, KSubCon3GPPExtParamsFactoryUid, KSubConQosR99ParamsType ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iTrafficClass, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iDeliveryOrder, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iDeliveryOfErroneusSdu, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iResidualBer, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iErrorRatio, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iPriority, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iTransferDelay, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iMaxSduSize, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iMaxBitrateUplink, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iMaxBitrateDownlink, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iGuaBitrateUplink, TMetaNumber ) + REGISTER_ATTRIBUTE( CSubConQosR99ParamSet, iGuaBitrateDownlink, TMetaNumber ) +END_ATTRIBUTE_TABLE() + +START_ATTRIBUTE_TABLE( CSubConSBLPR5ExtensionParamSet, KSubCon3GPPExtParamsFactoryUid, KSubConnSBLPR5ExtensionParamsType ) + REGISTER_ATTRIBUTE( CSubConSBLPR5ExtensionParamSet, iAuthToken, TMeta) + REGISTER_ATTRIBUTE( CSubConSBLPR5ExtensionParamSet, iFlowIds, TMetaArray) +END_ATTRIBUTE_TABLE() + + +#ifdef SYMBIAN_NETWORKING_UMTSR5 +START_ATTRIBUTE_TABLE( CSubConQosR5ParamSet, KSubCon3GPPExtParamsFactoryUid, KSubConQosR5ParamsType ) + REGISTER_ATTRIBUTE( CSubConQosR5ParamSet, iSignallingIndicator, TMeta) + REGISTER_ATTRIBUTE( CSubConQosR5ParamSet, iSrcStatsDesc, TMetaNumber) +END_ATTRIBUTE_TABLE_BASE(CSubConQosR99ParamSet,0) + +START_ATTRIBUTE_TABLE( CSubConImsExtParamSet, KSubCon3GPPExtParamsFactoryUid, KSubConImsExtParamsType ) + REGISTER_ATTRIBUTE(CSubConImsExtParamSet, iImsSignallingIndicator, TMeta) +END_ATTRIBUTE_TABLE() +#endif +// SYMBIAN_NETWORKING_UMTSR5 + + +CSubConExtensionParameterSet* CSubCon3GPPExtParamsFactory::NewL(TAny* aConstructionParameters) + { + TInt32 type = reinterpret_cast(aConstructionParameters); + switch (type) + { + + case (KSubConQosR99ParamsType): + return new (ELeave) CSubConQosR99ParamSet; + + case (KSubConnSBLPR5ExtensionParamsType): + return new (ELeave) CSubConSBLPR5ExtensionParamSet; + +#ifdef SYMBIAN_NETWORKING_UMTSR5 + case (KSubConQosR5ParamsType): + return new(ELeave) CSubConQosR5ParamSet; + + case (KSubConImsExtParamsType): + return new(ELeave) CSubConImsExtParamSet; +#endif +// SYMBIAN_NETWORKING_UMTSR5 + + default: + User::Leave(KErrNotFound); + } + return NULL; + } +