mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
WSRequestHandler: add int and double type check methods
This commit is contained in:
parent
f097b36c2e
commit
fb0d13a171
@ -226,7 +226,7 @@ HandlerResponse WSRequestHandler::SendResponse(const char* status, obs_data_t* f
|
||||
return response;
|
||||
}
|
||||
|
||||
bool WSRequestHandler::hasField(QString name, obs_data_type expectedFieldType) {
|
||||
bool WSRequestHandler::hasField(QString name, obs_data_type expectedFieldType, obs_data_number_type expectedNumberType) {
|
||||
if (!data || name.isEmpty() || name.isNull()) {
|
||||
return false;
|
||||
}
|
||||
@ -241,6 +241,13 @@ bool WSRequestHandler::hasField(QString name, obs_data_type expectedFieldType) {
|
||||
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;
|
||||
@ -254,8 +261,16 @@ bool WSRequestHandler::hasString(QString fieldName) {
|
||||
return this->hasField(fieldName, OBS_DATA_STRING);
|
||||
}
|
||||
|
||||
bool WSRequestHandler::hasNumber(QString fieldName) {
|
||||
return this->hasField(fieldName, OBS_DATA_NUMBER);
|
||||
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) {
|
||||
|
@ -42,10 +42,13 @@ class WSRequestHandler : public QObject {
|
||||
~WSRequestHandler();
|
||||
std::string processIncomingMessage(std::string& textMessage);
|
||||
|
||||
bool hasField(QString fieldName, obs_data_type expectedFieldType = OBS_DATA_NULL);
|
||||
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);
|
||||
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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user