Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines.
[simgrid.git] / include / simgrid / jedule / jedule.hpp
1 /* Copyright (c) 2010-2021. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 #ifndef JEDULE_HPP_
7 #define JEDULE_HPP_
8
9 #include <simgrid/jedule/jedule_events.hpp>
10 #include <simgrid/jedule/jedule_platform.hpp>
11 #include <simgrid/s4u/Engine.hpp>
12
13 #include <cstdio>
14
15 namespace simgrid {
16 namespace jedule{
17
18 class XBT_PUBLIC Jedule {
19   std::unordered_map<char*, char*> meta_info_;
20   std::vector<Event> event_set_;
21   Container root_container_;
22
23 public:
24   explicit Jedule(const std::string& name) : root_container_(name)
25   {
26     root_container_.create_hierarchy(s4u::Engine::get_instance()->get_netzone_root());
27   }
28   void add_meta_info(char* key, char* value);
29   void add_event(const Event& event);
30   void cleanup_output();
31   void write_output(FILE* file);
32 };
33
34 } // namespace jedule
35 } // namespace simgrid
36
37 using jedule_t = simgrid::jedule::Jedule*;
38
39 #endif /* JEDULE_HPP_ */