]> git.stg.codes - stg.git/blobdiff - include/stg/user_property.h
All right in GetParamValue and GetPropertyValue
[stg.git] / include / stg / user_property.h
index f53b416d31845d1164e099fca4c8355e641f14d7..6eb17666487952be8147d4bd761e9e49e1d9596a 100644 (file)
@@ -26,13 +26,14 @@ $Author: faust $
 
 extern volatile time_t stgTime;
 //-----------------------------------------------------------------------------
+//template<typename varT>
 class USER_PROPERTY_BASE {
 public:
     virtual std::string ToString() const = 0;
 };
 //-----------------------------------------------------------------------------
 template<typename varT>
-class USER_PROPERTY : USER_PROPERTY_BASE {
+class USER_PROPERTY : public USER_PROPERTY_BASE {
 public:
     USER_PROPERTY(varT & val);
     virtual ~USER_PROPERTY();
@@ -123,7 +124,7 @@ private:
     USER_STAT stat;
     USER_CONF conf;
 
-    std::map<std::string, USER_PROPERTY_BASE *> & properties;
+    std::map<std::string, USER_PROPERTY_BASE*> properties;
 public:
     USER_PROPERTIES(const std::string & sd);
 
@@ -386,12 +387,13 @@ else
 //-------------------------------------------------------------------------
 //-------------------------------------------------------------------------
 //-------------------------------------------------------------------------
+inline
 std::string USER_PROPERTIES::GetPropertyValue(const std::string & name) const
 {
-std::map<std::string, USER_PROPERTY_BASE*>::iterator it = properties.find(name);
+std::map<std::string, USER_PROPERTY_BASE*>::const_iterator it = properties.find(name);
 if (it == properties.end())
     return "";
-return it->second.ToString();
+return it->second->ToString();
 }
 //-------------------------------------------------------------------------
 //-------------------------------------------------------------------------