From 537595658d994c592b8094608fabbd59244e283b Mon Sep 17 00:00:00 2001 From: tt2468 Date: Fri, 3 Sep 2021 15:59:09 -0700 Subject: [PATCH] Requests: Add GetSceneItemTransform --- src/requesthandler/RequestHandler.cpp | 3 ++- src/requesthandler/RequestHandler.h | 1 + src/requesthandler/RequestHandler_SceneItems.cpp | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/requesthandler/RequestHandler.cpp b/src/requesthandler/RequestHandler.cpp index 9ac06637..e981b339 100644 --- a/src/requesthandler/RequestHandler.cpp +++ b/src/requesthandler/RequestHandler.cpp @@ -71,6 +71,7 @@ const std::map RequestHandler::_handlerMap {"GetGroupSceneItemList", &RequestHandler::GetGroupSceneItemList}, {"CreateSceneItem", &RequestHandler::CreateSceneItem}, {"RemoveSceneItem", &RequestHandler::RemoveSceneItem}, + {"GetSceneItemTransform", &RequestHandler::GetSceneItemTransform}, {"GetSceneItemEnabled", &RequestHandler::GetSceneItemEnabled}, {"SetSceneItemEnabled", &RequestHandler::SetSceneItemEnabled}, {"GetSceneItemLocked", &RequestHandler::GetSceneItemLocked}, @@ -87,7 +88,7 @@ const std::map RequestHandler::_handlerMap RequestResult RequestHandler::ProcessRequest(const Request& request) { - if (!request.RequestData.is_null() && !request.RequestData.is_object()) + if (!request.RequestData.is_object() && !request.RequestData.is_null()) return RequestResult::Error(RequestStatus::InvalidRequestParameterType, "Your request data is not an object."); if (request.RequestType.empty()) diff --git a/src/requesthandler/RequestHandler.h b/src/requesthandler/RequestHandler.h index faf0c01d..1ead4cb9 100644 --- a/src/requesthandler/RequestHandler.h +++ b/src/requesthandler/RequestHandler.h @@ -87,6 +87,7 @@ class RequestHandler { RequestResult GetGroupSceneItemList(const Request&); RequestResult CreateSceneItem(const Request&); RequestResult RemoveSceneItem(const Request&); + RequestResult GetSceneItemTransform(const Request&); RequestResult GetSceneItemEnabled(const Request&); RequestResult SetSceneItemEnabled(const Request&); RequestResult GetSceneItemLocked(const Request&); diff --git a/src/requesthandler/RequestHandler_SceneItems.cpp b/src/requesthandler/RequestHandler_SceneItems.cpp index 2517ffee..245b214e 100644 --- a/src/requesthandler/RequestHandler_SceneItems.cpp +++ b/src/requesthandler/RequestHandler_SceneItems.cpp @@ -70,6 +70,20 @@ RequestResult RequestHandler::RemoveSceneItem(const Request& request) return RequestResult::Success(); } +RequestResult RequestHandler::GetSceneItemTransform(const Request& request) +{ + RequestStatus::RequestStatus statusCode; + std::string comment; + OBSSceneItemAutoRelease sceneItem = request.ValidateSceneItem("sceneName", "sceneItemId", statusCode, comment); + if (!sceneItem) + return RequestResult::Error(statusCode, comment); + + json responseData; + responseData["sceneItemTransform"] = Utils::Obs::DataHelper::GetSceneItemTransform(sceneItem); + + return RequestResult::Success(responseData); +} + RequestResult RequestHandler::GetSceneItemEnabled(const Request& request) { RequestStatus::RequestStatus statusCode;