-/* Copyright (c) 2016-2022. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2016-2023. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "src/kernel/activity/SleepImpl.hpp"
#include "src/kernel/activity/Synchro.hpp"
#include "src/kernel/actor/ActorImpl.hpp"
-#include "src/kernel/resource/SplitDuplexLinkImpl.hpp"
#include <boost/intrusive/list.hpp>
#include <map>
std::unique_ptr<void, std::function<int(void*)>> platf_handle_; //!< handle for platform library
friend s4u::Engine;
+ std::vector<std::string> cmdline_; // Copy of the argv we got (including argv[0])
+
public:
EngineImpl() = default;
#endif
void initialize(int* argc, char** argv);
+ const std::vector<std::string>& get_cmdline() const
+ {
+ return cmdline_;
+ }
void load_platform(const std::string& platf);
void load_deployment(const std::string& file) const;
void seal_platform() const;
const std::vector<resource::Model*>& get_all_models() const { return models_; }
static bool has_instance() { return s4u::Engine::has_instance(); }
- static EngineImpl* get_instance() { return s4u::Engine::get_instance()->pimpl; }
- static EngineImpl* get_instance(int* argc, char** argv) { return s4u::Engine::get_instance(argc, argv)->pimpl; }
+ static EngineImpl* get_instance()
+ {
+ return s4u::Engine::get_instance()->pimpl_;
+ }
+ static EngineImpl* get_instance(int* argc, char** argv)
+ {
+ return s4u::Engine::get_instance(argc, argv)->pimpl_;
+ }
actor::ActorCodeFactory get_function(const std::string& name)
{
void display_all_actor_status() const;
void run_all_actors();
- /* @brief Finish simulation initialization
- * This function must be called before the first call to solve()
- */
- void presolve() const;
/** @brief Performs a part of the simulation
* @param max_date Maximum date to update the simulation to, or -1
* @return the elapsed time, or -1.0 if no event could be executed