epoc32/include/etelpckt.inl
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
--- a/epoc32/include/etelpckt.inl	Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/etelpckt.inl	Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,297 @@
-etelpckt.inl
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+
+/**
+ @file
+*/
+
+inline TBool RPacketContext::TPacketFilterV3::IsPresent(TPacketFilterDataBitmapPos aDataMemberBitmapPos)
+/**
+	This method may be called by the client application. 
+	Checks if the bitmap of a certain attribute is set or not.
+	
+	@param aDataMemberBitmapPos Bitmap of an attribute.
+
+*/
+	{
+	return aDataMemberBitmapPos & iPresentDataBitmap;
+	}
+	
+inline void RPacketContext::TPacketFilterV3::Reset(TPacketFilterDataBitmapPos aDataMemberBitmapPos)
+/**
+	This method may be called by the client application. 
+	Resets the iPresentDataBitmap of an attribute accordign to its Bitmap value.
+	
+	@param aDataMemberBitmapPos Bitmap of an attribute.
+
+*/
+	{
+	iPresentDataBitmap &= ~aDataMemberBitmapPos;
+	}
+	
+inline void RPacketContext::TPacketFilterV3::Reset()
+/**
+	This method may be called by the client application. 
+	Sets the iPresentDataBitmap to 0.
+
+*/
+	{
+	iPresentDataBitmap = 0;
+	}
+	
+inline TInt RPacketContext::TPacketFilterV3::ProtocolNumberOrNextHeader()
+/**
+	This method may be called by the client application. 
+	Gets the iProtocolNumberOrNextHeader value which has been set by the 
+	SetProtocolNumberOrNextHeader method.
+
+*/
+	{
+	return iProtocolNumberOrNextHeader;
+	}
+		
+inline TInt RPacketContext::TPacketFilterV3::SrcPortMin()
+/**
+	This method may be called by the client application. 
+	Gets the iSrcPortMin value which has been set by the 
+	SetSrcPortMin method.
+
+*/
+	{
+	return iSrcPortMin;
+	}
+	
+inline TInt RPacketContext::TPacketFilterV3::SrcPortMax()
+/**
+	This method may be called by the client application. 
+	Gets the iSrcPortMax value which has been set by the 
+	SetSrcPortMax method.
+
+*/
+	{
+	return iSrcPortMax;
+	}
+		
+inline TInt RPacketContext::TPacketFilterV3::DestPortMin()
+/**
+	This method may be called by the client application. 
+	Gets the iDestPortMin value which has been set by the 
+	SetDestPortMin method.
+
+*/
+	{
+	return iDestPortMin;
+	}
+	
+inline TInt RPacketContext::TPacketFilterV3::DestPortMax()
+/**
+	This method may be called by the client application. 
+	Gets the iDestPortMax value which has been set by the 
+	SetDestPortMax method.
+
+*/
+	{
+	return iDestPortMax;
+	}
+		
+inline TUint32 RPacketContext::TPacketFilterV3::SPI()
+/**
+	This method may be called by the client application. 
+	Gets the iIPSecSPI value which has been set by the 
+	SetSPI method.
+
+*/
+	{
+	return iIPSecSPI;
+	}
+		
+inline TUint16 RPacketContext::TPacketFilterV3::TOSorTrafficClass()
+/**
+	This method may be called by the client application. 
+	Gets the iTOSorTrafficClass value which has been set by the 
+	SetTOSorTrafficClass method.
+
+*/
+	{
+	return iTOSorTrafficClass;
+	}
+	
+inline TUint32 RPacketContext::TPacketFilterV3::FlowLabel()
+/**
+	This method may be called by the client application. 
+	Gets the iFlowLabel value which has been set by the 
+	SetFlowLabel method.
+
+*/
+	{
+	return iFlowLabel;
+	}
+	
+/** 
+Default constructor.
+*/
+inline RPacketContext::TPcoId::TPcoId():iId(0)
+	{}
+
+/** 
+Constructor that initialises Id by provoded value.
+
+@param aId Id ofIE identifier.
+*/	
+inline RPacketContext::TPcoId::TPcoId(TUint16 aId):iId(aId)
+	{}
+
+/** 
+Sets PCO Id.
+
+@param aId PCO Id to set.
+*/	
+inline void RPacketContext::TPcoId::SetId(TUint16 aId)
+	{
+	iId=aId;
+	}
+	
+/** 
+Retrieves PCO Id.
+
+@return PCO id.
+*/
+inline TUint16 RPacketContext::TPcoId::Id() const
+	{
+	return iId;
+	}
+	
+/** 
+Compares whether the PCO Id of other PCoId is the same.
+
+@param PCO Id to compare.
+*/		
+inline TBool RPacketContext::TPcoId::IsEqual(const MTlvItemIdType& aOtherIdType) const
+	{
+	return iId==(static_cast<const TPcoId&>(aOtherIdType)).Id();
+	}
+
+/** 
+Length of serialised data.
+
+@return Length of id when serialized.
+*/
+inline TUint RPacketContext::TPcoId::SerializedLength()const
+	{
+	return sizeof(TUint16);
+	}
+
+/** 
+Serialise to the descriptor provided
+
+Converts internally stored little-endian data 		
+to big-endian encoded data as specified in 3GPP TS 24.008, table 10.5.154.
+
+@param aData On completion contains serialized PCO item identifier.
+*/		
+inline void RPacketContext::TPcoId::ExternalizeL(TDes8& aData) const
+	{
+	if(aData.Length()<2)
+		User::Leave(KErrOverflow);
+	aData[0]=(iId & 0xff00)>>8;
+	aData[1]=iId & 0xff;	
+	}
+
+/** 
+Internalize data from the buffer provided.
+
+Converts internally stored little-endian data 		
+to big-endian encoded data as specified in 3GPP TS 24.008, table 10.5.154.
+
+@param aData Buffer containing PCO item Id to be internalized.
+*/
+inline void RPacketContext::TPcoId::InternalizeL(TDesC8& aData)
+	{
+	if(aData.Length()<2)
+		User::Leave(KErrUnderflow);
+	iId=aData[1];
+	iId|=aData[0]<<8;	
+	}
+	
+/** 
+Constructor initialise length by provided value.
+
+@param aLen Length of PCO item.
+*/
+inline RPacketContext::TPcoItemDataLength::TPcoItemDataLength(TUint8 aLen):iDataLength(aLen)
+	{}
+
+/** 
+Default constructor.
+*/		
+inline RPacketContext::TPcoItemDataLength::TPcoItemDataLength():iDataLength(0)
+	{}
+	
+/** 
+Sets length of associated data.
+
+@param aLength Length of PCO item.
+*/	
+inline void RPacketContext::TPcoItemDataLength::SetDataLength(TUint aLength)
+	{
+	iDataLength=(TUint8)aLength;
+	}
+
+/** 
+Length when serialised.
+
+@return Seriliazed length.
+ */	
+inline TUint RPacketContext::TPcoItemDataLength::SerializedLength() const
+	{
+	return sizeof(TUint8);
+	}
+
+/** 
+Length of associated item data.
+
+@return Length of PCO item.
+*/		
+inline TUint RPacketContext::TPcoItemDataLength::DataLength() const
+	{
+	return iDataLength;
+	};
+
+/** 
+Serialize data member into provoded descriptor.
+
+@param aData buffer into which length will be serialized.
+*/	
+inline void RPacketContext::TPcoItemDataLength::ExternalizeL(TDes8& aData) const
+	{
+	if(aData.Length()<1)
+		User::Leave(KErrOverflow);
+	aData[0]=iDataLength;
+	}
+
+/** 
+Deserialize data from provided buffer
+
+@param aData Buffer containing length to be internalized.
+*/
+inline void RPacketContext::TPcoItemDataLength::InternalizeL(TDesC8& aData)
+	{	
+	if(aData.Length()<1)
+		User::Leave(KErrUnderflow);
+	iDataLength=aData[0];
+	}
+