-/* Copyright (c) 2016-2020. The SimGrid Team.
+/* Copyright (c) 2016-2021. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#ifndef SIMGRID_MC_CHECKER_HPP
#define SIMGRID_MC_CHECKER_HPP
-//#include "src/mc/Session.hpp"
-#include "src/mc/mc_forward.hpp"
-#include "src/mc/mc_record.hpp"
+#include "src/mc/mc_api.hpp"
namespace simgrid {
namespace mc {
// abstract
class Checker {
public:
- explicit Checker();
+ inline explicit Checker() { mc_api::get().set_checker(this); }
// No copy:
Checker(Checker const&) = delete;
/** Log additional information about the state of the model-checker */
virtual void log_state() = 0;
-
};
// External constructors so that the types (and the types of their content) remain hidden
XBT_PUBLIC Checker* createLivenessChecker();
XBT_PUBLIC Checker* createSafetyChecker();
-XBT_PUBLIC Checker* createCommunicationDeterminismChecker(Session& session);
+XBT_PUBLIC Checker* createCommunicationDeterminismChecker();
+XBT_PUBLIC Checker* createUdporChecker();
} // namespace mc
} // namespace simgrid