commsfwsupport/commselements/nodemessages/inc/nm_signatures.h
branchCompilerCompatibility
changeset 23 ca99e4de25bf
parent 0 dfb7c4ff071f
equal deleted inserted replaced
20:a283fb7b2a66 23:ca99e4de25bf
   494 */
   494 */
   495 template <class TSIGNATURE, TInt PAYLOADATTRIBOFFSET, class TATTRIBUTECREATIONPOLICY, TInt PAYLOADBUFFERMAXLEN = TSignalBase::KMaxInlineMessageSize>
   495 template <class TSIGNATURE, TInt PAYLOADATTRIBOFFSET, class TATTRIBUTECREATIONPOLICY, TInt PAYLOADBUFFERMAXLEN = TSignalBase::KMaxInlineMessageSize>
   496 class TSignatureWithPolymorphicPayloadMetaType : public TSignatureWithPolymorphicPayloadMetaTypeBase
   496 class TSignatureWithPolymorphicPayloadMetaType : public TSignatureWithPolymorphicPayloadMetaTypeBase
   497 {
   497 {
   498 public:
   498 public:
       
   499 
       
   500 __ASSERT_COMPILE(PAYLOADATTRIBOFFSET == __Align8(PAYLOADATTRIBOFFSET)); //Declared here to be able to build with GCCE
       
   501 	
   499 	inline static MMetaType* NewL(const TAny* aMem, const TAny* aData)
   502 	inline static MMetaType* NewL(const TAny* aMem, const TAny* aData)
   500 		{
   503 		{
   501 		// For some reason this assertion does not compile under x86gcc which complains
   504 		// For some reason this assertion does not compile under x86gcc which complains
   502 		// that a default template argument has been specified for a templated member
   505 		// that a default template argument has been specified for a templated member
   503 		// function.  There is no such function so this is probably a parser bug.
   506 		// function.  There is no such function so this is probably a parser bug.
   504 		#if !defined(__GCCXML__) && !defined(__X86GCC__)
   507 		//#if !defined(__GCCXML__) && !defined(__X86GCC__)
   505 			__ASSERT_COMPILE(PAYLOADATTRIBOFFSET == __Align8(PAYLOADATTRIBOFFSET)); //must be alligned!
   508 		//	__ASSERT_COMPILE(PAYLOADATTRIBOFFSET == __Align8(PAYLOADATTRIBOFFSET)); //must be alligned!
   506 		#endif
   509 		//#endif
   507 		return ::new ((TUint8*)aMem) TSignatureWithPolymorphicPayloadMetaType(aData);
   510 		return ::new ((TUint8*)aMem) TSignatureWithPolymorphicPayloadMetaType(aData);
   508 		}
   511 		}
   509 
   512 
   510 	inline virtual TInt Load(TPtrC8& aBuffer)
   513 	inline virtual TInt Load(TPtrC8& aBuffer)
   511 		{
   514 		{