Revised OpenFlow Library  v0.6.0dev
 All Classes Files Functions Variables Friends Groups Pages
cofmsg_async_config.h
1 /*
2  * cofmsg_async_config.h
3  *
4  * Created on: 15.06.2013
5  * Author: andi
6  */
7 
8 #ifndef COFMSG_ASYNC_CONFIG_H_
9 #define COFMSG_ASYNC_CONFIG_H_ 1
10 
11 #include "rofl/common/openflow/messages/cofmsg.h"
12 #include "rofl/common/openflow/cofasyncconfig.h"
13 
14 namespace rofl {
15 namespace openflow {
16 
21  public cofmsg
22 {
23 public:
24 
25 
30  uint8_t of_version = 0,
31  uint32_t xid = 0);
32 
33 
38  cofmsg_get_async_config_request const& get_async_config_request);
39 
40 
45  operator= (
46  cofmsg_get_async_config_request const& get_async_config_request);
47 
48 
52  virtual
54 
55 
60 
61 
65  virtual void
66  reset();
67 
68 
72  virtual size_t
73  length() const;
74 
75 
79  virtual void
80  pack(uint8_t *buf = (uint8_t*)0, size_t buflen = 0);
81 
82 
86  virtual void
87  unpack(uint8_t *buf, size_t buflen);
88 
89 
92  virtual void
93  validate();
94 
95 public:
96 
97  friend std::ostream&
98  operator<< (std::ostream& os, cofmsg_get_async_config_request const& msg) {
99  os << dynamic_cast<cofmsg const&>( msg );
100  os << indent(2) << "<cofmsg_get_async_config_request >" << std::endl;
101  return os;
102  };
103 };
104 
105 
106 
107 
108 
109 
110 
111 
116  public cofmsg
117 {
118 private:
119 
120  rofl::openflow::cofasync_config async_config;
121 
122 
123 public:
124 
125 
130  uint8_t of_version = 0,
131  uint32_t xid = 0,
133 
134 
139  cofmsg_get_async_config_reply const& config);
140 
141 
146  operator= (
147  cofmsg_get_async_config_reply const& config);
148 
149 
153  virtual
155 
156 
161 
162 public:
163 
164 
168  virtual size_t
169  length() const;
170 
171 
175  virtual void
176  pack(uint8_t *buf = (uint8_t*)0, size_t buflen = 0);
177 
178 
182  virtual void
183  unpack(uint8_t *buf, size_t buflen);
184 
185 
188  virtual void
189  validate();
190 
191 
192 public:
193 
198  set_async_config() { return async_config; };
199 
204  get_async_config() const { return async_config; };
205 
206 public:
207 
208  friend std::ostream&
209  operator<< (std::ostream& os, cofmsg_get_async_config_reply const& msg) {
210  os << dynamic_cast<cofmsg const&>( msg );
211  os << indent(2) << "<cofmsg_get_async_config_reply >" << std::endl;
212  rofl::indent i(4);
213  os << msg.async_config;
214  return os;
215  };
216 };
217 
218 
219 
220 
221 
222 
227  public cofmsg
228 {
229 private:
230 
231  rofl::openflow::cofasync_config async_config;
232 
233 
234 public:
235 
236 
241  uint8_t of_version = 0,
242  uint32_t xid = 0,
244 
245 
250  cofmsg_set_async_config const& config);
251 
252 
257  operator= (
258  cofmsg_set_async_config const& config);
259 
260 
264  virtual
266 
267 
272 
273 public:
274 
275 
279  virtual size_t
280  length() const;
281 
282 
286  virtual void
287  pack(uint8_t *buf = (uint8_t*)0, size_t buflen = 0);
288 
289 
293  virtual void
294  unpack(uint8_t *buf, size_t buflen);
295 
296 
299  virtual void
300  validate();
301 
302 
303 public:
304 
309  set_async_config() { return async_config; };
310 
315  get_async_config() const { return async_config; };
316 
317 public:
318 
319  friend std::ostream&
320  operator<< (std::ostream& os, cofmsg_set_async_config const& msg) {
321  os << dynamic_cast<cofmsg const&>( msg );
322  os << indent(2) << "<cofmsg_set_async_config >" << std::endl;
323  rofl::indent i(4);
324  os << msg.async_config;
325  return os;
326  };
327 };
328 
329 } // end of namespace openflow
330 } // end of namespace rofl
331 
332 #endif /* COFMSG_ASYNC_CONFIG_H_ */
virtual size_t length() const
Definition: cofmsg_async_config.cc:355
virtual ~cofmsg_get_async_config_reply()
Definition: cofmsg_async_config.cc:192
cofmsg_get_async_config_request(uint8_t of_version=0, uint32_t xid=0)
Definition: cofmsg_async_config.cc:5
virtual void validate()
Definition: cofmsg_async_config.cc:403
virtual void validate()
Definition: cofmsg_async_config.cc:248
Definition: cofmsg_async_config.h:20
virtual void pack(uint8_t *buf=(uint8_t *) 0, size_t buflen=0)
Definition: cofmsg_async_config.cc:370
virtual void validate()
Definition: cofmsg_async_config.cc:111
virtual void reset()
Definition: cofmsg_async_config.cc:63
virtual void pack(uint8_t *buf=(uint8_t *) 0, size_t buflen=0)
Definition: cofmsg_async_config.cc:215
Definition: cofasyncconfig.h:24
virtual size_t length() const
Definition: cofmsg_async_config.cc:71
virtual void unpack(uint8_t *buf, size_t buflen)
Definition: cofmsg_async_config.cc:393
virtual void unpack(uint8_t *buf, size_t buflen)
Definition: cofmsg_async_config.cc:238
Definition: cofmsg_async_config.h:115
cofmsg_set_async_config(uint8_t of_version=0, uint32_t xid=0, rofl::openflow::cofasync_config const &async_config=rofl::openflow::cofasync_config())
Definition: cofmsg_async_config.cc:289
C++ abstraction for malloc'ed memory areas.
Definition: cmemory.h:44
virtual ~cofmsg_set_async_config()
Definition: cofmsg_async_config.cc:347
virtual ~cofmsg_get_async_config_request()
Definition: cofmsg_async_config.cc:55
Definition: logging.h:76
virtual size_t length() const
Definition: cofmsg_async_config.cc:200
virtual void pack(uint8_t *buf=(uint8_t *) 0, size_t buflen=0)
Definition: cofmsg_async_config.cc:85
virtual void unpack(uint8_t *buf, size_t buflen)
Definition: cofmsg_async_config.cc:101
Definition: cofmsg_async_config.h:226
cofmsg_get_async_config_reply(uint8_t of_version=0, uint32_t xid=0, rofl::openflow::cofasync_config const &async_config=rofl::openflow::cofasync_config())
Definition: cofmsg_async_config.cc:133
Definition: cofmsg.h:62