//$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 { 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 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 }; } // namespace DPP //$declare${Events::TableEvt} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv namespace DPP { //${Events::TableEvt} ........................................................ class TableEvt : public QP::QEvt { public: uint8_t philoNum; }; // class TableEvt } // namespace DPP //$enddecl${Events::TableEvt} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // number of philosophers #define N_PHILO ((uint8_t)5) //$declare${AOs::AO_Philo[N_PHILO]} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv namespace DPP { //${AOs::AO_Philo[N_PHILO]} .................................................. extern QP::QActive * const AO_Philo[N_PHILO]; } // namespace DPP //$enddecl${AOs::AO_Philo[N_PHILO]} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv namespace DPP { //${AOs::AO_Table} ........................................................... extern QP::QActive * const AO_Table; } // namespace DPP //$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #ifdef QP_INC_QXK_HPP_ //$declare${AOs::XT_Test1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv namespace DPP { //${AOs::XT_Test1} ........................................................... extern QP::QXThread * const XT_Test1; } // namespace DPP //$enddecl${AOs::XT_Test1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //$declare${AOs::XT_Test2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv namespace DPP { //${AOs::XT_Test2} ........................................................... extern QP::QXThread * const XT_Test2; } // namespace DPP //$enddecl${AOs::XT_Test2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #endif // QP_INC_QXK_HPP_ #endif // DPP_HPP