963 void |
963 void |
964 RrcAsn1Header::SerializeThresholdEutra (LteRrcSap::ThresholdEutra thresholdEutra) const |
964 RrcAsn1Header::SerializeThresholdEutra (LteRrcSap::ThresholdEutra thresholdEutra) const |
965 { |
965 { |
966 switch (thresholdEutra.choice) |
966 switch (thresholdEutra.choice) |
967 { |
967 { |
968 case LteRrcSap::ThresholdEutra::thresholdRsrp: |
968 case LteRrcSap::ThresholdEutra::THRESHOLD_RSRP: |
969 SerializeChoice (2,0,false); |
969 SerializeChoice (2,0,false); |
970 SerializeInteger (thresholdEutra.range, 0, 97); |
970 SerializeInteger (thresholdEutra.range, 0, 97); |
971 break; |
971 break; |
972 case LteRrcSap::ThresholdEutra::thresholdRsrq: |
972 case LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ: |
973 default: |
973 default: |
974 SerializeChoice (2,1,false); |
974 SerializeChoice (2,1,false); |
975 SerializeInteger (thresholdEutra.range, 0, 34); |
975 SerializeInteger (thresholdEutra.range, 0, 34); |
976 } |
976 } |
977 } |
977 } |
1185 |
1185 |
1186 // Serialize ReportConfigEUTRA |
1186 // Serialize ReportConfigEUTRA |
1187 SerializeSequence (std::bitset<0> (), true); |
1187 SerializeSequence (std::bitset<0> (), true); |
1188 switch (it->reportConfigEutra.triggerType) |
1188 switch (it->reportConfigEutra.triggerType) |
1189 { |
1189 { |
1190 case LteRrcSap::ReportConfigEutra::periodical: |
1190 case LteRrcSap::ReportConfigEutra::PERIODICAL: |
1191 SerializeChoice (2, 1, false); |
1191 SerializeChoice (2, 1, false); |
1192 SerializeSequence (std::bitset<0> (),false); |
1192 SerializeSequence (std::bitset<0> (),false); |
1193 switch (it->reportConfigEutra.purpose) |
1193 switch (it->reportConfigEutra.purpose) |
1194 { |
1194 { |
1195 case LteRrcSap::ReportConfigEutra::reportCgi: |
1195 case LteRrcSap::ReportConfigEutra::REPORT_CGI: |
1196 SerializeEnum (2,1); |
1196 SerializeEnum (2,1); |
1197 break; |
1197 break; |
1198 case LteRrcSap::ReportConfigEutra::reportStrongestCells: |
1198 case LteRrcSap::ReportConfigEutra::REPORT_STRONGEST_CELLS: |
1199 default: |
1199 default: |
1200 SerializeEnum (2,0); |
1200 SerializeEnum (2,0); |
1201 } |
1201 } |
1202 break; |
1202 break; |
1203 case LteRrcSap::ReportConfigEutra::event: |
1203 case LteRrcSap::ReportConfigEutra::EVENT: |
1204 default: |
1204 default: |
1205 SerializeChoice (2, 0, false); |
1205 SerializeChoice (2, 0, false); |
1206 SerializeSequence (std::bitset<0> (),false); |
1206 SerializeSequence (std::bitset<0> (),false); |
1207 switch (it->reportConfigEutra.eventId) |
1207 switch (it->reportConfigEutra.eventId) |
1208 { |
1208 { |
1209 case LteRrcSap::ReportConfigEutra::eventA1: |
1209 case LteRrcSap::ReportConfigEutra::EVENT_A1: |
1210 SerializeChoice (5, 0, true); |
1210 SerializeChoice (5, 0, true); |
1211 SerializeSequence (std::bitset<0> (),false); |
1211 SerializeSequence (std::bitset<0> (),false); |
1212 SerializeThresholdEutra (it->reportConfigEutra.threshold1); |
1212 SerializeThresholdEutra (it->reportConfigEutra.threshold1); |
1213 break; |
1213 break; |
1214 case LteRrcSap::ReportConfigEutra::eventA2: |
1214 case LteRrcSap::ReportConfigEutra::EVENT_A2: |
1215 SerializeChoice (5, 1, true); |
1215 SerializeChoice (5, 1, true); |
1216 SerializeSequence (std::bitset<0> (),false); |
1216 SerializeSequence (std::bitset<0> (),false); |
1217 SerializeThresholdEutra (it->reportConfigEutra.threshold1); |
1217 SerializeThresholdEutra (it->reportConfigEutra.threshold1); |
1218 break; |
1218 break; |
1219 case LteRrcSap::ReportConfigEutra::eventA3: |
1219 case LteRrcSap::ReportConfigEutra::EVENT_A3: |
1220 SerializeChoice (5, 2, true); |
1220 SerializeChoice (5, 2, true); |
1221 SerializeSequence (std::bitset<0> (),false); |
1221 SerializeSequence (std::bitset<0> (),false); |
1222 SerializeInteger (it->reportConfigEutra.a3Offset,-30,30); |
1222 SerializeInteger (it->reportConfigEutra.a3Offset,-30,30); |
1223 SerializeBoolean (it->reportConfigEutra.reportOnLeave); |
1223 SerializeBoolean (it->reportConfigEutra.reportOnLeave); |
1224 break; |
1224 break; |
1225 case LteRrcSap::ReportConfigEutra::eventA4: |
1225 case LteRrcSap::ReportConfigEutra::EVENT_A4: |
1226 SerializeChoice (5, 3, true); |
1226 SerializeChoice (5, 3, true); |
1227 SerializeSequence (std::bitset<0> (),false); |
1227 SerializeSequence (std::bitset<0> (),false); |
1228 SerializeThresholdEutra (it->reportConfigEutra.threshold1); |
1228 SerializeThresholdEutra (it->reportConfigEutra.threshold1); |
1229 break; |
1229 break; |
1230 case LteRrcSap::ReportConfigEutra::eventA5: |
1230 case LteRrcSap::ReportConfigEutra::EVENT_A5: |
1231 default: |
1231 default: |
1232 SerializeChoice (5, 4, true); |
1232 SerializeChoice (5, 4, true); |
1233 SerializeSequence (std::bitset<0> (),false); |
1233 SerializeSequence (std::bitset<0> (),false); |
1234 SerializeThresholdEutra (it->reportConfigEutra.threshold1); |
1234 SerializeThresholdEutra (it->reportConfigEutra.threshold1); |
1235 SerializeThresholdEutra (it->reportConfigEutra.threshold2); |
1235 SerializeThresholdEutra (it->reportConfigEutra.threshold2); |
1289 SerializeEnum (16, 15); |
1289 SerializeEnum (16, 15); |
1290 } |
1290 } |
1291 } // end trigger type |
1291 } // end trigger type |
1292 |
1292 |
1293 // Serialize triggerQuantity |
1293 // Serialize triggerQuantity |
1294 if (it->reportConfigEutra.triggerQuantity == LteRrcSap::ReportConfigEutra::rsrp) |
1294 if (it->reportConfigEutra.triggerQuantity == LteRrcSap::ReportConfigEutra::RSRP) |
1295 { |
1295 { |
1296 SerializeEnum (2, 0); |
1296 SerializeEnum (2, 0); |
1297 } |
1297 } |
1298 else |
1298 else |
1299 { |
1299 { |
1300 SerializeEnum (2, 1); |
1300 SerializeEnum (2, 1); |
1301 } |
1301 } |
1302 |
1302 |
1303 // Serialize reportQuantity |
1303 // Serialize reportQuantity |
1304 if (it->reportConfigEutra.reportQuantity == LteRrcSap::ReportConfigEutra::sameAsTriggerQuantity) |
1304 if (it->reportConfigEutra.reportQuantity == LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY) |
1305 { |
1305 { |
1306 SerializeEnum (2, 0); |
1306 SerializeEnum (2, 0); |
1307 } |
1307 } |
1308 else |
1308 else |
1309 { |
1309 { |
1314 SerializeInteger (it->reportConfigEutra.maxReportCells, 1, MAX_CELL_REPORT); |
1314 SerializeInteger (it->reportConfigEutra.maxReportCells, 1, MAX_CELL_REPORT); |
1315 |
1315 |
1316 // Serialize reportInterval |
1316 // Serialize reportInterval |
1317 switch (it->reportConfigEutra.reportInterval) |
1317 switch (it->reportConfigEutra.reportInterval) |
1318 { |
1318 { |
1319 case LteRrcSap::ReportConfigEutra::ms120: |
1319 case LteRrcSap::ReportConfigEutra::MS120: |
1320 SerializeEnum (16, 0); |
1320 SerializeEnum (16, 0); |
1321 break; |
1321 break; |
1322 case LteRrcSap::ReportConfigEutra::ms240: |
1322 case LteRrcSap::ReportConfigEutra::MS240: |
1323 SerializeEnum (16, 1); |
1323 SerializeEnum (16, 1); |
1324 break; |
1324 break; |
1325 case LteRrcSap::ReportConfigEutra::ms480: |
1325 case LteRrcSap::ReportConfigEutra::MS480: |
1326 SerializeEnum (16, 2); |
1326 SerializeEnum (16, 2); |
1327 break; |
1327 break; |
1328 case LteRrcSap::ReportConfigEutra::ms640: |
1328 case LteRrcSap::ReportConfigEutra::MS640: |
1329 SerializeEnum (16, 3); |
1329 SerializeEnum (16, 3); |
1330 break; |
1330 break; |
1331 case LteRrcSap::ReportConfigEutra::ms1024: |
1331 case LteRrcSap::ReportConfigEutra::MS1024: |
1332 SerializeEnum (16, 4); |
1332 SerializeEnum (16, 4); |
1333 break; |
1333 break; |
1334 case LteRrcSap::ReportConfigEutra::ms2048: |
1334 case LteRrcSap::ReportConfigEutra::MS2048: |
1335 SerializeEnum (16, 5); |
1335 SerializeEnum (16, 5); |
1336 break; |
1336 break; |
1337 case LteRrcSap::ReportConfigEutra::ms5120: |
1337 case LteRrcSap::ReportConfigEutra::MS5120: |
1338 SerializeEnum (16, 6); |
1338 SerializeEnum (16, 6); |
1339 break; |
1339 break; |
1340 case LteRrcSap::ReportConfigEutra::ms10240: |
1340 case LteRrcSap::ReportConfigEutra::MS10240: |
1341 SerializeEnum (16, 7); |
1341 SerializeEnum (16, 7); |
1342 break; |
1342 break; |
1343 case LteRrcSap::ReportConfigEutra::min1: |
1343 case LteRrcSap::ReportConfigEutra::MIN1: |
1344 SerializeEnum (16, 8); |
1344 SerializeEnum (16, 8); |
1345 break; |
1345 break; |
1346 case LteRrcSap::ReportConfigEutra::min6: |
1346 case LteRrcSap::ReportConfigEutra::MIN6: |
1347 SerializeEnum (16, 9); |
1347 SerializeEnum (16, 9); |
1348 break; |
1348 break; |
1349 case LteRrcSap::ReportConfigEutra::min12: |
1349 case LteRrcSap::ReportConfigEutra::MIN12: |
1350 SerializeEnum (16, 10); |
1350 SerializeEnum (16, 10); |
1351 break; |
1351 break; |
1352 case LteRrcSap::ReportConfigEutra::min30: |
1352 case LteRrcSap::ReportConfigEutra::MIN30: |
1353 SerializeEnum (16, 11); |
1353 SerializeEnum (16, 11); |
1354 break; |
1354 break; |
1355 case LteRrcSap::ReportConfigEutra::min60: |
1355 case LteRrcSap::ReportConfigEutra::MIN60: |
1356 SerializeEnum (16, 12); |
1356 SerializeEnum (16, 12); |
1357 break; |
1357 break; |
1358 case LteRrcSap::ReportConfigEutra::spare3: |
1358 case LteRrcSap::ReportConfigEutra::SPARE3: |
1359 SerializeEnum (16, 13); |
1359 SerializeEnum (16, 13); |
1360 break; |
1360 break; |
1361 case LteRrcSap::ReportConfigEutra::spare2: |
1361 case LteRrcSap::ReportConfigEutra::SPARE2: |
1362 SerializeEnum (16, 14); |
1362 SerializeEnum (16, 14); |
1363 break; |
1363 break; |
1364 case LteRrcSap::ReportConfigEutra::spare1: |
1364 case LteRrcSap::ReportConfigEutra::SPARE1: |
1365 default: |
1365 default: |
1366 SerializeEnum (16, 15); |
1366 SerializeEnum (16, 15); |
1367 } |
1367 } |
1368 |
1368 |
1369 // Serialize reportAmount |
1369 // Serialize reportAmount |
1540 default: |
1540 default: |
1541 SerializeChoice (2, 1, false); |
1541 SerializeChoice (2, 1, false); |
1542 SerializeSequence (std::bitset<0> (),false); |
1542 SerializeSequence (std::bitset<0> (),false); |
1543 switch (measConfig.measGapConfig.gapOffsetChoice) |
1543 switch (measConfig.measGapConfig.gapOffsetChoice) |
1544 { |
1544 { |
1545 case LteRrcSap::MeasGapConfig::gp0: |
1545 case LteRrcSap::MeasGapConfig::GP0: |
1546 SerializeChoice (2, 0, true); |
1546 SerializeChoice (2, 0, true); |
1547 SerializeInteger (measConfig.measGapConfig.gapOffsetValue, 0, 39); |
1547 SerializeInteger (measConfig.measGapConfig.gapOffsetValue, 0, 39); |
1548 break; |
1548 break; |
1549 case LteRrcSap::MeasGapConfig::gp1: |
1549 case LteRrcSap::MeasGapConfig::GP1: |
1550 default: |
1550 default: |
1551 SerializeChoice (2, 1, true); |
1551 SerializeChoice (2, 1, true); |
1552 SerializeInteger (measConfig.measGapConfig.gapOffsetValue, 0, 79); |
1552 SerializeInteger (measConfig.measGapConfig.gapOffsetValue, 0, 79); |
1553 } |
1553 } |
1554 } |
1554 } |
1663 bIterator = DeserializeChoice (2, false, &thresholdEutraChoice, bIterator); |
1663 bIterator = DeserializeChoice (2, false, &thresholdEutraChoice, bIterator); |
1664 |
1664 |
1665 switch (thresholdEutraChoice) |
1665 switch (thresholdEutraChoice) |
1666 { |
1666 { |
1667 case 0: |
1667 case 0: |
1668 thresholdEutra->choice = LteRrcSap::ThresholdEutra::thresholdRsrp; |
1668 thresholdEutra->choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRP; |
1669 bIterator = DeserializeInteger (&range, 0, 97, bIterator); |
1669 bIterator = DeserializeInteger (&range, 0, 97, bIterator); |
1670 thresholdEutra->range = range; |
1670 thresholdEutra->range = range; |
1671 break; |
1671 break; |
1672 case 1: |
1672 case 1: |
1673 default: |
1673 default: |
1674 thresholdEutra->choice = LteRrcSap::ThresholdEutra::thresholdRsrq; |
1674 thresholdEutra->choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRQ; |
1675 bIterator = DeserializeInteger (&range, 0, 34, bIterator); |
1675 bIterator = DeserializeInteger (&range, 0, 34, bIterator); |
1676 thresholdEutra->range = range; |
1676 thresholdEutra->range = range; |
1677 } |
1677 } |
1678 |
1678 |
1679 return bIterator; |
1679 return bIterator; |
3309 bIterator = DeserializeChoice (2, false, &triggerTypeChoice, bIterator); |
3309 bIterator = DeserializeChoice (2, false, &triggerTypeChoice, bIterator); |
3310 |
3310 |
3311 if (triggerTypeChoice == 0) |
3311 if (triggerTypeChoice == 0) |
3312 { |
3312 { |
3313 // event |
3313 // event |
3314 elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::event; |
3314 elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::EVENT; |
3315 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3315 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3316 |
3316 |
3317 // eventId |
3317 // eventId |
3318 int eventIdChoice; |
3318 int eventIdChoice; |
3319 bIterator = DeserializeChoice (5, true, &eventIdChoice, bIterator); |
3319 bIterator = DeserializeChoice (5, true, &eventIdChoice, bIterator); |
3320 |
3320 |
3321 switch (eventIdChoice) |
3321 switch (eventIdChoice) |
3322 { |
3322 { |
3323 case 0: |
3323 case 0: |
3324 elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA1; |
3324 elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A1; |
3325 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3325 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3326 bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator); |
3326 bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator); |
3327 break; |
3327 break; |
3328 |
3328 |
3329 case 1: |
3329 case 1: |
3330 elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA2; |
3330 elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A2; |
3331 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3331 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3332 bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator); |
3332 bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator); |
3333 break; |
3333 break; |
3334 |
3334 |
3335 case 2: |
3335 case 2: |
3336 elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA3; |
3336 elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A3; |
3337 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3337 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3338 bIterator = DeserializeInteger (&n, -30, 30, bIterator); |
3338 bIterator = DeserializeInteger (&n, -30, 30, bIterator); |
3339 elem.reportConfigEutra.a3Offset = n; |
3339 elem.reportConfigEutra.a3Offset = n; |
3340 bIterator = DeserializeBoolean (&elem.reportConfigEutra.reportOnLeave, bIterator); |
3340 bIterator = DeserializeBoolean (&elem.reportConfigEutra.reportOnLeave, bIterator); |
3341 break; |
3341 break; |
3342 |
3342 |
3343 case 3: |
3343 case 3: |
3344 elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA4; |
3344 elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A4; |
3345 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3345 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3346 bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator); |
3346 bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator); |
3347 break; |
3347 break; |
3348 |
3348 |
3349 case 4: |
3349 case 4: |
3350 default: |
3350 default: |
3351 elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::eventA5; |
3351 elem.reportConfigEutra.eventId = LteRrcSap::ReportConfigEutra::EVENT_A5; |
3352 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3352 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3353 bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator); |
3353 bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold1, bIterator); |
3354 bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold2, bIterator); |
3354 bIterator = DeserializeThresholdEutra (&elem.reportConfigEutra.threshold2, bIterator); |
3355 } |
3355 } |
3356 |
3356 |
3413 } |
3413 } |
3414 |
3414 |
3415 if (triggerTypeChoice == 1) |
3415 if (triggerTypeChoice == 1) |
3416 { |
3416 { |
3417 // periodical |
3417 // periodical |
3418 elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::periodical; |
3418 elem.reportConfigEutra.triggerType = LteRrcSap::ReportConfigEutra::PERIODICAL; |
3419 |
3419 |
3420 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3420 bIterator = DeserializeSequence (&bitset0, false, bIterator); |
3421 bIterator = DeserializeEnum (2, &n, bIterator); |
3421 bIterator = DeserializeEnum (2, &n, bIterator); |
3422 if (n == 0) |
3422 if (n == 0) |
3423 { |
3423 { |
3424 elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::reportStrongestCells; |
3424 elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::REPORT_STRONGEST_CELLS; |
3425 } |
3425 } |
3426 else |
3426 else |
3427 { |
3427 { |
3428 elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::reportCgi; |
3428 elem.reportConfigEutra.purpose = LteRrcSap::ReportConfigEutra::REPORT_CGI; |
3429 } |
3429 } |
3430 } |
3430 } |
3431 |
3431 |
3432 // triggerQuantity |
3432 // triggerQuantity |
3433 bIterator = DeserializeEnum (2, &n, bIterator); |
3433 bIterator = DeserializeEnum (2, &n, bIterator); |
3434 if (n == 0) |
3434 if (n == 0) |
3435 { |
3435 { |
3436 elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::rsrp; |
3436 elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRP; |
3437 } |
3437 } |
3438 else |
3438 else |
3439 { |
3439 { |
3440 elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::rsrq; |
3440 elem.reportConfigEutra.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRQ; |
3441 } |
3441 } |
3442 |
3442 |
3443 // reportQuantity |
3443 // reportQuantity |
3444 bIterator = DeserializeEnum (2, &n, bIterator); |
3444 bIterator = DeserializeEnum (2, &n, bIterator); |
3445 if (n == 0) |
3445 if (n == 0) |
3446 { |
3446 { |
3447 elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::sameAsTriggerQuantity; |
3447 elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::SAME_AS_TRIGGER_QUANTITY; |
3448 } |
3448 } |
3449 else |
3449 else |
3450 { |
3450 { |
3451 elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::both; |
3451 elem.reportConfigEutra.reportQuantity = LteRrcSap::ReportConfigEutra::BOTH; |
3452 } |
3452 } |
3453 |
3453 |
3454 // maxReportCells |
3454 // maxReportCells |
3455 bIterator = DeserializeInteger (&n, 1, MAX_CELL_REPORT, bIterator); |
3455 bIterator = DeserializeInteger (&n, 1, MAX_CELL_REPORT, bIterator); |
3456 elem.reportConfigEutra.maxReportCells = n; |
3456 elem.reportConfigEutra.maxReportCells = n; |
3458 // reportInterval |
3458 // reportInterval |
3459 bIterator = DeserializeEnum (16, &n, bIterator); |
3459 bIterator = DeserializeEnum (16, &n, bIterator); |
3460 switch (n) |
3460 switch (n) |
3461 { |
3461 { |
3462 case 0: |
3462 case 0: |
3463 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms120; |
3463 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS120; |
3464 break; |
3464 break; |
3465 case 1: |
3465 case 1: |
3466 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms240; |
3466 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS240; |
3467 break; |
3467 break; |
3468 case 2: |
3468 case 2: |
3469 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms480; |
3469 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS480; |
3470 break; |
3470 break; |
3471 case 3: |
3471 case 3: |
3472 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms640; |
3472 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS640; |
3473 break; |
3473 break; |
3474 case 4: |
3474 case 4: |
3475 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms1024; |
3475 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS1024; |
3476 break; |
3476 break; |
3477 case 5: |
3477 case 5: |
3478 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms2048; |
3478 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS2048; |
3479 break; |
3479 break; |
3480 case 6: |
3480 case 6: |
3481 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms5120; |
3481 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS5120; |
3482 break; |
3482 break; |
3483 case 7: |
3483 case 7: |
3484 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::ms10240; |
3484 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MS10240; |
3485 break; |
3485 break; |
3486 case 8: |
3486 case 8: |
3487 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min1; |
3487 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN1; |
3488 break; |
3488 break; |
3489 case 9: |
3489 case 9: |
3490 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min6; |
3490 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN6; |
3491 break; |
3491 break; |
3492 case 10: |
3492 case 10: |
3493 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min12; |
3493 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN12; |
3494 break; |
3494 break; |
3495 case 11: |
3495 case 11: |
3496 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min30; |
3496 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN30; |
3497 break; |
3497 break; |
3498 case 12: |
3498 case 12: |
3499 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::min60; |
3499 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::MIN60; |
3500 break; |
3500 break; |
3501 case 13: |
3501 case 13: |
3502 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::spare3; |
3502 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE3; |
3503 break; |
3503 break; |
3504 case 14: |
3504 case 14: |
3505 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::spare2; |
3505 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE2; |
3506 break; |
3506 break; |
3507 case 15: |
3507 case 15: |
3508 default: |
3508 default: |
3509 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::spare1; |
3509 elem.reportConfigEutra.reportInterval = LteRrcSap::ReportConfigEutra::SPARE1; |
3510 } |
3510 } |
3511 |
3511 |
3512 // reportAmount |
3512 // reportAmount |
3513 bIterator = DeserializeEnum (8, &n, bIterator); |
3513 bIterator = DeserializeEnum (8, &n, bIterator); |
3514 switch (n) |
3514 switch (n) |
3744 int gapOffsetChoice; |
3744 int gapOffsetChoice; |
3745 bIterator = DeserializeChoice (2, true, &gapOffsetChoice, bIterator); |
3745 bIterator = DeserializeChoice (2, true, &gapOffsetChoice, bIterator); |
3746 switch (gapOffsetChoice) |
3746 switch (gapOffsetChoice) |
3747 { |
3747 { |
3748 case 0: |
3748 case 0: |
3749 measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::gp0; |
3749 measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::GP0; |
3750 bIterator = DeserializeInteger (&n, 0, 39, bIterator); |
3750 bIterator = DeserializeInteger (&n, 0, 39, bIterator); |
3751 measConfig->measGapConfig.gapOffsetValue = n; |
3751 measConfig->measGapConfig.gapOffsetValue = n; |
3752 break; |
3752 break; |
3753 case 1: |
3753 case 1: |
3754 default: |
3754 default: |
3755 measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::gp1; |
3755 measConfig->measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::GP1; |
3756 bIterator = DeserializeInteger (&n, 0, 79, bIterator); |
3756 bIterator = DeserializeInteger (&n, 0, 79, bIterator); |
3757 measConfig->measGapConfig.gapOffsetValue = n; |
3757 measConfig->measGapConfig.gapOffsetValue = n; |
3758 } |
3758 } |
3759 } |
3759 } |
3760 } |
3760 } |
4840 std::list<LteRrcSap::ReportConfigToAddMod>::iterator it = auxList.begin (); |
4840 std::list<LteRrcSap::ReportConfigToAddMod>::iterator it = auxList.begin (); |
4841 for (; it != auxList.end (); it++) |
4841 for (; it != auxList.end (); it++) |
4842 { |
4842 { |
4843 os << " reportConfigId: " << (int)it->reportConfigId << std::endl; |
4843 os << " reportConfigId: " << (int)it->reportConfigId << std::endl; |
4844 os << " reportConfigEutra.triggerType " << (int)it->reportConfigEutra.triggerType << std::endl; |
4844 os << " reportConfigEutra.triggerType " << (int)it->reportConfigEutra.triggerType << std::endl; |
4845 if (it->reportConfigEutra.triggerType == LteRrcSap::ReportConfigEutra::event) |
4845 if (it->reportConfigEutra.triggerType == LteRrcSap::ReportConfigEutra::EVENT) |
4846 { |
4846 { |
4847 os << " reportConfigEutra.eventId " << (int)it->reportConfigEutra.eventId << std::endl; |
4847 os << " reportConfigEutra.eventId " << (int)it->reportConfigEutra.eventId << std::endl; |
4848 if (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::eventA3) |
4848 if (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::EVENT_A3) |
4849 { |
4849 { |
4850 os << " reportConfigEutra.reportOnLeave " << (int)it->reportConfigEutra.reportOnLeave << std::endl; |
4850 os << " reportConfigEutra.reportOnLeave " << (int)it->reportConfigEutra.reportOnLeave << std::endl; |
4851 os << " reportConfigEutra.a3Offset " << (int)it->reportConfigEutra.a3Offset << std::endl; |
4851 os << " reportConfigEutra.a3Offset " << (int)it->reportConfigEutra.a3Offset << std::endl; |
4852 } |
4852 } |
4853 else |
4853 else |
4854 { |
4854 { |
4855 os << " reportConfigEutra.threshold1.choice " << (int)it->reportConfigEutra.threshold1.choice << std::endl; |
4855 os << " reportConfigEutra.threshold1.choice " << (int)it->reportConfigEutra.threshold1.choice << std::endl; |
4856 os << " reportConfigEutra.threshold1.range " << (int)it->reportConfigEutra.threshold1.range << std::endl; |
4856 os << " reportConfigEutra.threshold1.range " << (int)it->reportConfigEutra.threshold1.range << std::endl; |
4857 if (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::eventA5) |
4857 if (it->reportConfigEutra.eventId == LteRrcSap::ReportConfigEutra::EVENT_A5) |
4858 { |
4858 { |
4859 os << " reportConfigEutra.threshold2.choice " << (int)it->reportConfigEutra.threshold2.choice << std::endl; |
4859 os << " reportConfigEutra.threshold2.choice " << (int)it->reportConfigEutra.threshold2.choice << std::endl; |
4860 os << " reportConfigEutra.threshold2.range " << (int)it->reportConfigEutra.threshold2.range << std::endl; |
4860 os << " reportConfigEutra.threshold2.range " << (int)it->reportConfigEutra.threshold2.range << std::endl; |
4861 } |
4861 } |
4862 } |
4862 } |