A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lte-control-messages.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari
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: Giuseppe Piro <g.piro@poliba.it>
19  * Author: Marco Miozzo <marco.miozzo@cttc.es>
20  */
21 
22 #ifndef LTE_CONTROL_MESSAGES_H
23 #define LTE_CONTROL_MESSAGES_H
24 
25 #include "ns3/ptr.h"
26 #include "ns3/simple-ref-count.h"
27 #include <list>
28 
29 namespace ns3 {
30 
31 class LteNetDevice;
32 
33 
41 class LteControlMessage : public SimpleRefCount<LteControlMessage>
42 {
43 public:
48  {
49  DL_DCI, UL_DCI, // Downlink/Uplink Data Control Indicator
50  DL_CQI, UL_CQI, // Downlink/Uplink Channel Quality Indicator
51  BSR // Buffer Status Report
52  };
53 
54  LteControlMessage (void);
55  virtual ~LteControlMessage (void);
56 
61  void SetMessageType (MessageType type);
67 
68 private:
72 };
73 } // namespace ns3
74 
75 #endif /* LTE_CONTROL_MESSAGES_H */
76 
77 
78 
79 
80 // ----------------------------------------------------------------------------------------------------------
81 
82 
83 #ifndef DL_DCI_LTE_CONTROL_MESSAGES_H
84 #define DL_DCI_LTE_CONTROL_MESSAGES_H
85 
86 #include <ns3/object.h>
87 #include <ns3/ff-mac-common.h>
88 
89 namespace ns3 {
90 
97 {
98 public:
100  virtual ~DlDciLteControlMessage (void);
101 
106  void SetDci (DlDciListElement_s dci);
107 
112  DlDciListElement_s GetDci (void);
113 
114 
115 private:
117 };
118 } // namespace ns3
119 
120 #endif /* DL_DCI_LTE_CONTROL_MESSAGES_H */
121 
122 
123 // ----------------------------------------------------------------------------------------------------------
124 
125 
126 #ifndef UL_DCI_LTE_CONTROL_MESSAGES_H
127 #define UL_DCI_LTE_CONTROL_MESSAGES_H
128 
129 #include <ns3/object.h>
130 #include <ns3/ff-mac-common.h>
131 
132 namespace ns3 {
133 
140 {
141 public:
142  UlDciLteControlMessage (void);
143  virtual ~UlDciLteControlMessage (void);
144 
149  void SetDci (UlDciListElement_s dci);
150 
155  UlDciListElement_s GetDci (void);
156 
157 
158 private:
160 };
161 } // namespace ns3
162 
163 #endif /* UL_DCI_LTE_CONTROL_MESSAGES_H */
164 
165 
166 
167 // ----------------------------------------------------------------------------------------------------------
168 
169 
170 
171 #ifndef DLCQI_LTE_CONTROL_MESSAGES_H
172 #define DLCQI_LTE_CONTROL_MESSAGES_H
173 
174 #include <ns3/object.h>
175 #include <ns3/ff-mac-common.h>
176 
177 namespace ns3 {
178 
179 class LteNetDevice;
180 
187 {
188 public:
189  DlCqiLteControlMessage (void);
190  virtual ~DlCqiLteControlMessage (void);
191 
196  void SetDlCqi (CqiListElement_s dlcqi);
197 
202  CqiListElement_s GetDlCqi (void);
203 
204 
205 private:
207 };
208 } // namespace ns3
209 
210 #endif /* DLCQI_LTE_CONTROL_MESSAGES_H */
211 
212 
213 // ----------------------------------------------------------------------------------------------------------
214 
215 #ifndef BSR_LTE_CONTROL_MESSAGES_H
216 #define BSR_LTE_CONTROL_MESSAGES_H
217 
218 #include <ns3/object.h>
219 #include <ns3/ff-mac-common.h>
220 
221 namespace ns3 {
222 
223 class LteNetDevice;
224 
231 {
232 public:
233  BsrLteControlMessage (void);
234  virtual ~BsrLteControlMessage (void);
235 
240  void SetBsr (MacCeListElement_s ulcqi);
241 
246  MacCeListElement_s GetBsr (void);
247 
248 
249 private:
251 
252 
253 };
254 } // namespace ns3
255 
256 #endif /* LTE_CONTROL_MESSAGES_H */
257