diff --git a/src/CMakeFiles/factory_core.dir/Processor.cpp.o b/src/CMakeFiles/factory_core.dir/Processor.cpp.o index 3b1610d..b0678df 100644 Binary files a/src/CMakeFiles/factory_core.dir/Processor.cpp.o and b/src/CMakeFiles/factory_core.dir/Processor.cpp.o differ diff --git a/src/CMakeFiles/factory_core.dir/Processor.cpp.o.d b/src/CMakeFiles/factory_core.dir/Processor.cpp.o.d index 3c23c7a..5e3f99f 100644 --- a/src/CMakeFiles/factory_core.dir/Processor.cpp.o.d +++ b/src/CMakeFiles/factory_core.dir/Processor.cpp.o.d @@ -1008,4 +1008,5 @@ src/CMakeFiles/factory_core.dir/Processor.cpp.o: \ /usr/include/c++/13/cxxabi.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h \ /home/lj50/Univ/M2/Modelisation_problemes/simulation/src/Machine.hpp \ - /home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp + /home/lj50/Univ/M2/Modelisation_problemes/simulation/src/ProductionOrder.hpp \ + /usr/include/c++/13/iostream diff --git a/src/CMakeFiles/factory_core.dir/compiler_depend.internal b/src/CMakeFiles/factory_core.dir/compiler_depend.internal index c842c11..5b4bb21 100644 --- a/src/CMakeFiles/factory_core.dir/compiler_depend.internal +++ b/src/CMakeFiles/factory_core.dir/compiler_depend.internal @@ -5307,6 +5307,7 @@ src/CMakeFiles/factory_core.dir/Processor.cpp.o /usr/include/c++/13/initializer_list /usr/include/c++/13/ios /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream /usr/include/c++/13/istream /usr/include/c++/13/iterator /usr/include/c++/13/limits diff --git a/src/CMakeFiles/factory_core.dir/compiler_depend.make b/src/CMakeFiles/factory_core.dir/compiler_depend.make index 299450f..19199c6 100644 --- a/src/CMakeFiles/factory_core.dir/compiler_depend.make +++ b/src/CMakeFiles/factory_core.dir/compiler_depend.make @@ -5302,6 +5302,7 @@ src/CMakeFiles/factory_core.dir/Processor.cpp.o: src/Processor.cpp \ /usr/include/c++/13/initializer_list \ /usr/include/c++/13/ios \ /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ /usr/include/c++/13/istream \ /usr/include/c++/13/iterator \ /usr/include/c++/13/limits \ @@ -12734,6 +12735,8 @@ src/ProductionOrder.hpp: /usr/include/c++/13/tr1/ell_integral.tcc: +/usr/include/c++/13/iostream: + /usr/include/c++/13/bits/hash_bytes.h: /usr/include/boost/smart_ptr/shared_ptr.hpp: diff --git a/src/Processor.cpp b/src/Processor.cpp index d9e5322..9e66912 100644 --- a/src/Processor.cpp +++ b/src/Processor.cpp @@ -25,6 +25,7 @@ */ #include "Processor.hpp" +#include // TODO: Remove this when debug is over namespace artis::factory { @@ -33,20 +34,28 @@ void Processor::dint(const Time & /* t */) { // Fonction que gère les évolutions internes de ce modèle } -void Processor::dext(const Time & /* t */, const Time & /* e */, const Bag &bag) { - std::for_each(bag.begin(), bag.end(), [](const ExternalEvent & /* event */) { - // TODO - // Fonction gérant les réponses du système aux évents passés via event() +void Processor::dext(const Time &t, const Time &e, const Bag &bag) { + std::for_each(bag.begin(), bag.end(), [this, t, e](const ExternalEvent &/*event*/) { // [this] capture this et le remet dans la lambda + // Fonction gérant les réponses du système aux évents passés via event() + + if(this->currentState == this->ProcessorState::WAIT){ + // We're waiting for a new event, and can work on this one ! + this->currentState = this->ProcessorState::LOADING; // New state, we're loading this PO + std::cout << "PO loaded ! Time t : " << t << ", Time e : " << e << std::endl; + }else{ + // Error, please wait, we're busy + //TODO + } + }); } void Processor::start(const Time &t) { // Démarrage et initialisation - this->currentState = this->ProcessorState::INIT; // ID de la phase d'état du modèle + this->currentState = this->ProcessorState::WAIT; // Prêt à recevoir un Production Order this->startTime = t; - } Time Processor::ta(const Time & /* t */) const { diff --git a/src/Processor.hpp b/src/Processor.hpp index 03cbe9d..5f29507 100644 --- a/src/Processor.hpp +++ b/src/Processor.hpp @@ -89,8 +89,8 @@ public: private: // TODO (state) - ProcessorState currentState; - Time startTime; + ProcessorState currentState = ProcessorState::INIT; + Time startTime = 0; }; } // namespace artis::factory diff --git a/src/libfactory_core.a b/src/libfactory_core.a index 7ef3242..ef3301f 100644 Binary files a/src/libfactory_core.a and b/src/libfactory_core.a differ diff --git a/test/CMakeFiles/test_simple.dir/test_simple.cpp.o b/test/CMakeFiles/test_simple.dir/test_simple.cpp.o index 5ddbb19..7c34434 100644 Binary files a/test/CMakeFiles/test_simple.dir/test_simple.cpp.o and b/test/CMakeFiles/test_simple.dir/test_simple.cpp.o differ diff --git a/test/test_simple b/test/test_simple index f8bc515..f4790cc 100755 Binary files a/test/test_simple and b/test/test_simple differ