Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fd39db599c746413aaedd68cc26256bdde72cdd5
[simgrid.git] / include / simgrid / jedule / jedule.hpp
1 /* Copyright (c) 2010-2019. 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
12 #include <cstdio>
13
14 namespace simgrid {
15 namespace jedule{
16
17 class XBT_PUBLIC Jedule {
18 public:
19   Jedule()=default;
20   Jedule(const Jedule&) = delete;
21   Jedule& operator=(const Jedule&) = delete;
22   ~Jedule();
23   std::vector<Event*> event_set_;
24   Container* root_container_ = nullptr;
25   void add_meta_info(char* key, char* value);
26   void cleanup_output();
27   void write_output(FILE* file);
28
29   // deprecated
30   XBT_ATTRIB_DEPRECATED_v323("Please use Jedule::add_meta_info()") void addMetaInfo(char* key, char* value)
31   {
32     add_meta_info(key, value);
33   }
34   XBT_ATTRIB_DEPRECATED_v323("Please use Jedule::cleanup_output()") void cleanupOutput() { cleanup_output(); }
35   XBT_ATTRIB_DEPRECATED_v323("Please use Jedule::write_output()") void writeOutput(FILE* file) { write_output(file); }
36
37 private:
38   std::unordered_map<char*, char*> meta_info_;
39 };
40
41 }
42 }
43
44 typedef simgrid::jedule::Jedule *jedule_t;
45
46 #endif /* JEDULE_HPP_ */