|
1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // Inline Functions file for the 3GPP SubConnection Extension Parameters |
|
15 // |
|
16 // |
|
17 |
|
18 /** |
|
19 @file |
|
20 @publishedAll |
|
21 @released |
|
22 */ |
|
23 |
|
24 |
|
25 |
|
26 #ifndef QOS3GPP_SUBCONPARAMS_INL |
|
27 #define QOS3GPP_SUBCONPARAMS_INL |
|
28 |
|
29 /** |
|
30 @param aFamily the sub-connection parameter family to which the newly created object is to be added |
|
31 @param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted) |
|
32 @return pointer to the created object |
|
33 @publishedAll |
|
34 @released Since 9.3 |
|
35 */ |
|
36 CSubConQosR99ParamSet* CSubConQosR99ParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType) |
|
37 { |
|
38 CSubConQosR99ParamSet* obj = NewL(); |
|
39 CleanupStack::PushL(obj); |
|
40 aFamily.AddExtensionSetL(*obj, aType); |
|
41 CleanupStack::Pop(obj); |
|
42 return obj; |
|
43 } |
|
44 |
|
45 /** |
|
46 @param aFamily the parameter family to which the newly created object is to be added |
|
47 @param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted) |
|
48 @return pointer to the created object |
|
49 @publishedAll |
|
50 @released Since 9.3 |
|
51 */ |
|
52 CSubConQosR99ParamSet* CSubConQosR99ParamSet::NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType) |
|
53 { |
|
54 CSubConQosR99ParamSet* obj = NewL(); |
|
55 CleanupStack::PushL(obj); |
|
56 aFamily.AddParameterSetL(obj, aType); |
|
57 CleanupStack::Pop(obj); |
|
58 return obj; |
|
59 } |
|
60 |
|
61 /** |
|
62 @return pointer to the created object |
|
63 @publishedAll |
|
64 @released Since 9.3 |
|
65 */ |
|
66 CSubConQosR99ParamSet* CSubConQosR99ParamSet::NewL() |
|
67 { |
|
68 STypeId typeId = STypeId::CreateSTypeId(KSubCon3GPPExtParamsFactoryUid, KSubConQosR99ParamsType); |
|
69 return static_cast<CSubConQosR99ParamSet*>(CSubConParameterSet::NewL(typeId)); |
|
70 } |
|
71 |
|
72 /** |
|
73 @publishedAll |
|
74 @released Since 9.3 |
|
75 */ |
|
76 CSubConQosR99ParamSet::CSubConQosR99ParamSet() |
|
77 : CSubConExtensionParameterSet(), |
|
78 iTrafficClass(RPacketQoS::ETrafficClassUnspecified), |
|
79 iDeliveryOrder(RPacketQoS::EDeliveryOrderUnspecified), |
|
80 iDeliveryOfErroneusSdu(RPacketQoS::EErroneousSDUDeliveryUnspecified), |
|
81 iResidualBer(RPacketQoS::EBERUnspecified), |
|
82 iErrorRatio(RPacketQoS::ESDUErrorRatioUnspecified), |
|
83 iPriority(RPacketQoS::ETrafficPriorityUnspecified), |
|
84 iTransferDelay(0), |
|
85 iMaxSduSize(0), |
|
86 iMaxBitrateUplink(0), |
|
87 iMaxBitrateDownlink(0), |
|
88 iGuaBitrateUplink(0), |
|
89 iGuaBitrateDownlink(0) |
|
90 { |
|
91 } |
|
92 |
|
93 /** Identifies the current traffic class. Traffic class is; Converstional, Streaming, Interactive or Background. |
|
94 See 3GPP TS 23.107. |
|
95 @return the traffic class |
|
96 @publishedAll |
|
97 @released Since 9.3 |
|
98 */ |
|
99 RPacketQoS::TTrafficClass CSubConQosR99ParamSet::GetTrafficClass() const |
|
100 { |
|
101 return iTrafficClass; |
|
102 } |
|
103 |
|
104 /** Current delivery order. Indicates whether the bearer shall provide in-sequence SDU delivery or not. |
|
105 @return Current delivery order. |
|
106 @publishedAll |
|
107 @released Since 9.3 |
|
108 */ |
|
109 RPacketQoS::TDeliveryOrder CSubConQosR99ParamSet::GetDeliveryOrder() const |
|
110 { |
|
111 return iDeliveryOrder; |
|
112 } |
|
113 |
|
114 /** Current delivery of erroneous SDUs. Indicates whether SDUs detected as erroneous shall be delivered or discarded. |
|
115 @return Current delivery of erroneous SDUs. |
|
116 @publishedAll |
|
117 @released Since 9.3 |
|
118 */ |
|
119 RPacketQoS::TErroneousSDUDelivery CSubConQosR99ParamSet::GetErroneousSDUDelivery() const |
|
120 { |
|
121 return iDeliveryOfErroneusSdu; |
|
122 } |
|
123 |
|
124 /** Indicates the undetected bit error ratio in the delivered SDUs. If no error detection is |
|
125 requested, Residual bit error ratio indicates the bit error ratio in |
|
126 the delivered SDUs. |
|
127 @return the residual bit error ratio. |
|
128 @publishedAll |
|
129 @released Since 9.3 |
|
130 */ |
|
131 RPacketQoS::TBitErrorRatio CSubConQosR99ParamSet::GetResidualBitErrorRatio() const |
|
132 { |
|
133 return iResidualBer; |
|
134 } |
|
135 |
|
136 /** Indicates the fraction of SDUs lost or detected as erroneous. |
|
137 @return the SDU error ratio. |
|
138 @publishedAll |
|
139 @released Since 9.3 |
|
140 */ |
|
141 RPacketQoS::TSDUErrorRatio CSubConQosR99ParamSet::GetSDUErrorRatio() const |
|
142 { |
|
143 return iErrorRatio; |
|
144 } |
|
145 |
|
146 /** Current traffic handling priority. Specifies the relative importance for handling of all SDUs |
|
147 belonging to the UMTS bearer compared to the SDUs of other bearers. This is defined only for |
|
148 Interactive traffic class. See 3GPP TS 23.107 |
|
149 @return the traffic handling priority. |
|
150 @publishedAll |
|
151 @released Since 9.3 |
|
152 */ |
|
153 RPacketQoS::TTrafficHandlingPriority CSubConQosR99ParamSet::GetTrafficHandlingPriority() const |
|
154 { |
|
155 return iPriority; |
|
156 } |
|
157 |
|
158 /** @return the transfer delay. Indicates maximum delay for 95th percentile of the distribution |
|
159 of delay for all delivered SDUs during the lifetime of a bearer service, where delay for an SDU |
|
160 is defined as the time from a request to transfer an SDU at one SAP to its delivery at the other |
|
161 SAP. |
|
162 @publishedAll |
|
163 @released Since 9.3 |
|
164 */ |
|
165 TInt CSubConQosR99ParamSet::GetTransferDelay() const |
|
166 { |
|
167 return iTransferDelay; |
|
168 } |
|
169 |
|
170 /** @return the maximum SDU size. |
|
171 @publishedAll |
|
172 @released Since 9.3 |
|
173 */ |
|
174 TInt CSubConQosR99ParamSet::GetMaxSduSize() const |
|
175 { |
|
176 return iMaxSduSize; |
|
177 } |
|
178 |
|
179 /** @return Current maximum bitrate for uplink direction. The traffic is conformant with Maximum |
|
180 bitrate as long as it follows a token bucket algorithm where token rate equals Maximum bitrate |
|
181 and bucket size equals Maximum SDU size. |
|
182 @publishedAll |
|
183 @released Since 9.3 |
|
184 */ |
|
185 TInt CSubConQosR99ParamSet::GetMaxBitrateUplink() const |
|
186 { |
|
187 return iMaxBitrateUplink; |
|
188 } |
|
189 |
|
190 /** Getter function for the maximum downlink bit rate. |
|
191 @return the maximum downlink bit rate. |
|
192 @publishedAll |
|
193 @released Since 9.3 |
|
194 */ |
|
195 TInt CSubConQosR99ParamSet::GetMaxBitrateDownlink() const |
|
196 { |
|
197 return iMaxBitrateDownlink; |
|
198 } |
|
199 |
|
200 /** Getter function for the guaranteed uplink bit rate. |
|
201 @return the guaranteed uplink bit rate. |
|
202 @publishedAll |
|
203 @released Since 9.3 |
|
204 */ |
|
205 TInt CSubConQosR99ParamSet::GetGuaBitrateUplink() const |
|
206 { |
|
207 return iGuaBitrateUplink; |
|
208 } |
|
209 |
|
210 /** Getter function for the guaranteed downlink bit rate. |
|
211 @return the guaranteed downlink bit rate. |
|
212 @publishedAll |
|
213 @released Since 9.3 |
|
214 */ |
|
215 TInt CSubConQosR99ParamSet::GetGuaBitrateDownlink() const |
|
216 { |
|
217 return iGuaBitrateDownlink; |
|
218 } |
|
219 |
|
220 /** Sets the traffic class. |
|
221 @param aTrafficClass Value to which to set the traffic class. |
|
222 @publishedAll |
|
223 @released Since 9.3 |
|
224 */ |
|
225 void CSubConQosR99ParamSet::SetTrafficClass(RPacketQoS::TTrafficClass aTrafficClass) |
|
226 { |
|
227 iTrafficClass = aTrafficClass; |
|
228 } |
|
229 |
|
230 /** Sets the delivery order. Indicates whether in-sequence SDU delivery shall be provided or not. |
|
231 @param aDeliveryOrder Value to which to set the delivery order. |
|
232 @publishedAll |
|
233 @released Since 9.3 |
|
234 */ |
|
235 void CSubConQosR99ParamSet::SetDeliveryOrder(RPacketQoS::TDeliveryOrder aDeliveryOrder) |
|
236 { |
|
237 iDeliveryOrder = aDeliveryOrder; |
|
238 } |
|
239 |
|
240 /** Sets the handling of the delivery of erroneous SDUs |
|
241 @param aDeliveryOfErroneusSdu Value to which to set the dilvery of erroneous SDUs. |
|
242 Indicates whether SUDs detected as erroneous shall be delivered or discarded. |
|
243 @publishedAll |
|
244 @released Since 9.3 |
|
245 */ |
|
246 void CSubConQosR99ParamSet::SetErroneousSDUDelivery(RPacketQoS::TErroneousSDUDelivery aDeliveryOfErroneusSdu) |
|
247 { |
|
248 iDeliveryOfErroneusSdu = aDeliveryOfErroneusSdu; |
|
249 } |
|
250 |
|
251 /** Sets the residual bit error ratio. Indicates the undetected bit error ratio in the delivered SDUs. |
|
252 If no error detection is requested, Residual bit error ratio indicates the bit error ratio in the delivered SDUs. |
|
253 @param aResidualBer Value to which to set the residual bit error ratio. |
|
254 @publishedAll |
|
255 @released Since 9.3 |
|
256 */ |
|
257 void CSubConQosR99ParamSet::SetResidualBitErrorRatio(RPacketQoS::TBitErrorRatio aResidualBer) |
|
258 { |
|
259 iResidualBer = aResidualBer; |
|
260 } |
|
261 |
|
262 /** Sets the error ratio. Indicates the fraction of SDUs lost or detected as erroneous. |
|
263 SDU error ratio is defined only for conforming traffic. |
|
264 @param aErrorRatio Sets the error ratio. Indicates the fraction of SDUs lost or detected as erroneous. |
|
265 SDU error ratio is defined only for conforming traffic. |
|
266 @publishedAll |
|
267 @released Since 9.3 |
|
268 */ |
|
269 void CSubConQosR99ParamSet::SetSDUErrorRatio(RPacketQoS::TSDUErrorRatio aErrorRatio) |
|
270 { |
|
271 iErrorRatio = aErrorRatio; |
|
272 } |
|
273 |
|
274 /** Sets the traffic handling priority. |
|
275 @param aPriority Value to which to set the traffic handling priority. |
|
276 @publishedAll |
|
277 @released Since 9.3 |
|
278 */ |
|
279 void CSubConQosR99ParamSet::SetTrafficHandlingPriority(RPacketQoS::TTrafficHandlingPriority aPriority) |
|
280 { |
|
281 iPriority = aPriority; |
|
282 } |
|
283 |
|
284 /** Sets the transfer delay. Indicates maximum delay for 95th percentile of the distribution of delay for |
|
285 all delivered SDUs during the lifetime of a bearer service, where delay for an SDU is defined as the time |
|
286 from a request to transfer an SDU at one SAP to its delivery at the other SAP. |
|
287 @param aTransferDelay Value to which to set the transfer delay. |
|
288 @publishedAll |
|
289 @released Since 9.3 |
|
290 */ |
|
291 void CSubConQosR99ParamSet::SetTransferDelay(TInt aTransferDelay) |
|
292 { |
|
293 iTransferDelay = aTransferDelay; |
|
294 } |
|
295 |
|
296 /** Sets the maximum SDU size. Defines the maximum allowed SDU size. |
|
297 @param aMaxSduSize Value to which to set the maximum SDU size. |
|
298 @publishedAll |
|
299 @released Since 9.3 |
|
300 */ |
|
301 void CSubConQosR99ParamSet::SetMaxSduSize(TInt aMaxSduSize) |
|
302 { |
|
303 iMaxSduSize = aMaxSduSize; |
|
304 } |
|
305 |
|
306 /** Sets the maximum bitrate for uplink direction. The traffic is conformant with Maximum bitrate as |
|
307 long as it follows a token bucket algorithm where token rate equals Maximum bitrate and bucket size |
|
308 equals Maximum SDU size. |
|
309 @param aMaxBitrate Value to which to set the maximum bitrate for uplink direction. |
|
310 @publishedAll |
|
311 @released Since 9.3 |
|
312 */ |
|
313 void CSubConQosR99ParamSet::SetMaxBitrateUplink(TInt aMaxBitrateUplink) |
|
314 { |
|
315 iMaxBitrateUplink = aMaxBitrateUplink; |
|
316 } |
|
317 |
|
318 /** Sets the maximum bitrate for downlink direction. The traffic is conformant with Maximum bitrate as |
|
319 long as it follows a token bucket algorithm where token rate equals Maximum bitrate and bucket size |
|
320 equals Maximum SDU size. |
|
321 @param aMaxBitrate Value to which to set the maximum bitrate for downlink direction. |
|
322 @publishedAll |
|
323 @released Since 9.3 |
|
324 */ |
|
325 void CSubConQosR99ParamSet::SetMaxBitrateDownlink(TInt aMaxBitrateDownlink) |
|
326 { |
|
327 iMaxBitrateDownlink = aMaxBitrateDownlink; |
|
328 } |
|
329 |
|
330 /** Sets the guaranteed bitrate for uplink direction. |
|
331 @param aGuaBitrateUplink Value to which to set the guaranteed SDU size. |
|
332 @publishedAll |
|
333 @released Since 9.3 |
|
334 */ |
|
335 void CSubConQosR99ParamSet::SetGuaBitrateUplink(TInt aGuaBitrateUplink) |
|
336 { |
|
337 iGuaBitrateUplink = aGuaBitrateUplink; |
|
338 } |
|
339 |
|
340 /** Sets the guaranteed bitrate for downlink direction. |
|
341 @param aGuaBitrateDownlink Value to which to set the guaranteed SDU size. |
|
342 @publishedAll |
|
343 @released Since 9.3 |
|
344 */ |
|
345 void CSubConQosR99ParamSet::SetGuaBitrateDownlink(TInt aGuaBitrateDownlink) |
|
346 { |
|
347 iGuaBitrateDownlink = aGuaBitrateDownlink; |
|
348 } |
|
349 |
|
350 |
|
351 #ifdef SYMBIAN_NETWORKING_UMTSR5 |
|
352 /** |
|
353 @param aFamily the sub-connection parameter family to which the newly created object is to be added |
|
354 @param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted) |
|
355 @return pointer to the created object |
|
356 */ |
|
357 CSubConImsExtParamSet* CSubConImsExtParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType) |
|
358 { |
|
359 CSubConImsExtParamSet* obj = NewL(); |
|
360 CleanupStack::PushL(obj); |
|
361 aFamily.AddExtensionSetL(*obj, aType); |
|
362 CleanupStack::Pop(obj); |
|
363 return obj; |
|
364 } |
|
365 |
|
366 /** |
|
367 @param aFamily the parameter family to which the newly created object is to be added |
|
368 @param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted) |
|
369 @return pointer to the created object |
|
370 */ |
|
371 CSubConImsExtParamSet* CSubConImsExtParamSet::NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType) |
|
372 { |
|
373 CSubConImsExtParamSet* obj = NewL(); |
|
374 CleanupStack::PushL(obj); |
|
375 aFamily.AddParameterSetL(obj, aType); |
|
376 CleanupStack::Pop(obj); |
|
377 return obj; |
|
378 } |
|
379 |
|
380 /** |
|
381 @return pointer to the created object |
|
382 */ |
|
383 CSubConImsExtParamSet* CSubConImsExtParamSet::NewL() |
|
384 { |
|
385 STypeId typeId = STypeId::CreateSTypeId(KSubCon3GPPExtParamsFactoryUid, KSubConImsExtParamsType); |
|
386 return static_cast<CSubConImsExtParamSet*>(CSubConParameterSet::NewL(typeId)); |
|
387 } |
|
388 |
|
389 CSubConImsExtParamSet::CSubConImsExtParamSet() |
|
390 : iImsSignallingIndicator(EFalse) |
|
391 { |
|
392 } |
|
393 |
|
394 /** @return the IMS Signalling Indicator flag for 3GPP R5 dedicated signalling PDP contexts. |
|
395 */ |
|
396 TBool CSubConImsExtParamSet::GetImsSignallingIndicator() const |
|
397 { |
|
398 return iImsSignallingIndicator; |
|
399 } |
|
400 |
|
401 /** Sets the IMS Signalling Indicator flag for 3GPP R5 dedicated signalling PDP contexts. |
|
402 @param aImsSignallingIndicator Value to which to set the IMS signalling indicator. */ |
|
403 void CSubConImsExtParamSet::SetImsSignallingIndicator(TBool aImsSignallingIndicator) |
|
404 { |
|
405 iImsSignallingIndicator = aImsSignallingIndicator; |
|
406 } |
|
407 |
|
408 /** |
|
409 @param aFamily the sub-connection parameter family to which the newly created object is to be added |
|
410 @param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted) |
|
411 @return pointer to the created object |
|
412 */ |
|
413 CSubConQosR5ParamSet* CSubConQosR5ParamSet::NewL(CSubConParameterFamily& aFamily,CSubConParameterFamily::TParameterSetType aType) |
|
414 { |
|
415 CSubConQosR5ParamSet* obj = NewL(); |
|
416 CleanupStack::PushL(obj); |
|
417 aFamily.AddExtensionSetL(*obj, aType); |
|
418 CleanupStack::Pop(obj); |
|
419 return obj; |
|
420 } |
|
421 |
|
422 /** |
|
423 @param aFamily the parameter family to which the newly created object is to be added |
|
424 @param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted) |
|
425 @return pointer to the created object |
|
426 */ |
|
427 CSubConQosR5ParamSet* CSubConQosR5ParamSet::NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType) |
|
428 { |
|
429 CSubConQosR5ParamSet* obj = NewL(); |
|
430 CleanupStack::PushL(obj); |
|
431 aFamily.AddParameterSetL(obj, aType); |
|
432 CleanupStack::Pop(obj); |
|
433 return obj; |
|
434 } |
|
435 |
|
436 /** |
|
437 @return pointer to the created object |
|
438 */ |
|
439 CSubConQosR5ParamSet* CSubConQosR5ParamSet::NewL() |
|
440 { |
|
441 STypeId typeId = STypeId::CreateSTypeId(KSubCon3GPPExtParamsFactoryUid, KSubConQosR5ParamsType); |
|
442 return static_cast<CSubConQosR5ParamSet*>(CSubConParameterSet::NewL(typeId)); |
|
443 } |
|
444 |
|
445 /** |
|
446 */ |
|
447 CSubConQosR5ParamSet::CSubConQosR5ParamSet() |
|
448 : iSrcStatsDesc(RPacketQoS::ESourceStatisticsDescriptorUnknown), iSignallingIndicator(EFalse) |
|
449 { |
|
450 } |
|
451 |
|
452 /** Gets the signalling nature of the SDU's. Signalling traffic can have different characteristics |
|
453 to other interactive traffic, eg higher priority, lower delay and increased peakiness. This attribute |
|
454 permits enhancing the Radio Access Network (RAN) operation accordingly. See 3GPP TS 23.107 |
|
455 @return the signalling nature of the SDU's. |
|
456 */ |
|
457 TBool CSubConQosR5ParamSet::GetSignallingIndicator() const |
|
458 { |
|
459 return iSignallingIndicator; |
|
460 } |
|
461 |
|
462 /** Sets signalling nature of the SDU's. This attribute is additional to the other QoS |
|
463 attributes and does not over-ride them. Signalling traffic can have different characteristics |
|
464 to other interactive traffic, eg higher priority, lower delay and increased peakiness. This |
|
465 attribute permits enhancing the Radio Access Network (RAN) operation accordingly. An example use of |
|
466 the Signalling Indication is for IMS signalling traffic. See 3GPP TS 23.107 |
|
467 @param aSignallingIndicator Value to which to set the signalling indicator. */ |
|
468 void CSubConQosR5ParamSet::SetSignallingIndicator(TBool aSignallingIndicator) |
|
469 { |
|
470 iSignallingIndicator = aSignallingIndicator; |
|
471 } |
|
472 |
|
473 /** @return the source of the SDU's. */ |
|
474 RPacketQoS::TSourceStatisticsDescriptor CSubConQosR5ParamSet::GetSourceStatisticsDescriptor() const |
|
475 { |
|
476 return iSrcStatsDesc; |
|
477 } |
|
478 |
|
479 /** Sets the source characteristic of the SDU's. Conversational speech has a well-known statistical |
|
480 behaviour (or the discontinuous transmission (DTX) factor). By being informed that the SDUs for a Radio |
|
481 Access Bearer (RAB) are generated by a speech source, Radio Access Network (RAN) may, based on experience, |
|
482 calculate a statistical multiplex gain for use in admission control on the radio and RAN Access interfaces. |
|
483 @param aSrcStatsDescType Value to which to set the source statistics indicator. */ |
|
484 void CSubConQosR5ParamSet::SetSourceStatisticsDescriptor(RPacketQoS::TSourceStatisticsDescriptor aSrcStatsDescType) |
|
485 { |
|
486 iSrcStatsDesc = aSrcStatsDescType; |
|
487 } |
|
488 |
|
489 #endif |
|
490 // SYMBIAN_NETWORKING_UMTSR5 |
|
491 |
|
492 /** the Media Component number as specified in 3GPP TS 29.207 |
|
493 @return the media component number portion of the flow identifier |
|
494 @publishedAll |
|
495 @released Since 9.3 |
|
496 */ |
|
497 TUint16 TFlowId::GetMediaComponentNumber() const |
|
498 { |
|
499 return iMediaComponentNumber; |
|
500 } |
|
501 |
|
502 /** the IP flow number as specified in 3GPP TS 29.207 |
|
503 @return the IP flow portion of the flow identifier |
|
504 @publishedAll |
|
505 @released Since 9.3 |
|
506 */ |
|
507 TUint16 TFlowId::GetIPFlowNumber() const |
|
508 { |
|
509 return iIPFlowNumber; |
|
510 } |
|
511 |
|
512 /** Sets the media component number portion of the flow identifier. The Media Component number is specified in 3GPP TS 29.207 |
|
513 @param aMediaComponentNumber the media component portion of the flow identifier |
|
514 @publishedAll |
|
515 @released Since 9.3 |
|
516 */ |
|
517 void TFlowId::SetMediaComponentNumber(TUint16 aMediaComponentNumber) |
|
518 { |
|
519 iMediaComponentNumber = aMediaComponentNumber; |
|
520 } |
|
521 |
|
522 /** |
|
523 @param the IP flow portion of the flow identifier. |
|
524 @publishedAll |
|
525 @released Since 9.3 |
|
526 */ |
|
527 void TFlowId::SetIPFlowNumber(TUint16 aIPFlowNumber) |
|
528 { |
|
529 iIPFlowNumber = aIPFlowNumber; |
|
530 } |
|
531 |
|
532 |
|
533 //=========================== |
|
534 // Implementation Extension class |
|
535 /** |
|
536 @publishedAll |
|
537 @released Since 9.3 |
|
538 */ |
|
539 CSubConSBLPR5ExtensionParamSet::CSubConSBLPR5ExtensionParamSet() |
|
540 : CSubConExtensionParameterSet() |
|
541 { |
|
542 } |
|
543 |
|
544 /** |
|
545 @publishedAll |
|
546 @released Since 9.3 |
|
547 */ |
|
548 CSubConSBLPR5ExtensionParamSet::~CSubConSBLPR5ExtensionParamSet() |
|
549 { |
|
550 iFlowIds.Close(); |
|
551 } |
|
552 |
|
553 /** |
|
554 @param aFamily the sub-connection parameter family to which the newly created object is to be added |
|
555 @param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted) |
|
556 @return pointer to the created object |
|
557 @publishedAll |
|
558 @released Since 9.3 |
|
559 */ |
|
560 CSubConSBLPR5ExtensionParamSet* CSubConSBLPR5ExtensionParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType) |
|
561 { |
|
562 CSubConSBLPR5ExtensionParamSet* sblpExtn = NewL(); |
|
563 CleanupStack::PushL(sblpExtn); |
|
564 aFamily.AddExtensionSetL(*sblpExtn, aType); |
|
565 CleanupStack::Pop(sblpExtn); |
|
566 return sblpExtn; |
|
567 } |
|
568 |
|
569 /** |
|
570 @param aFamily the parameter family to which the newly created object is to be added |
|
571 @param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted) |
|
572 @return pointer to the created object |
|
573 @publishedAll |
|
574 @released Since 9.3 |
|
575 */ |
|
576 CSubConSBLPR5ExtensionParamSet* CSubConSBLPR5ExtensionParamSet::NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType) |
|
577 { |
|
578 CSubConSBLPR5ExtensionParamSet* obj = NewL(); |
|
579 CleanupStack::PushL(obj); |
|
580 aFamily.AddParameterSetL(obj, aType); |
|
581 CleanupStack::Pop(obj); |
|
582 return obj; |
|
583 } |
|
584 |
|
585 /** |
|
586 @return pointer to the created object |
|
587 @publishedAll |
|
588 @released Since 9.3 |
|
589 */ |
|
590 CSubConSBLPR5ExtensionParamSet* CSubConSBLPR5ExtensionParamSet::NewL() |
|
591 { |
|
592 STypeId typeId = STypeId::CreateSTypeId(KSubCon3GPPExtParamsFactoryUid, KSubConnSBLPR5ExtensionParamsType); |
|
593 return static_cast<CSubConSBLPR5ExtensionParamSet*>(CSubConParameterSet::NewL(typeId)); |
|
594 } |
|
595 |
|
596 /** |
|
597 @return the media authorisation token |
|
598 @publishedAll |
|
599 @released Since 9.3 |
|
600 */ |
|
601 const TAuthToken& CSubConSBLPR5ExtensionParamSet::GetMAT() const |
|
602 { |
|
603 return iAuthToken; |
|
604 } |
|
605 |
|
606 /** |
|
607 @param aAuthToken sets the media authorisation token |
|
608 @publishedAll |
|
609 @released Since 9.3 |
|
610 */ |
|
611 void CSubConSBLPR5ExtensionParamSet::SetMAT(const TAuthToken& aAuthToken) |
|
612 { |
|
613 iAuthToken = aAuthToken; |
|
614 } |
|
615 |
|
616 /** |
|
617 @return the number of flow indexes in this session |
|
618 @publishedAll |
|
619 @released Since 9.3 |
|
620 */ |
|
621 TInt CSubConSBLPR5ExtensionParamSet::GetNumberOfFlowIds() const |
|
622 { |
|
623 return iFlowIds.Count(); |
|
624 } |
|
625 |
|
626 /** |
|
627 @param aIndex the index of the flow identifier that will be returned. |
|
628 @return the flow identifier at the index given by aIndex. |
|
629 @publishedAll |
|
630 @released Since 9.3 |
|
631 */ |
|
632 const TFlowId& CSubConSBLPR5ExtensionParamSet::GetFlowIdAt(TInt aIndex) const |
|
633 { |
|
634 return iFlowIds[aIndex]; |
|
635 } |
|
636 |
|
637 /** adds a flow identifier to this session. |
|
638 @param aFlowId the flow indentifier to be added. |
|
639 @publishedAll |
|
640 @released Since 9.3 |
|
641 */ |
|
642 void CSubConSBLPR5ExtensionParamSet::AddFlowIdL(const TFlowId & aFlowId) |
|
643 { |
|
644 iFlowIds.AppendL(aFlowId); |
|
645 } |
|
646 |
|
647 #endif |
|
648 // QOS3GPP_SUBCONPARAMS_INL |
|
649 |