mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
WSRequestHandler: fix main
This commit is contained in:
parent
ee6e241144
commit
ffa6371e3d
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
#include "WSRequestHandler.h"
|
#include "WSRequestHandler.h"
|
||||||
|
|
||||||
QHash<QString, HandlerResponse(*)(WSRequestHandler*)> WSRequestHandler::messageMap{
|
QHash<QString, RpcResponse(*)(const RpcRequest&)> WSRequestHandler::messageMap {
|
||||||
{ "GetVersion", WSRequestHandler::HandleGetVersion },
|
{ "GetVersion", WSRequestHandler::HandleGetVersion },
|
||||||
{ "GetAuthRequired", WSRequestHandler::HandleGetAuthRequired },
|
{ "GetAuthRequired", WSRequestHandler::HandleGetAuthRequired },
|
||||||
{ "Authenticate", WSRequestHandler::HandleAuthenticate },
|
{ "Authenticate", WSRequestHandler::HandleAuthenticate },
|
||||||
@ -148,141 +148,80 @@ QSet<QString> WSRequestHandler::authNotRequired {
|
|||||||
};
|
};
|
||||||
|
|
||||||
WSRequestHandler::WSRequestHandler(ConnectionProperties& connProperties) :
|
WSRequestHandler::WSRequestHandler(ConnectionProperties& connProperties) :
|
||||||
_messageId(0),
|
|
||||||
_requestType(""),
|
|
||||||
data(nullptr),
|
|
||||||
_connProperties(connProperties)
|
_connProperties(connProperties)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string WSRequestHandler::processIncomingMessage(std::string& textMessage) {
|
// std::string WSRequestHandler::processIncomingMessage(std::string& textMessage) {
|
||||||
if (GetConfig()->DebugEnabled) {
|
// if (GetConfig()->DebugEnabled) {
|
||||||
blog(LOG_INFO, "Request >> '%s'", textMessage.c_str());
|
// blog(LOG_INFO, "Request >> '%s'", textMessage.c_str());
|
||||||
}
|
// }
|
||||||
|
|
||||||
OBSDataAutoRelease responseData = processRequest(textMessage);
|
// OBSDataAutoRelease responseData = processRequest(textMessage);
|
||||||
std::string response = obs_data_get_json(responseData);
|
// std::string response = obs_data_get_json(responseData);
|
||||||
|
|
||||||
if (GetConfig()->DebugEnabled) {
|
// if (GetConfig()->DebugEnabled) {
|
||||||
blog(LOG_INFO, "Response << '%s'", response.c_str());
|
// blog(LOG_INFO, "Response << '%s'", response.c_str());
|
||||||
}
|
// }
|
||||||
|
|
||||||
return response;
|
// return response;
|
||||||
}
|
// }
|
||||||
|
|
||||||
HandlerResponse WSRequestHandler::processRequest(std::string& textMessage){
|
RpcResponse WSRequestHandler::processRequest(const RpcRequest& request){
|
||||||
std::string msgContainer(textMessage);
|
// std::string msgContainer(textMessage);
|
||||||
const char* msg = msgContainer.c_str();
|
// const char* msg = msgContainer.c_str();
|
||||||
|
|
||||||
data = obs_data_create_from_json(msg);
|
// data = obs_data_create_from_json(msg);
|
||||||
if (!data) {
|
// if (!data) {
|
||||||
blog(LOG_ERROR, "invalid JSON payload received for '%s'", msg);
|
// blog(LOG_ERROR, "invalid JSON payload received for '%s'", msg);
|
||||||
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");
|
||||||
|
|
||||||
if (GetConfig()->AuthRequired
|
if (GetConfig()->AuthRequired
|
||||||
&& (!authNotRequired.contains(_requestType))
|
&& (!authNotRequired.contains(request.methodName()))
|
||||||
&& (!_connProperties.isAuthenticated()))
|
&& (!_connProperties.isAuthenticated()))
|
||||||
{
|
{
|
||||||
return SendErrorResponse("Not Authenticated");
|
return RpcResponse::fail(request, "Not Authenticated");
|
||||||
}
|
}
|
||||||
|
|
||||||
HandlerResponse (*handlerFunc)(WSRequestHandler*) = (messageMap[_requestType]);
|
RpcResponse (*handlerFunc)(const RpcRequest&) = (messageMap[request.methodName()]);
|
||||||
if (!handlerFunc) {
|
if (!handlerFunc) {
|
||||||
return SendErrorResponse("invalid request type");
|
return RpcResponse::fail(request, "invalid request type");
|
||||||
}
|
}
|
||||||
|
|
||||||
return handlerFunc(this);
|
return handlerFunc(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
WSRequestHandler::~WSRequestHandler() {
|
// HandlerResponse WSRequestHandler::SendOKResponse(obs_data_t* additionalFields) {
|
||||||
}
|
// return SendResponse("ok", additionalFields);
|
||||||
|
// }
|
||||||
|
|
||||||
HandlerResponse WSRequestHandler::SendOKResponse(obs_data_t* additionalFields) {
|
// HandlerResponse WSRequestHandler::SendErrorResponse(QString errorMessage) {
|
||||||
return SendResponse("ok", additionalFields);
|
// OBSDataAutoRelease fields = obs_data_create();
|
||||||
}
|
// obs_data_set_string(fields, "error", errorMessage.toUtf8().constData());
|
||||||
|
|
||||||
HandlerResponse WSRequestHandler::SendErrorResponse(QString errorMessage) {
|
// return SendResponse("error", fields);
|
||||||
OBSDataAutoRelease fields = obs_data_create();
|
// }
|
||||||
obs_data_set_string(fields, "error", errorMessage.toUtf8().constData());
|
|
||||||
|
|
||||||
return SendResponse("error", fields);
|
// HandlerResponse WSRequestHandler::SendErrorResponse(obs_data_t* additionalFields) {
|
||||||
}
|
// return SendResponse("error", additionalFields);
|
||||||
|
// }
|
||||||
|
|
||||||
HandlerResponse WSRequestHandler::SendErrorResponse(obs_data_t* additionalFields) {
|
// HandlerResponse WSRequestHandler::SendResponse(const char* status, obs_data_t* fields) {
|
||||||
return SendResponse("error", additionalFields);
|
// obs_data_t* response = obs_data_create();
|
||||||
}
|
// obs_data_set_string(response, "message-id", _messageId);
|
||||||
|
// obs_data_set_string(response, "status", status);
|
||||||
|
|
||||||
HandlerResponse WSRequestHandler::SendResponse(const char* status, obs_data_t* fields) {
|
// if (fields) {
|
||||||
obs_data_t* response = obs_data_create();
|
// obs_data_apply(response, fields);
|
||||||
obs_data_set_string(response, "message-id", _messageId);
|
// }
|
||||||
obs_data_set_string(response, "status", status);
|
|
||||||
|
|
||||||
if (fields) {
|
// return response;
|
||||||
obs_data_apply(response, fields);
|
// }
|
||||||
}
|
|
||||||
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WSRequestHandler::hasField(QString name, obs_data_type expectedFieldType, obs_data_number_type expectedNumberType) {
|
|
||||||
if (!data || name.isEmpty() || name.isNull()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
OBSDataItemAutoRelease dataItem = obs_data_item_byname(data, name.toUtf8());
|
|
||||||
if (!dataItem) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (expectedFieldType != OBS_DATA_NULL) {
|
|
||||||
obs_data_type fieldType = obs_data_item_gettype(dataItem);
|
|
||||||
if (fieldType != expectedFieldType) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fieldType == OBS_DATA_NUMBER && expectedNumberType != OBS_DATA_NUM_INVALID) {
|
|
||||||
obs_data_number_type numberType = obs_data_item_numtype(dataItem);
|
|
||||||
if (numberType != expectedNumberType) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WSRequestHandler::hasBool(QString fieldName) {
|
|
||||||
return this->hasField(fieldName, OBS_DATA_BOOLEAN);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WSRequestHandler::hasString(QString fieldName) {
|
|
||||||
return this->hasField(fieldName, OBS_DATA_STRING);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WSRequestHandler::hasNumber(QString fieldName, obs_data_number_type expectedNumberType) {
|
|
||||||
return this->hasField(fieldName, OBS_DATA_NUMBER, expectedNumberType);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WSRequestHandler::hasInteger(QString fieldName) {
|
|
||||||
return this->hasNumber(fieldName, OBS_DATA_NUM_INT);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WSRequestHandler::hasDouble(QString fieldName) {
|
|
||||||
return this->hasNumber(fieldName, OBS_DATA_NUM_DOUBLE);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WSRequestHandler::hasArray(QString fieldName) {
|
|
||||||
return this->hasField(fieldName, OBS_DATA_ARRAY);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WSRequestHandler::hasObject(QString fieldName) {
|
|
||||||
return this->hasField(fieldName, OBS_DATA_OBJECT);
|
|
||||||
}
|
|
||||||
|
@ -30,160 +30,134 @@ with this program. If not, see <https://www.gnu.org/licenses/>
|
|||||||
|
|
||||||
#include "ConnectionProperties.h"
|
#include "ConnectionProperties.h"
|
||||||
|
|
||||||
|
#include "rpc/RpcRequest.h"
|
||||||
|
#include "rpc/RpcResponse.h"
|
||||||
|
|
||||||
#include "obs-websocket.h"
|
#include "obs-websocket.h"
|
||||||
|
|
||||||
typedef obs_data_t* HandlerResponse;
|
class WSRequestHandler {
|
||||||
|
|
||||||
class WSRequestHandler : public QObject {
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit WSRequestHandler(ConnectionProperties& connProperties);
|
explicit WSRequestHandler(ConnectionProperties& connProperties);
|
||||||
~WSRequestHandler();
|
RpcResponse processRequest(const RpcRequest& textMessage);
|
||||||
std::string processIncomingMessage(std::string& textMessage);
|
|
||||||
|
|
||||||
bool hasField(QString fieldName, obs_data_type expectedFieldType = OBS_DATA_NULL,
|
|
||||||
obs_data_number_type expectedNumberType = OBS_DATA_NUM_INVALID);
|
|
||||||
bool hasBool(QString fieldName);
|
|
||||||
bool hasString(QString fieldName);
|
|
||||||
bool hasNumber(QString fieldName, obs_data_number_type expectedNumberType = OBS_DATA_NUM_INVALID);
|
|
||||||
bool hasInteger(QString fieldName);
|
|
||||||
bool hasDouble(QString fieldName);
|
|
||||||
bool hasArray(QString fieldName);
|
|
||||||
bool hasObject(QString fieldName);
|
|
||||||
|
|
||||||
HandlerResponse SendOKResponse(obs_data_t* additionalFields = nullptr);
|
|
||||||
HandlerResponse SendErrorResponse(QString errorMessage);
|
|
||||||
HandlerResponse SendErrorResponse(obs_data_t* additionalFields = nullptr);
|
|
||||||
HandlerResponse SendResponse(const char* status, obs_data_t* additionalFields = nullptr);
|
|
||||||
|
|
||||||
obs_data_t* parameters() {
|
|
||||||
return this->data;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const char* _messageId;
|
|
||||||
const char* _requestType;
|
|
||||||
ConnectionProperties& _connProperties;
|
ConnectionProperties& _connProperties;
|
||||||
OBSDataAutoRelease data;
|
|
||||||
|
|
||||||
HandlerResponse processRequest(std::string& textMessage);
|
static QHash<QString, RpcResponse(*)(const RpcRequest&)> messageMap;
|
||||||
|
|
||||||
static QHash<QString, HandlerResponse(*)(WSRequestHandler*)> messageMap;
|
|
||||||
static QSet<QString> authNotRequired;
|
static QSet<QString> authNotRequired;
|
||||||
|
|
||||||
static HandlerResponse HandleGetVersion(WSRequestHandler* req);
|
static RpcResponse HandleGetVersion(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetAuthRequired(WSRequestHandler* req);
|
static RpcResponse HandleGetAuthRequired(const RpcRequest&);
|
||||||
static HandlerResponse HandleAuthenticate(WSRequestHandler* req);
|
static RpcResponse HandleAuthenticate(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleGetStats(WSRequestHandler* req);
|
static RpcResponse HandleGetStats(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetHeartbeat(WSRequestHandler* req);
|
static RpcResponse HandleSetHeartbeat(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetVideoInfo(WSRequestHandler* req);
|
static RpcResponse HandleGetVideoInfo(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleSetFilenameFormatting(WSRequestHandler* req);
|
static RpcResponse HandleSetFilenameFormatting(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetFilenameFormatting(WSRequestHandler* req);
|
static RpcResponse HandleGetFilenameFormatting(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleBroadcastCustomMessage(WSRequestHandler* req);
|
static RpcResponse HandleBroadcastCustomMessage(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleSetCurrentScene(WSRequestHandler* req);
|
static RpcResponse HandleSetCurrentScene(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetCurrentScene(WSRequestHandler* req);
|
static RpcResponse HandleGetCurrentScene(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetSceneList(WSRequestHandler* req);
|
static RpcResponse HandleGetSceneList(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleSetSceneItemRender(WSRequestHandler* req);
|
static RpcResponse HandleSetSceneItemRender(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetSceneItemPosition(WSRequestHandler* req);
|
static RpcResponse HandleSetSceneItemPosition(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetSceneItemTransform(WSRequestHandler* req);
|
static RpcResponse HandleSetSceneItemTransform(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetSceneItemCrop(WSRequestHandler* req);
|
static RpcResponse HandleSetSceneItemCrop(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetSceneItemProperties(WSRequestHandler* req);
|
static RpcResponse HandleGetSceneItemProperties(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetSceneItemProperties(WSRequestHandler* req);
|
static RpcResponse HandleSetSceneItemProperties(const RpcRequest&);
|
||||||
static HandlerResponse HandleResetSceneItem(WSRequestHandler* req);
|
static RpcResponse HandleResetSceneItem(const RpcRequest&);
|
||||||
static HandlerResponse HandleDuplicateSceneItem(WSRequestHandler* req);
|
static RpcResponse HandleDuplicateSceneItem(const RpcRequest&);
|
||||||
static HandlerResponse HandleDeleteSceneItem(WSRequestHandler* req);
|
static RpcResponse HandleDeleteSceneItem(const RpcRequest&);
|
||||||
static HandlerResponse HandleReorderSceneItems(WSRequestHandler* req);
|
static RpcResponse HandleReorderSceneItems(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleGetStreamingStatus(WSRequestHandler* req);
|
static RpcResponse HandleGetStreamingStatus(const RpcRequest&);
|
||||||
static HandlerResponse HandleStartStopStreaming(WSRequestHandler* req);
|
static RpcResponse HandleStartStopStreaming(const RpcRequest&);
|
||||||
static HandlerResponse HandleStartStopRecording(WSRequestHandler* req);
|
static RpcResponse HandleStartStopRecording(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleStartStreaming(WSRequestHandler* req);
|
static RpcResponse HandleStartStreaming(const RpcRequest&);
|
||||||
static HandlerResponse HandleStopStreaming(WSRequestHandler* req);
|
static RpcResponse HandleStopStreaming(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleStartRecording(WSRequestHandler* req);
|
static RpcResponse HandleStartRecording(const RpcRequest&);
|
||||||
static HandlerResponse HandleStopRecording(WSRequestHandler* req);
|
static RpcResponse HandleStopRecording(const RpcRequest&);
|
||||||
static HandlerResponse HandlePauseRecording(WSRequestHandler* req);
|
static RpcResponse HandlePauseRecording(const RpcRequest&);
|
||||||
static HandlerResponse HandleResumeRecording(WSRequestHandler* req);
|
static RpcResponse HandleResumeRecording(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleStartStopReplayBuffer(WSRequestHandler* req);
|
static RpcResponse HandleStartStopReplayBuffer(const RpcRequest&);
|
||||||
static HandlerResponse HandleStartReplayBuffer(WSRequestHandler* req);
|
static RpcResponse HandleStartReplayBuffer(const RpcRequest&);
|
||||||
static HandlerResponse HandleStopReplayBuffer(WSRequestHandler* req);
|
static RpcResponse HandleStopReplayBuffer(const RpcRequest&);
|
||||||
static HandlerResponse HandleSaveReplayBuffer(WSRequestHandler* req);
|
static RpcResponse HandleSaveReplayBuffer(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleSetRecordingFolder(WSRequestHandler* req);
|
static RpcResponse HandleSetRecordingFolder(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetRecordingFolder(WSRequestHandler* req);
|
static RpcResponse HandleGetRecordingFolder(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleGetTransitionList(WSRequestHandler* req);
|
static RpcResponse HandleGetTransitionList(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetCurrentTransition(WSRequestHandler* req);
|
static RpcResponse HandleGetCurrentTransition(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetCurrentTransition(WSRequestHandler* req);
|
static RpcResponse HandleSetCurrentTransition(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleSetVolume(WSRequestHandler* req);
|
static RpcResponse HandleSetVolume(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetVolume(WSRequestHandler* req);
|
static RpcResponse HandleGetVolume(const RpcRequest&);
|
||||||
static HandlerResponse HandleToggleMute(WSRequestHandler* req);
|
static RpcResponse HandleToggleMute(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetMute(WSRequestHandler* req);
|
static RpcResponse HandleSetMute(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetMute(WSRequestHandler* req);
|
static RpcResponse HandleGetMute(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetSyncOffset(WSRequestHandler* req);
|
static RpcResponse HandleSetSyncOffset(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetSyncOffset(WSRequestHandler* req);
|
static RpcResponse HandleGetSyncOffset(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetSpecialSources(WSRequestHandler* req);
|
static RpcResponse HandleGetSpecialSources(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetSourcesList(WSRequestHandler* req);
|
static RpcResponse HandleGetSourcesList(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetSourceTypesList(WSRequestHandler* req);
|
static RpcResponse HandleGetSourceTypesList(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetSourceSettings(WSRequestHandler* req);
|
static RpcResponse HandleGetSourceSettings(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetSourceSettings(WSRequestHandler* req);
|
static RpcResponse HandleSetSourceSettings(const RpcRequest&);
|
||||||
static HandlerResponse HandleTakeSourceScreenshot(WSRequestHandler* req);
|
static RpcResponse HandleTakeSourceScreenshot(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleGetSourceFilters(WSRequestHandler* req);
|
static RpcResponse HandleGetSourceFilters(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetSourceFilterInfo(WSRequestHandler* req);
|
static RpcResponse HandleGetSourceFilterInfo(const RpcRequest&);
|
||||||
static HandlerResponse HandleAddFilterToSource(WSRequestHandler* req);
|
static RpcResponse HandleAddFilterToSource(const RpcRequest&);
|
||||||
static HandlerResponse HandleRemoveFilterFromSource(WSRequestHandler* req);
|
static RpcResponse HandleRemoveFilterFromSource(const RpcRequest&);
|
||||||
static HandlerResponse HandleReorderSourceFilter(WSRequestHandler* req);
|
static RpcResponse HandleReorderSourceFilter(const RpcRequest&);
|
||||||
static HandlerResponse HandleMoveSourceFilter(WSRequestHandler* req);
|
static RpcResponse HandleMoveSourceFilter(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetSourceFilterSettings(WSRequestHandler* req);
|
static RpcResponse HandleSetSourceFilterSettings(const RpcRequest&);
|
||||||
static HandlerResponse HandleSetSourceFilterVisibility(WSRequestHandler* req);
|
static RpcResponse HandleSetSourceFilterVisibility(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleSetCurrentSceneCollection(WSRequestHandler* req);
|
static RpcResponse HandleSetCurrentSceneCollection(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetCurrentSceneCollection(WSRequestHandler* req);
|
static RpcResponse HandleGetCurrentSceneCollection(const RpcRequest&);
|
||||||
static HandlerResponse HandleListSceneCollections(WSRequestHandler* req);
|
static RpcResponse HandleListSceneCollections(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleSetCurrentProfile(WSRequestHandler* req);
|
static RpcResponse HandleSetCurrentProfile(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetCurrentProfile(WSRequestHandler* req);
|
static RpcResponse HandleGetCurrentProfile(const RpcRequest&);
|
||||||
static HandlerResponse HandleListProfiles(WSRequestHandler* req);
|
static RpcResponse HandleListProfiles(const RpcRequest&);
|
||||||
|
|
||||||
static HandlerResponse HandleSetStreamSettings(WSRequestHandler* req);
|
static RpcResponse HandleSetStreamSettings(const RpcRequest&);
|
||||||
static HandlerResponse HandleGetStreamSettings(WSRequestHandler* req);
|
static RpcResponse HandleGetStreamSettings(const RpcRequest&);
|
||||||
static HandlerResponse HandleSaveStreamSettings(WSRequestHandler* req);
|
static RpcResponse HandleSaveStreamSettings(const RpcRequest&);
|
||||||
#if BUILD_CAPTIONS
|
#if BUILD_CAPTIONS
|
||||||
static HandlerResponse HandleSendCaptions(WSRequestHandler * req);
|
static RpcResponse HandleSendCaptions(WSRequestHandler * req);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static HandlerResponse HandleSetTransitionDuration(WSRequestHandler* req);
|
static RpcResponse HandleSetTransitionDuration(const RpcRequest& request);
|
||||||
static HandlerResponse HandleGetTransitionDuration(WSRequestHandler* req);
|
static RpcResponse HandleGetTransitionDuration(const RpcRequest& request);
|
||||||
|
|
||||||
static HandlerResponse HandleGetStudioModeStatus(WSRequestHandler* req);
|
static RpcResponse HandleGetStudioModeStatus(const RpcRequest& request);
|
||||||
static HandlerResponse HandleGetPreviewScene(WSRequestHandler* req);
|
static RpcResponse HandleGetPreviewScene(const RpcRequest& request);
|
||||||
static HandlerResponse HandleSetPreviewScene(WSRequestHandler* req);
|
static RpcResponse HandleSetPreviewScene(const RpcRequest& request);
|
||||||
static HandlerResponse HandleTransitionToProgram(WSRequestHandler* req);
|
static RpcResponse HandleTransitionToProgram(const RpcRequest& request);
|
||||||
static HandlerResponse HandleEnableStudioMode(WSRequestHandler* req);
|
static RpcResponse HandleEnableStudioMode(const RpcRequest& request);
|
||||||
static HandlerResponse HandleDisableStudioMode(WSRequestHandler* req);
|
static RpcResponse HandleDisableStudioMode(const RpcRequest& request);
|
||||||
static HandlerResponse HandleToggleStudioMode(WSRequestHandler* req);
|
static RpcResponse HandleToggleStudioMode(const RpcRequest& request);
|
||||||
|
|
||||||
static HandlerResponse HandleSetTextGDIPlusProperties(WSRequestHandler* req);
|
static RpcResponse HandleSetTextGDIPlusProperties(const RpcRequest& request);
|
||||||
static HandlerResponse HandleGetTextGDIPlusProperties(WSRequestHandler* req);
|
static RpcResponse HandleGetTextGDIPlusProperties(const RpcRequest& request);
|
||||||
|
|
||||||
static HandlerResponse HandleSetTextFreetype2Properties(WSRequestHandler* req);
|
static RpcResponse HandleSetTextFreetype2Properties(const RpcRequest& request);
|
||||||
static HandlerResponse HandleGetTextFreetype2Properties(WSRequestHandler* req);
|
static RpcResponse HandleGetTextFreetype2Properties(const RpcRequest& request);
|
||||||
|
|
||||||
static HandlerResponse HandleSetBrowserSourceProperties(WSRequestHandler* req);
|
static RpcResponse HandleSetBrowserSourceProperties(const RpcRequest& request);
|
||||||
static HandlerResponse HandleGetBrowserSourceProperties(WSRequestHandler* req);
|
static RpcResponse HandleGetBrowserSourceProperties(const RpcRequest& request);
|
||||||
|
|
||||||
static HandlerResponse HandleListOutputs(WSRequestHandler* req);
|
static RpcResponse HandleListOutputs(const RpcRequest& request);
|
||||||
static HandlerResponse HandleGetOutputInfo(WSRequestHandler* req);
|
static RpcResponse HandleGetOutputInfo(const RpcRequest& request);
|
||||||
static HandlerResponse HandleStartOutput(WSRequestHandler* req);
|
static RpcResponse HandleStartOutput(const RpcRequest& request);
|
||||||
static HandlerResponse HandleStopOutput(WSRequestHandler* req);
|
static RpcResponse HandleStopOutput(const RpcRequest& request);
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user