datacommsserver/esockserver/csock/cs_connectionservparameterbundle.cpp
changeset 0 dfb7c4ff071f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/esockserver/csock/cs_connectionservparameterbundle.cpp	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,107 @@
+// Copyright (c) 2006-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 399
+*/
+
+#include <comms-infras/es_connectionservparameterbundle.h>
+#include <comms-infras/cs_connservparams.h>
+#include <comms-infras/cs_connservparams_internal.h>
+
+#ifdef _DEBUG
+#include <comms-infras/es_connectionservparameterbundletrace.h>
+#include <comms-infras/es_connectionservparameterbundletraceimpl.h>
+#endif
+
+using namespace ConnectionServ;
+using namespace Meta;
+
+
+EXPORT_START_ATTRIBUTE_TABLE_NO_FN(XConnectionServParameterSet, KConnectionServParameterSetTypeUid, Meta::KNetMetaTypeAny)
+END_ATTRIBUTE_TABLE_BASE( XParameterSet, 0 )
+
+EXPORT_C /*virtual*/ XConnectionServParameterSet::~XConnectionServParameterSet()
+	{
+	}
+
+EXPORT_C /*virtual*/ void XConnectionServParameterSet::CopyFieldsRequiredByQueryFromL(
+						const CParameterBundleBase& aQuery,const XConnectionServParameterSet& aSource)
+	{
+	(void)aQuery;
+	Copy(aSource);
+	}
+
+// Connection Server Parameter Bundle Implementation
+
+EXPORT_C XAccessPointGenericQuery* CConnectionServParameterBundle::FindOrCreateGenericQueryL()
+	{
+	CConnectionServParameterSetContainer* parSetCtr = GetParamSetContainer(0);
+	XAccessPointGenericQuery* querySet = 0;
+	if(!parSetCtr)
+		{
+		parSetCtr = CConnectionServParameterSetContainer::NewL(*this, 0 /*no id needed*/);
+		}
+	else
+		{
+		querySet = XAccessPointGenericQuery::FindInParamSetContainer(*parSetCtr); 
+		}
+
+	if(!querySet)
+		{
+		querySet = XAccessPointGenericQuery::NewL(*parSetCtr);
+		}
+
+	return querySet;
+	}
+
+EXPORT_C void CConnectionServParameterBundle::AddMatchConditionL(const TAccessPointInfo& aApInfo)
+	{
+	XAccessPointGenericQuery* querySet = FindOrCreateGenericQueryL();
+	querySet->AddAccessPointToMatchL(aApInfo);
+	}
+
+EXPORT_C void CConnectionServParameterBundle::AddMatchConditionL(const TAccessPointStatusFilter& aApStatusFilter)
+	{
+	XAccessPointGenericQuery* querySet = FindOrCreateGenericQueryL();
+	querySet->AccessPointStatusFilter(aApStatusFilter);
+	}
+
+EXPORT_C void CConnectionServParameterBundle::AddParameterSetToReturnL(const STypeId& aTypeId)
+	{
+	XAccessPointGenericQuery* querySet = FindOrCreateGenericQueryL();
+	querySet->AddParameterSetTypeToReturnL(aTypeId);
+	}
+
+EXPORT_C const RArray<Meta::STypeId>& CConnectionServParameterBundle::GetParameterSetsToReturnL() const
+	{
+	const XAccessPointGenericQuery* querySet = const_cast<CConnectionServParameterBundle*>(this)->FindOrCreateGenericQueryL();
+	return querySet->GetParameterSetTypesToReturn();
+	}
+
+
+EXPORT_C const XAccessPointGenericQuery* CConnectionServParameterBundle::FindGenericQuery() const
+	{
+	/*const*/ CConnectionServParameterSetContainer* parSetCtr = const_cast<CConnectionServParameterBundle*>(this)->GetParamSetContainer(0);
+	if(parSetCtr)
+		{
+		return XAccessPointGenericQuery::FindInParamSetContainer(*parSetCtr);
+		}
+	return 0;
+	}
+
+