Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Various sonar cleanups
[simgrid.git] / include / simgrid / plugins / chiller.hpp
index f0297fa..78d1db0 100644 (file)
@@ -11,7 +11,9 @@
 
 namespace simgrid::plugins {
 
+/** @ingroup plugin_chiller */
 class Chiller;
+/** @ingroup plugin_chiller */
 using ChillerPtr = boost::intrusive_ptr<Chiller>;
 XBT_PUBLIC void intrusive_ptr_release(Chiller* o);
 XBT_PUBLIC void intrusive_ptr_add_ref(Chiller* o);
@@ -68,7 +70,7 @@ private:
   friend void intrusive_ptr_add_ref(Chiller* o) { o->refcount_.fetch_add(1, std::memory_order_relaxed); }
 #endif
 
-  inline static xbt::signal<void(Chiller*)> on_power_change;
+  static xbt::signal<void(Chiller*)> on_power_change;
   xbt::signal<void(Chiller*)> on_this_power_change;
 
 public:
@@ -83,8 +85,8 @@ public:
   ChillerPtr set_goal_temp(double goal_temp_c);
   ChillerPtr set_max_power(double max_power_w);
   ChillerPtr set_active(bool active);
-  ChillerPtr add_host(s4u::Host* host);
-  ChillerPtr remove_host(s4u::Host* host);
+  ChillerPtr add_host(simgrid::s4u::Host* host);
+  ChillerPtr remove_host(simgrid::s4u::Host* host);
 
   std::string get_name() { return name_; }
   const char* get_cname() { return name_.c_str(); }
@@ -96,16 +98,9 @@ public:
   double get_max_power() { return max_power_w_; }
   bool is_active() { return active_; }
   double get_temp_in() { return temp_in_c_; }
-  double get_temp_out() { return temp_out_c_; }
   double get_power() { return power_w_; }
   double get_energy_consumed() { return energy_consumed_j_; }
-  double get_next_event();
-
-  /** Add a callback fired after this chiller power changed. */
-  void on_this_power_change_cb(const std::function<void(Chiller*)>& func) { on_this_power_change.connect(func); };
-  /** Add a callback fired after a chiller power changed.
-   * Triggered after the on_this_power_change function.**/
-  static void on_power_change_cb(const std::function<void(Chiller*)>& cb) { on_power_change.connect(cb); }
+  double get_time_to_goal_temp() const;
 };
 
 } // namespace simgrid::plugins