epoc32/include/etelpckt.inl
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
williamr@2
     1
// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@2
     4
// 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
williamr@2
     5
// which accompanies this distribution, and is available
williamr@2
     6
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
//
williamr@2
    15
williamr@2
    16
williamr@2
    17
williamr@2
    18
/**
williamr@2
    19
 @file
williamr@2
    20
*/
williamr@2
    21
williamr@2
    22
inline TBool RPacketContext::TPacketFilterV3::IsPresent(TPacketFilterDataBitmapPos aDataMemberBitmapPos)
williamr@2
    23
/**
williamr@2
    24
	This method may be called by the client application. 
williamr@2
    25
	Checks if the bitmap of a certain attribute is set or not.
williamr@2
    26
	
williamr@2
    27
	@param aDataMemberBitmapPos Bitmap of an attribute.
williamr@2
    28
williamr@2
    29
*/
williamr@2
    30
	{
williamr@2
    31
	return aDataMemberBitmapPos & iPresentDataBitmap;
williamr@2
    32
	}
williamr@2
    33
	
williamr@2
    34
inline void RPacketContext::TPacketFilterV3::Reset(TPacketFilterDataBitmapPos aDataMemberBitmapPos)
williamr@2
    35
/**
williamr@2
    36
	This method may be called by the client application. 
williamr@2
    37
	Resets the iPresentDataBitmap of an attribute accordign to its Bitmap value.
williamr@2
    38
	
williamr@2
    39
	@param aDataMemberBitmapPos Bitmap of an attribute.
williamr@2
    40
williamr@2
    41
*/
williamr@2
    42
	{
williamr@2
    43
	iPresentDataBitmap &= ~aDataMemberBitmapPos;
williamr@2
    44
	}
williamr@2
    45
	
williamr@2
    46
inline void RPacketContext::TPacketFilterV3::Reset()
williamr@2
    47
/**
williamr@2
    48
	This method may be called by the client application. 
williamr@2
    49
	Sets the iPresentDataBitmap to 0.
williamr@2
    50
williamr@2
    51
*/
williamr@2
    52
	{
williamr@2
    53
	iPresentDataBitmap = 0;
williamr@2
    54
	}
williamr@2
    55
	
williamr@2
    56
inline TInt RPacketContext::TPacketFilterV3::ProtocolNumberOrNextHeader()
williamr@2
    57
/**
williamr@2
    58
	This method may be called by the client application. 
williamr@2
    59
	Gets the iProtocolNumberOrNextHeader value which has been set by the 
williamr@2
    60
	SetProtocolNumberOrNextHeader method.
williamr@2
    61
williamr@2
    62
*/
williamr@2
    63
	{
williamr@2
    64
	return iProtocolNumberOrNextHeader;
williamr@2
    65
	}
williamr@2
    66
		
williamr@2
    67
inline TInt RPacketContext::TPacketFilterV3::SrcPortMin()
williamr@2
    68
/**
williamr@2
    69
	This method may be called by the client application. 
williamr@2
    70
	Gets the iSrcPortMin value which has been set by the 
williamr@2
    71
	SetSrcPortMin method.
williamr@2
    72
williamr@2
    73
*/
williamr@2
    74
	{
williamr@2
    75
	return iSrcPortMin;
williamr@2
    76
	}
williamr@2
    77
	
williamr@2
    78
inline TInt RPacketContext::TPacketFilterV3::SrcPortMax()
williamr@2
    79
/**
williamr@2
    80
	This method may be called by the client application. 
williamr@2
    81
	Gets the iSrcPortMax value which has been set by the 
williamr@2
    82
	SetSrcPortMax method.
williamr@2
    83
williamr@2
    84
*/
williamr@2
    85
	{
williamr@2
    86
	return iSrcPortMax;
williamr@2
    87
	}
williamr@2
    88
		
williamr@2
    89
inline TInt RPacketContext::TPacketFilterV3::DestPortMin()
williamr@2
    90
/**
williamr@2
    91
	This method may be called by the client application. 
williamr@2
    92
	Gets the iDestPortMin value which has been set by the 
williamr@2
    93
	SetDestPortMin method.
williamr@2
    94
williamr@2
    95
*/
williamr@2
    96
	{
williamr@2
    97
	return iDestPortMin;
williamr@2
    98
	}
williamr@2
    99
	
williamr@2
   100
inline TInt RPacketContext::TPacketFilterV3::DestPortMax()
williamr@2
   101
/**
williamr@2
   102
	This method may be called by the client application. 
williamr@2
   103
	Gets the iDestPortMax value which has been set by the 
williamr@2
   104
	SetDestPortMax method.
williamr@2
   105
williamr@2
   106
*/
williamr@2
   107
	{
williamr@2
   108
	return iDestPortMax;
williamr@2
   109
	}
williamr@2
   110
		
williamr@2
   111
inline TUint32 RPacketContext::TPacketFilterV3::SPI()
williamr@2
   112
/**
williamr@2
   113
	This method may be called by the client application. 
williamr@2
   114
	Gets the iIPSecSPI value which has been set by the 
williamr@2
   115
	SetSPI method.
williamr@2
   116
williamr@2
   117
*/
williamr@2
   118
	{
williamr@2
   119
	return iIPSecSPI;
williamr@2
   120
	}
williamr@2
   121
		
williamr@2
   122
inline TUint16 RPacketContext::TPacketFilterV3::TOSorTrafficClass()
williamr@2
   123
/**
williamr@2
   124
	This method may be called by the client application. 
williamr@2
   125
	Gets the iTOSorTrafficClass value which has been set by the 
williamr@2
   126
	SetTOSorTrafficClass method.
williamr@2
   127
williamr@2
   128
*/
williamr@2
   129
	{
williamr@2
   130
	return iTOSorTrafficClass;
williamr@2
   131
	}
williamr@2
   132
	
williamr@2
   133
inline TUint32 RPacketContext::TPacketFilterV3::FlowLabel()
williamr@2
   134
/**
williamr@2
   135
	This method may be called by the client application. 
williamr@2
   136
	Gets the iFlowLabel value which has been set by the 
williamr@2
   137
	SetFlowLabel method.
williamr@2
   138
williamr@2
   139
*/
williamr@2
   140
	{
williamr@2
   141
	return iFlowLabel;
williamr@2
   142
	}
williamr@2
   143
	
williamr@2
   144
/** 
williamr@2
   145
Default constructor.
williamr@2
   146
*/
williamr@2
   147
inline RPacketContext::TPcoId::TPcoId():iId(0)
williamr@2
   148
	{}
williamr@2
   149
williamr@2
   150
/** 
williamr@2
   151
Constructor that initialises Id by provoded value.
williamr@2
   152
williamr@2
   153
@param aId Id ofIE identifier.
williamr@2
   154
*/	
williamr@2
   155
inline RPacketContext::TPcoId::TPcoId(TUint16 aId):iId(aId)
williamr@2
   156
	{}
williamr@2
   157
williamr@2
   158
/** 
williamr@2
   159
Sets PCO Id.
williamr@2
   160
williamr@2
   161
@param aId PCO Id to set.
williamr@2
   162
*/	
williamr@2
   163
inline void RPacketContext::TPcoId::SetId(TUint16 aId)
williamr@2
   164
	{
williamr@2
   165
	iId=aId;
williamr@2
   166
	}
williamr@2
   167
	
williamr@2
   168
/** 
williamr@2
   169
Retrieves PCO Id.
williamr@2
   170
williamr@2
   171
@return PCO id.
williamr@2
   172
*/
williamr@2
   173
inline TUint16 RPacketContext::TPcoId::Id() const
williamr@2
   174
	{
williamr@2
   175
	return iId;
williamr@2
   176
	}
williamr@2
   177
	
williamr@2
   178
/** 
williamr@2
   179
Compares whether the PCO Id of other PCoId is the same.
williamr@2
   180
williamr@2
   181
@param PCO Id to compare.
williamr@2
   182
*/		
williamr@2
   183
inline TBool RPacketContext::TPcoId::IsEqual(const MTlvItemIdType& aOtherIdType) const
williamr@2
   184
	{
williamr@2
   185
	return iId==(static_cast<const TPcoId&>(aOtherIdType)).Id();
williamr@2
   186
	}
williamr@2
   187
williamr@2
   188
/** 
williamr@2
   189
Length of serialised data.
williamr@2
   190
williamr@2
   191
@return Length of id when serialized.
williamr@2
   192
*/
williamr@2
   193
inline TUint RPacketContext::TPcoId::SerializedLength()const
williamr@2
   194
	{
williamr@2
   195
	return sizeof(TUint16);
williamr@2
   196
	}
williamr@2
   197
williamr@2
   198
/** 
williamr@2
   199
Serialise to the descriptor provided
williamr@2
   200
williamr@2
   201
Converts internally stored little-endian data 		
williamr@2
   202
to big-endian encoded data as specified in 3GPP TS 24.008, table 10.5.154.
williamr@2
   203
williamr@2
   204
@param aData On completion contains serialized PCO item identifier.
williamr@2
   205
*/		
williamr@2
   206
inline void RPacketContext::TPcoId::ExternalizeL(TDes8& aData) const
williamr@2
   207
	{
williamr@2
   208
	if(aData.Length()<2)
williamr@2
   209
		User::Leave(KErrOverflow);
williamr@2
   210
	aData[0]=(iId & 0xff00)>>8;
williamr@2
   211
	aData[1]=iId & 0xff;	
williamr@2
   212
	}
williamr@2
   213
williamr@2
   214
/** 
williamr@2
   215
Internalize data from the buffer provided.
williamr@2
   216
williamr@2
   217
Converts internally stored little-endian data 		
williamr@2
   218
to big-endian encoded data as specified in 3GPP TS 24.008, table 10.5.154.
williamr@2
   219
williamr@2
   220
@param aData Buffer containing PCO item Id to be internalized.
williamr@2
   221
*/
williamr@2
   222
inline void RPacketContext::TPcoId::InternalizeL(TDesC8& aData)
williamr@2
   223
	{
williamr@2
   224
	if(aData.Length()<2)
williamr@2
   225
		User::Leave(KErrUnderflow);
williamr@2
   226
	iId=aData[1];
williamr@2
   227
	iId|=aData[0]<<8;	
williamr@2
   228
	}
williamr@2
   229
	
williamr@2
   230
/** 
williamr@2
   231
Constructor initialise length by provided value.
williamr@2
   232
williamr@2
   233
@param aLen Length of PCO item.
williamr@2
   234
*/
williamr@2
   235
inline RPacketContext::TPcoItemDataLength::TPcoItemDataLength(TUint8 aLen):iDataLength(aLen)
williamr@2
   236
	{}
williamr@2
   237
williamr@2
   238
/** 
williamr@2
   239
Default constructor.
williamr@2
   240
*/		
williamr@2
   241
inline RPacketContext::TPcoItemDataLength::TPcoItemDataLength():iDataLength(0)
williamr@2
   242
	{}
williamr@2
   243
	
williamr@2
   244
/** 
williamr@2
   245
Sets length of associated data.
williamr@2
   246
williamr@2
   247
@param aLength Length of PCO item.
williamr@2
   248
*/	
williamr@2
   249
inline void RPacketContext::TPcoItemDataLength::SetDataLength(TUint aLength)
williamr@2
   250
	{
williamr@2
   251
	iDataLength=(TUint8)aLength;
williamr@2
   252
	}
williamr@2
   253
williamr@2
   254
/** 
williamr@2
   255
Length when serialised.
williamr@2
   256
williamr@2
   257
@return Seriliazed length.
williamr@2
   258
 */	
williamr@2
   259
inline TUint RPacketContext::TPcoItemDataLength::SerializedLength() const
williamr@2
   260
	{
williamr@2
   261
	return sizeof(TUint8);
williamr@2
   262
	}
williamr@2
   263
williamr@2
   264
/** 
williamr@2
   265
Length of associated item data.
williamr@2
   266
williamr@2
   267
@return Length of PCO item.
williamr@2
   268
*/		
williamr@2
   269
inline TUint RPacketContext::TPcoItemDataLength::DataLength() const
williamr@2
   270
	{
williamr@2
   271
	return iDataLength;
williamr@2
   272
	};
williamr@2
   273
williamr@2
   274
/** 
williamr@2
   275
Serialize data member into provoded descriptor.
williamr@2
   276
williamr@2
   277
@param aData buffer into which length will be serialized.
williamr@2
   278
*/	
williamr@2
   279
inline void RPacketContext::TPcoItemDataLength::ExternalizeL(TDes8& aData) const
williamr@2
   280
	{
williamr@2
   281
	if(aData.Length()<1)
williamr@2
   282
		User::Leave(KErrOverflow);
williamr@2
   283
	aData[0]=iDataLength;
williamr@2
   284
	}
williamr@2
   285
williamr@2
   286
/** 
williamr@2
   287
Deserialize data from provided buffer
williamr@2
   288
williamr@2
   289
@param aData Buffer containing length to be internalized.
williamr@2
   290
*/
williamr@2
   291
inline void RPacketContext::TPcoItemDataLength::InternalizeL(TDesC8& aData)
williamr@2
   292
	{	
williamr@2
   293
	if(aData.Length()<1)
williamr@2
   294
		User::Leave(KErrUnderflow);
williamr@2
   295
	iDataLength=aData[0];
williamr@2
   296
	}
williamr@2
   297