24 #pragma message "C++ support is required for extras module" 28 #ifndef MCR_EXTRAS_TRIGGERS_STAGED_H_ 29 #define MCR_EXTRAS_TRIGGERS_STAGED_H_ 69 inline int sec()
const 85 inline int min()
const 185 return time.tm_isdst;
193 return time.tm_isdst;
199 return compare(dynamic_cast<const Alarm &>(rhs));
204 tm lMem = time, rMem = rhs.time;
205 time_t lT = ::mktime(&lMem), rT = ::mktime(&rMem);
206 return lT < rT ? -1 : rT > lT;
213 virtual const char *
name()
const override 218 virtual inline void send()
override 220 auto until_time = std::chrono::system_clock::from_time_t(::mktime(&time));
221 std::this_thread::sleep_until(until_time);
226 std::memset(&time, 0,
sizeof(time));
230 time_t t = std::chrono::system_clock::to_time_t(
231 std::chrono::system_clock::now());
232 time = *::localtime(&t);
237 class MCR_API AlarmRef :
public SignalManager
242 inline const Alarm *data()
const 244 return SignalManager::data<Alarm>();
248 return SignalManager::data<Alarm>();
251 inline tm time()
const 257 inline void setTime(tm &val)
263 inline int sec()
const 266 return data()->sec();
269 inline void setSec(
int val)
275 inline int min()
const 278 return data()->min();
281 inline void setMin(
int val)
287 inline int hour()
const 290 return data()->hour();
293 inline void setHour(
int val)
296 data()->hour() = val;
299 inline int mday()
const 302 return data()->mday();
305 inline void setMday(
int val)
308 data()->mday() = val;
311 inline int mon()
const 314 return data()->mon();
317 inline void setMon(
int val)
323 inline int year()
const 326 return data()->year();
329 inline void setYear(
int val)
332 data()->year() = val;
335 inline int wday()
const 338 return data()->wday();
341 inline void setWday(
int val)
344 data()->wday() = val;
347 inline int yday()
const 350 return data()->yday();
353 inline void setYday(
int val)
356 data()->yday() = val;
359 inline int isdst()
const 362 return data()->isdst();
365 inline void setIsdst(
int val)
368 data()->isdst() = val;
static Alarm * data(mcr_Signal *sigPt)
virtual void send() override
int compare(const Alarm &rhs) const
Raise a compiler error. Usage: #include "mcr/err.h"
virtual const char * name() const override
Libmacro, by Jonathan Pelletier, New Paradigm Software. Alpha version.
struct mcr_DataMember data_member
virtual int compare(const ISignalMember &rhs) const override
ITriggerMember - Data type for trigger instances C++.