1 #ifndef GCP_UTIL_SIGNALTASKMSG_H
2 #define GCP_UTIL_SIGNALTASKMSG_H
11 #include "gcp/util/common/Exception.h"
12 #include "gcp/util/common/GenericTaskMsg.h"
40 char name[SIGNAL_NAME_LEN+1];
42 unsigned long initSec;
43 unsigned long initNsec;
44 unsigned long intervalSec;
45 unsigned long intervalNsec;
46 SIGNALTASK_HANDLER_FN(*handler);
50 char name[SIGNAL_NAME_LEN+1];
56 SIGNALTASK_HANDLER_FN(*handler);
62 SIGNALTASK_HANDLER_FN(*handler);
67 char name[SIGNAL_NAME_LEN+1];
68 SIGNALTASK_HANDLER_FN(*handler);
83 unsigned long initSec,
84 unsigned long initNsec,
85 unsigned long intervalSec,
86 unsigned long intervalNsec,
87 SIGNALTASK_HANDLER_FN(*handler))
90 if(name.size() > SIGNAL_NAME_LEN) {
91 ThrowError(
"Name string is too long");
95 gcp::util::GenericTaskMsg::TASK_SPECIFIC;
97 type = SIG_INSTALL_TIMER;
99 strncpy(
body.installTimer.name, name.c_str(), SIGNAL_NAME_LEN);
100 body.installTimer.sigNo = sigNo;
101 body.installTimer.initSec = initSec;
102 body.installTimer.initNsec = initNsec;
103 body.installTimer.intervalSec = intervalSec;
104 body.installTimer.intervalNsec = intervalNsec;
105 body.installTimer.handler = handler;
112 SIGNALTASK_HANDLER_FN(*handler),
116 gcp::util::GenericTaskMsg::TASK_SPECIFIC;
118 type = SIG_INSTALL_SIGNAL;
120 body.installSignal.sigNo = sigNo;
121 body.installSignal.handler = handler;
122 body.installSignal.arg = arg;
132 gcp::util::GenericTaskMsg::TASK_SPECIFIC;
134 type = SIG_ENABLE_TIMER;
136 if(name.size() > SIGNAL_NAME_LEN)
137 ThrowError(
"Name string is too long");
139 strncpy(
body.enableTimer.name, name.c_str(),
142 body.enableTimer.enable = enable;
149 SIGNALTASK_HANDLER_FN(*handler),
153 gcp::util::GenericTaskMsg::TASK_SPECIFIC;
155 type = ADD_TIMER_HANDLER;
157 if(name.size() > SIGNAL_NAME_LEN)
158 ThrowError(
"Name string is too long");
160 strncpy(
body.addTimerHandler.name, name.c_str(),
163 body.addTimerHandler.handler = handler;
164 body.addTimerHandler.add = add;
171 SIGNALTASK_HANDLER_FN(*handler),
175 gcp::util::GenericTaskMsg::TASK_SPECIFIC;
177 type = ADD_SIGNAL_HANDLER;
179 body.addSignalHandler.sigNo = sigNo;
180 body.addSignalHandler.handler = handler;
181 body.addSignalHandler.add = add;
191 #endif // End #ifndef
void packInstallTimerMsg(std::string name, int sigNo, unsigned long initSec, unsigned long initNsec, unsigned long intervalSec, unsigned long intervalNsec, SIGNALTASK_HANDLER_FN(*handler))
Definition: SignalTaskMsg.h:81
Definition: GenericTaskMsg.h:31
Definition: SignalTaskMsg.h:19
void packAddHandlerMsg(int sigNo, SIGNALTASK_HANDLER_FN(*handler), bool add)
Definition: SignalTaskMsg.h:170
void packEnableTimerMsg(std::string name, bool enable)
Definition: SignalTaskMsg.h:128
GenericMsgType genericMsgType_
Definition: GenericTaskMsg.h:50
void packAddHandlerMsg(std::string name, SIGNALTASK_HANDLER_FN(*handler), bool add)
Definition: SignalTaskMsg.h:148
union gcp::util::SignalTaskMsg::@253 body
void packInstallSignalMsg(int sigNo, SIGNALTASK_HANDLER_FN(*handler), void *arg)
Definition: SignalTaskMsg.h:111