-#include "xbt/dict.h"
-#include "xbt/log.h"
-#include "xbt/sysdep.h"
-
-static xbt_dict_t smpi_instances = nullptr;
-extern int process_count;
-extern int* index_to_process_data;
+#include "src/smpi/private.h"
+#include "src/smpi/smpi_comm.hpp"
+#include "src/smpi/SmpiHost.hpp"
+
+namespace simgrid {
+namespace smpi {
+namespace app {
+
+class Instance {
+public:
+ Instance(const char* name, int max_no_processes, int process_count, MPI_Comm comm, msg_bar_t finalization_barrier)
+ : name(name)
+ , size(max_no_processes)
+ , present_processes(0)
+ , index(process_count)
+ , comm_world(comm)
+ , finalization_barrier(finalization_barrier)
+ {
+ }