diff -r 000000000000 -r af10295192d8 linklayercontrol/mbmsparameters/src/mbmsparams.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linklayercontrol/mbmsparameters/src/mbmsparams.cpp Tue Jan 26 15:23:49 2010 +0200 @@ -0,0 +1,162 @@ +// Copyright (c) 2008-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: +// + +/** + @file + @publishedPartner + @released since 9.5 +*/ + +#include "mbmsparams.h" +#include +#include +#include +#include +#include +#include + +using namespace ConnectionServ; +using namespace Meta; + +#ifdef __CFLOG_ACTIVE +#define KMBMSTierMgrTag KESockConnServTag +_LIT8(KConnservMBMSParamsTag, "MBMSParams"); +#endif + +START_ATTRIBUTE_TABLE( XMBMSServiceParameterSet,KConnectionServMBMSParamImplUid, KMBMSParameterSetType ) + REGISTER_ATTRIBUTE( XMBMSServiceParameterSet,iServiceInfo,TMeta ) + REGISTER_ATTRIBUTE( XMBMSServiceParameterSet,iServiceMode, TMetaNumber ) + REGISTER_ATTRIBUTE( XMBMSServiceParameterSet,iAvailabilityStatus, TMetaNumber ) +END_ATTRIBUTE_TABLE() + +START_ATTRIBUTE_TABLE( XMBMSServiceQuerySet,KConnectionServMBMSParamImplUid, KMBMSQuerySetType ) + REGISTER_ATTRIBUTE( XMBMSServiceQuerySet,iQueryType,TMeta ) + REGISTER_ATTRIBUTE( XMBMSServiceQuerySet,iBearerAvailability, TMetaNumber ) + REGISTER_ATTRIBUTE( XMBMSServiceQuerySet,iCurrentCount, TMetaNumber ) + REGISTER_ATTRIBUTE( XMBMSServiceQuerySet,iMaxCount, TMetaNumber ) +END_ATTRIBUTE_TABLE() + +// Define the interface UIDs +const TImplementationProxy ImplementationTable[] = + { + IMPLEMENTATION_PROXY_ENTRY(KConnectionServMBMSParamImplUid, CConnectionServMBMSParamsFactory::NewL), + IMPLEMENTATION_PROXY_ENTRY(KSubConChannelParamsImplUid, CSubConChannelParamsFactory::NewL), + IMPLEMENTATION_PROXY_ENTRY(KSubConMBMSExtParamsImplUid, CSubConMBMSExtParamsFactory::NewL), + }; + +/** +ECOM Implementation Factories +*/ + +EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) + { + aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); + + return ImplementationTable; + } + +/** +Plugin Implementation +*/ +XConnectionServParameterSet* CConnectionServMBMSParamsFactory::NewL(TAny* aConstructionParameters) + { + TInt32 type = reinterpret_cast(aConstructionParameters); + XConnectionServParameterSet* retval = NULL; + + switch (type) + { + case KMBMSParameterSetType: + retval = new (ELeave) XMBMSServiceParameterSet; + break; + + case KMBMSQuerySetType: + retval = new (ELeave) XMBMSServiceQuerySet; + break; + + default: + User::Leave(KErrNotFound); + } + + return retval; + } + +START_ATTRIBUTE_TABLE( CSubConMBMSExtensionParamSet, KSubConMBMSExtParamsImplUid, KSubConMBMSSessionExtParamsType ) + REGISTER_ATTRIBUTE(CSubConMBMSExtensionParamSet, iSessionIds, TMetaArray) + REGISTER_ATTRIBUTE(CSubConMBMSExtensionParamSet, iServiceMode, TMeta) + REGISTER_ATTRIBUTE(CSubConMBMSExtensionParamSet, iOperationType, TMeta) +END_ATTRIBUTE_TABLE() +/** +Plugin Implementation +*/ +CSubConExtensionParameterSet* CSubConMBMSExtParamsFactory::NewL(TAny* aConstructionParameters) + { + TInt32 type = reinterpret_cast(aConstructionParameters); + switch (type) + { + case (KSubConMBMSSessionExtParamsType): + return new(ELeave) CSubConMBMSExtensionParamSet; + + default: + User::Leave(KErrNotFound); + } + return NULL; + } + + +START_ATTRIBUTE_TABLE( CSubConChannelParamSet, KSubConChannelParamsImplUid, KSubConChannelParamsType ) + REGISTER_ATTRIBUTE(CSubConChannelParamSet, iServiceInfo, TMeta) +END_ATTRIBUTE_TABLE() +/** +Plugin Implementation +*/ +CSubConGenericParameterSet* CSubConChannelParamsFactory::NewL(TAny* aConstructionParameters) + { + + TInt32 type = reinterpret_cast(aConstructionParameters); + switch (type) + { + case (KSubConChannelParamsType): + return new (ELeave) CSubConChannelParamSet; + + } + return NULL; + } + + +/*virtual*/XMBMSServiceParameterSet::~XMBMSServiceParameterSet() +/** + Standard destructor. + */ + { + } + +/*virtual*/CSubConChannelParamSet::~CSubConChannelParamSet() +/** + Standard destructor. + */ + { + } + +/*virtual*/CSubConMBMSExtensionParamSet::~CSubConMBMSExtensionParamSet() + { + iSessionIds.Close(); + } + +/*virtual*/XMBMSServiceQuerySet::~XMBMSServiceQuerySet() +/** + Standard destructor. + */ + { + }