diff options
Diffstat (limited to 'src/parameterFactory.cpp')
-rw-r--r-- | src/parameterFactory.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/parameterFactory.cpp b/src/parameterFactory.cpp index 77450409..a5a7a81c 100644 --- a/src/parameterFactory.cpp +++ b/src/parameterFactory.cpp @@ -73,4 +73,27 @@ parameter* parameterFactory::create } +parameter* parameterFactory::create(const string& name, const component& value) +{ + const string lcName = utility::stringUtils::toLower(name); + + NameMap::const_iterator pos = m_nameMap.find(lcName); + parameter* param = NULL; + + if (pos != m_nameMap.end()) + { + param = ((*pos).second)(); + } + else + { + param = registerer <defaultParameter>::creator(); + } + + param->m_name = name; + param->setValue(value); + + return (param); +} + + } // vmime |