X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cf108868b4eeed4d0d9d343bc68557d7814e18c0..8fea398a5a9ca83c4e6009daf964d59869388e6c:/include/simgrid/forward.h diff --git a/include/simgrid/forward.h b/include/simgrid/forward.h index 316a59a6c5..3776800807 100644 --- a/include/simgrid/forward.h +++ b/include/simgrid/forward.h @@ -7,53 +7,93 @@ #ifndef SG_PLATF_TYPES_H #define SG_PLATF_TYPES_H -#include - #ifdef __cplusplus +#include "s4u/forward.hpp" +#include "xbt/base.h" +#include + namespace simgrid { - namespace s4u { - class Host; - } - namespace surf { - class Resource; - class Cpu; - class NetCard; - class As; - class Link; - } - namespace trace_mgr { - class future_evt_set; - } +namespace kernel { +namespace activity { + class ActivityImpl; + using ActivityImplPtr = boost::intrusive_ptr; + XBT_PUBLIC(void) intrusive_ptr_add_ref(ActivityImpl* activity); + XBT_PUBLIC(void) intrusive_ptr_release(ActivityImpl* activity); + + class CommImpl; + using CommImplPtr = boost::intrusive_ptr; + class ExecImpl; + using ExecImplPtr = boost::intrusive_ptr; + class IoImpl; + using IoImplPtr = boost::intrusive_ptr; + class RawImpl; + using RawImplPtr = boost::intrusive_ptr; + class SleepImpl; + using SleepImplPtr = boost::intrusive_ptr; +} +namespace routing { + class NetPoint; +} +} +namespace simix { + class ActorImpl; + using ActorImplPtr = boost::intrusive_ptr; + class Host; +} +namespace surf { + class Resource; + class Cpu; + class LinkImpl; + class HostImpl; + class StorageImpl; + class FileImpl; +} +namespace trace_mgr { + class trace; + class future_evt_set; +} } -typedef simgrid::s4u::Host simgrid_Host; -typedef simgrid::surf::As surf_As; -typedef simgrid::surf::Cpu surf_Cpu; -typedef simgrid::surf::NetCard surf_NetCard; -typedef simgrid::surf::Link Link; +typedef simgrid::s4u::Actor s4u_Actor; +typedef simgrid::s4u::Host s4u_Host; +typedef simgrid::s4u::Link s4u_Link; +typedef simgrid::s4u::File s4u_File; +typedef simgrid::s4u::Storage s4u_Storage; +typedef simgrid::s4u::NetZone s4u_NetZone; +typedef boost::intrusive_ptr smx_activity_t; +typedef simgrid::kernel::routing::NetPoint routing_NetPoint; typedef simgrid::surf::Resource surf_Resource; +typedef simgrid::trace_mgr::trace tmgr_Trace; #else -typedef struct simgrid_Host simgrid_Host; -typedef struct surf_As surf_As; -typedef struct surf_Cpu surf_Cpu; -typedef struct surf_NetCard surf_NetCard; +typedef struct s4u_Actor s4u_Actor; +typedef struct s4u_Host s4u_Host; +typedef struct s4u_Link s4u_Link; +typedef struct s4u_File s4u_File; +typedef struct s4u_Storage s4u_Storage; +typedef struct s4u_NetZone s4u_NetZone; +typedef struct kernel_Activity* smx_activity_t; +typedef struct routing_NetPoint routing_NetPoint; typedef struct surf_Resource surf_Resource; -typedef struct Link Link; +typedef struct Trace tmgr_Trace; + #endif -typedef simgrid_Host* sg_host_t; -typedef surf_As *AS_t; -typedef surf_Cpu *surf_cpu_t; -typedef surf_NetCard *sg_netcard_t; +typedef s4u_NetZone* sg_netzone_t; +typedef s4u_Host* sg_host_t; +typedef s4u_Link* sg_link_t; +typedef s4u_Storage* sg_storage_t; +typedef s4u_File* sg_file_t; + +typedef routing_NetPoint* sg_netpoint_t; typedef surf_Resource *sg_resource_t; -// Types which are in fact dictelmt: -typedef xbt_dictelm_t sg_storage_t; +typedef tmgr_Trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */ -typedef struct tmgr_trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */ +typedef struct s_smx_simcall s_smx_simcall_t; +typedef struct s_smx_simcall* smx_simcall_t; typedef enum { SURF_LINK_FULLDUPLEX = 2, @@ -70,8 +110,8 @@ typedef enum { } e_surf_trace_connect_kind_t; typedef enum { - SURF_PROCESS_ON_FAILURE_DIE = 1, - SURF_PROCESS_ON_FAILURE_RESTART = 0 + SURF_ACTOR_ON_FAILURE_DIE = 1, + SURF_ACTOR_ON_FAILURE_RESTART = 0 } e_surf_process_on_failure_t; @@ -85,4 +125,6 @@ typedef unsigned long long sg_size_t; */ typedef long long sg_offset_t; +typedef unsigned long aid_t; + #endif