diff --git a/src/rpc/RpcEvent.cpp b/src/rpc/RpcEvent.cpp index 488aaaf2..2c20f6f9 100644 --- a/src/rpc/RpcEvent.cpp +++ b/src/rpc/RpcEvent.cpp @@ -24,24 +24,8 @@ RpcEvent::RpcEvent(const QString& updateType, uint64_t streamTime, uint64_t reco _recordingTime(recordingTime), _fields(fields) { -} - -const QString& RpcEvent::updateType() const -{ - return _updateType; -} - -const uint64_t RpcEvent::streamTime() const -{ - return _streamTime; -} - -const uint64_t RpcEvent::recordingTime() const -{ - return _recordingTime; -} - -const OBSData RpcEvent::fields() const -{ - return OBSData(_fields); + if (fields) { + _fields = obs_data_create(); + obs_data_apply(_fields, fields); + } } \ No newline at end of file diff --git a/src/rpc/RpcEvent.h b/src/rpc/RpcEvent.h index b1deee67..8910232f 100644 --- a/src/rpc/RpcEvent.h +++ b/src/rpc/RpcEvent.h @@ -32,10 +32,25 @@ public: obs_data_t* fields = nullptr ); - const QString& updateType() const; - const uint64_t streamTime() const; - const uint64_t recordingTime() const; - const OBSData fields() const; + const QString& updateType() const + { + return _updateType; + } + + const uint64_t streamTime() const + { + return _streamTime; + } + + const uint64_t recordingTime() const + { + return _recordingTime; + } + + const OBSData fields() const + { + return OBSData(_fields); + } private: QString _updateType; diff --git a/src/rpc/RpcRequest.cpp b/src/rpc/RpcRequest.cpp index 81b211b0..04d62cb9 100644 --- a/src/rpc/RpcRequest.cpp +++ b/src/rpc/RpcRequest.cpp @@ -22,24 +22,12 @@ with this program. If not, see RpcRequest::RpcRequest(const QString& messageId, const QString& methodName, obs_data_t* params) : _messageId(messageId), _methodName(methodName), - _parameters(obs_data_create()) + _parameters(nullptr) { - obs_data_apply(_parameters, params); -} - -const QString& RpcRequest::messageId() const -{ - return _messageId; -} - -const QString& RpcRequest::methodName() const -{ - return _methodName; -} - -const OBSData RpcRequest::parameters() const -{ - return OBSData(_parameters); + if (params) { + _parameters = obs_data_create(); + obs_data_apply(_parameters, params); + } } const RpcResponse RpcRequest::success(obs_data_t* additionalFields) const diff --git a/src/rpc/RpcRequest.h b/src/rpc/RpcRequest.h index 04df4005..3e360150 100644 --- a/src/rpc/RpcRequest.h +++ b/src/rpc/RpcRequest.h @@ -30,9 +30,20 @@ class RpcRequest public: explicit RpcRequest(const QString& messageId, const QString& methodName, obs_data_t* params); - const QString& messageId() const; - const QString& methodName() const; - const OBSData parameters() const; + const QString& messageId() const + { + return _messageId; + } + + const QString& methodName() const + { + return _methodName; + } + + const OBSData parameters() const + { + return OBSData(_parameters); + } const RpcResponse success(obs_data_t* additionalFields = nullptr) const; const RpcResponse failed(const QString& errorMessage, obs_data_t* additionalFields = nullptr) const;