1 #ifndef SIGNALTASKMSG_H
2 #define SIGNALTASKMSG_H
39 char name[SIGNAL_NAME_LEN+1];
41 unsigned long initSec;
42 unsigned long initNsec;
43 unsigned long intervalSec;
44 unsigned long intervalNsec;
45 SIGNALTASK_HANDLER_FN(*handler);
49 char name[SIGNAL_NAME_LEN+1];
55 SIGNALTASK_HANDLER_FN(*handler);
61 SIGNALTASK_HANDLER_FN(*handler);
66 char name[SIGNAL_NAME_LEN+1];
67 SIGNALTASK_HANDLER_FN(*handler);
80 inline void packInstallTimerMsg(std::string name,
82 unsigned long initSec,
83 unsigned long initNsec,
84 unsigned long intervalSec,
85 unsigned long intervalNsec,
86 SIGNALTASK_HANDLER_FN(*handler))
89 if(name.size() > SIGNAL_NAME_LEN)
90 ThrowError(
"Name string is too long");
93 sza::util::GenericTaskMsg::TASK_SPECIFIC;
95 type = SIG_INSTALL_TIMER;
97 strncpy(body.installTimer.name, name.c_str(), SIGNAL_NAME_LEN);
98 body.installTimer.sigNo = sigNo;
99 body.installTimer.initSec = initSec;
100 body.installTimer.initNsec = initNsec;
101 body.installTimer.intervalSec = intervalSec;
102 body.installTimer.intervalNsec = intervalNsec;
103 body.installTimer.handler = handler;
109 inline void packInstallSignalMsg(
int sigNo,
110 SIGNALTASK_HANDLER_FN(*handler),
114 sza::util::GenericTaskMsg::TASK_SPECIFIC;
116 type = SIG_INSTALL_SIGNAL;
118 body.installSignal.sigNo = sigNo;
119 body.installSignal.handler = handler;
120 body.installSignal.arg = arg;
126 inline void packEnableTimerMsg(std::string name,
130 sza::util::GenericTaskMsg::TASK_SPECIFIC;
132 type = SIG_ENABLE_TIMER;
134 if(name.size() > SIGNAL_NAME_LEN)
135 ThrowError(
"Name string is too long");
137 strncpy(body.enableTimer.name, name.c_str(),
140 body.enableTimer.enable = enable;
146 inline void packAddHandlerMsg(std::string name,
147 SIGNALTASK_HANDLER_FN(*handler),
151 sza::util::GenericTaskMsg::TASK_SPECIFIC;
153 type = ADD_TIMER_HANDLER;
155 if(name.size() > SIGNAL_NAME_LEN)
156 ThrowError(
"Name string is too long");
158 strncpy(body.addTimerHandler.name, name.c_str(),
161 body.addTimerHandler.handler = handler;
162 body.addTimerHandler.add = add;
168 inline void packAddHandlerMsg(
int sigNo,
169 SIGNALTASK_HANDLER_FN(*handler),
173 sza::util::GenericTaskMsg::TASK_SPECIFIC;
175 type = ADD_SIGNAL_HANDLER;
177 body.addSignalHandler.sigNo = sigNo;
178 body.addSignalHandler.handler = handler;
179 body.addSignalHandler.add = add;
188 #endif // End #ifndef
Tagged: Fri Nov 14 12:39:34 UTC 2003.
GenericMsgType genericMsgType_
A type for this message.
A class to encapsulate message types for a generic task.
Tagged: Fri Nov 14 12:39:33 UTC 2003.