DESERT 4.0.0
controller-clmsg.h
Go to the documentation of this file.
1/* -*- Mode:C++ -*- */
2
3/*
4 * Copyright (c) 2015 Regents of the SIGNET lab, University of Padova.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. Neither the name of the University of Padova (SIGNET lab) nor the
16 * names of its contributors may be used to endorse or promote products
17 * derived from this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 */
32
43#ifndef CONTROLLER_CLMSG_H
44#define CONTROLLER_CLMSG_H
45
46#include <clmessage.h>
47#include <packet.h>
48
49#define CLMSG_CONTROLLER_VERBOSITY 3
50
51extern ClMessage_t CLMSG_CONTROLLER;
52
53extern packet_t PT_MULTI_ST_SIGNALING;
54// extern packet_t CONTROLLED;
55
56class ClMsgController : public ClMessage
57{
58
59public:
60 ClMsgController(Packet *p);
61 ClMsgController(int moduleId, Packet *p);
62
63 void
64 setMetrics(double value)
65 {
66 metrics = value;
67 }
68 double
70 {
71 return metrics;
72 }
73
74 void
75 setPacket(Packet *p)
76 {
77 pkt = p;
78 }
79 Packet *
81 {
82 return pkt;
83 }
84
85 ClMessage *copy(); // copy the message
86
87private:
88 Packet *pkt;
89
90 double metrics;
91};
92
93#endif /* CONTROLLER_CLMSG_H */
Definition controller-clmsg.h:57
Packet * getPacket()
Definition controller-clmsg.h:80
double getMetrics()
Definition controller-clmsg.h:69
void setMetrics(double value)
Definition controller-clmsg.h:64
void setPacket(Packet *p)
Definition controller-clmsg.h:75
ClMessage * copy()
Definition controller-clmsg.cc:63
double metrics
Definition controller-clmsg.h:90
Packet * pkt
Definition controller-clmsg.h:88
packet_t PT_MULTI_ST_SIGNALING
Definition initlib.cc:43
ClMessage_t CLMSG_CONTROLLER
Definition controller-clmsg.cc:44