-/* Copyright (c) 2010-2018. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2010-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/jedule/jedule_events.hpp>
#include <simgrid/jedule/jedule_platform.hpp>
+#include <simgrid/s4u/Engine.hpp>
#include <cstdio>
namespace jedule{
class XBT_PUBLIC Jedule {
+ std::unordered_map<char*, char*> meta_info_;
+ std::vector<Event> event_set_;
+ Container root_container_;
+
public:
- Jedule()=default;
- ~Jedule();
- std::vector<Event*> event_set_;
- Container* root_container_ = nullptr;
+ explicit Jedule(const std::string& name) : root_container_(name)
+ {
+ root_container_.create_hierarchy(s4u::Engine::get_instance()->get_netzone_root());
+ }
void add_meta_info(char* key, char* value);
+ void add_event(const Event& event);
void cleanup_output();
void write_output(FILE* file);
-
- // deprecated
- XBT_ATTRIB_DEPRECATED_v323("Please use Jedule::add_meta_info()") void addMetaInfo(char* key, char* value)
- {
- add_meta_info(key, value);
- }
- XBT_ATTRIB_DEPRECATED_v323("Please use Jedule::cleanup_output()") void cleanupOutput() { cleanup_output(); }
- XBT_ATTRIB_DEPRECATED_v323("Please use Jedule::write_output()") void writeOutput(FILE* file) { write_output(file); }
-
-private:
- std::unordered_map<char*, char*> meta_info_;
};
-}
-}
+} // namespace jedule
+} // namespace simgrid
-typedef simgrid::jedule::Jedule *jedule_t;
+using jedule_t = simgrid::jedule::Jedule*;
#endif /* JEDULE_HPP_ */