Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] C++ification of State
[simgrid.git] / src / mc / ObjectInformation.hpp
index d589dac..9a55d87 100644 (file)
@@ -9,15 +9,17 @@
 
 #include <string>
 #include <unordered_map>
+#include <memory>
 #include <vector>
 
 #include <xbt/base.h>
 
-#include "mc/mc_forward.h"
-#include "mc/Type.hpp"
-#include "mc/Frame.hpp"
+#include "src/xbt/memory_map.hpp"
+#include "src/mc/mc_forward.hpp"
+#include "src/mc/Type.hpp"
+#include "src/mc/Frame.hpp"
 
-#include "smpi/private.h"
+#include "src/smpi/private.h"
 
 namespace simgrid {
 namespace mc {
@@ -88,22 +90,20 @@ public:
     return this->flags & simgrid::mc::ObjectInformation::Executable;
   }
 
-  bool privatized() const
-  {
-#ifdef HAVE_SMPI
-    return this->executable() && smpi_privatize_global_variables;
-#else
-    return false;
-#endif
-  }
-
   void* base_address() const;
 
   simgrid::mc::Frame* find_function(const void *ip) const;
   simgrid::mc::Variable* find_variable(const char* name) const;
-
+  void remove_global_variable(const char* name);
+  void remove_local_variable(
+    const char* name, const char* scope);
 };
 
+XBT_PRIVATE std::shared_ptr<ObjectInformation> createObjectInformation(
+  std::vector<simgrid::xbt::VmMap> const& maps, const char* name);
+XBT_PRIVATE void postProcessObjectInformation(
+  simgrid::mc::Process* process, simgrid::mc::ObjectInformation* info);
+
 }
 }