diff options
author | David Vukovic <dvukovic@gmx.de> | 2023-12-04 23:49:30 +0100 |
---|---|---|
committer | fuzzard <fuzzard@kodi.tv> | 2024-02-10 14:30:52 +1000 |
commit | 6485e3c4fba0dcb55754a6564fca0eb45e2af3e5 (patch) | |
tree | 6f9a4d6902da376e7caa2a10b9b4580e5245e788 | |
parent | 533bc0300834642957fd09b155d329d9b885d6f3 (diff) |
[JSON-Rpc] Add GUI.ActivateScreenSaver method
JSONRPC method call to activate currently configured screensaver
-rw-r--r-- | xbmc/interfaces/json-rpc/GUIOperations.cpp | 10 | ||||
-rw-r--r-- | xbmc/interfaces/json-rpc/GUIOperations.h | 5 | ||||
-rw-r--r-- | xbmc/interfaces/json-rpc/JSONServiceDescription.cpp | 1 | ||||
-rw-r--r-- | xbmc/interfaces/json-rpc/schema/methods.json | 8 | ||||
-rw-r--r-- | xbmc/interfaces/json-rpc/schema/version.txt | 2 |
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 ¶meterObject, CVariant &result); static JSONRPC_STATUS SetStereoscopicMode(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result); static JSONRPC_STATUS GetStereoscopicModes(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, 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 |