src/lte/model/epc-x2-header.h
changeset 9396 f6d2e9aff2de
parent 9331 6db5b873966c
child 9404 1f737f190823
--- a/src/lte/model/epc-x2-header.h	Fri Jul 20 18:55:47 2012 +0200
+++ b/src/lte/model/epc-x2-header.h	Wed Aug 01 12:40:15 2012 +0200
@@ -21,10 +21,15 @@
 #ifndef EPC_X2_HEADER_H
 #define EPC_X2_HEADER_H
 
+#include "ns3/epc-x2-sap.h"
 #include "ns3/header.h"
 
+#include <vector>
+
+
 namespace ns3 {
 
+
 class EpcX2Header : public Header
 {
 public:
@@ -45,20 +50,28 @@
   uint8_t GetProcedureCode () const;
   void SetProcedureCode (uint8_t procedureCode);
 
+  void SetLengthOfIes (uint32_t lengthOfIes);
+  void SetNumberOfIes (uint32_t numberOfIes);
+
 
   enum ProcedureCode_t {
-    HANDOVER_PREPARATION_TYPE   = 0
+    HandoverPreparation     = 0
   };
 
   enum TypeOfMessage_t {
-    INITIATING_MESSAGE      = 0,
-    SUCCESSFUL_OUTCOME      = 1,
-    UNSUCCESSFUL_OUTCOME    = 2
+    InitiatingMessage       = 0,
+    SuccessfulOutcome       = 1,
+    UnsuccessfulOutcome     = 2
   };
 
 private:
+  uint32_t m_headerLength;
+
   uint8_t m_messageType;
   uint8_t m_procedureCode;
+
+  uint32_t m_lengthOfIes;
+  uint32_t m_numberOfIes;
 };
 
 
@@ -74,7 +87,10 @@
   virtual void Serialize (Buffer::Iterator start) const;
   virtual uint32_t Deserialize (Buffer::Iterator start);
   virtual void Print (std::ostream &os) const;
-  
+
+
+  uint16_t GetOldEnbUeX2apId () const;
+  void SetOldEnbUeX2apId (uint16_t x2apId);
   
   uint16_t GetCause () const;
   void SetCause (uint16_t cause);
@@ -82,11 +98,28 @@
   uint16_t GetTargetCellId () const;
   void SetTargetCellId (uint16_t targetCellId);
 
+  std::vector <EpcX2Sap::ErabToBeSetupItem> GetBearers () const;
+  void SetBearers (std::vector <EpcX2Sap::ErabToBeSetupItem> bearers);
+
+  uint64_t GetUeAggregateMaxBitRateDownlink () const;
+  void SetUeAggregateMaxBitRateDownlink (uint64_t bitRate);
+
+  uint64_t GetUeAggregateMaxBitRateUplink () const;
+  void SetUeAggregateMaxBitRateUplink (uint64_t bitRate);
+
+  uint32_t GetLengthOfIes () const;
+  uint32_t GetNumberOfIes () const;
+
 private:
-  uint16_t          m_oldEnbUeX2apId; // TODO MRE When and why this is used? 
+  uint32_t          m_numberOfIes;
+  uint32_t          m_headerLength;
+
+  uint16_t          m_oldEnbUeX2apId;
   uint16_t          m_cause;
   uint16_t          m_targetCellId;
-  std::list<uint16_t>   m_erabsList;
+  uint64_t          m_ueAggregateMaxBitRateDownlink;
+  uint64_t          m_ueAggregateMaxBitRateUplink;
+  std::vector <EpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList;
 };
 
 
@@ -104,17 +137,23 @@
   virtual void Print (std::ostream &os) const;
   
   
-  uint16_t GetCause () const;
-  void SetCause (uint16_t cause);
+  uint16_t GetOldEnbUeX2apId () const;
+  void SetOldEnbUeX2apId (uint16_t x2apId);
+
+  uint16_t GetNewEnbUeX2apId () const;
+  void SetNewEnbUeX2apId (uint16_t x2apId);
 
-  uint16_t GetTargetCellId () const;
-  void SetTargetCellId (uint16_t targetCellId);
+  std::vector <EpcX2Sap::ErabAdmittedItem> GetAdmittedBearers () const;
+  void SetAdmittedBearers (std::vector <EpcX2Sap::ErabAdmittedItem> bearers);
+
+  std::vector <EpcX2Sap::ErabNotAdmittedItem> GetNotAdmittedBearers () const;
+  void SetNotAdmittedBearers (std::vector <EpcX2Sap::ErabNotAdmittedItem> bearers);
 
 private:
-  uint16_t          m_oldEnbUeX2apId; // TODO MRE When and why this is used? 
-  uint16_t          m_cause;
-  uint16_t          m_targetCellId;
-  std::list<uint16_t>   m_erabsList;
+  uint16_t          m_oldEnbUeX2apId;
+  uint16_t          m_newEnbUeX2apId;
+  std::vector <EpcX2Sap::ErabAdmittedItem>     m_erabsAdmittedList;
+  std::vector <EpcX2Sap::ErabNotAdmittedItem>  m_erabsNotAdmittedList;
 };