-/* Copyright (c) 2007, 2009-2015. The SimGrid Team.
+/* Copyright (c) 2007, 2009-2016. 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 <string>
+#include <vector>
+
+#include "simgrid/s4u/host.hpp"
#include "smx_private.h"
-#include "xbt/sysdep.h"
-#include "xbt/log.h"
-#include "xbt/dict.h"
#include "src/surf/xml/platf_private.hpp" // FIXME: KILLME. There must be a better way than mimicking XML here
+#include "xbt/dict.h"
+#include "xbt/log.h"
+#include "xbt/sysdep.h"
+#include <xbt/ex.hpp>
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_deployment, simix,
- "Logging specific to SIMIX (deployment)");
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_deployment, simix, "Logging specific to SIMIX (deployment)");
extern int surf_parse_lineno;
-void SIMIX_init_application(void)
+void SIMIX_init_application()
{
sg_platf_exit();
sg_platf_init();
void SIMIX_launch_application(const char *file)
{
XBT_ATTRIB_UNUSED int parse_status;
- xbt_assert(simix_global,
- "SIMIX_global_init has to be called before SIMIX_launch_application.");
+ xbt_assert(simix_global, "SIMIX_global_init has to be called before SIMIX_launch_application.");
SIMIX_init_application();
// Wrap a main() function into a ActorCodeFactory:
static simgrid::simix::ActorCodeFactory toActorCodeFactory(xbt_main_func_t code)
{
- return [code](simgrid::xbt::args args) {
+ return [code](std::vector<std::string> args) {
return simgrid::xbt::wrapMain(code, std::move(args));
};
}
}
/**
- * \brief Gets a #smx_process_t code from the global table.
+ * \brief Gets a #smx_actor_t code from the global table.
*
* Gets a code function from the global table. Returns nullptr if there are no function registered with the name.
* This table is then used by #SIMIX_launch_application.
* \param name the reference name of the function.
- * \return The #smx_process_t or nullptr.
+ * \return The #smx_actor_t or nullptr.
*/
simgrid::simix::ActorCodeFactory& SIMIX_get_actor_code_factory(const char *name)
{
sg_host_t host = sg_host_by_name(process_host);
if (!host)
THROWF(arg_error, 0, "Host '%s' unknown", process_host);
- process.host = sg_host_get_name(host);
+ process.host = host->cname();
process.argc = 1 + xbt_dynar_length(arguments);
process.argv = (const char**)xbt_new(char *, process.argc + 1);
}
}
-}
\ No newline at end of file
+}