X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/29a3b2869c0075fc75e8ccc66fc1d9c4c8bf6a85..0184f298bc4cc735d2cf2604e430d85d350d4b7c:/include/simgrid/kernel/resource/Action.hpp diff --git a/include/simgrid/kernel/resource/Action.hpp b/include/simgrid/kernel/resource/Action.hpp index 0c819d44a8..92ca580c08 100644 --- a/include/simgrid/kernel/resource/Action.hpp +++ b/include/simgrid/kernel/resource/Action.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2019. 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. */ @@ -42,7 +42,6 @@ public: void update(Action* action, double date, ActionHeap::Type type); void remove(Action* action); Action* pop(); - bool empty() const { return heap_type::empty(); } }; /** @details An action is a consumption on a resource (e.g.: a communication for the network). @@ -99,6 +98,8 @@ public: * @param var The lmm variable associated to this Action if it is part of a LMM component */ Action(Model* model, double cost, bool failed, lmm::Variable* var); + Action(const Action&) = delete; + Action& operator=(const Action&) = delete; virtual ~Action(); @@ -129,6 +130,11 @@ public: /** @brief Set the user data associated to the current action */ void set_data(void* data) { data_ = data; } + /** @brief Get the user data associated to the current action */ + activity::ActivityImpl* get_activity() const { return activity_; } + /** @brief Set the user data associated to the current action */ + void set_activity(activity::ActivityImpl* activity) { activity_ = activity; } + /** @brief Get the cost of the current action */ double get_cost() const { return cost_; } /** @brief Set the cost of the current action */ @@ -179,9 +185,9 @@ public: virtual void set_max_duration(double duration); /** @brief Get the tracing category associated to the current action */ - std::string get_category() const { return category_; } + const std::string& get_category() const { return category_; } /** @brief Set the tracing category of the current Action */ - void set_category(std::string category) { category_ = category; } + void set_category(const std::string& category) { category_ = category; } /** @brief Get the priority of the current Action */ double get_priority() const { return sharing_priority_; }; @@ -208,7 +214,8 @@ private: double cost_; simgrid::kernel::resource::Model* model_; - void* data_ = nullptr; /**< for your convenience */ + void* data_ = nullptr; /**< for your convenience */ + activity::ActivityImpl* activity_ = nullptr; /* LMM */ double last_update_ = 0;