//****************************************************************************
// Model: comp.qm
// File:  ./alarm.h
//
// This code has been generated by QM tool (see state-machine.com/qm).
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This program is open source software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License as published
// by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//****************************************************************************
//${.::alarm.h} ..............................................................
#ifndef alarm_h
#define alarm_h


#if ((QP_VERSION < 580) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
#error qpcpp version 5.8.0 or higher required
#endif

//${Components::Alarm} .......................................................
class Alarm : public QP::QHsm {
private:
    uint32_t m_alarm_time;

public:
    Alarm();

protected:
    static QP::QState initial(Alarm * const me, QP::QEvt const * const e);
    static QP::QState off(Alarm * const me, QP::QEvt const * const e);
    static QP::QState on(Alarm * const me, QP::QEvt const * const e);
};


#endif // alarm_h
