X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/26c4dcb3c72ea51479f4ba47255eaa85a7affd32..4e101b93cafd0881518fc2be53c051d47d374d93:/include/stg/user_property.h diff --git a/include/stg/user_property.h b/include/stg/user_property.h index 1716296a..fbcf8856 100644 --- a/include/stg/user_property.h +++ b/include/stg/user_property.h @@ -25,10 +25,14 @@ $Author: faust $ #include "noncopyable.h" extern volatile time_t stgTime; - +//----------------------------------------------------------------------------- +class USER_PROPERTY_BASE { +public: + virtual std::string ToString() const = 0; +}; //----------------------------------------------------------------------------- template -class USER_PROPERTY { +class USER_PROPERTY : USER_PROPERTY_BASE { public: USER_PROPERTY(varT & val); virtual ~USER_PROPERTY(); @@ -130,6 +134,8 @@ public: void SetProperties(const USER_PROPERTIES & p) { stat = p.stat; conf = p.conf; } + std::string GetPropertyValue(const std::string & name) const; + USER_PROPERTY_LOGGED cash; USER_PROPERTY_LOGGED up; USER_PROPERTY_LOGGED down; @@ -165,6 +171,8 @@ public: USER_PROPERTY_LOGGED userdata7; USER_PROPERTY_LOGGED userdata8; USER_PROPERTY_LOGGED userdata9; + + std::map params; }; //============================================================================= @@ -376,6 +384,15 @@ else //------------------------------------------------------------------------- //------------------------------------------------------------------------- //------------------------------------------------------------------------- +std::string USER_PROPERTIES::GetPropertyValue(const std::string & name) const +{ + std::map::iterator it = params.find(name); + if (it != params.end()) return it->second.ToString(); + else return ""; +} +//------------------------------------------------------------------------- +//------------------------------------------------------------------------- +//------------------------------------------------------------------------- template inline std::ostream & operator<< (std::ostream & stream, const USER_PROPERTY & value)