Allows the use of speed/state profiles by C++ interface.
include include/simgrid/jedule/jedule_events.hpp
include include/simgrid/jedule/jedule_platform.hpp
include include/simgrid/jedule/jedule_sd_binding.h
+include include/simgrid/kernel/ProfileBuilder.hpp
include include/simgrid/kernel/Timer.hpp
include include/simgrid/kernel/future.hpp
include include/simgrid/kernel/resource/Action.hpp
include src/kernel/resource/profile/FutureEvtSet.hpp
include src/kernel/resource/profile/Profile.cpp
include src/kernel/resource/profile/Profile.hpp
+include src/kernel/resource/profile/ProfileBuilder.cpp
include src/kernel/resource/profile/Profile_test.cpp
include src/kernel/resource/profile/StochasticDatedValue.cpp
include src/kernel/resource/profile/StochasticDatedValue.hpp
--- /dev/null
+/* Copyright (c) 2004-2021. 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. */
+
+#ifndef SIMGRID_KERNEL_PROFILEBUILDER_HPP
+#define SIMGRID_KERNEL_PROFILEBUILDER_HPP
+
+#include <simgrid/forward.h>
+
+namespace simgrid {
+namespace kernel {
+namespace profile {
+
+/**
+ * @brief Simple builder for Profile classes.
+ *
+ * It can be used to create profiles for links, hosts or disks.
+ */
+class XBT_PUBLIC ProfileBuilder {
+public:
+ static Profile* from_file(const std::string& path);
+ static Profile* from_string(const std::string& name, const std::string& input, double periodicity);
+};
+
+} // namespace profile
+} // namespace kernel
+} // namespace simgrid
+
+#endif /* SIMGRID_KERNEL_PROFILEBUILDER_HPP */
\ No newline at end of file
--- /dev/null
+/* Copyright (c) 2004-2021. 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 "simgrid/kernel/ProfileBuilder.hpp"
+#include "src/kernel/resource/profile/Profile.hpp"
+
+namespace simgrid {
+namespace kernel {
+namespace profile {
+
+Profile* ProfileBuilder::from_string(const std::string& name, const std::string& input, double periodicity)
+{
+ return Profile::from_string(name, input, periodicity);
+}
+
+Profile* ProfileBuilder::from_file(const std::string& path)
+{
+ return Profile::from_file(path);
+}
+
+} // namespace profile
+} // namespace kernel
+} // namespace simgrid
\ No newline at end of file
src/kernel/resource/profile/Event.hpp
src/kernel/resource/profile/FutureEvtSet.cpp
src/kernel/resource/profile/FutureEvtSet.hpp
+ src/kernel/resource/profile/ProfileBuilder.cpp
src/kernel/resource/profile/Profile.cpp
src/kernel/resource/profile/Profile.hpp
src/kernel/resource/profile/StochasticDatedValue.cpp
include/simgrid/forward.h
include/simgrid/simix.h
include/simgrid/simix.hpp
+ include/simgrid/kernel/ProfileBuilder.hpp
include/simgrid/kernel/Timer.hpp
include/simgrid/kernel/future.hpp
include/simgrid/disk.h