DESERT 3.5.1
Loading...
Searching...
No Matches
uwmmac-clmsg.h
Go to the documentation of this file.
1//
2// Copyright (c) 2015 Regents of the SIGNET lab, University of Padova.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions
7// are met:
8// 1. Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10// 2. Redistributions in binary form must reproduce the above copyright
11// notice, this list of conditions and the following disclaimer in the
12// documentation and/or other materials provided with the distribution.
13// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14// names of its contributors may be used to endorse or promote products
15// derived from this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
38#ifndef UWMMAC_CLMSG_H
39#define UWMMAC_CLMSG_H
40
41#include <clmessage.h>
42#include <packet.h>
43
44#define CLMSG_UWMMAC_VERBOSITY (3)
45
46#define CLMSG_UWMMAC_NOT_VALID (-1)
47
48#define CLMSG_UWMMAC_TIME_NOT_VALID (-1)
49
50#define CLMSG_UWMMAC_STACK_ID_NOT_VALID (-1)
51
52extern ClMessage_t CLMSG_UWMMAC_ENABLE;
53
58class ClMsgUwMmac : public ClMessage
59{
60public:
61
70
74 ClMsgUwMmac(ClMessage_t type);
75
81 ClMsgUwMmac(int stack_id, int dest_module_id, ClMessage_t type);
82
87 ClMsgUwMmac(const ClMsgUwMmac& msg);
88
92 virtual ~ClMsgUwMmac();
93
100 virtual ClMsgUwMmac* copy();
101
106 void setReqType(ReqType type);
107
113
114
115protected:
116
117 // receiver stack id (valid only for broadcast request)
118 int stack_id; /* <id of the stack */
119 ReqType req_type; /*< request type: either get, set, request or reply */
120
121};
122
123
131{
132public:
133
138
144 ClMsgUwMmacEnable(int stack_id, int dest_module_id);
145
151
156
161 double getEnable();
162
167 void disable();
168
173 void enable();
174
175private:
176
177 bool enable_; /* < Transmission power. Its definition (W, dB, dB re uPa, ...) depends on the specific phy.*/
178
179};
180
181
182#endif /* UWMMAC_CLMSG_H */
ClMsgUwMmacEnable should be and used to ask either to set or get the transmitting power of a specific...
void disable()
method to set the transmitting power
void enable()
method to set the transmitting power
~ClMsgUwMmacEnable()
Destructor of the ClMsgUwMmacEnable class.
ClMsgUwMmacEnable()
Broadcast constructor of the ClMsgUwMmacEnable class.
double getEnable()
method to return the transmitting power
ClMsgUwMmac should be extended and used to ask to set or get a parameter of a specific phy.
virtual ~ClMsgUwMmac()
Destructor of the ClMsgUwMmac class.
virtual ClMsgUwMmac * copy()
Copy method of the ClMsgUwMmac class, the specialization of the return value is intentional and it is...
void setReqType(ReqType type)
method to set the request type
ReqType getReqType()
method to return the request type
ReqType req_type