X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b6dde5ff6f208b83545a4b4e9e81712d0d8617a1..4b0fa756ae6e58a74c374a519389ecb9e8b6a4d9:/include/simgrid/forward.h diff --git a/include/simgrid/forward.h b/include/simgrid/forward.h index 7ee6e4f83a..4d450ab9d7 100644 --- a/include/simgrid/forward.h +++ b/include/simgrid/forward.h @@ -11,6 +11,7 @@ #ifdef __cplusplus #include +#include namespace simgrid { @@ -55,8 +56,6 @@ class Exec; using ExecPtr = boost::intrusive_ptr; XBT_PUBLIC void intrusive_ptr_release(Exec* e); XBT_PUBLIC void intrusive_ptr_add_ref(Exec* e); -class ExecSeq; // FIXME: hide this class in implementation -class ExecPar; // FIXME: hide this class in implementation class Host; @@ -103,6 +102,11 @@ class EngineImpl; namespace actor { class ActorImpl; typedef boost::intrusive_ptr ActorImplPtr; + +// What's executed as an actor code: +typedef std::function ActorCode; +// Create an ActorCode from the parameters parsed in the XML file (or elsewhere) +typedef std::function args)> ActorCodeFactory; } // namespace actor namespace activity { @@ -191,6 +195,7 @@ class VirtualMachineImpl; typedef simgrid::s4u::Actor s4u_Actor; typedef simgrid::s4u::Barrier s4u_Barrier; typedef simgrid::s4u::Comm s4u_Comm; +typedef simgrid::s4u::Exec s4u_Exec; typedef simgrid::s4u::Host s4u_Host; typedef simgrid::s4u::Link s4u_Link; typedef simgrid::s4u::File s4u_File; @@ -210,12 +215,13 @@ typedef simgrid::kernel::activity::ConditionVariableImpl* smx_cond_t; typedef simgrid::kernel::activity::MailboxImpl* smx_mailbox_t; typedef simgrid::kernel::activity::MutexImpl* smx_mutex_t; typedef simgrid::kernel::activity::SemaphoreImpl* smx_sem_t; -typedef simgrid::kernel::activity::State e_smx_state_t; +XBT_ATTRIB_DEPRECATED_v330("Please use kernel::activity::State") typedef simgrid::kernel::activity::State e_smx_state_t; #else typedef struct s4u_Actor s4u_Actor; typedef struct s4u_Barrier s4u_Barrier; typedef struct s4u_Comm s4u_Comm; +typedef struct s4u_Exec s4u_Exec; typedef struct s4u_Host s4u_Host; typedef struct s4u_Link s4u_Link; typedef struct s4u_File s4u_File; @@ -227,7 +233,7 @@ typedef struct s4u_Disk s4u_Disk; typedef struct s4u_Storage s4u_Storage; typedef struct s4u_NetZone s4u_NetZone; typedef struct s4u_VM s4u_VM; -typedef enum kernel_activity_state e_smx_state_t; +XBT_ATTRIB_DEPRECATED_v330("Please stop using this type alias") typedef enum kernel_activity_state e_smx_state_t; typedef struct s_smx_timer* smx_timer_t; typedef struct s_smx_actor* smx_actor_t; @@ -245,6 +251,8 @@ typedef s4u_Barrier* sg_bar_t; typedef const s4u_Barrier* const_sg_bar_t; typedef s4u_Comm* sg_comm_t; typedef const s4u_Comm* const_sg_comm_t; +typedef s4u_Exec* sg_exec_t; +typedef const s4u_Exec* const_sg_exec_t; typedef s4u_ConditionVariable* sg_cond_t; typedef const s4u_ConditionVariable* const_sg_cond_t; typedef s4u_Mailbox* sg_mailbox_t; @@ -285,4 +293,14 @@ typedef long long sg_offset_t; /** Actor's ID, just like the classical processes' have PID in UNIX */ typedef long aid_t; +typedef enum { + SG_OK, + SG_ERROR_CANCELED, + SG_ERROR_TIMEOUT, + SG_ERROR_HOST, + SG_ERROR_NETWORK, + SG_ERROR_STORAGE, + SG_ERROR_VM +} sg_error_t; + #endif /* SIMGRID_TYPES_H */