diff --git a/source/gui/scripting/ScriptFunctions.cpp b/source/gui/scripting/ScriptFunctions.cpp index 45fdd8a8ab..7ffe56882d 100644 --- a/source/gui/scripting/ScriptFunctions.cpp +++ b/source/gui/scripting/ScriptFunctions.cpp @@ -34,6 +34,7 @@ #include "ps/scripting/JSInterface_Mod.h" #include "ps/scripting/JSInterface_ModIo.h" #include "ps/scripting/JSInterface_SavedGame.h" +#include "ps/scripting/JSInterface_UserReport.h" #include "ps/scripting/JSInterface_VFS.h" #include "ps/scripting/JSInterface_VisualReplay.h" #include "renderer/scripting/JSInterface_Renderer.h" @@ -67,6 +68,7 @@ void GuiScriptingInit(ScriptInterface& scriptInterface) JSI_SavedGame::RegisterScriptFunctions(scriptInterface); JSI_Simulation::RegisterScriptFunctions(scriptInterface); JSI_Sound::RegisterScriptFunctions(scriptInterface); + JSI_UserReport::RegisterScriptFunctions(scriptInterface); JSI_VFS::RegisterScriptFunctions_GUI(scriptInterface); JSI_VisualReplay::RegisterScriptFunctions(scriptInterface); } diff --git a/source/ps/scripting/JSInterface_Debug.cpp b/source/ps/scripting/JSInterface_Debug.cpp index ec25ce3d3e..abd83f7abb 100644 --- a/source/ps/scripting/JSInterface_Debug.cpp +++ b/source/ps/scripting/JSInterface_Debug.cpp @@ -21,13 +21,11 @@ #include "i18n/L10n.h" #include "lib/svn_revision.h" -#include "ps/CConsole.h" -#include "ps/CLogger.h" -#include "ps/Profile.h" -#include "ps/ProfileViewer.h" -#include "ps/UserReport.h" +#include "lib/debug.h" #include "scriptinterface/ScriptInterface.h" +#include + /** * Microseconds since the epoch. */ @@ -117,21 +115,6 @@ std::wstring JSI_Debug::GetBuildTimestamp(ScriptInterface::CxPrivate* UNUSED(pCx return wstring_from_utf8(buf); } -bool JSI_Debug::IsUserReportEnabled(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)) -{ - return g_UserReporter.IsReportingEnabled(); -} - -void JSI_Debug::SetUserReportEnabled(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), bool enabled) -{ - g_UserReporter.SetReportingEnabled(enabled); -} - -std::string JSI_Debug::GetUserReportStatus(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)) -{ - return g_UserReporter.GetStatus(); -} - void JSI_Debug::RegisterScriptFunctions(const ScriptInterface& scriptInterface) { scriptInterface.RegisterFunction("GetMicroseconds"); @@ -139,9 +122,4 @@ void JSI_Debug::RegisterScriptFunctions(const ScriptInterface& scriptInterface) scriptInterface.RegisterFunction("DebugWarn"); scriptInterface.RegisterFunction("DisplayErrorDialog"); scriptInterface.RegisterFunction("GetBuildTimestamp"); - - // User report functions - scriptInterface.RegisterFunction("IsUserReportEnabled"); - scriptInterface.RegisterFunction("SetUserReportEnabled"); - scriptInterface.RegisterFunction("GetUserReportStatus"); } diff --git a/source/ps/scripting/JSInterface_Debug.h b/source/ps/scripting/JSInterface_Debug.h index fdc504ea73..326b6d24a1 100644 --- a/source/ps/scripting/JSInterface_Debug.h +++ b/source/ps/scripting/JSInterface_Debug.h @@ -20,14 +20,13 @@ #include "scriptinterface/ScriptInterface.h" +#include + namespace JSI_Debug { int Crash(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)); void DebugWarn(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)); void DisplayErrorDialog(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), const std::wstring& msg); - bool IsUserReportEnabled(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)); - void SetUserReportEnabled(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), bool enabled); - std::string GetUserReportStatus(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)); std::wstring GetBuildTimestamp(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), int mode); double GetMicroseconds(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)); diff --git a/source/ps/scripting/JSInterface_UserReport.cpp b/source/ps/scripting/JSInterface_UserReport.cpp new file mode 100644 index 0000000000..bcac0bcdaa --- /dev/null +++ b/source/ps/scripting/JSInterface_UserReport.cpp @@ -0,0 +1,47 @@ +/* Copyright (C) 2018 Wildfire Games. + * This file is part of 0 A.D. + * + * 0 A.D. is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * 0 A.D. is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with 0 A.D. If not, see . + */ + +#include "precompiled.h" + +#include "JSInterface_UserReport.h" + +#include "ps/UserReport.h" +#include "scriptinterface/ScriptInterface.h" + +#include + +bool JSI_UserReport::IsUserReportEnabled(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)) +{ + return g_UserReporter.IsReportingEnabled(); +} + +void JSI_UserReport::SetUserReportEnabled(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), bool enabled) +{ + g_UserReporter.SetReportingEnabled(enabled); +} + +std::string JSI_UserReport::GetUserReportStatus(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)) +{ + return g_UserReporter.GetStatus(); +} + +void JSI_UserReport::RegisterScriptFunctions(const ScriptInterface& scriptInterface) +{ + scriptInterface.RegisterFunction("IsUserReportEnabled"); + scriptInterface.RegisterFunction("SetUserReportEnabled"); + scriptInterface.RegisterFunction("GetUserReportStatus"); +} diff --git a/source/ps/scripting/JSInterface_UserReport.h b/source/ps/scripting/JSInterface_UserReport.h new file mode 100644 index 0000000000..524f206c7e --- /dev/null +++ b/source/ps/scripting/JSInterface_UserReport.h @@ -0,0 +1,34 @@ +/* Copyright (C) 2018 Wildfire Games. + * This file is part of 0 A.D. + * + * 0 A.D. is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * 0 A.D. is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with 0 A.D. If not, see . + */ + +#ifndef INCLUDED_JSI_USERREPORT +#define INCLUDED_JSI_USERREPORT + +#include "scriptinterface/ScriptInterface.h" + +#include + +namespace JSI_UserReport +{ + bool IsUserReportEnabled(ScriptInterface::CxPrivate* pCxPrivate); + void SetUserReportEnabled(ScriptInterface::CxPrivate* pCxPrivate, bool enabled); + std::string GetUserReportStatus(ScriptInterface::CxPrivate* pCxPrivate); + + void RegisterScriptFunctions(const ScriptInterface& ScriptInterface); +} + +#endif // INCLUDED_JSI_USERREPORT