Pyrogenesis  trunk
JSInterface_ConfigDB.h
Go to the documentation of this file.
1 /* Copyright (C) 2013 Wildfire Games.
2  * This file is part of 0 A.D.
3  *
4  * 0 A.D. is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * 0 A.D. is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef INCLUDED_JSI_CONFIGDB
19 #define INCLUDED_JSI_CONFIGDB
20 
22 #include "ps/ConfigDB.h"
23 
24 namespace JSI_ConfigDB
25 {
26  bool GetConfigNamespace(const std::wstring& cfgNsString, EConfigNamespace& cfgNs);
27  bool HasChanges(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& cfgNsString);
28  bool SetChanges(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& cfgNsString, bool value);
29  std::string GetValue(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& cfgNsString, const std::string& name);
30  bool CreateValue(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& cfgNsString, const std::string& name, const std::string& value);
31  bool RemoveValue(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& cfgNsString, const std::string& name);
32  bool WriteFile(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& cfgNsString, const Path& path);
33  bool WriteValueToFile(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& cfgNsString, const std::string& name, const std::string& value, const Path& path);
34  bool Reload(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& cfgNsString);
35  bool SetFile(ScriptInterface::CxPrivate* pCxPrivate, const std::wstring& cfgNsString, const Path& path);
36  void RegisterScriptFunctions(ScriptInterface& scriptInterface);
37 }
38 
39 #endif
bool RemoveValue(ScriptInterface::CxPrivate *pCxPrivate, const std::wstring &cfgNsString, const std::string &name)
Definition: JSInterface_ConfigDB.cpp:86
void RegisterScriptFunctions(ScriptInterface &scriptInterface)
Registers the functions of the JavaScript interface for internationalization and localization into th...
Definition: JSInterface_ConfigDB.cpp:136
Definition: JSInterface_ConfigDB.h:24
bool CreateValue(ScriptInterface::CxPrivate *pCxPrivate, const std::wstring &cfgNsString, const std::string &name, const std::string &value)
Definition: JSInterface_ConfigDB.cpp:76
bool SetFile(ScriptInterface::CxPrivate *pCxPrivate, const std::wstring &cfgNsString, const Path &path)
Definition: JSInterface_ConfigDB.cpp:126
bool WriteValueToFile(ScriptInterface::CxPrivate *pCxPrivate, const std::wstring &cfgNsString, const std::string &name, const std::string &value, const Path &path)
Definition: JSInterface_ConfigDB.cpp:106
bool WriteFile(ScriptInterface::CxPrivate *pCxPrivate, const std::wstring &cfgNsString, const Path &path)
Definition: JSInterface_ConfigDB.cpp:96
bool HasChanges(ScriptInterface::CxPrivate *pCxPrivate, const std::wstring &cfgNsString)
Definition: JSInterface_ConfigDB.cpp:46
bool SetChanges(ScriptInterface::CxPrivate *pCxPrivate, const std::wstring &cfgNsString, bool value)
Definition: JSInterface_ConfigDB.cpp:55
Definition: path.h:77
bool Reload(ScriptInterface::CxPrivate *pCxPrivate, const std::wstring &cfgNsString)
Definition: JSInterface_ConfigDB.cpp:116
Definition: ScriptInterface.h:99
EConfigNamespace
Definition: ConfigDB.h:37
Abstraction around a SpiderMonkey JSContext.
Definition: ScriptInterface.h:71
bool GetConfigNamespace(const std::wstring &cfgNsString, EConfigNamespace &cfgNs)
Definition: JSInterface_ConfigDB.cpp:27
std::string GetValue(ScriptInterface::CxPrivate *pCxPrivate, const std::wstring &cfgNsString, const std::string &name)
Definition: JSInterface_ConfigDB.cpp:65