obs-websocket/src/requesthandler/RequestHandler.h

60 lines
1.9 KiB
C
Raw Normal View History

#pragma once
#include <map>
#include <obs.hpp>
#include <obs-frontend-api.h>
2021-06-13 14:14:40 +00:00
#include "../obs-websocket.h"
#include "rpc/Request.h"
#include "rpc/RequestResult.h"
#include "../utils/Utils.h"
class RequestHandler;
typedef RequestResult(RequestHandler::*RequestMethodHandler)(const Request&);
class RequestHandler {
public:
RequestResult ProcessRequest(const Request& request);
2021-05-14 00:46:05 +00:00
std::vector<std::string> GetRequestList();
private:
// General
RequestResult GetVersion(const Request&);
RequestResult BroadcastCustomEvent(const Request&);
RequestResult GetHotkeyList(const Request&);
RequestResult TriggerHotkeyByName(const Request&);
RequestResult TriggerHotkeyByKeySequence(const Request&);
RequestResult GetStudioModeEnabled(const Request&);
RequestResult SetStudioModeEnabled(const Request&);
RequestResult Sleep(const Request&);
// Config
RequestResult GetSceneCollectionList(const Request&);
RequestResult SetCurrentSceneCollection(const Request&);
RequestResult GetProfileList(const Request&);
RequestResult SetCurrentProfile(const Request&);
RequestResult GetProfileParameter(const Request&);
RequestResult SetProfileParameter(const Request&);
2021-06-13 14:14:40 +00:00
// Sources
RequestResult GetSourceActive(const Request&);
RequestResult GetSourceScreenshot(const Request&);
RequestResult SaveSourceScreenshot(const Request&);
2021-06-13 14:14:40 +00:00
2021-06-15 05:52:23 +00:00
// Scenes
RequestResult GetSceneList(const Request&);
RequestResult GetCurrentProgramScene(const Request&);
RequestResult SetCurrentProgramScene(const Request&);
RequestResult GetCurrentPreviewScene(const Request&);
RequestResult SetCurrentPreviewScene(const Request&);
RequestResult SetSceneName(const Request&);
RequestResult CreateScene(const Request&);
2021-06-16 06:57:48 +00:00
RequestResult RemoveScene(const Request&);
2021-06-15 05:52:23 +00:00
2021-06-16 07:49:07 +00:00
// Inputs
RequestResult GetInputList(const Request&);
RequestResult GetInputKindList(const Request&);
2021-06-16 07:49:07 +00:00
static const std::map<std::string, RequestMethodHandler> _handlerMap;
};