mirror of
https://github.com/QuantumLeaps/qpcpp.git
synced 2025-01-21 05:52:58 +08:00
41 lines
1.3 KiB
C
41 lines
1.3 KiB
C
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
// Model: dpp.qm
|
||
|
// File: ././dpp.h
|
||
|
//
|
||
|
// This file has been generated automatically by QP Modeler (QM).
|
||
|
// DO NOT EDIT THIS FILE MANUALLY.
|
||
|
//
|
||
|
// Please visit www.state-machine.com/qm for more information.
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
#ifndef dpp_h
|
||
|
#define dpp_h
|
||
|
|
||
|
namespace DPP {
|
||
|
|
||
|
enum DPPSignals {
|
||
|
EAT_SIG = QP::Q_USER_SIG, // published by Table to let a philosopher eat
|
||
|
DONE_SIG, // published by Philosopher when done eating
|
||
|
PAUSE_SIG, // published by BSP to pause the application
|
||
|
TERMINATE_SIG, // published by BSP to terminate the application
|
||
|
MAX_PUB_SIG, // the last published signal
|
||
|
|
||
|
HUNGRY_SIG, // posted direclty to Table from hungry Philo
|
||
|
MAX_SIG // the last signal
|
||
|
};
|
||
|
|
||
|
// @(/1/0) ...................................................................
|
||
|
class TableEvt : public QP::QEvt {
|
||
|
public:
|
||
|
uint8_t philoNum;
|
||
|
};
|
||
|
|
||
|
// number of philosophers
|
||
|
#define N_PHILO ((uint8_t)5)
|
||
|
|
||
|
extern QP::QActive * const AO_Philo[N_PHILO];
|
||
|
extern QP::QActive * const AO_Table;
|
||
|
|
||
|
} // namespace DPP
|
||
|
|
||
|
#endif // dpp_h
|