Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Enforce "Rule-of-Three/Five".
[simgrid.git] / include / simgrid / jedule / jedule.hpp
index eb25b52..fd39db5 100644 (file)
@@ -1,41 +1,46 @@
-/* Copyright (c) 2010-2012, 2014-2017. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2010-2019. 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 JEDULE_HPP_
 #define JEDULE_HPP_
-#include "simgrid_config.h"
-#include <cstdio>
 
-#include "jedule_events.hpp"
-#include "jedule_platform.hpp"
+#include <simgrid/jedule/jedule_events.hpp>
+#include <simgrid/jedule/jedule_platform.hpp>
 
-#if SIMGRID_HAVE_JEDULE
+#include <cstdio>
 
 namespace simgrid {
 namespace jedule{
 
-
-XBT_PUBLIC_CLASS Jedule {
+class XBT_PUBLIC Jedule {
 public:
   Jedule()=default;
+  Jedule(const Jedule&) = delete;
+  Jedule& operator=(const Jedule&) = delete;
   ~Jedule();
-  std::vector<Event *> event_set;
-  Container* root_container = nullptr;
-  std::unordered_map<char*, char*> meta_info;
-  void addMetaInfo(char* key, char* value);
-  void cleanupOutput();
-  void writeOutput(FILE *file);
+  std::vector<Event*> event_set_;
+  Container* root_container_ = nullptr;
+  void add_meta_info(char* key, char* value);
+  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_;
 };
 
 }
 }
 
-extern "C" {
 typedef simgrid::jedule::Jedule *jedule_t;
-}
-#endif
 
 #endif /* JEDULE_HPP_ */