A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ideal-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 IDEAL_CONTROL_MESSAGES_H
23 #define IDEAL_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 IdealControlMessage : public SimpleRefCount<IdealControlMessage>
42 {
43 public:
48  {
50  DL_DCI, UL_DCI, // Downlink/Uplink Data Control Indicator
51  DL_CQI, UL_CQI, // Downlink/Uplink Channel Quality Indicator
52  BSR // Buffer Status Report
53  };
54 
55  IdealControlMessage (void);
56  virtual ~IdealControlMessage (void);
57 
68 
79 
84  void SetMessageType (MessageType type);
90 
91 private:
95 };
96 } // namespace ns3
97 
98 #endif /* IDEAL_CONTROL_MESSAGES_H */
99 
100 
101 
102 
103 // ----------------------------------------------------------------------------------------------------------
104 
105 
106 #ifndef DL_DCI_IDEAL_CONTROL_MESSAGES_H
107 #define DL_DCI_IDEAL_CONTROL_MESSAGES_H
108 
109 #include <ns3/object.h>
110 #include <ns3/ff-mac-common.h>
111 
112 namespace ns3 {
113 
120 {
121 public:
123  virtual ~DlDciIdealControlMessage (void);
124 
129  void SetDci (DlDciListElement_s dci);
130 
135  DlDciListElement_s GetDci (void);
136 
137 
138 private:
140 };
141 } // namespace ns3
142 
143 #endif /* DL_DCI_IDEAL_CONTROL_MESSAGES_H */
144 
145 
146 // ----------------------------------------------------------------------------------------------------------
147 
148 
149 #ifndef UL_DCI_IDEAL_CONTROL_MESSAGES_H
150 #define UL_DCI_IDEAL_CONTROL_MESSAGES_H
151 
152 #include <ns3/object.h>
153 #include <ns3/ff-mac-common.h>
154 
155 namespace ns3 {
156 
163 {
164 public:
166  virtual ~UlDciIdealControlMessage (void);
167 
172  void SetDci (UlDciListElement_s dci);
173 
178  UlDciListElement_s GetDci (void);
179 
180 
181 private:
183 };
184 } // namespace ns3
185 
186 #endif /* UL_DCI_IDEAL_CONTROL_MESSAGES_H */
187 
188 
189 
190 // ----------------------------------------------------------------------------------------------------------
191 
192 
193 
194 #ifndef DLCQI_IDEAL_CONTROL_MESSAGES_H
195 #define DLCQI_IDEAL_CONTROL_MESSAGES_H
196 
197 #include <ns3/object.h>
198 #include <ns3/ff-mac-common.h>
199 
200 namespace ns3 {
201 
202 class LteNetDevice;
203 
210 {
211 public:
213  virtual ~DlCqiIdealControlMessage (void);
214 
219  void SetDlCqi (CqiListElement_s dlcqi);
220 
225  CqiListElement_s GetDlCqi (void);
226 
227 
228 private:
230 };
231 } // namespace ns3
232 
233 #endif /* DLCQI_IDEAL_CONTROL_MESSAGES_H */
234 
235 
236 // ----------------------------------------------------------------------------------------------------------
237 
238 #ifndef BSR_IDEAL_CONTROL_MESSAGES_H
239 #define BSR_IDEAL_CONTROL_MESSAGES_H
240 
241 #include <ns3/object.h>
242 #include <ns3/ff-mac-common.h>
243 
244 namespace ns3 {
245 
246 class LteNetDevice;
247 
254 {
255 public:
256  BsrIdealControlMessage (void);
257  virtual ~BsrIdealControlMessage (void);
258 
263  void SetBsr (MacCeListElement_s ulcqi);
264 
269  MacCeListElement_s GetBsr (void);
270 
271 
272 private:
274 
275 
276 };
277 } // namespace ns3
278 
279 #endif /* BSR_IDEAL_CONTROL_MESSAGES_H */
280