networkcontrol/iptransportlayer/src/IPMessages.cpp
changeset 0 af10295192d8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/iptransportlayer/src/IPMessages.cpp	Tue Jan 26 15:23:49 2010 +0200
@@ -0,0 +1,80 @@
+// 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:
+// IP-proprietary messages
+// 
+//
+
+/**
+ @file
+ @internalTechnology
+*/
+
+#include <comms-infras/ss_thread.h>
+#include "IPMessages.h"
+#include "policyrequest.h"
+#include <elements/metadata.h>
+
+using namespace Messages;
+using namespace Elements;
+using namespace ESock;
+using namespace CommsDat;
+
+enum EMessageTypeId
+//message signatures only (NOT messages) messages are declared under class TCFMessage
+	{
+	EConnPolicyRequestSig			= 2,
+	ESigPolicyParams				= 3,
+
+	ENodeSignalBase					= 1000,
+	EPolicyRequestBase				= 1001,
+	};
+
+START_ATTRIBUTE_TABLE( TCFConnPolicyRequest, TCFIPMessage::ERealmId, EConnPolicyRequestSig )
+	REGISTER_ATTRIBUTE( TCFConnPolicyRequest, iParamBundle, TMeta<RCFParameterFamilyBundleC> )
+	REGISTER_ATTRIBUTE( TCFConnPolicyRequest, iFlowNodeId, TMeta<TNodeId> )
+	REGISTER_ATTRIBUTE( TCFConnPolicyRequest, iSenderSCPrNodeId, TMeta<TNodeId> )
+	REGISTER_ATTRIBUTE( TCFConnPolicyRequest, iIPCPrNodeId, TMeta<TNodeId> )
+	REGISTER_ATTRIBUTE( TCFConnPolicyRequest, iNewSCPrNodeId, TMeta<TNodeId> )
+END_ATTRIBUTE_TABLE_BASE( TSignatureBase, ESignatureBase )
+
+START_ATTRIBUTE_TABLE( TSigPolicyParams, TCFIPMessage::ERealmId, ESigPolicyParams )
+	REGISTER_ATTRIBUTE( TSigPolicyParams, iAddrUpdate, TMeta<TAddrUpdate> )
+	REGISTER_ATTRIBUTE( TSigPolicyParams, iSrcNodeId, TMeta<TNodeId> )
+	REGISTER_ATTRIBUTE( TSigPolicyParams, iFlowId, TMeta<TNodeId> )
+	REGISTER_ATTRIBUTE( TSigPolicyParams, iAppSid, TMeta<TUid> )
+END_ATTRIBUTE_TABLE_BASE( TSignatureBase, ESignatureBase )
+
+DEFINE_MVIP_CTR(TSigPolicyParams);
+DEFINE_MVIP_CTR(TCFConnPolicyRequest)
+
+const TImplementationProxy SignatureImplementationTable[] =
+	{
+	MVIP_CTR_ENTRY(EConnPolicyRequestSig, TCFConnPolicyRequest),
+	MVIP_CTR_ENTRY(ESigPolicyParams, TSigPolicyParams),	
+	};
+
+void TCFIPMessage::RegisterL()
+	{
+	//Temporary pain relieve?
+	if (!TlsGlobals::Get().IsInterfaceRegistered(TUid::Uid(TCFIPMessage::ERealmId)))
+		{
+		TlsGlobals::Get().RegisterInterfaceL(TUid::Uid(TCFIPMessage::ERealmId), sizeof(SignatureImplementationTable) / sizeof(SignatureImplementationTable[0]), SignatureImplementationTable);
+		}
+	}
+
+void TCFIPMessage::DeRegister()
+	{
+	TlsGlobals::Get().DeregisterInterface(TUid::Uid(TCFIPMessage::ERealmId));
+	}
+