Patch 2793067: fix trunk with OGRE_THREAD_SUPPORT=1 on non-Windows platforms (don...
[ogre3d.git] / OgreMain / src / OgreStringInterface.cpp
blob2f0b3d7eefd65b261a1d4805fa5154959e851281
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OGRE
4 (Object-oriented Graphics Rendering Engine)
5 For the latest info, see http://www.ogre3d.org/
7 Copyright (c) 2000-2006 Torus Knot Software Ltd
8 Also see acknowledgements in Readme.html
10 This program is free software; you can redistribute it and/or modify it under
11 the terms of the GNU Lesser General Public License as published by the Free Software
12 Foundation; either version 2 of the License, or (at your option) any later
13 version.
15 This program is distributed in the hope that it will be useful, but WITHOUT
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
19 You should have received a copy of the GNU Lesser General Public License along with
20 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22 http://www.gnu.org/copyleft/lesser.txt.
24 You may alternatively use this source under the terms of a specific version of
25 the OGRE Unrestricted License provided you have obtained such a license from
26 Torus Knot Software Ltd.
27 -----------------------------------------------------------------------------
29 #include "OgreStableHeaders.h"
30 #include "OgreStringInterface.h"
32 namespace Ogre {
34 ParamDictionaryMap StringInterface::msDictionary;
37 const ParameterList& StringInterface::getParameters(void) const
39 static ParameterList emptyList;
41 const ParamDictionary* dict = getParamDictionary();
42 if (dict)
43 return dict->getParameters();
44 else
45 return emptyList;
49 bool StringInterface::setParameter(const String& name, const String& value)
51 // Get dictionary
52 ParamDictionary* dict = getParamDictionary();
54 if (dict)
56 // Look up command object
57 ParamCommand* cmd = dict->getParamCommand(name);
58 if (cmd)
60 cmd->doSet(this, value);
61 return true;
64 // Fallback
65 return false;
67 //-----------------------------------------------------------------------
68 void StringInterface::setParameterList(const NameValuePairList& paramList)
70 NameValuePairList::const_iterator i, iend;
71 iend = paramList.end();
72 for (i = paramList.begin(); i != iend; ++i)
74 setParameter(i->first, i->second);
77 //-----------------------------------------------------------------------
78 void StringInterface::cleanupDictionary () {
79 msDictionary.clear();