#ifndef SIMGRID_S4U_ASYNC_HPP
#define SIMGRID_S4U_ASYNC_HPP
-namespace simgrid {
-namespace s4u {
+#include <stdlib.h>
+#include <xbt/base.h>
+#include <xbt/misc.h>
-/* Forward declaration */
-class Comm;
+#include <simgrid/s4u/forward.hpp>
+SG_BEGIN_DECL();
typedef enum {
inited, started, finished
} e_s4u_async_state_t;
+SG_END_DECL();
+
+namespace simgrid {
+namespace s4u {
/** @brief Asynchronous Actions
*
* This class is the ancestor of every asynchronous actions, that is, of actions that do take time in the simulated world.
*/
-class Async {
+XBT_PUBLIC_CLASS Async {
friend Comm;
protected:
Async();
virtual ~Async();
private:
- smx_synchro_t p_inferior = NULL;
+ struct s_smx_synchro *p_inferior = NULL;
private:
e_s4u_async_state_t p_state = inited;