-/* Copyright (c) 2009-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2015. 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. */
-#include "msg_private.h"
-#include "xbt/dynar.h"
-#include "xbt/replay.h"
+#include "src/msg/msg_private.h"
+#include "xbt/replay.hpp"
#include <errno.h>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_action, msg, "MSG actions for trace driven simulation");
+SG_BEGIN_DECL()
+
void MSG_action_init()
{
- _xbt_replay_action_init();
- MSG_function_register_default(xbt_replay_action_runner);
+ simgrid::xbt::replay_init();
+ MSG_function_register_default(simgrid::xbt::replay_runner);
}
void MSG_action_exit()
{
- _xbt_replay_action_exit();
+ simgrid::xbt::replay_exit();
}
/** \ingroup msg_trace_driven
xbt_dynar_t todo;
xbt_dict_cursor_t cursor;
- xbt_action_fp=nullptr;
if (path) {
- xbt_action_fp = fopen(path, "r");
- xbt_assert(xbt_action_fp != nullptr, "Cannot open %s: %s", path, strerror(errno));
+ simgrid::xbt::action_fs = new std::ifstream(path, std::ifstream::in);
}
res = MSG_main();
}
}
- if (path)
- fclose(xbt_action_fp);
+ if (path) {
+ delete simgrid::xbt::action_fs;
+ simgrid::xbt::action_fs = nullptr;
+ }
+
xbt_dict_free(&xbt_action_queues);
xbt_action_queues = xbt_dict_new_homogeneous(nullptr);
return res;
}
+
+SG_END_DECL()