commsfwsupport/commselements/NetMessages/inc/IdQueryNetMsg.h
changeset 0 dfb7c4ff071f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsfwsupport/commselements/NetMessages/inc/IdQueryNetMsg.h	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,89 @@
+// 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:
+//
+
+/**
+ @file
+ @internalTechnology
+*/
+
+
+#if !defined(IDQUERYNETMSG_H)
+#define IDQUERYNETMSG_H
+
+#include <elements/netmessages.h>
+#include <elements/h_trbuf.h>
+
+namespace NetMessages
+{
+
+/** Types of an KNetMessageInterface interface represented by CNetMessage. Could be exteded either by native types
+less than KNetMessageInterfacePrivate or user types greater than KNetMessageInterfacePrivate
+@released since 9.1
+*/
+enum TImplementations
+	{
+/** Any message type */
+	EMessageAny = Meta::KNetMetaTypeAny,
+/** Message type for a factory instance to return a handle to an object */
+	ETypeIdQueryId,
+/** Message type for a factory instance to return a handle to an object with additional data*/
+	ETypeIdQueryDataId,
+
+/** Custom message classes starts here the number should make sure that custom messages will not
+	overlap the one in NetMessage.dll*/
+	EInterfacePrivate = 128
+	};
+
+/** Factory commands
+@see RRootServ::SendMessage
+@see CTypeIdQuery
+@released since 9.1
+*/
+const TInt KHandleRelease = 1;
+const TInt KHandleAttach = 2;
+
+const TInt KInterfaceUid = 0x102046A4;
+
+/** Max length of CTypeIdQuery::iOid
+@see CTypeIdQuery
+@released since 9.1
+*/
+const TInt KMaxOIDLength = 32;
+
+/** Message type for a factory instance to return a handle to an object
+@released since 9.1
+*/
+class CTypeIdQuery : public CMessage
+	{
+	NET_MESSAGE_DECL( CTypeIdQuery, KInterfaceUid, ETypeIdQueryId )
+
+	TInt32 iUid;		//[in] interface id (determines the factory scope e.g KProtocolFamilyInterfaceUidinstance)
+	TInt32 iTypeId;	//[in] type id in the iUid scope (e.g IP protocol family in the scope of protocol families)
+	TInt	iHandle; //[in/out] [in] - iHandle !=NULL => release the handle iHandle == NULL get the handle
+	TBuf8<KMaxOIDLength> iOid;   //[in] Object identification (in a form the particular factory understands)
+	};
+
+/** Message type for a factory instance to return a handle to an object with additional data
+@released since 9.1
+*/
+class CTypeIdDataQuery : public CTypeIdQuery
+	{
+	NET_MESSAGE_DECL( CTypeIdDataQuery, KInterfaceUid, ETypeIdQueryDataId )
+
+	Elements::TRBuf iData; //[in/out] internal data exchange on creation
+	};
+}
+#endif	// IDQUERYNETMSG_H
+