X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2855699b5cdf0dbb992e2806cdfb5316ffb59dca..39c935d6d5ee86d153f6f7e6a10d723ae7c57f6f:/src/mc/mc_api.cpp diff --git a/src/mc/mc_api.cpp b/src/mc/mc_api.cpp index 1953d6d4c4..bcb4f6663d 100644 --- a/src/mc/mc_api.cpp +++ b/src/mc/mc_api.cpp @@ -5,13 +5,13 @@ #include "src/mc/Session.hpp" #include "src/mc/mc_comm_pattern.hpp" #include "src/mc/mc_private.hpp" -#include "src/mc/mc_record.hpp" #include "src/mc/mc_smx.hpp" #include "src/mc/remote/RemoteSimulation.hpp" #include "src/mc/mc_pattern.hpp" #include "src/mc/checker/SimcallInspector.hpp" #include #include +// #include #if HAVE_SMPI #include "src/smpi/include/smpi_request.hpp" @@ -202,7 +202,7 @@ static inline smx_simcall_t MC_state_choose_request_for_process(simgrid::mc::Sta return req; } -void mc_api::initialize(char** argv) +void mc_api::initialize(char** argv) const { simgrid::mc::session = new simgrid::mc::Session([argv] { int i = 1; @@ -416,6 +416,13 @@ Checker* mc_api::mc_get_checker() const return mc_model_checker->getChecker(); } +void mc_api::set_checker(Checker* const checker) const +{ + xbt_assert(mc_model_checker); + xbt_assert(mc_model_checker->getChecker() == nullptr); + mc_model_checker->setChecker(checker); +} + RemoteSimulation& mc_api::mc_get_remote_simulation() const { return mc_model_checker->get_remote_simulation(); @@ -862,7 +869,7 @@ std::vector mc_api::get_automaton_state() const return automaton_stack; } -int mc_api::compare_automaton_exp_lable(const xbt_automaton_exp_label* l, std::vector const& values) const +int mc_api::compare_automaton_exp_label(const xbt_automaton_exp_label* l) const { unsigned int cursor = 0; xbt_automaton_propositional_symbol_t p = nullptr; @@ -878,5 +885,19 @@ void mc_api::set_property_automaton(xbt_automaton_state_t const& automaton_state mc::property_automaton->current_state = automaton_state; } +xbt_automaton_exp_label_t mc_api::get_automaton_transition_label(xbt_dynar_t const& dynar, int index) const +{ + const xbt_automaton_transition* transition = + xbt_dynar_get_as(dynar, index, xbt_automaton_transition_t); + return transition->label; +} + +xbt_automaton_state_t mc_api::get_automaton_transition_dst(xbt_dynar_t const& dynar, int index) const +{ + const xbt_automaton_transition* transition = + xbt_dynar_get_as(dynar, index, xbt_automaton_transition_t); + return transition->dst; +} + } // namespace mc } // namespace simgrid