X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7341151507abf1d7931e8ca2df777541b5f6bfe2..51e0ce5bfaaa1d423fec4b280c1932254b599e84:/include/simgrid/simix.hpp diff --git a/include/simgrid/simix.hpp b/include/simgrid/simix.hpp index 9b48240802..f21fa3d539 100644 --- a/include/simgrid/simix.hpp +++ b/include/simgrid/simix.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2010, 2012-2015. The SimGrid Team. +/* Copyright (c) 2007-2010, 2012-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,19 +7,13 @@ #ifndef SIMGRID_SIMIX_HPP #define SIMGRID_SIMIX_HPP -#include - -#include -#include -#include -#include - -#include -#include +#include #include +#include #include -#include +#include +#include XBT_PUBLIC(void) simcall_run_kernel(std::function const& code); @@ -75,6 +69,7 @@ typename std::result_of::type kernelImmediate(F&& code) return result.get(); } +XBT_PUBLIC(const std::vector&) process_get_runnable(); XBT_PUBLIC(void) set_maestro(std::function code); XBT_PUBLIC(void) create_maestro(std::function code); @@ -91,7 +86,7 @@ XBT_PUBLIC(void) registerFunction(const char* name, ActorCodeFactory factory); * * If these functions manage to unlock some of the processes, then the deadlock will be avoided. */ -extern simgrid::xbt::signal onDeadlock; +extern simgrid::xbt::signal onDeadlock; } } @@ -104,39 +99,32 @@ extern simgrid::xbt::signal onDeadlock; * void *data: data a pointer to any data one may want to attach to the new object. * sg_host_t host: the location where the new process is executed * int argc, char **argv: parameters passed to code - * xbt_dict_t pros: properties + * std::map* props: properties */ -typedef smx_actor_t (*smx_creation_func_t) ( - /* name */ const char*, - std::function code, - /* userdata */ void*, - /* hostname */ const char*, - /* kill_time */ double, - /* props */ xbt_dict_t, - /* auto_restart */ int, - /* parent_process */ smx_actor_t); +typedef smx_actor_t (*smx_creation_func_t)( + /* name */ const char*, std::function code, + /* userdata */ void*, + /* hostname */ sg_host_t, + /* props */ std::map*, + /* parent_process */ smx_actor_t); extern "C" XBT_PUBLIC(void) SIMIX_function_register_process_create(smx_creation_func_t function); -XBT_PUBLIC(smx_actor_t) simcall_process_create(const char *name, - std::function code, - void *data, - const char *hostname, - double kill_time, - xbt_dict_t properties, - int auto_restart); +XBT_PUBLIC(smx_actor_t) +simcall_process_create(const char* name, std::function code, void* data, sg_host_t host, + std::map* properties); XBT_PUBLIC(smx_timer_t) SIMIX_timer_set(double date, simgrid::xbt::Task callback); template inline -XBT_PUBLIC(smx_timer_t) SIMIX_timer_set(double date, F callback) +smx_timer_t SIMIX_timer_set(double date, F callback) { return SIMIX_timer_set(date, simgrid::xbt::Task(std::move(callback))); } template inline -XBT_PUBLIC(smx_timer_t) SIMIX_timer_set(double date, R(*callback)(T*), T* arg) +smx_timer_t SIMIX_timer_set(double date, R(*callback)(T*), T* arg) { return SIMIX_timer_set(date, [=](){ callback(arg); }); }