X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/17c819afc4ceda4000eec137c8fee35168253b4d..44814aa98b9528984d327d2678dc3b59e0a3fcee:/src/surf/StorageImpl.hpp diff --git a/src/surf/StorageImpl.hpp b/src/surf/StorageImpl.hpp index 29b98f895f..530c7287e9 100644 --- a/src/surf/StorageImpl.hpp +++ b/src/surf/StorageImpl.hpp @@ -29,25 +29,6 @@ class StorageAction; * Callbacks * *************/ -/** @ingroup SURF_callbacks - * @brief Callbacks handler which emit the callbacks after Storage creation * - * @details Callback functions have the following signature: `void(Storage*)` - */ -XBT_PUBLIC_DATA simgrid::xbt::signal storageCreatedCallbacks; - -/** @ingroup SURF_callbacks - * @brief Callbacks handler which emit the callbacks after Storage destruction * - * @details Callback functions have the following signature: `void(StoragePtr)` - */ -XBT_PUBLIC_DATA simgrid::xbt::signal storageDestructedCallbacks; - -/** @ingroup SURF_callbacks - * @brief Callbacks handler which emit the callbacks after Storage State changed * - * @details Callback functions have the following signature: `void(StorageAction *action, int previouslyOn, int - * currentlyOn)` - */ -XBT_PUBLIC_DATA simgrid::xbt::signal storageStateChangedCallbacks; - /** @ingroup SURF_callbacks * @brief Callbacks handler which emit the callbacks after StorageAction State changed * * @details Callback functions have the following signature: `void(StorageAction *action, @@ -55,7 +36,7 @@ XBT_PUBLIC_DATA simgrid::xbt::signal storageStateC */ XBT_PUBLIC_DATA simgrid::xbt::signal - storageActionStateChangedCallbacks; + on_state_change; /********* * Model * @@ -99,6 +80,8 @@ public: void turn_on() override; void turn_off() override; + void destroy(); // Must be called instead of the destructor + /** * @brief Read a file * @@ -124,6 +107,7 @@ public: sg_size_t size_; // Only used at parsing time then goes to the FileSystemExtension private: + bool currentlyDestroying_ = false; // Name of the host to which this storage is attached. Only used at platform parsing time, then the interface stores // the Host directly. std::string attach_; @@ -146,6 +130,9 @@ enum e_surf_action_storage_type_t { */ class StorageAction : public kernel::resource::Action { public: + static xbt::signal + on_state_change; + /** * @brief StorageAction constructor *