Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
SafetyChecker::run() uses mc_api
[simgrid.git] / src / mc / mc_api.cpp
index 28fc64315107481147faafd808b0c5f808d51043..1934dbb0b77df9c4080b0ebffd3432553278d47f 100644 (file)
@@ -2,7 +2,10 @@
 
 #include "src/mc/Session.hpp"
 #include "src/mc/mc_private.hpp"
+#include "src/mc/mc_smx.hpp"
 #include "src/mc/remote/RemoteSimulation.hpp"
+#include "src/mc/mc_record.hpp"
+
 #include <xbt/asserts.h>
 #include <xbt/log.h>
 
@@ -24,19 +27,24 @@ void mc_api::initialize(char** argv)
   });
 }
 
-void mc_api::s_initialize() const
+std::vector<simgrid::mc::ActorInformation>& mc_api::get_actors() const
 {
-  session->initialize();
+  return mc_model_checker->get_remote_simulation().actors();
 }
 
-void mc_api::create_model_checker(std::unique_ptr<RemoteSimulation> remote_simulation, int sockfd)
+bool mc_api::actor_is_enabled(aid_t pid) const
 {
+  return session->actor_is_enabled(pid);
+}
 
+void mc_api::s_initialize() const
+{
+  session->initialize();
 }
 
 ModelChecker* mc_api::get_model_checker() const
 {
-    return mc_model_checker;
+  return mc_model_checker;
 }
 
 void mc_api::mc_inc_visited_states() const
@@ -64,14 +72,14 @@ bool mc_api::mc_check_deadlock() const
   return mc_model_checker->checkDeadlock();
 }
 
-std::vector<simgrid::mc::ActorInformation>& mc_api::get_actors() const
+void mc_api::mc_show_deadlock() const
 {
-  return mc_model_checker->get_remote_simulation().actors();
+  MC_show_deadlock();
 }
 
-bool mc_api::actor_is_enabled(aid_t pid) const
+smx_actor_t mc_api::mc_smx_simcall_get_issuer(s_smx_simcall const* req) const
 {
-  return session->actor_is_enabled(pid);
+  return MC_smx_simcall_get_issuer(req);
 }
 
 void mc_api::mc_assert(bool notNull, const char* message) const
@@ -115,7 +123,7 @@ void mc_api::mc_exit(int status) const
 
 std::string const& mc_api::mc_get_host_name(std::string const& hostname) const
 {
-  return mc_model_checker->get_host_name(hostname); 
+  return mc_model_checker->get_host_name(hostname);
 }
 
 PageStore& mc_api::mc_page_store() const
@@ -123,8 +131,39 @@ PageStore& mc_api::mc_page_store() const
   return mc_model_checker->page_store();
 }
 
-void mc_api::mc_cleanup()
+void mc_api::mc_dump_record_path() const
+{
+  simgrid::mc::dumpRecordPath();
+}
+
+smx_simcall_t mc_api::mc_state_choose_request(simgrid::mc::State* state) const
+{
+  return MC_state_choose_request(state);
+}
+
+bool mc_api::request_depend(smx_simcall_t req1, smx_simcall_t req2) const
+{
+  return simgrid::mc::request_depend(req1, req2);
+}
+
+std::string mc_api::request_to_string(smx_simcall_t req, int value, RequestType request_type) const
+{
+  return simgrid::mc::request_to_string(req, value, request_type).c_str();
+}
+
+std::string mc_api::request_get_dot_output(smx_simcall_t req, int value) const
+{
+  return simgrid::mc::request_get_dot_output(req, value);
+}
+
+const char* mc_api::simix_simcall_name(e_smx_simcall_t kind) const
+{
+  return SIMIX_simcall_name(kind);
+}
+
+bool mc_api::snapshot_equal(const Snapshot* s1, const Snapshot* s2) const
 {
+  return simgrid::mc::snapshot_equal(s1, s2);
 }
 
 void mc_api::s_close() const