A Discrete-Event Network Simulator
API
lte-handover-management-sap.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2013 Budiarto Herman
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Budiarto Herman <budiarto.herman@magister.fi>
19  *
20  */
21 
22 #ifndef LTE_HANDOVER_MANAGEMENT_SAP_H
23 #define LTE_HANDOVER_MANAGEMENT_SAP_H
24 
25 #include <ns3/lte-rrc-sap.h>
26 
27 namespace ns3 {
28 
29 
39 {
40 public:
42 
54  virtual void ReportUeMeas (uint16_t rnti,
55  LteRrcSap::MeasResults measResults) = 0;
56 
57 }; // end of class LteHandoverManagementSapProvider
58 
59 
68 {
69 public:
71 
88  virtual uint8_t AddUeMeasReportConfigForHandover (LteRrcSap::ReportConfigEutra reportConfig) = 0;
89 
103  virtual void TriggerHandover (uint16_t rnti, uint16_t targetCellId) = 0;
104 
105 }; // end of class LteHandoverManagementSapUser
106 
107 
108 
114 template <class C>
116 {
117 public:
119 
120  // inherited from LteHandoverManagemenrSapProvider
121  virtual void ReportUeMeas (uint16_t rnti, LteRrcSap::MeasResults measResults);
122 
123 private:
126 
127 }; // end of class MemberLteHandoverManagementSapProvider
128 
129 
130 template <class C>
132  : m_owner (owner)
133 {
134 }
135 
136 
137 template <class C>
138 void
140 {
141  m_owner->DoReportUeMeas (rnti, measResults);
142 }
143 
144 
145 
151 template <class C>
153 {
154 public:
156 
157  // inherited from LteHandoverManagementSapUser
158  virtual uint8_t AddUeMeasReportConfigForHandover (LteRrcSap::ReportConfigEutra reportConfig);
159  virtual void TriggerHandover (uint16_t rnti, uint16_t targetCellId);
160 
161 private:
164 
165 }; // end of class MemberLteAnrSapUser
166 
167 
168 template <class C>
170  : m_owner (owner)
171 {
172 }
173 
174 
175 template <class C>
176 uint8_t
178 {
179  return m_owner->DoAddUeMeasReportConfigForHandover (reportConfig);
180 }
181 
182 
183 template <class C>
184 void
185 MemberLteHandoverManagementSapUser<C>::TriggerHandover (uint16_t rnti, uint16_t targetCellId)
186 {
187  return m_owner->DoTriggerHandover (rnti, targetCellId);
188 }
189 
190 
191 } // end of namespace ns3
192 
193 
194 #endif /* LTE_HANDOVER_MANAGEMENT_SAP_H */
Template for the implementation of the LteHandoverManagementSapUser as a member of an owner class of ...
Specifies criteria for triggering of an E-UTRA measurement reporting event.
Definition: lte-rrc-sap.h:321
virtual void TriggerHandover(uint16_t rnti, uint16_t targetCellId)=0
Instruct the eNodeB RRC entity to prepare a handover.
Template for the implementation of the LteHandoverManagementSapProvider as a member of an owner class...
virtual void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)
Send a UE measurement report to handover algorithm.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)=0
Send a UE measurement report to handover algorithm.
virtual void TriggerHandover(uint16_t rnti, uint16_t targetCellId)
Instruct the eNodeB RRC entity to prepare a handover.
virtual uint8_t AddUeMeasReportConfigForHandover(LteRrcSap::ReportConfigEutra reportConfig)
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity...
Service Access Point (SAP) offered by the handover algorithm instance to the eNodeB RRC instance...
virtual uint8_t AddUeMeasReportConfigForHandover(LteRrcSap::ReportConfigEutra reportConfig)=0
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity...
Service Access Point (SAP) offered by the eNodeB RRC instance to the handover algorithm instance...