aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Vukovic <dvukovic@gmx.de>2023-12-04 23:49:30 +0100
committerfuzzard <fuzzard@kodi.tv>2024-02-10 14:30:52 +1000
commit6485e3c4fba0dcb55754a6564fca0eb45e2af3e5 (patch)
tree6f9a4d6902da376e7caa2a10b9b4580e5245e788
parent533bc0300834642957fd09b155d329d9b885d6f3 (diff)
[JSON-Rpc] Add GUI.ActivateScreenSaver method
JSONRPC method call to activate currently configured screensaver
-rw-r--r--xbmc/interfaces/json-rpc/GUIOperations.cpp10
-rw-r--r--xbmc/interfaces/json-rpc/GUIOperations.h5
-rw-r--r--xbmc/interfaces/json-rpc/JSONServiceDescription.cpp1
-rw-r--r--xbmc/interfaces/json-rpc/schema/methods.json8
-rw-r--r--xbmc/interfaces/json-rpc/schema/version.txt2
5 files changed, 25 insertions, 1 deletions
diff --git a/xbmc/interfaces/json-rpc/GUIOperations.cpp b/xbmc/interfaces/json-rpc/GUIOperations.cpp
index 6e52b143a9..b020939867 100644
--- a/xbmc/interfaces/json-rpc/GUIOperations.cpp
+++ b/xbmc/interfaces/json-rpc/GUIOperations.cpp
@@ -129,6 +129,16 @@ JSONRPC_STATUS CGUIOperations::GetStereoscopicModes(const std::string &method, I
return OK;
}
+JSONRPC_STATUS CGUIOperations::ActivateScreenSaver(const std::string& method,
+ ITransportLayer* transport,
+ IClient* client,
+ const CVariant& parameterObject,
+ CVariant& result)
+{
+ CServiceBroker::GetAppMessenger()->SendMsg(TMSG_ACTIVATESCREENSAVER);
+ return ACK;
+}
+
JSONRPC_STATUS CGUIOperations::GetPropertyValue(const std::string &property, CVariant &result)
{
if (property == "currentwindow")
diff --git a/xbmc/interfaces/json-rpc/GUIOperations.h b/xbmc/interfaces/json-rpc/GUIOperations.h
index 04c3f81cac..6d324b8d05 100644
--- a/xbmc/interfaces/json-rpc/GUIOperations.h
+++ b/xbmc/interfaces/json-rpc/GUIOperations.h
@@ -26,6 +26,11 @@ namespace JSONRPC
static JSONRPC_STATUS SetFullscreen(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
static JSONRPC_STATUS SetStereoscopicMode(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
static JSONRPC_STATUS GetStereoscopicModes(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
+ static JSONRPC_STATUS ActivateScreenSaver(const std::string& method,
+ ITransportLayer* transport,
+ IClient* client,
+ const CVariant& parameterObject,
+ CVariant& result);
private:
static JSONRPC_STATUS GetPropertyValue(const std::string &property, CVariant &result);
static CVariant GetStereoModeObjectFromGuiMode(const RENDER_STEREO_MODE &mode);
diff --git a/xbmc/interfaces/json-rpc/JSONServiceDescription.cpp b/xbmc/interfaces/json-rpc/JSONServiceDescription.cpp
index 3a9cd037ad..a5071e7ec3 100644
--- a/xbmc/interfaces/json-rpc/JSONServiceDescription.cpp
+++ b/xbmc/interfaces/json-rpc/JSONServiceDescription.cpp
@@ -174,6 +174,7 @@ JsonRpcMethodMap CJSONServiceDescription::m_methodMaps[] = {
{ "GUI.SetFullscreen", CGUIOperations::SetFullscreen },
{ "GUI.SetStereoscopicMode", CGUIOperations::SetStereoscopicMode },
{ "GUI.GetStereoscopicModes", CGUIOperations::GetStereoscopicModes },
+ { "GUI.ActivateScreenSaver", CGUIOperations::ActivateScreenSaver},
// PVR operations
{ "PVR.GetProperties", CPVROperations::GetProperties },
diff --git a/xbmc/interfaces/json-rpc/schema/methods.json b/xbmc/interfaces/json-rpc/schema/methods.json
index c33e23ea31..49fb091916 100644
--- a/xbmc/interfaces/json-rpc/schema/methods.json
+++ b/xbmc/interfaces/json-rpc/schema/methods.json
@@ -2090,6 +2090,14 @@
}
}
},
+ "GUI.ActivateScreenSaver": {
+ "type": "method",
+ "description": "Activates currently used screensaver",
+ "transport": "Response",
+ "permission": "ControlGUI",
+ "params": [],
+ "returns": "string"
+ },
"Addons.GetAddons": {
"type": "method",
"description": "Gets all available addons",
diff --git a/xbmc/interfaces/json-rpc/schema/version.txt b/xbmc/interfaces/json-rpc/schema/version.txt
index 652ab24d06..ae933fc633 100644
--- a/xbmc/interfaces/json-rpc/schema/version.txt
+++ b/xbmc/interfaces/json-rpc/schema/version.txt
@@ -1 +1 @@
-JSONRPC_VERSION 13.3.1
+JSONRPC_VERSION 13.4.0