X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3ad41a910feecc815ecd91d5cfceaa740068d7b4..e87e7a6959f53286092e5c160dd865579601ba0e:/include/simgrid/forward.h diff --git a/include/simgrid/forward.h b/include/simgrid/forward.h index 8ce7d7b8e6..069046297c 100644 --- a/include/simgrid/forward.h +++ b/include/simgrid/forward.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2020. 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. */ @@ -16,12 +16,16 @@ namespace simgrid { namespace s4u { class Activity; +/** Smart pointer to a simgrid::s4u::Actor */ +typedef boost::intrusive_ptr ActivityPtr; +XBT_PUBLIC void intrusive_ptr_release(const Activity* actor); +XBT_PUBLIC void intrusive_ptr_add_ref(const Activity* actor); class Actor; /** Smart pointer to a simgrid::s4u::Actor */ typedef boost::intrusive_ptr ActorPtr; -XBT_PUBLIC void intrusive_ptr_release(Actor* actor); -XBT_PUBLIC void intrusive_ptr_add_ref(Actor* actor); +XBT_PUBLIC void intrusive_ptr_release(const Actor* actor); +XBT_PUBLIC void intrusive_ptr_add_ref(const Actor* actor); class Barrier; /** Smart pointer to a simgrid::s4u::Barrier */ @@ -36,10 +40,13 @@ XBT_PUBLIC void intrusive_ptr_release(Comm* c); XBT_PUBLIC void intrusive_ptr_add_ref(Comm* c); class ConditionVariable; -/** Smart pointer to a simgrid::s4u::ConditionVariable */ +/** @beginrst + * Smart pointer to a :cpp:type:`simgrid::s4u::ConditionVariable` + * @endrst + */ typedef boost::intrusive_ptr ConditionVariablePtr; -XBT_PUBLIC void intrusive_ptr_release(ConditionVariable* c); -XBT_PUBLIC void intrusive_ptr_add_ref(ConditionVariable* c); +XBT_PUBLIC void intrusive_ptr_release(const ConditionVariable* c); +XBT_PUBLIC void intrusive_ptr_add_ref(const ConditionVariable* c); class Engine; @@ -66,9 +73,13 @@ class Link; class Mailbox; class Mutex; -XBT_PUBLIC void intrusive_ptr_release(Mutex* m); -XBT_PUBLIC void intrusive_ptr_add_ref(Mutex* m); -/** Smart pointer to a simgrid::s4u::Mutex */ +XBT_PUBLIC void intrusive_ptr_release(const Mutex* m); +XBT_PUBLIC void intrusive_ptr_add_ref(const Mutex* m); +/** + * @beginrst + * Smart pointer to a :cpp:type:`simgrid::s4u::Mutex` + * @endrst + */ typedef boost::intrusive_ptr MutexPtr; class NetZone; @@ -98,6 +109,7 @@ typedef boost::intrusive_ptr ActorImplPtr; namespace activity { class ActivityImpl; + enum class State; typedef boost::intrusive_ptr ActivityImplPtr; XBT_PUBLIC void intrusive_ptr_add_ref(ActivityImpl* activity); XBT_PUBLIC void intrusive_ptr_release(ActivityImpl* activity); @@ -198,7 +210,7 @@ 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; #else typedef struct s4u_Actor s4u_Actor; @@ -214,6 +226,7 @@ typedef struct s4u_Storage s4u_Storage; typedef struct s4u_NetZone s4u_NetZone; typedef struct s4u_VM s4u_VM; typedef struct kernel_Activity* smx_activity_t; +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; @@ -224,18 +237,32 @@ typedef struct s_smx_sem* smx_sem_t; #endif +/** Pointer to a SimGrid barrier object */ typedef s4u_Barrier* sg_bar_t; +/** Constant pointer to a SimGrid barrier object */ +typedef const s4u_Barrier* const_sg_bar_t; typedef s4u_ConditionVariable* sg_cond_t; +typedef const s4u_ConditionVariable* const_sg_cond_t; typedef s4u_Mutex* sg_mutex_t; +typedef const s4u_Mutex* const_sg_mutex_t; typedef s4u_Semaphore* sg_sem_t; +typedef const s4u_Semaphore* const_sg_sem_t; typedef s4u_NetZone* sg_netzone_t; +typedef const s4u_NetZone* const_sg_netzone_t; typedef s4u_Host* sg_host_t; +typedef const s4u_Host* const_sg_host_t; typedef s4u_Link* sg_link_t; +typedef const s4u_Link* const_sg_link_t; typedef s4u_Disk* sg_disk_t; +typedef const s4u_Disk* const_sg_disk_t; typedef s4u_Storage* sg_storage_t; +typedef const s4u_Storage* const_sg_storage_t; typedef s4u_File* sg_file_t; +typedef const s4u_File* const_sg_file_t; typedef s4u_VM* sg_vm_t; +typedef const s4u_VM* const_sg_vm_t; typedef s4u_Actor* sg_actor_t; +typedef const s4u_Actor* const_sg_actor_t; typedef struct s_smx_simcall* smx_simcall_t;