//$file${.::dpp.hpp} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv // // Model: dpp.qm // File: ${.::dpp.hpp} // // This code has been generated by QM 5.2.2 . // DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. // // SPDX-License-Identifier: GPL-3.0-or-later // // This generated code is open source software: you can redistribute it under // the terms of the GNU General Public License as published by the Free // Software Foundation. // // This code 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. // // NOTE: // Alternatively, this generated code may be distributed under the terms // of Quantum Leaps commercial licenses, which expressly supersede the GNU // General Public License and are specifically designed for licensees // interested in retaining the proprietary status of their code. // // Contact information: // // // //$endhead${.::dpp.hpp} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #ifndef DPP_HPP #define DPP_HPP namespace DPP { enum DPPSignals { TIMEOUT_SIG = QP::Q_USER_SIG, // time event timeout EAT_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 SERVE_SIG, // published by BSP to serve re-start serving forks TEST_SIG, // published by BSP to test the application MAX_PUB_SIG, // the last published signal HUNGRY_SIG, // posted direclty to Table from hungry Philo MAX_SIG // the last signal }; // number of philosophers constexpr std::uint8_t N_PHILO = 5U; } // namespace DPP //$declare${Shared} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv namespace DPP { //${Shared::TableEvt} ........................................................ class TableEvt : public QP::QEvt { public: uint8_t philoNum; }; // class TableEvt //${Shared::AO_Philo[N_PHILO]} ............................................... // opaque pointers to the Philo AOs extern QP::QActive * const AO_Philo[N_PHILO]; //${Shared::AO_Table} ........................................................ extern QP::QActive * const AO_Table; //${Shared::XT_Test1} ........................................................ #if QP_INC_QXK_HPP_ extern QP::QXThread * const XT_Test1; #endif // QP_INC_QXK_HPP_ //${Shared::XT_Test2} ........................................................ #if QP_INC_QXK_HPP_ extern QP::QXThread * const XT_Test2; #endif // QP_INC_QXK_HPP_ } // namespace DPP //$enddecl${Shared} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #endif // DPP_HPP