A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
38
class
LteHandoverManagementSapProvider
39
{
40
public
:
41
virtual
~LteHandoverManagementSapProvider
();
42
54
virtual
void
ReportUeMeas
(uint16_t rnti,
55
LteRrcSap::MeasResults
measResults) = 0;
56
57
};
// end of class LteHandoverManagementSapProvider
58
59
67
class
LteHandoverManagementSapUser
68
{
69
public
:
70
virtual
~LteHandoverManagementSapUser
();
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>
115
class
MemberLteHandoverManagementSapProvider
:
public
LteHandoverManagementSapProvider
116
{
117
public
:
118
MemberLteHandoverManagementSapProvider
(C* owner);
119
120
// inherited from LteHandoverManagemenrSapProvider
121
virtual
void
ReportUeMeas
(uint16_t rnti,
LteRrcSap::MeasResults
measResults);
122
123
private
:
124
MemberLteHandoverManagementSapProvider
();
125
C*
m_owner
;
126
127
};
// end of class MemberLteHandoverManagementSapProvider
128
129
130
template
<
class
C>
131
MemberLteHandoverManagementSapProvider<C>::MemberLteHandoverManagementSapProvider
(C* owner)
132
: m_owner (owner)
133
{
134
}
135
136
137
template
<
class
C>
138
void
139
MemberLteHandoverManagementSapProvider<C>::ReportUeMeas
(uint16_t rnti,
LteRrcSap::MeasResults
measResults)
140
{
141
m_owner->DoReportUeMeas (rnti, measResults);
142
}
143
144
145
151
template
<
class
C>
152
class
MemberLteHandoverManagementSapUser
:
public
LteHandoverManagementSapUser
153
{
154
public
:
155
MemberLteHandoverManagementSapUser
(C* owner);
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
:
162
MemberLteHandoverManagementSapUser
();
163
C*
m_owner
;
164
165
};
// end of class MemberLteAnrSapUser
166
167
168
template
<
class
C>
169
MemberLteHandoverManagementSapUser<C>::MemberLteHandoverManagementSapUser
(C* owner)
170
: m_owner (owner)
171
{
172
}
173
174
175
template
<
class
C>
176
uint8_t
177
MemberLteHandoverManagementSapUser<C>::AddUeMeasReportConfigForHandover
(
LteRrcSap::ReportConfigEutra
reportConfig)
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 */
ns3::MemberLteHandoverManagementSapUser::m_owner
C * m_owner
Definition:
lte-handover-management-sap.h:163
ns3::MemberLteHandoverManagementSapUser
Template for the implementation of the LteHandoverManagementSapUser as a member of an owner class of ...
Definition:
lte-handover-management-sap.h:152
ns3::LteRrcSap::ReportConfigEutra
Specifies criteria for triggering of an E-UTRA measurement reporting event.
Definition:
lte-rrc-sap.h:258
ns3::LteHandoverManagementSapUser::TriggerHandover
virtual void TriggerHandover(uint16_t rnti, uint16_t targetCellId)=0
Instruct the eNodeB RRC entity to prepare a handover.
ns3::LteRrcSap::MeasResults
Definition:
lte-rrc-sap.h:513
ns3::MemberLteHandoverManagementSapProvider::m_owner
C * m_owner
Definition:
lte-handover-management-sap.h:125
ns3::MemberLteHandoverManagementSapProvider
Template for the implementation of the LteHandoverManagementSapProvider as a member of an owner class...
Definition:
lte-handover-management-sap.h:115
ns3::MemberLteHandoverManagementSapProvider::ReportUeMeas
virtual void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)
Send a UE measurement report to handover algorithm.
Definition:
lte-handover-management-sap.h:139
ns3::LteHandoverManagementSapProvider::ReportUeMeas
virtual void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)=0
Send a UE measurement report to handover algorithm.
ns3::MemberLteHandoverManagementSapUser::TriggerHandover
virtual void TriggerHandover(uint16_t rnti, uint16_t targetCellId)
Instruct the eNodeB RRC entity to prepare a handover.
Definition:
lte-handover-management-sap.h:185
ns3::MemberLteHandoverManagementSapUser::AddUeMeasReportConfigForHandover
virtual uint8_t AddUeMeasReportConfigForHandover(LteRrcSap::ReportConfigEutra reportConfig)
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity...
Definition:
lte-handover-management-sap.h:177
ns3::MemberLteHandoverManagementSapProvider::MemberLteHandoverManagementSapProvider
MemberLteHandoverManagementSapProvider()
ns3::LteHandoverManagementSapUser::~LteHandoverManagementSapUser
virtual ~LteHandoverManagementSapUser()
Definition:
lte-handover-management-sap.cc:32
ns3::LteHandoverManagementSapProvider
Service Access Point (SAP) offered by the handover algorithm instance to the eNodeB RRC instance...
Definition:
lte-handover-management-sap.h:38
ns3::LteHandoverManagementSapUser::AddUeMeasReportConfigForHandover
virtual uint8_t AddUeMeasReportConfigForHandover(LteRrcSap::ReportConfigEutra reportConfig)=0
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity...
ns3::MemberLteHandoverManagementSapUser::MemberLteHandoverManagementSapUser
MemberLteHandoverManagementSapUser()
ns3::LteHandoverManagementSapProvider::~LteHandoverManagementSapProvider
virtual ~LteHandoverManagementSapProvider()
Definition:
lte-handover-management-sap.cc:27
ns3::LteHandoverManagementSapUser
Service Access Point (SAP) offered by the eNodeB RRC instance to the handover algorithm instance...
Definition:
lte-handover-management-sap.h:67
src
lte
model
lte-handover-management-sap.h
Generated on Sat Apr 19 2014 14:07:00 for ns-3 by
1.8.6