// This file is under GNU General Public License 3.0 // see LICENSE.txt #ifndef PITYTEST_PITYSWARM_HH #define PITYTEST_PITYSWARM_HH #include "PityModel.hh" #include "PityUnit.hh" #include "PityPerspective.hh" #include "../../../src/pEpLog.hh" #include #include #include namespace pEp { namespace PityTest11 { class PitySwarm { public: // Constructors PitySwarm(PityModel& model); PityUnit* addTestUnit( int nodeNr, const std::string& name, PityUnit::TestFunction test_func); //Run void run(); //internal logging static bool debug_log_enabled; Adapter::pEpLog::pEpLogger logger_debug{ "PityNode", debug_log_enabled }; private: // methods void _createPerspective(const PityModel& model, PityPerspective* psp, int node_nr); int _init_process(PityUnit& unit, PityPerspective* ctx); // fields PityModel& _model; std::shared_ptr> _rootUnit; std::vector>> _nodeUnits; std::vector>> _testUnits; std::vector> _perspectives; //internal logging Adapter::pEpLog::pEpLogger& m4gic_logger_n4me = logger_debug; }; }; // namespace PityTest11 }; // namespace pEp #endif // PITYTEST_PITYSWARM_HH