]> AND Public Git Repository - simgrid.git/blobdiff - src/kernel/activity/ActivityImpl.hpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove bmf host model. Add it as an option.
[simgrid.git] / src / kernel / activity / ActivityImpl.hpp
index 7acbe2b3a8db8c23f9dd57b17bf659b9457c6e69..68126bca047ea0a6bbfd0e77b0a74e6e646f4154 100644 (file)
@@ -34,7 +34,7 @@ class XBT_PUBLIC ActivityImpl {
 public:
   virtual ~ActivityImpl();
   ActivityImpl() = default;
-  std::list<smx_simcall_t> simcalls_;   /* List of simcalls waiting for this activity */
+  std::list<actor::Simcall*> simcalls_; /* List of simcalls waiting for this activity */
   s4u::Activity* piface_         = nullptr;
   resource::Action* surf_action_ = nullptr;
 
@@ -82,14 +82,15 @@ public:
   virtual void finish() = 0; // Unlock all simcalls blocked on that activity, either because it was marked as done by
                              // the model or because it terminated without waiting for the model
 
-  void register_simcall(smx_simcall_t simcall);
-  void unregister_simcall(smx_simcall_t simcall);
-  void handle_activity_waitany(smx_simcall_t simcall);
+  void register_simcall(actor::Simcall* simcall);
+  void unregister_simcall(actor::Simcall* simcall);
+  void handle_activity_waitany(actor::Simcall* simcall);
   void clean_action();
   virtual double get_remaining() const;
   // Support for the boost::intrusive_ptr<ActivityImpl> datatype
   friend XBT_PUBLIC void intrusive_ptr_add_ref(ActivityImpl* activity);
   friend XBT_PUBLIC void intrusive_ptr_release(ActivityImpl* activity);
+  int get_refcount() const { return static_cast<int>(refcount_); } // For debugging purpose
 
   static xbt::signal<void(ActivityImpl const&)> on_suspended;
   static xbt::signal<void(ActivityImpl const&)> on_resumed;