X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/93b7899156ac9fee75c4a6a8b65b92b265d61d4f..c9309ca5ce7b71208ec162d803972feabe4e42da:/src/surf/PropertyHolder.hpp diff --git a/src/surf/PropertyHolder.hpp b/src/surf/PropertyHolder.hpp index bd03e3cf1b..64633b3df8 100644 --- a/src/surf/PropertyHolder.hpp +++ b/src/surf/PropertyHolder.hpp @@ -5,7 +5,8 @@ #ifndef SRC_SURF_PROPERTYHOLDER_HPP_ #define SRC_SURF_PROPERTYHOLDER_HPP_ -#include +#include +#include namespace simgrid { namespace surf { @@ -17,14 +18,19 @@ namespace surf { class PropertyHolder { // DO NOT DERIVE THIS CLASS, or the diamond inheritance mayhem will get you public: - PropertyHolder(xbt_dict_t props); - ~PropertyHolder(); + PropertyHolder() = default; + ~PropertyHolder(); + + const char* getProperty(std::string key); + void setProperty(std::string id, std::string value); + + /* FIXME: This should not be exposed, as users may do bad things with the dict they got (it's not a copy). + * But some user API expose this call so removing it is not so easy. + */ + std::map* getProperties(); - const char *getProperty(const char*id); - void setProperty(const char*id, const char*value); - xbt_dict_t getProperties(); private: - xbt_dict_t p_properties = NULL; + std::map* properties_ = nullptr; }; } /* namespace surf */