src/lte/model/lte-rrc-header.h
author Nicola Baldo <nbaldo@cttc.es>
Mon, 04 Feb 2013 18:47:25 +0100
changeset 9653 382d27da8905
parent 9648 204d43e200d6
child 9662 942fc066826c
permissions -rw-r--r--
merged lena-dev with ns-3-dev
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     2
/*
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     3
 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     4
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     8
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    12
 * GNU General Public License for more details.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    13
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    17
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    18
 * Author: Lluis Parcerisa <lparcerisa@cttc.cat>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    19
 */
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    20
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    21
#ifndef RRC_HEADER_H
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    22
#define RRC_HEADER_H
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    23
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    24
#include "ns3/header.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    25
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    26
#include <bitset>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    27
#include <string>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    28
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    29
#include "ns3/lte-rrc-sap.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    30
#include "ns3/lte-asn1-header.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    31
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    32
namespace ns3 {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    33
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    34
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    35
 * This class extends Asn1Header functions, adding serialization/deserialization
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    36
 * of some Information elements defined in 3GPP TS 36.331
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    37
 */
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    38
class RrcAsn1Header : public Asn1Header
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    39
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    40
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    41
  RrcAsn1Header ();
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
    42
  int GetMessageType ();
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
    43
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    44
protected:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    45
  // Inherited from Asn1Header
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
    46
  static TypeId GetTypeId (void);
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
    47
  virtual TypeId GetInstanceTypeId (void) const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    48
  uint32_t Deserialize (Buffer::Iterator bIterator) = 0;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    49
  virtual void PreSerialize (void) const = 0;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    50
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    51
  // Serialization functions
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    52
  void SerializeSrbToAddModList (std::list<LteRrcSap::SrbToAddMod> srbToAddModList) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    53
  void SerializeDrbToAddModList (std::list<LteRrcSap::DrbToAddMod> drbToAddModList) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    54
  void SerializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig logicalChannelConfig) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    55
  void SerializeRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    56
  void SerializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    57
  void SerializeSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 systemInformationBlockType1) const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    58
  void SerializeSystemInformationBlockType2 (LteRrcSap::SystemInformationBlockType2 systemInformationBlockType2) const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
    59
  void SerializeRadioResourceConfigCommon (LteRrcSap::RadioResourceConfigCommon radioResourceConfigCommon) const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    60
  void SerializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceConfigCommonSib radioResourceConfigCommonSib) const;
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
    61
  void SerializeMeasResults (LteRrcSap::MeasResults measResults) const;
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
    62
  void SerializePlmnIdentity (uint32_t plmnId) const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
    63
  void SerializeRachConfigCommon (LteRrcSap::RachConfigCommon rachConfigCommon) const;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    64
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    65
  // Deserialization functions
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    66
  Buffer::Iterator DeserializeDrbToAddModList (std::list<LteRrcSap::DrbToAddMod> *drbToAddModLis, Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    67
  Buffer::Iterator DeserializeSrbToAddModList (std::list<LteRrcSap::SrbToAddMod> *srbToAddModList, Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    68
  Buffer::Iterator DeserializeLogicalChannelConfig (LteRrcSap::LogicalChannelConfig *logicalChannelConfig, Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    69
  Buffer::Iterator DeserializeRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated *radioResourceConfigDedicated, Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    70
  Buffer::Iterator DeserializePhysicalConfigDedicated (LteRrcSap::PhysicalConfigDedicated *physicalConfigDedicated, Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    71
  Buffer::Iterator DeserializeSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 *systemInformationBlockType1, Buffer::Iterator bIterator);
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    72
  Buffer::Iterator DeserializeSystemInformationBlockType2 (LteRrcSap::SystemInformationBlockType2 *systemInformationBlockType2, Buffer::Iterator bIterator);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
    73
  Buffer::Iterator DeserializeRadioResourceConfigCommon (LteRrcSap::RadioResourceConfigCommon *radioResourceConfigCommon, Buffer::Iterator bIterator);
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    74
  Buffer::Iterator DeserializeRadioResourceConfigCommonSib (LteRrcSap::RadioResourceConfigCommonSib *radioResourceConfigCommonSib, Buffer::Iterator bIterator);
9602
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
    75
  Buffer::Iterator DeserializeMeasResults (LteRrcSap::MeasResults *measResults, Buffer::Iterator bIterator);
d3f5d483eb15 Serialize RRC MeasResults IE
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9601
diff changeset
    76
  Buffer::Iterator DeserializePlmnIdentity (uint32_t *plmnId, Buffer::Iterator bIterator);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
    77
  Buffer::Iterator DeserializeRachConfigCommon (LteRrcSap::RachConfigCommon * rachConfigCommon, Buffer::Iterator bIterator);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    78
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    79
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    80
   * This function prints RadioResourceConfigDedicated IE, for debugging purposes.
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    81
   * @param os The output stream to use (i.e. std::cout)
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    82
   * @param radioResourceConfigDedicated The information element to be printed
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    83
   */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    84
  void Print (std::ostream &os, LteRrcSap::RadioResourceConfigDedicated radioResourceConfigDedicated) const;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
    85
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    86
  /// Stores RRC message type, according to 3GPP TS 36.331
9471
082640d26eea Implement real DoSendRrcConnectionSetupCompleted
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
    87
  int m_messageType;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    88
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    89
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    90
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    91
/**
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    92
 * This class only serves to discriminate which message type has been received
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    93
 * in uplink (ue to eNb) for channel DCCH
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    94
 */
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    95
class RrcUlDcchMessage : public RrcAsn1Header
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
    96
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
    97
public:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    98
  RrcUlDcchMessage ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
    99
  ~RrcUlDcchMessage ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   100
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   101
  // Inherited from RrcAsn1Header
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   102
  uint32_t Deserialize (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   103
  void Print (std::ostream &os) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   104
  void PreSerialize () const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   105
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   106
protected:
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   107
  void SerializeUlDcchMessage (int msgType) const;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   108
  Buffer::Iterator DeserializeUlDcchMessage (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   109
};
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   110
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   111
/**
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   112
 * This class only serves to discriminate which message type has been received
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   113
 * in downlink (eNb to ue) for channel DCCH
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   114
 */
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   115
class RrcDlDcchMessage : public RrcAsn1Header
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   116
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   117
public:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   118
  RrcDlDcchMessage ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   119
  ~RrcDlDcchMessage ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   120
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   121
  // Inherited from RrcAsn1Header
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   122
  uint32_t Deserialize (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   123
  void Print (std::ostream &os) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   124
  void PreSerialize () const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   125
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   126
protected:
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   127
  void SerializeDlDcchMessage (int msgType) const;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   128
  Buffer::Iterator DeserializeDlDcchMessage (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   129
};
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   130
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   131
/**
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   132
 * This class only serves to discriminate which message type has been received
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   133
 * in uplink (ue to eNb) for channel CCCH
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   134
 */
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   135
class RrcUlCcchMessage : public RrcAsn1Header
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   136
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   137
public:
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
   138
  RrcUlCcchMessage ();
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
   139
  ~RrcUlCcchMessage ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   140
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   141
  // Inherited from RrcAsn1Header 
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   142
  uint32_t Deserialize (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   143
  void Print (std::ostream &os) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   144
  void PreSerialize () const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   145
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   146
protected:
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   147
  void SerializeUlCcchMessage (int msgType) const;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   148
  Buffer::Iterator DeserializeUlCcchMessage (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   149
};
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   150
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   151
/**
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   152
 * This class only serves to discriminate which message type has been received
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   153
 * in downlink (eNb to ue) for channel CCCH
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   154
 */
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   155
class RrcDlCcchMessage : public RrcAsn1Header
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   156
{
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   157
public:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   158
  RrcDlCcchMessage ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   159
  ~RrcDlCcchMessage ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   160
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   161
  // Inherited from RrcAsn1Header 
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   162
  uint32_t Deserialize (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   163
  void Print (std::ostream &os) const;
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   164
  void PreSerialize () const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   165
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   166
protected:
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   167
  void SerializeDlCcchMessage (int msgType) const;
9481
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   168
  Buffer::Iterator DeserializeDlCcchMessage (Buffer::Iterator bIterator);
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   169
};
b828554155ff Real implementation of ReestablishmentRequest, ReconfigurationCompleteHeader and ReestablishmentComplete
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9471
diff changeset
   170
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   171
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   172
* This class manages the serialization/deserialization of RrcConnectionRequest IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   173
*/
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
   174
class RrcConnectionRequestHeader : public RrcUlCcchMessage
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   175
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   176
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   177
  RrcConnectionRequestHeader ();
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
   178
  ~RrcConnectionRequestHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   179
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   180
  // Inherited from RrcAsn1Header 
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   181
  static TypeId GetTypeId (void);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   182
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   183
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   184
  void Print (std::ostream &os) const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   185
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   186
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   187
   * Receives a RrcConnectionRequest IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   188
   * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   189
   */
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
   190
  void SetMessage (LteRrcSap::RrcConnectionRequest msg);
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   191
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   192
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   193
   * Returns a RrcConnectionRequest IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   194
   * @return A RrcConnectionRequest, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   195
   */
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9602
diff changeset
   196
  LteRrcSap::RrcConnectionRequest GetMessage () const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   197
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   198
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   199
   * Get MMEC attribute
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   200
   * @return m_mmec attribute
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   201
   */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   202
  std::bitset<8> GetMmec () const;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   203
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   204
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   205
   * Get M-TMSI attribute
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   206
   * @return m_tmsi attribute
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   207
   */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   208
  std::bitset<32> GetMtmsi () const;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   209
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   210
private:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   211
  std::bitset<8> m_mmec;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   212
  std::bitset<32> m_mTmsi;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   213
  enum
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   214
  {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   215
    EMERGENCY = 0, HIGHPRIORITYACCESS, MT_ACCESS,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   216
    MO_SIGNALLING, MO_DATA, SPARE3, SPARE2, SPARE1
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   217
  } m_establishmentCause;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   218
  std::bitset<1> m_spare;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   219
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   220
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   221
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   222
* This class manages the serialization/deserialization of RrcConnectionSetup IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   223
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   224
class RrcConnectionSetupHeader : public RrcDlCcchMessage
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   225
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   226
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   227
  RrcConnectionSetupHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   228
  ~RrcConnectionSetupHeader ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   229
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   230
  // Inherited from RrcAsn1Header 
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   231
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   232
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   233
  void Print (std::ostream &os) const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   234
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   235
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   236
  * Receives a RrcConnectionSetup IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   237
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   238
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   239
  void SetMessage (LteRrcSap::RrcConnectionSetup msg);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   240
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   241
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   242
  * Returns a RrcConnectionSetup IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   243
  * @return A RrcConnectionSetup, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   244
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   245
  LteRrcSap::RrcConnectionSetup GetMessage () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   246
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   247
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   248
  * Getter for m_rrcTransactionIdentifier
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   249
  * @return m_rrcTransactionIdentifier
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   250
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   251
  uint8_t GetRrcTransactionIdentifier () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   252
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   253
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   254
  * Getter for m_radioResourceConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   255
  * @return m_radioResourceConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   256
  */
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   257
  LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated () const; 
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   258
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   259
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   260
  * Gets m_radioResourceConfigDedicated.havePhysicalConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   261
  * @return m_radioResourceConfigDedicated.havePhysicalConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   262
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   263
  bool HavePhysicalConfigDedicated () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   264
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   265
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   266
  * Gets m_radioResourceConfigDedicated.physicalConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   267
  * @return m_radioResourceConfigDedicated.physicalConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   268
  */
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   269
  LteRrcSap::PhysicalConfigDedicated GetPhysicalConfigDedicated () const;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   270
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   271
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   272
  * Gets m_radioResourceConfigDedicated.srbToAddModList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   273
  * @return m_radioResourceConfigDedicated.srbToAddModList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   274
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   275
  std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   276
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   277
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   278
  * Gets m_radioResourceConfigDedicated.drbToAddModList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   279
  * @return m_radioResourceConfigDedicated.drbToAddModList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   280
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   281
  std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   282
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   283
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   284
  * Gets m_radioResourceConfigDedicated.drbToReleaseList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   285
  * @return m_radioResourceConfigDedicated.drbToReleaseList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   286
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   287
  std::list<uint8_t> GetDrbToReleaseList () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   288
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   289
private:
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   290
  uint8_t m_rrcTransactionIdentifier;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   291
  mutable LteRrcSap::RadioResourceConfigDedicated m_radioResourceConfigDedicated;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   292
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   293
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   294
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   295
* This class manages the serialization/deserialization of RrcConnectionSetupComplete IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   296
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   297
class RrcConnectionSetupCompleteHeader : public RrcUlDcchMessage
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   298
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   299
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   300
  RrcConnectionSetupCompleteHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   301
  ~RrcConnectionSetupCompleteHeader ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   302
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   303
  // Inherited from RrcAsn1Header 
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   304
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   305
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   306
  void Print (std::ostream &os) const;
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   307
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   308
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   309
  * Receives a RrcConnectionSetupCompleted IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   310
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   311
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   312
  void SetMessage (LteRrcSap::RrcConnectionSetupCompleted msg);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   313
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   314
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   315
  * Returns a RrcConnectionSetupCompleted IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   316
  * @return A RrcConnectionSetupCompleted, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   317
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   318
  LteRrcSap::RrcConnectionSetupCompleted GetMessage () const;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   319
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   320
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   321
  * Getter for m_rrcTransactionIdentifier
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   322
  * @return m_rrcTransactionIdentifier
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   323
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   324
  uint8_t GetRrcTransactionIdentifier () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   325
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   326
private:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   327
  uint8_t m_rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   328
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   329
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   330
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   331
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   332
* This class manages the serialization/deserialization of RrcConnectionSetupComplete IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   333
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   334
class RrcConnectionReconfigurationCompleteHeader : public RrcUlDcchMessage
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   335
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   336
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   337
  RrcConnectionReconfigurationCompleteHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   338
  ~RrcConnectionReconfigurationCompleteHeader ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   339
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   340
  // Inherited from RrcAsn1Header 
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   341
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   342
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   343
  void Print (std::ostream &os) const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   344
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   345
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   346
  * Receives a RrcConnectionReconfigurationCompleted IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   347
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   348
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   349
  void SetMessage (LteRrcSap::RrcConnectionReconfigurationCompleted msg);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   350
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   351
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   352
  * Returns a RrcConnectionReconfigurationCompleted IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   353
  * @return A RrcConnectionReconfigurationCompleted, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   354
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   355
  LteRrcSap::RrcConnectionReconfigurationCompleted GetMessage () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   356
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   357
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   358
  * Getter for m_rrcTransactionIdentifier
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   359
  * @return m_rrcTransactionIdentifier
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   360
  */ 
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   361
  uint8_t GetRrcTransactionIdentifier () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   362
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   363
private:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   364
  uint8_t m_rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   365
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   366
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   367
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   368
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   369
* This class manages the serialization/deserialization of RrcConnectionReconfiguration IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   370
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   371
class RrcConnectionReconfigurationHeader : public RrcDlDcchMessage
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   372
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   373
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   374
  RrcConnectionReconfigurationHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   375
  ~RrcConnectionReconfigurationHeader ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   376
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   377
  // Inherited from RrcAsn1Header 
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   378
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   379
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   380
  void Print (std::ostream &os) const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   381
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   382
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   383
  * Receives a RrcConnectionReconfiguration IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   384
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   385
  */ 
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   386
  void SetMessage (LteRrcSap::RrcConnectionReconfiguration msg);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   387
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   388
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   389
  * Returns a RrcConnectionReconfiguration IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   390
  * @return A RrcConnectionReconfiguration, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   391
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   392
  LteRrcSap::RrcConnectionReconfiguration GetMessage () const; 
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   393
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   394
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   395
  * Getter for m_haveMeasConfig
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   396
  * @return m_haveMeasConfig
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   397
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   398
  bool GetHaveMeasConfig ();
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   399
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   400
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   401
  * Getter for m_measConfig
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   402
  * @return m_measConfig
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   403
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   404
  LteRrcSap::MeasConfig GetMeasConfig ();
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   405
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   406
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   407
  * Getter for m_haveMobilityControlInfo
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   408
  * @return m_haveMobilityControlInfo
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   409
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   410
  bool GetHaveMobilityControlInfo ();
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   411
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   412
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   413
  * Getter for m_mobilityControlInfo
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   414
  * @return m_mobilityControlInfo
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   415
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   416
  LteRrcSap::MobilityControlInfo GetMobilityControlInfo ();
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   417
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   418
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   419
  * Getter for m_haveRadioResourceConfigDedicated
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   420
  * @return m_haveRadioResourceConfigDedicated
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   421
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   422
  bool GetHaveRadioResourceConfigDedicated ();
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   423
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   424
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   425
  * Getter for m_radioResourceConfigDedicated
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   426
  * @return m_radioResourceConfigDedicated
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   427
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   428
  LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated ();
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   429
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   430
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   431
  * Getter for m_rrcTransactionIdentifier
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   432
  * @return m_rrcTransactionIdentifier
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   433
  */
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   434
  uint8_t GetRrcTransactionIdentifier () const;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   435
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   436
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   437
  * Getter for m_radioResourceConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   438
  * @return m_radioResourceConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   439
  */
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   440
  LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated () const; 
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   441
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   442
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   443
  * Gets m_radioResourceConfigDedicated.havePhysicalConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   444
  * @return m_radioResourceConfigDedicated.havePhysicalConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   445
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   446
  bool HavePhysicalConfigDedicated () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   447
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   448
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   449
  * Gets m_radioResourceConfigDedicated.physicalConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   450
  * @return m_radioResourceConfigDedicated.physicalConfigDedicated
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   451
  */
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   452
  LteRrcSap::PhysicalConfigDedicated GetPhysicalConfigDedicated () const;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   453
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   454
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   455
  * Gets m_radioResourceConfigDedicated.srbToAddModList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   456
  * @return m_radioResourceConfigDedicated.srbToAddModList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   457
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   458
  std::list<LteRrcSap::SrbToAddMod> GetSrbToAddModList () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   459
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   460
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   461
  * Gets m_radioResourceConfigDedicated.drbToAddModList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   462
  * @return m_radioResourceConfigDedicated.drbToAddModList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   463
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   464
  std::list<LteRrcSap::DrbToAddMod> GetDrbToAddModList () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   465
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   466
  /**
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   467
  * Gets m_radioResourceConfigDedicated.drbToReleaseList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   468
  * @return m_radioResourceConfigDedicated.drbToReleaseList
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   469
  */
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   470
  std::list<uint8_t> GetDrbToReleaseList () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   471
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   472
private:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   473
  uint8_t m_rrcTransactionIdentifier;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   474
  bool m_haveMeasConfig;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   475
  LteRrcSap::MeasConfig m_measConfig;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   476
  bool m_haveMobilityControlInfo;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   477
  LteRrcSap::MobilityControlInfo m_mobilityControlInfo;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   478
  bool m_haveRadioResourceConfigDedicated;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   479
  LteRrcSap::RadioResourceConfigDedicated m_radioResourceConfigDedicated;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   480
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   481
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   482
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   483
* This class manages the serialization/deserialization of HandoverPreparationInfo IE
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   484
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   485
class HandoverPreparationInfoHeader : public RrcAsn1Header
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   486
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   487
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   488
  HandoverPreparationInfoHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   489
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   490
  // Inherited from RrcAsn1Header 
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   491
  void PreSerialize () const;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   492
  uint32_t Deserialize (Buffer::Iterator bIterator);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   493
  void Print (std::ostream &os) const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   494
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   495
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   496
  * Receives a HandoverPreparationInfo IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   497
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   498
  */ 
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   499
  void SetMessage (LteRrcSap::HandoverPreparationInfo msg);
9495
f8395c64d912 Ns3 formatting
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9492
diff changeset
   500
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   501
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   502
  * Returns a HandoverPreparationInfo IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   503
  * @return A HandoverPreparationInfo, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   504
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   505
  LteRrcSap::HandoverPreparationInfo GetMessage () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   506
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   507
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   508
  * Getter for m_asConfig
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   509
  * @return m_asConfig
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   510
  */ 
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   511
  LteRrcSap::AsConfig GetAsConfig () const;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   512
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   513
private:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   514
  LteRrcSap::AsConfig m_asConfig;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   515
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   516
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   517
/**
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   518
* This class manages the serialization/deserialization of RRCConnectionReestablishmentRequest IE
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   519
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   520
class RrcConnectionReestablishmentRequestHeader : public RrcUlCcchMessage
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   521
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   522
public:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   523
  RrcConnectionReestablishmentRequestHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   524
  ~RrcConnectionReestablishmentRequestHeader ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   525
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   526
  // Inherited from RrcAsn1Header 
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   527
  void PreSerialize () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   528
  uint32_t Deserialize (Buffer::Iterator bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   529
  void Print (std::ostream &os) const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   530
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   531
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   532
  * Receives a RrcConnectionReestablishmentRequest IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   533
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   534
  */ 
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   535
  void SetMessage (LteRrcSap::RrcConnectionReestablishmentRequest msg);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   536
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   537
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   538
  * Returns a RrcConnectionReestablishmentRequest IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   539
  * @return A RrcConnectionReestablishmentRequest, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   540
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   541
  LteRrcSap::RrcConnectionReestablishmentRequest GetMessage () const;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   542
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   543
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   544
  * Getter for m_ueIdentity
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   545
  * @return m_ueIdentity
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   546
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   547
  LteRrcSap::ReestabUeIdentity GetUeIdentity () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   548
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   549
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   550
  * Getter for m_reestablishmentCause
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   551
  * @return m_reestablishmentCause
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   552
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   553
  LteRrcSap::ReestablishmentCause GetReestablishmentCause () const;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   554
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   555
private:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   556
  LteRrcSap::ReestabUeIdentity m_ueIdentity;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   557
  LteRrcSap::ReestablishmentCause m_reestablishmentCause;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   558
};
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   559
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   560
/**
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   561
* This class manages the serialization/deserialization of RrcConnectionReestablishment IE
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   562
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   563
class RrcConnectionReestablishmentHeader : public RrcDlCcchMessage
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   564
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   565
public:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   566
  RrcConnectionReestablishmentHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   567
  ~RrcConnectionReestablishmentHeader ();
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   568
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   569
  // Inherited from RrcAsn1Header 
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   570
  void PreSerialize () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   571
  uint32_t Deserialize (Buffer::Iterator bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   572
  void Print (std::ostream &os) const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   573
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   574
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   575
  * Receives a RrcConnectionReestablishment IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   576
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   577
  */ 
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   578
  void SetMessage (LteRrcSap::RrcConnectionReestablishment msg);
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   579
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   580
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   581
  * Returns a RrcConnectionReestablishment IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   582
  * @return A RrcConnectionReestablishment, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   583
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   584
  LteRrcSap::RrcConnectionReestablishment GetMessage () const;
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   585
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   586
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   587
  * Getter for m_rrcTransactionIdentifier attribute
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   588
  * @return m_rrcTransactionIdentifier
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   589
  */
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   590
  uint8_t GetRrcTransactionIdentifier () const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   591
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   592
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   593
  * Getter for m_radioResourceConfigDedicated attribute
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   594
  * @return m_radioResourceConfigDedicated
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   595
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   596
  LteRrcSap::RadioResourceConfigDedicated GetRadioResourceConfigDedicated () const;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   597
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   598
private:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   599
  uint8_t m_rrcTransactionIdentifier;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   600
  LteRrcSap::RadioResourceConfigDedicated m_radioResourceConfigDedicated;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   601
};
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   602
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   603
/**
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   604
* This class manages the serialization/deserialization of RrcConnectionReestablishmentComplete IE
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   605
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   606
class RrcConnectionReestablishmentCompleteHeader : public RrcUlDcchMessage
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   607
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   608
public:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   609
  RrcConnectionReestablishmentCompleteHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   610
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   611
  // Inherited from RrcAsn1Header 
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   612
  void PreSerialize () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   613
  uint32_t Deserialize (Buffer::Iterator bIterator);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   614
  void Print (std::ostream &os) const;
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   615
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   616
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   617
  * Receives a RrcConnectionReestablishmentComplete IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   618
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   619
  */ 
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   620
  void SetMessage (LteRrcSap::RrcConnectionReestablishmentComplete msg);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   621
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   622
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   623
  * Returns a RrcConnectionReestablishmentComplete IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   624
  * @return A RrcConnectionReestablishmentComplete, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   625
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   626
  LteRrcSap::RrcConnectionReestablishmentComplete GetMessage () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   627
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   628
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   629
  * Getter for m_rrcTransactionIdentifier attribute
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   630
  * @return m_rrcTransactionIdentifier
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   631
  */
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   632
  uint8_t GetRrcTransactionIdentifier () const;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   633
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   634
private:
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   635
  uint8_t m_rrcTransactionIdentifier;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   636
};
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   637
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   638
/**
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   639
* This class manages the serialization/deserialization of RrcConnectionReestablishmentReject IE
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   640
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   641
class RrcConnectionReestablishmentRejectHeader : public RrcDlCcchMessage
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   642
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   643
public:
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   644
  RrcConnectionReestablishmentRejectHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   645
  ~RrcConnectionReestablishmentRejectHeader ();
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   646
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   647
  // Inherited from RrcAsn1Header 
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   648
  void PreSerialize () const;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   649
  uint32_t Deserialize (Buffer::Iterator bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   650
  void Print (std::ostream &os) const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   651
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   652
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   653
  * Receives a RrcConnectionReestablishmentReject IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   654
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   655
  */ 
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   656
  void SetMessage (LteRrcSap::RrcConnectionReestablishmentReject msg);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   657
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   658
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   659
  * Returns a RrcConnectionReestablishmentReject IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   660
  * @return A RrcConnectionReestablishmentReject, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   661
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   662
  LteRrcSap::RrcConnectionReestablishmentReject GetMessage () const;
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   663
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   664
private:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   665
  LteRrcSap::RrcConnectionReestablishmentReject m_rrcConnectionReestablishmentReject;
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   666
};
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   667
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   668
/**
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   669
* This class manages the serialization/deserialization of RrcConnectionRelease IE
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   670
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   671
class RrcConnectionReleaseHeader : public RrcDlDcchMessage
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   672
{
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   673
public:
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   674
  RrcConnectionReleaseHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   675
  ~RrcConnectionReleaseHeader ();
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   676
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   677
  // Inherited from RrcAsn1Header 
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   678
  void PreSerialize () const;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   679
  uint32_t Deserialize (Buffer::Iterator bIterator);
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   680
  void Print (std::ostream &os) const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   681
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   682
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   683
  * Receives a RrcConnectionRelease IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   684
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   685
  */ 
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   686
  void SetMessage (LteRrcSap::RrcConnectionRelease msg);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   687
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   688
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   689
  * Returns a RrcConnectionRelease IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   690
  * @return A RrcConnectionRelease, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   691
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   692
  LteRrcSap::RrcConnectionRelease GetMessage () const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   693
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   694
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   695
  * Getter for m_rrcConnectionRelease attribute
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   696
  * @return m_rrcConnectionRelease
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   697
  */
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   698
  uint8_t GetRrcTransactionIdentifier () const;
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   699
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   700
private:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   701
  LteRrcSap::RrcConnectionRelease m_rrcConnectionRelease;
9496
13b556ada9cb Implement RrcConnectionReestablishmentReject and RrcConnectionRelease in lte-rrc-header and lte-rrc-protocol-real.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9495
diff changeset
   702
};
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   703
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   704
/**
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   705
* This class manages the serialization/deserialization of RrcConnectionReject IE
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   706
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   707
class RrcConnectionRejectHeader : public RrcDlCcchMessage
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   708
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   709
public:
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   710
  RrcConnectionRejectHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   711
  ~RrcConnectionRejectHeader ();
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   712
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   713
  // Inherited from RrcAsn1Header 
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   714
  void PreSerialize () const;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   715
  uint32_t Deserialize (Buffer::Iterator bIterator);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   716
  void Print (std::ostream &os) const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   717
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   718
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   719
  * Receives a RrcConnectionReject IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   720
  * @param msg The information element to parse
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   721
  */ 
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   722
  void SetMessage (LteRrcSap::RrcConnectionReject msg);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   723
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   724
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   725
  * Returns a RrcConnectionReject IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   726
  * @return A RrcConnectionReject, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   727
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   728
  LteRrcSap::RrcConnectionReject GetMessage () const;
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   729
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   730
private:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   731
  LteRrcSap::RrcConnectionReject m_rrcConnectionReject;
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   732
};
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9496
diff changeset
   733
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   734
/**
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   735
* This class manages the serialization/deserialization of MeasurementReport IE
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   736
*/
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   737
class MeasurementReportHeader : public RrcUlDcchMessage
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   738
{
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   739
public:
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   740
  MeasurementReportHeader ();
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   741
  ~MeasurementReportHeader ();
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   742
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   743
  // Inherited from RrcAsn1Header 
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   744
  void PreSerialize () const;
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   745
  uint32_t Deserialize (Buffer::Iterator bIterator);
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   746
  void Print (std::ostream &os) const;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   747
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   748
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   749
  * Receives a MeasurementReport IE and stores the contents into the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   750
  * @param msg The information element to parse
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   751
  */
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   752
  void SetMessage (LteRrcSap::MeasurementReport msg);
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   753
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   754
  /**
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   755
  * Returns a MeasurementReport IE from the values in the class attributes
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   756
  * @return A MeasurementReport, as defined in LteRrcSap
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   757
  */
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   758
  LteRrcSap::MeasurementReport GetMessage () const;
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   759
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   760
private:
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   761
  LteRrcSap::MeasurementReport m_measurementReport;
9601
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   762
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   763
};
869b6ed3ad40 Add MeasurementReport to Send/Rcv functions in real and ideal protocol.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9574
diff changeset
   764
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   765
} // namespace ns3
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   766
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9645
diff changeset
   767
#endif // RRC_HEADER_H
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   768