omxil/mmilapi/ilif/inc/tilstruct.inl
changeset 0 40261b775718
child 16 eedf2dcd43c6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omxil/mmilapi/ilif/inc/tilstruct.inl	Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,99 @@
+// 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
+ @internalTechnology
+ @prototype
+*/
+
+#ifndef TILSTRUCT_INL
+#define TILSTRUCT_INL
+
+/**
+Constructor
+*/	
+inline TILStruct::TILStruct()
+	:
+	iUid(KNullUid)
+	{
+	}
+	
+/**
+Obtain the UID identifying the structure.
+@return The identifying UID of the structure.
+*/	
+inline const TUid& TILStruct::Uid() const 
+	{
+	return iUid;
+	}
+
+/**
+Constructor
+@param aParameterStructure The structure to store
+*/	
+template <TInt32 U, class T>
+inline TILStructParam<U,T>::TILStructParam(const T& aParameterStructure)
+	{
+	iUid = TUid::Uid(U);
+	iBuf = TPckgBuf<T>(aParameterStructure);
+	}
+
+/**
+Default Constructor
+*/		
+template <TInt32 U, class T>
+inline TILStructParam<U,T>::TILStructParam()
+	{
+	iUid = TUid::Uid(U);
+	}
+
+/** 
+Operator to return the structure represented by the class.
+@return	The structure represented by the class.
+*/
+template <TInt32 U, class T>
+inline TILStructParam<U,T>::operator T&()
+	{
+	return iBuf();		
+	}
+
+/** 
+Static method to return the structure represented by TILStruct.
+@param	A const reference to the base structure.
+@return	A const pointer to the structure represented by the class.
+*/
+template <TInt32 U, class T>
+inline const T* TILStructParam<U,T>::GetStructure(const TILStruct& aConfig)
+	{
+	const T* ptr  = &((static_cast<const TILStructParam<U,T>& >(aConfig)).iBuf());
+	return ptr;
+	}
+
+/** 
+Static method to return the structure represented by TILStruct.
+@param	A reference to the base structure.
+@return	A pointer to the structure represented by the class.
+*/
+template <TInt32 U, class T>
+inline T* TILStructParam<U,T>::GetStructure(TILStruct& aConfig)
+	{
+	T* ptr  = &((static_cast<TILStructParam<U,T>& >(aConfig)).iBuf());
+	return ptr;
+	}
+
+
+
+#endif  // TILSTRUCT_INL