Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / include / simgrid / jedule / jedule.hpp
1 /* Copyright (c) 2010-2012, 2014-2017. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #ifndef JEDULE_HPP_
8 #define JEDULE_HPP_
9 #include "simgrid_config.h"
10 #include <cstdio>
11
12 #include "jedule_events.hpp"
13 #include "jedule_platform.hpp"
14
15 #if SIMGRID_HAVE_JEDULE
16
17 XBT_ATTRIB_UNUSED static std::unordered_map <const char *, jed_container_t> host2_simgrid_parent_container;
18 XBT_ATTRIB_UNUSED static std::unordered_map <std::string, jed_container_t> container_name2container;
19
20 namespace simgrid {
21 namespace jedule{
22
23
24 XBT_PUBLIC_CLASS Jedule {
25 public:
26   Jedule()=default;
27   ~Jedule();
28   std::vector<Event *> event_set;
29   Container* root_container = nullptr;
30   std::unordered_map<char*, char*> meta_info;
31   void addMetaInfo(char* key, char* value);
32   void cleanupOutput();
33   void writeOutput(FILE *file);
34 };
35
36 }
37 }
38
39 extern "C" {
40 typedef simgrid::jedule::Jedule *jedule_t;
41 }
42 #endif
43
44 #endif /* JEDULE_HPP_ */