WSRequestHandler: request handler as object methods

This commit is contained in:
Stéphane Lepin
2019-11-15 19:38:15 +01:00
parent e6dbc9bfdf
commit 31559051f6
2 changed files with 190 additions and 188 deletions

View File

@ -24,124 +24,124 @@
#include "WSRequestHandler.h" #include "WSRequestHandler.h"
QHash<QString, RpcResponse(*)(const RpcRequest&)> WSRequestHandler::messageMap { const QHash<QString, RpcMethodHandler> WSRequestHandler::messageMap {
{ "GetVersion", WSRequestHandler::HandleGetVersion }, { "GetVersion", &WSRequestHandler::GetVersion },
{ "GetAuthRequired", WSRequestHandler::HandleGetAuthRequired }, { "GetAuthRequired", &WSRequestHandler::GetAuthRequired },
{ "Authenticate", WSRequestHandler::HandleAuthenticate }, { "Authenticate", &WSRequestHandler::Authenticate },
{ "GetStats", WSRequestHandler::HandleGetStats }, { "GetStats", &WSRequestHandler::GetStats },
{ "SetHeartbeat", WSRequestHandler::HandleSetHeartbeat }, { "SetHeartbeat", &WSRequestHandler::SetHeartbeat },
{ "GetVideoInfo", WSRequestHandler::HandleGetVideoInfo }, { "GetVideoInfo", &WSRequestHandler::GetVideoInfo },
{ "SetFilenameFormatting", WSRequestHandler::HandleSetFilenameFormatting }, { "SetFilenameFormatting", &WSRequestHandler::SetFilenameFormatting },
{ "GetFilenameFormatting", WSRequestHandler::HandleGetFilenameFormatting }, { "GetFilenameFormatting", &WSRequestHandler::GetFilenameFormatting },
{ "BroadcastCustomMessage", WSRequestHandler::HandleBroadcastCustomMessage }, { "BroadcastCustomMessage", &WSRequestHandler::BroadcastCustomMessage },
{ "SetCurrentScene", WSRequestHandler::HandleSetCurrentScene }, { "SetCurrentScene", &WSRequestHandler::SetCurrentScene },
{ "GetCurrentScene", WSRequestHandler::HandleGetCurrentScene }, { "GetCurrentScene", &WSRequestHandler::GetCurrentScene },
{ "GetSceneList", WSRequestHandler::HandleGetSceneList }, { "GetSceneList", &WSRequestHandler::GetSceneList },
{ "SetSourceRender", WSRequestHandler::HandleSetSceneItemRender }, // Retrocompat { "SetSourceRender", &WSRequestHandler::SetSceneItemRender }, // Retrocompat
{ "SetSceneItemRender", WSRequestHandler::HandleSetSceneItemRender }, { "SetSceneItemRender", &WSRequestHandler::SetSceneItemRender },
{ "SetSceneItemPosition", WSRequestHandler::HandleSetSceneItemPosition }, { "SetSceneItemPosition", &WSRequestHandler::SetSceneItemPosition },
{ "SetSceneItemTransform", WSRequestHandler::HandleSetSceneItemTransform }, { "SetSceneItemTransform", &WSRequestHandler::SetSceneItemTransform },
{ "SetSceneItemCrop", WSRequestHandler::HandleSetSceneItemCrop }, { "SetSceneItemCrop", &WSRequestHandler::SetSceneItemCrop },
{ "GetSceneItemProperties", WSRequestHandler::HandleGetSceneItemProperties }, { "GetSceneItemProperties", &WSRequestHandler::GetSceneItemProperties },
{ "SetSceneItemProperties", WSRequestHandler::HandleSetSceneItemProperties }, { "SetSceneItemProperties", &WSRequestHandler::SetSceneItemProperties },
{ "ResetSceneItem", WSRequestHandler::HandleResetSceneItem }, { "ResetSceneItem", &WSRequestHandler::ResetSceneItem },
{ "DeleteSceneItem", WSRequestHandler::HandleDeleteSceneItem }, { "DeleteSceneItem", &WSRequestHandler::DeleteSceneItem },
{ "DuplicateSceneItem", WSRequestHandler::HandleDuplicateSceneItem }, { "DuplicateSceneItem", &WSRequestHandler::DuplicateSceneItem },
{ "ReorderSceneItems", WSRequestHandler::HandleReorderSceneItems }, { "ReorderSceneItems", &WSRequestHandler::ReorderSceneItems },
{ "GetStreamingStatus", WSRequestHandler::HandleGetStreamingStatus }, { "GetStreamingStatus", &WSRequestHandler::GetStreamingStatus },
{ "StartStopStreaming", WSRequestHandler::HandleStartStopStreaming }, { "StartStopStreaming", &WSRequestHandler::StartStopStreaming },
{ "StartStopRecording", WSRequestHandler::HandleStartStopRecording }, { "StartStopRecording", &WSRequestHandler::StartStopRecording },
{ "StartStreaming", WSRequestHandler::HandleStartStreaming }, { "StartStreaming", &WSRequestHandler::StartStreaming },
{ "StopStreaming", WSRequestHandler::HandleStopStreaming }, { "StopStreaming", &WSRequestHandler::StopStreaming },
{ "StartRecording", WSRequestHandler::HandleStartRecording }, { "StartRecording", &WSRequestHandler::StartRecording },
{ "StopRecording", WSRequestHandler::HandleStopRecording }, { "StopRecording", &WSRequestHandler::StopRecording },
{ "PauseRecording", WSRequestHandler::HandlePauseRecording }, { "PauseRecording", &WSRequestHandler::PauseRecording },
{ "ResumeRecording", WSRequestHandler::HandleResumeRecording }, { "ResumeRecording", &WSRequestHandler::ResumeRecording },
{ "StartStopReplayBuffer", WSRequestHandler::HandleStartStopReplayBuffer }, { "StartStopReplayBuffer", &WSRequestHandler::StartStopReplayBuffer },
{ "StartReplayBuffer", WSRequestHandler::HandleStartReplayBuffer }, { "StartReplayBuffer", &WSRequestHandler::StartReplayBuffer },
{ "StopReplayBuffer", WSRequestHandler::HandleStopReplayBuffer }, { "StopReplayBuffer", &WSRequestHandler::StopReplayBuffer },
{ "SaveReplayBuffer", WSRequestHandler::HandleSaveReplayBuffer }, { "SaveReplayBuffer", &WSRequestHandler::SaveReplayBuffer },
{ "SetRecordingFolder", WSRequestHandler::HandleSetRecordingFolder }, { "SetRecordingFolder", &WSRequestHandler::SetRecordingFolder },
{ "GetRecordingFolder", WSRequestHandler::HandleGetRecordingFolder }, { "GetRecordingFolder", &WSRequestHandler::GetRecordingFolder },
{ "GetTransitionList", WSRequestHandler::HandleGetTransitionList }, { "GetTransitionList", &WSRequestHandler::GetTransitionList },
{ "GetCurrentTransition", WSRequestHandler::HandleGetCurrentTransition }, { "GetCurrentTransition", &WSRequestHandler::GetCurrentTransition },
{ "SetCurrentTransition", WSRequestHandler::HandleSetCurrentTransition }, { "SetCurrentTransition", &WSRequestHandler::SetCurrentTransition },
{ "SetTransitionDuration", WSRequestHandler::HandleSetTransitionDuration }, { "SetTransitionDuration", &WSRequestHandler::SetTransitionDuration },
{ "GetTransitionDuration", WSRequestHandler::HandleGetTransitionDuration }, { "GetTransitionDuration", &WSRequestHandler::GetTransitionDuration },
{ "SetVolume", WSRequestHandler::HandleSetVolume }, { "SetVolume", &WSRequestHandler::SetVolume },
{ "GetVolume", WSRequestHandler::HandleGetVolume }, { "GetVolume", &WSRequestHandler::GetVolume },
{ "ToggleMute", WSRequestHandler::HandleToggleMute }, { "ToggleMute", &WSRequestHandler::ToggleMute },
{ "SetMute", WSRequestHandler::HandleSetMute }, { "SetMute", &WSRequestHandler::SetMute },
{ "GetMute", WSRequestHandler::HandleGetMute }, { "GetMute", &WSRequestHandler::GetMute },
{ "SetSyncOffset", WSRequestHandler::HandleSetSyncOffset }, { "SetSyncOffset", &WSRequestHandler::SetSyncOffset },
{ "GetSyncOffset", WSRequestHandler::HandleGetSyncOffset }, { "GetSyncOffset", &WSRequestHandler::GetSyncOffset },
{ "GetSpecialSources", WSRequestHandler::HandleGetSpecialSources }, { "GetSpecialSources", &WSRequestHandler::GetSpecialSources },
{ "GetSourcesList", WSRequestHandler::HandleGetSourcesList }, { "GetSourcesList", &WSRequestHandler::GetSourcesList },
{ "GetSourceTypesList", WSRequestHandler::HandleGetSourceTypesList }, { "GetSourceTypesList", &WSRequestHandler::GetSourceTypesList },
{ "GetSourceSettings", WSRequestHandler::HandleGetSourceSettings }, { "GetSourceSettings", &WSRequestHandler::GetSourceSettings },
{ "SetSourceSettings", WSRequestHandler::HandleSetSourceSettings }, { "SetSourceSettings", &WSRequestHandler::SetSourceSettings },
{ "TakeSourceScreenshot", WSRequestHandler::HandleTakeSourceScreenshot }, { "TakeSourceScreenshot", &WSRequestHandler::TakeSourceScreenshot },
{ "GetSourceFilters", WSRequestHandler::HandleGetSourceFilters }, { "GetSourceFilters", &WSRequestHandler::GetSourceFilters },
{ "GetSourceFilterInfo", WSRequestHandler::HandleGetSourceFilterInfo }, { "GetSourceFilterInfo", &WSRequestHandler::GetSourceFilterInfo },
{ "AddFilterToSource", WSRequestHandler::HandleAddFilterToSource }, { "AddFilterToSource", &WSRequestHandler::AddFilterToSource },
{ "RemoveFilterFromSource", WSRequestHandler::HandleRemoveFilterFromSource }, { "RemoveFilterFromSource", &WSRequestHandler::RemoveFilterFromSource },
{ "ReorderSourceFilter", WSRequestHandler::HandleReorderSourceFilter }, { "ReorderSourceFilter", &WSRequestHandler::ReorderSourceFilter },
{ "MoveSourceFilter", WSRequestHandler::HandleMoveSourceFilter }, { "MoveSourceFilter", &WSRequestHandler::MoveSourceFilter },
{ "SetSourceFilterSettings", WSRequestHandler::HandleSetSourceFilterSettings }, { "SetSourceFilterSettings", &WSRequestHandler::SetSourceFilterSettings },
{ "SetSourceFilterVisibility", WSRequestHandler::HandleSetSourceFilterVisibility }, { "SetSourceFilterVisibility", &WSRequestHandler::SetSourceFilterVisibility },
{ "SetCurrentSceneCollection", WSRequestHandler::HandleSetCurrentSceneCollection }, { "SetCurrentSceneCollection", &WSRequestHandler::SetCurrentSceneCollection },
{ "GetCurrentSceneCollection", WSRequestHandler::HandleGetCurrentSceneCollection }, { "GetCurrentSceneCollection", &WSRequestHandler::GetCurrentSceneCollection },
{ "ListSceneCollections", WSRequestHandler::HandleListSceneCollections }, { "ListSceneCollections", &WSRequestHandler::ListSceneCollections },
{ "SetCurrentProfile", WSRequestHandler::HandleSetCurrentProfile }, { "SetCurrentProfile", &WSRequestHandler::SetCurrentProfile },
{ "GetCurrentProfile", WSRequestHandler::HandleGetCurrentProfile }, { "GetCurrentProfile", &WSRequestHandler::GetCurrentProfile },
{ "ListProfiles", WSRequestHandler::HandleListProfiles }, { "ListProfiles", &WSRequestHandler::ListProfiles },
{ "SetStreamSettings", WSRequestHandler::HandleSetStreamSettings }, { "SetStreamSettings", &WSRequestHandler::SetStreamSettings },
{ "GetStreamSettings", WSRequestHandler::HandleGetStreamSettings }, { "GetStreamSettings", &WSRequestHandler::GetStreamSettings },
{ "SaveStreamSettings", WSRequestHandler::HandleSaveStreamSettings }, { "SaveStreamSettings", &WSRequestHandler::SaveStreamSettings },
#if BUILD_CAPTIONS #if BUILD_CAPTIONS
{ "SendCaptions", WSRequestHandler::HandleSendCaptions }, { "SendCaptions", &WSRequestHandler::SendCaptions },
#endif #endif
{ "GetStudioModeStatus", WSRequestHandler::HandleGetStudioModeStatus }, { "GetStudioModeStatus", &WSRequestHandler::GetStudioModeStatus },
{ "GetPreviewScene", WSRequestHandler::HandleGetPreviewScene }, { "GetPreviewScene", &WSRequestHandler::GetPreviewScene },
{ "SetPreviewScene", WSRequestHandler::HandleSetPreviewScene }, { "SetPreviewScene", &WSRequestHandler::SetPreviewScene },
{ "TransitionToProgram", WSRequestHandler::HandleTransitionToProgram }, { "TransitionToProgram", &WSRequestHandler::TransitionToProgram },
{ "EnableStudioMode", WSRequestHandler::HandleEnableStudioMode }, { "EnableStudioMode", &WSRequestHandler::EnableStudioMode },
{ "DisableStudioMode", WSRequestHandler::HandleDisableStudioMode }, { "DisableStudioMode", &WSRequestHandler::DisableStudioMode },
{ "ToggleStudioMode", WSRequestHandler::HandleToggleStudioMode }, { "ToggleStudioMode", &WSRequestHandler::ToggleStudioMode },
{ "SetTextGDIPlusProperties", WSRequestHandler::HandleSetTextGDIPlusProperties }, { "SetTextGDIPlusProperties", &WSRequestHandler::SetTextGDIPlusProperties },
{ "GetTextGDIPlusProperties", WSRequestHandler::HandleGetTextGDIPlusProperties }, { "GetTextGDIPlusProperties", &WSRequestHandler::GetTextGDIPlusProperties },
{ "SetTextFreetype2Properties", WSRequestHandler::HandleSetTextFreetype2Properties }, { "SetTextFreetype2Properties", &WSRequestHandler::SetTextFreetype2Properties },
{ "GetTextFreetype2Properties", WSRequestHandler::HandleGetTextFreetype2Properties }, { "GetTextFreetype2Properties", &WSRequestHandler::GetTextFreetype2Properties },
{ "GetBrowserSourceProperties", WSRequestHandler::HandleGetBrowserSourceProperties }, { "GetBrowserSourceProperties", &WSRequestHandler::GetBrowserSourceProperties },
{ "SetBrowserSourceProperties", WSRequestHandler::HandleSetBrowserSourceProperties }, { "SetBrowserSourceProperties", &WSRequestHandler::SetBrowserSourceProperties },
{ "ListOutputs", WSRequestHandler::HandleListOutputs }, { "ListOutputs", &WSRequestHandler::ListOutputs },
{ "GetOutputInfo", WSRequestHandler::HandleGetOutputInfo }, { "GetOutputInfo", &WSRequestHandler::GetOutputInfo },
{ "StartOutput", WSRequestHandler::HandleStartOutput }, { "StartOutput", &WSRequestHandler::StartOutput },
{ "StopOutput", WSRequestHandler::HandleStopOutput } { "StopOutput", &WSRequestHandler::StopOutput }
}; };
QSet<QString> WSRequestHandler::authNotRequired { const QSet<QString> WSRequestHandler::authNotRequired {
"GetVersion", "GetVersion",
"GetAuthRequired", "GetAuthRequired",
"Authenticate" "Authenticate"
@ -177,9 +177,9 @@ RpcResponse WSRequestHandler::processRequest(const RpcRequest& request){
// return SendErrorResponse("invalid JSON payload"); // return SendErrorResponse("invalid JSON payload");
// } // }
if (!hasField("request-type") || !hasField("message-id")) { // if (!hasField("request-type") || !hasField("message-id")) {
return SendErrorResponse("missing request parameters"); // return SendErrorResponse("missing request parameters");
} // }
// _requestType = obs_data_get_string(data, "request-type"); // _requestType = obs_data_get_string(data, "request-type");
// _messageId = obs_data_get_string(data, "message-id"); // _messageId = obs_data_get_string(data, "message-id");

View File

@ -35,6 +35,8 @@ with this program. If not, see <https://www.gnu.org/licenses/>
#include "obs-websocket.h" #include "obs-websocket.h"
typedef RpcResponse(WSRequestHandler::*RpcMethodHandler)(const RpcRequest&);
class WSRequestHandler { class WSRequestHandler {
public: public:
explicit WSRequestHandler(ConnectionProperties& connProperties); explicit WSRequestHandler(ConnectionProperties& connProperties);
@ -43,121 +45,121 @@ class WSRequestHandler {
private: private:
ConnectionProperties& _connProperties; ConnectionProperties& _connProperties;
static QHash<QString, RpcResponse(*)(const RpcRequest&)> messageMap; static const QHash<QString, RpcMethodHandler> messageMap;
static QSet<QString> authNotRequired; static const QSet<QString> authNotRequired;
static RpcResponse HandleGetVersion(const RpcRequest&); RpcResponse GetVersion(const RpcRequest&);
static RpcResponse HandleGetAuthRequired(const RpcRequest&); RpcResponse GetAuthRequired(const RpcRequest&);
static RpcResponse HandleAuthenticate(const RpcRequest&); RpcResponse Authenticate(const RpcRequest&);
static RpcResponse HandleGetStats(const RpcRequest&); RpcResponse GetStats(const RpcRequest&);
static RpcResponse HandleSetHeartbeat(const RpcRequest&); RpcResponse SetHeartbeat(const RpcRequest&);
static RpcResponse HandleGetVideoInfo(const RpcRequest&); RpcResponse GetVideoInfo(const RpcRequest&);
static RpcResponse HandleSetFilenameFormatting(const RpcRequest&); RpcResponse SetFilenameFormatting(const RpcRequest&);
static RpcResponse HandleGetFilenameFormatting(const RpcRequest&); RpcResponse GetFilenameFormatting(const RpcRequest&);
static RpcResponse HandleBroadcastCustomMessage(const RpcRequest&); RpcResponse BroadcastCustomMessage(const RpcRequest&);
static RpcResponse HandleSetCurrentScene(const RpcRequest&); RpcResponse SetCurrentScene(const RpcRequest&);
static RpcResponse HandleGetCurrentScene(const RpcRequest&); RpcResponse GetCurrentScene(const RpcRequest&);
static RpcResponse HandleGetSceneList(const RpcRequest&); RpcResponse GetSceneList(const RpcRequest&);
static RpcResponse HandleSetSceneItemRender(const RpcRequest&); RpcResponse SetSceneItemRender(const RpcRequest&);
static RpcResponse HandleSetSceneItemPosition(const RpcRequest&); RpcResponse SetSceneItemPosition(const RpcRequest&);
static RpcResponse HandleSetSceneItemTransform(const RpcRequest&); RpcResponse SetSceneItemTransform(const RpcRequest&);
static RpcResponse HandleSetSceneItemCrop(const RpcRequest&); RpcResponse SetSceneItemCrop(const RpcRequest&);
static RpcResponse HandleGetSceneItemProperties(const RpcRequest&); RpcResponse GetSceneItemProperties(const RpcRequest&);
static RpcResponse HandleSetSceneItemProperties(const RpcRequest&); RpcResponse SetSceneItemProperties(const RpcRequest&);
static RpcResponse HandleResetSceneItem(const RpcRequest&); RpcResponse ResetSceneItem(const RpcRequest&);
static RpcResponse HandleDuplicateSceneItem(const RpcRequest&); RpcResponse DuplicateSceneItem(const RpcRequest&);
static RpcResponse HandleDeleteSceneItem(const RpcRequest&); RpcResponse DeleteSceneItem(const RpcRequest&);
static RpcResponse HandleReorderSceneItems(const RpcRequest&); RpcResponse ReorderSceneItems(const RpcRequest&);
static RpcResponse HandleGetStreamingStatus(const RpcRequest&); RpcResponse GetStreamingStatus(const RpcRequest&);
static RpcResponse HandleStartStopStreaming(const RpcRequest&); RpcResponse StartStopStreaming(const RpcRequest&);
static RpcResponse HandleStartStopRecording(const RpcRequest&); RpcResponse StartStopRecording(const RpcRequest&);
static RpcResponse HandleStartStreaming(const RpcRequest&); RpcResponse StartStreaming(const RpcRequest&);
static RpcResponse HandleStopStreaming(const RpcRequest&); RpcResponse StopStreaming(const RpcRequest&);
static RpcResponse HandleStartRecording(const RpcRequest&); RpcResponse StartRecording(const RpcRequest&);
static RpcResponse HandleStopRecording(const RpcRequest&); RpcResponse StopRecording(const RpcRequest&);
static RpcResponse HandlePauseRecording(const RpcRequest&); RpcResponse PauseRecording(const RpcRequest&);
static RpcResponse HandleResumeRecording(const RpcRequest&); RpcResponse ResumeRecording(const RpcRequest&);
static RpcResponse HandleStartStopReplayBuffer(const RpcRequest&); RpcResponse StartStopReplayBuffer(const RpcRequest&);
static RpcResponse HandleStartReplayBuffer(const RpcRequest&); RpcResponse StartReplayBuffer(const RpcRequest&);
static RpcResponse HandleStopReplayBuffer(const RpcRequest&); RpcResponse StopReplayBuffer(const RpcRequest&);
static RpcResponse HandleSaveReplayBuffer(const RpcRequest&); RpcResponse SaveReplayBuffer(const RpcRequest&);
static RpcResponse HandleSetRecordingFolder(const RpcRequest&); RpcResponse SetRecordingFolder(const RpcRequest&);
static RpcResponse HandleGetRecordingFolder(const RpcRequest&); RpcResponse GetRecordingFolder(const RpcRequest&);
static RpcResponse HandleGetTransitionList(const RpcRequest&); RpcResponse GetTransitionList(const RpcRequest&);
static RpcResponse HandleGetCurrentTransition(const RpcRequest&); RpcResponse GetCurrentTransition(const RpcRequest&);
static RpcResponse HandleSetCurrentTransition(const RpcRequest&); RpcResponse SetCurrentTransition(const RpcRequest&);
static RpcResponse HandleSetVolume(const RpcRequest&); RpcResponse SetVolume(const RpcRequest&);
static RpcResponse HandleGetVolume(const RpcRequest&); RpcResponse GetVolume(const RpcRequest&);
static RpcResponse HandleToggleMute(const RpcRequest&); RpcResponse ToggleMute(const RpcRequest&);
static RpcResponse HandleSetMute(const RpcRequest&); RpcResponse SetMute(const RpcRequest&);
static RpcResponse HandleGetMute(const RpcRequest&); RpcResponse GetMute(const RpcRequest&);
static RpcResponse HandleSetSyncOffset(const RpcRequest&); RpcResponse SetSyncOffset(const RpcRequest&);
static RpcResponse HandleGetSyncOffset(const RpcRequest&); RpcResponse GetSyncOffset(const RpcRequest&);
static RpcResponse HandleGetSpecialSources(const RpcRequest&); RpcResponse GetSpecialSources(const RpcRequest&);
static RpcResponse HandleGetSourcesList(const RpcRequest&); RpcResponse GetSourcesList(const RpcRequest&);
static RpcResponse HandleGetSourceTypesList(const RpcRequest&); RpcResponse GetSourceTypesList(const RpcRequest&);
static RpcResponse HandleGetSourceSettings(const RpcRequest&); RpcResponse GetSourceSettings(const RpcRequest&);
static RpcResponse HandleSetSourceSettings(const RpcRequest&); RpcResponse SetSourceSettings(const RpcRequest&);
static RpcResponse HandleTakeSourceScreenshot(const RpcRequest&); RpcResponse TakeSourceScreenshot(const RpcRequest&);
static RpcResponse HandleGetSourceFilters(const RpcRequest&); RpcResponse GetSourceFilters(const RpcRequest&);
static RpcResponse HandleGetSourceFilterInfo(const RpcRequest&); RpcResponse GetSourceFilterInfo(const RpcRequest&);
static RpcResponse HandleAddFilterToSource(const RpcRequest&); RpcResponse AddFilterToSource(const RpcRequest&);
static RpcResponse HandleRemoveFilterFromSource(const RpcRequest&); RpcResponse RemoveFilterFromSource(const RpcRequest&);
static RpcResponse HandleReorderSourceFilter(const RpcRequest&); RpcResponse ReorderSourceFilter(const RpcRequest&);
static RpcResponse HandleMoveSourceFilter(const RpcRequest&); RpcResponse MoveSourceFilter(const RpcRequest&);
static RpcResponse HandleSetSourceFilterSettings(const RpcRequest&); RpcResponse SetSourceFilterSettings(const RpcRequest&);
static RpcResponse HandleSetSourceFilterVisibility(const RpcRequest&); RpcResponse SetSourceFilterVisibility(const RpcRequest&);
static RpcResponse HandleSetCurrentSceneCollection(const RpcRequest&); RpcResponse SetCurrentSceneCollection(const RpcRequest&);
static RpcResponse HandleGetCurrentSceneCollection(const RpcRequest&); RpcResponse GetCurrentSceneCollection(const RpcRequest&);
static RpcResponse HandleListSceneCollections(const RpcRequest&); RpcResponse ListSceneCollections(const RpcRequest&);
static RpcResponse HandleSetCurrentProfile(const RpcRequest&); RpcResponse SetCurrentProfile(const RpcRequest&);
static RpcResponse HandleGetCurrentProfile(const RpcRequest&); RpcResponse GetCurrentProfile(const RpcRequest&);
static RpcResponse HandleListProfiles(const RpcRequest&); RpcResponse ListProfiles(const RpcRequest&);
static RpcResponse HandleSetStreamSettings(const RpcRequest&); RpcResponse SetStreamSettings(const RpcRequest&);
static RpcResponse HandleGetStreamSettings(const RpcRequest&); RpcResponse GetStreamSettings(const RpcRequest&);
static RpcResponse HandleSaveStreamSettings(const RpcRequest&); RpcResponse SaveStreamSettings(const RpcRequest&);
#if BUILD_CAPTIONS #if BUILD_CAPTIONS
static RpcResponse HandleSendCaptions(WSRequestHandler * req); RpcResponse SendCaptions(WSRequestHandler * req);
#endif #endif
static RpcResponse HandleSetTransitionDuration(const RpcRequest& request); RpcResponse SetTransitionDuration(const RpcRequest& request);
static RpcResponse HandleGetTransitionDuration(const RpcRequest& request); RpcResponse GetTransitionDuration(const RpcRequest& request);
static RpcResponse HandleGetStudioModeStatus(const RpcRequest& request); RpcResponse GetStudioModeStatus(const RpcRequest& request);
static RpcResponse HandleGetPreviewScene(const RpcRequest& request); RpcResponse GetPreviewScene(const RpcRequest& request);
static RpcResponse HandleSetPreviewScene(const RpcRequest& request); RpcResponse SetPreviewScene(const RpcRequest& request);
static RpcResponse HandleTransitionToProgram(const RpcRequest& request); RpcResponse TransitionToProgram(const RpcRequest& request);
static RpcResponse HandleEnableStudioMode(const RpcRequest& request); RpcResponse EnableStudioMode(const RpcRequest& request);
static RpcResponse HandleDisableStudioMode(const RpcRequest& request); RpcResponse DisableStudioMode(const RpcRequest& request);
static RpcResponse HandleToggleStudioMode(const RpcRequest& request); RpcResponse ToggleStudioMode(const RpcRequest& request);
static RpcResponse HandleSetTextGDIPlusProperties(const RpcRequest& request); RpcResponse SetTextGDIPlusProperties(const RpcRequest& request);
static RpcResponse HandleGetTextGDIPlusProperties(const RpcRequest& request); RpcResponse GetTextGDIPlusProperties(const RpcRequest& request);
static RpcResponse HandleSetTextFreetype2Properties(const RpcRequest& request); RpcResponse SetTextFreetype2Properties(const RpcRequest& request);
static RpcResponse HandleGetTextFreetype2Properties(const RpcRequest& request); RpcResponse GetTextFreetype2Properties(const RpcRequest& request);
static RpcResponse HandleSetBrowserSourceProperties(const RpcRequest& request); RpcResponse SetBrowserSourceProperties(const RpcRequest& request);
static RpcResponse HandleGetBrowserSourceProperties(const RpcRequest& request); RpcResponse GetBrowserSourceProperties(const RpcRequest& request);
static RpcResponse HandleListOutputs(const RpcRequest& request); RpcResponse ListOutputs(const RpcRequest& request);
static RpcResponse HandleGetOutputInfo(const RpcRequest& request); RpcResponse GetOutputInfo(const RpcRequest& request);
static RpcResponse HandleStartOutput(const RpcRequest& request); RpcResponse StartOutput(const RpcRequest& request);
static RpcResponse HandleStopOutput(const RpcRequest& request); RpcResponse StopOutput(const RpcRequest& request);
}; };