From 8202a6b2509538f0cfc57aef46ffb4bd3b36b03c Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Sat, 6 Jun 2020 13:19:38 +0200 Subject: [PATCH] Add missing const qualifiers to member functions --- src/common/events.h | 13 +++++++------ src/common/logging.cpp | 2 +- src/common/logging.h | 2 +- src/plugin/plugin-bridge.cpp | 16 ++++++++++------ src/wine-host/bridges/group.h | 2 +- src/wine-host/bridges/vst2.cpp | 18 +++++++++++------- src/wine-host/bridges/vst2.h | 4 ++-- src/wine-host/editor.cpp | 6 +++--- src/wine-host/editor.h | 6 +++--- 9 files changed, 39 insertions(+), 30 deletions(-) diff --git a/src/common/events.h b/src/common/events.h index 775e475c..99473828 100644 --- a/src/common/events.h +++ b/src/common/events.h @@ -38,7 +38,7 @@ class DefaultDataConverter { virtual EventPayload read(const int /*opcode*/, const int /*index*/, const intptr_t /*value*/, - const void* data) { + const void* data) const { if (!data) { return nullptr; } @@ -60,8 +60,9 @@ class DefaultDataConverter { * can be serialized and conveys the meaning of the event. This is only used * for the `effSetSpeakerArrangement` and `effGetSpeakerArrangement` events. */ - virtual std::optional read_value(const int /*opcode*/, - const intptr_t /*value*/) { + virtual std::optional read_value( + const int /*opcode*/, + const intptr_t /*value*/) const { return std::nullopt; } @@ -70,7 +71,7 @@ class DefaultDataConverter { */ virtual void write(const int /*opcode*/, void* data, - const EventResult& response) { + const EventResult& response) const { // The default behavior is to handle this as a null terminated C-style // string std::visit(overload{[&](const auto&) {}, @@ -92,7 +93,7 @@ class DefaultDataConverter { */ virtual void write_value(const int /*opcode*/, intptr_t /*value*/, - const EventResult& /*response*/) {} + const EventResult& /*response*/) const {} /** * This function can override a callback's return value based on the opcode. @@ -104,7 +105,7 @@ class DefaultDataConverter { * function. */ virtual intptr_t return_value(const int /*opcode*/, - const intptr_t original) { + const intptr_t original) const { return original; } }; diff --git a/src/common/logging.cpp b/src/common/logging.cpp index 642735a5..1910df8a 100644 --- a/src/common/logging.cpp +++ b/src/common/logging.cpp @@ -297,7 +297,7 @@ void Logger::log_event_response( } } -bool Logger::should_filter_event(bool is_dispatch, int opcode) { +bool Logger::should_filter_event(bool is_dispatch, int opcode) const { if (verbosity >= Verbosity::all_events) { return false; } diff --git a/src/common/logging.h b/src/common/logging.h index a4e33799..2c260a5b 100644 --- a/src/common/logging.h +++ b/src/common/logging.h @@ -118,7 +118,7 @@ class Logger { * Determine whether an event should be filtered based on the current * verbosity level. */ - bool should_filter_event(bool is_dispatch, int opcode); + bool should_filter_event(bool is_dispatch, int opcode) const; /** * The output stream to write the log messages to. Typically either STDERR diff --git a/src/plugin/plugin-bridge.cpp b/src/plugin/plugin-bridge.cpp index 55e8c1ec..befd3da3 100644 --- a/src/plugin/plugin-bridge.cpp +++ b/src/plugin/plugin-bridge.cpp @@ -187,7 +187,7 @@ class DispatchDataConverter : DefaultDataConverter { EventPayload read(const int opcode, const int index, const intptr_t value, - const void* data) { + const void* data) const override { // There are some events that need specific structs that we can't simply // serialize as a string because they might contain null bytes switch (opcode) { @@ -262,8 +262,9 @@ class DispatchDataConverter : DefaultDataConverter { } } - std::optional read_value(const int opcode, - const intptr_t value) { + std::optional read_value( + const int opcode, + const intptr_t value) const override { switch (opcode) { case effSetSpeakerArrangement: case effGetSpeakerArrangement: @@ -282,7 +283,9 @@ class DispatchDataConverter : DefaultDataConverter { } } - void write(const int opcode, void* data, const EventResult& response) { + void write(const int opcode, + void* data, + const EventResult& response) const override { switch (opcode) { case effOpen: { // Update our `AEffect` object one last time for improperly @@ -363,13 +366,14 @@ class DispatchDataConverter : DefaultDataConverter { } } - intptr_t return_value(const int opcode, const intptr_t original) { + intptr_t return_value(const int opcode, + const intptr_t original) const override { return DefaultDataConverter::return_value(opcode, original); } void write_value(const int opcode, intptr_t value, - const EventResult& response) { + const EventResult& response) const override { switch (opcode) { case effGetSpeakerArrangement: { // Same as the above, but now for the input speaker diff --git a/src/wine-host/bridges/group.h b/src/wine-host/bridges/group.h index 053a7d11..7c0b55b9 100644 --- a/src/wine-host/bridges/group.h +++ b/src/wine-host/bridges/group.h @@ -116,7 +116,7 @@ class GroupBridge { * STDOUT and STDERR streams of the current process will be redirected to * a pipe so they can be properly written to a log file. */ - GroupBridge(boost::filesystem::path group_socket_path); + explicit GroupBridge(boost::filesystem::path group_socket_path); ~GroupBridge(); diff --git a/src/wine-host/bridges/vst2.cpp b/src/wine-host/bridges/vst2.cpp index 4adb4bde..7fd7379c 100644 --- a/src/wine-host/bridges/vst2.cpp +++ b/src/wine-host/bridges/vst2.cpp @@ -144,7 +144,7 @@ Vst2Bridge::Vst2Bridge(boost::asio::io_context& main_context, Win32Thread(handle_process_replacing_proxy, this); } -bool Vst2Bridge::should_skip_message_loop() { +bool Vst2Bridge::should_skip_message_loop() const { return std::holds_alternative(editor); } @@ -417,7 +417,7 @@ class HostCallbackDataConverter : DefaultDataConverter { EventPayload read(const int opcode, const int index, const intptr_t value, - const void* data) { + const void* data) const override { switch (opcode) { case audioMasterGetTime: return WantsVstTimeInfo{}; @@ -445,12 +445,15 @@ class HostCallbackDataConverter : DefaultDataConverter { } } - std::optional read_value(const int opcode, - const intptr_t value) { + std::optional read_value( + const int opcode, + const intptr_t value) const override { return DefaultDataConverter::read_value(opcode, value); } - void write(const int opcode, void* data, const EventResult& response) { + void write(const int opcode, + void* data, + const EventResult& response) const override { switch (opcode) { case audioMasterGetTime: // Write the returned `VstTimeInfo` struct into a field and @@ -470,7 +473,8 @@ class HostCallbackDataConverter : DefaultDataConverter { } } - intptr_t return_value(const int opcode, const intptr_t original) { + intptr_t return_value(const int opcode, + const intptr_t original) const override { switch (opcode) { case audioMasterGetTime: { // Return a pointer to the `VstTimeInfo` object written in @@ -490,7 +494,7 @@ class HostCallbackDataConverter : DefaultDataConverter { void write_value(const int opcode, intptr_t value, - const EventResult& response) { + const EventResult& response) const override { return DefaultDataConverter::write_value(opcode, value, response); } diff --git a/src/wine-host/bridges/vst2.h b/src/wine-host/bridges/vst2.h index b75b7aae..89e41948 100644 --- a/src/wine-host/bridges/vst2.h +++ b/src/wine-host/bridges/vst2.h @@ -87,7 +87,7 @@ class Vst2Bridge { * individually hosted plugins this check is done implicitely in * `Vst2Bridge::handle_win32_events()`. */ - bool should_skip_message_loop(); + bool should_skip_message_loop() const; /** * Handle events until the plugin exits. The actual events are posted to @@ -151,7 +151,7 @@ class Vst2Bridge { private: /** * A wrapper around `plugin->dispatcher` that handles the opening and - * closing of GUIs. + * closing of GUIs. Used inside of `handle_dispatch()`. */ intptr_t dispatch_wrapper(AEffect* plugin, int opcode, diff --git a/src/wine-host/editor.cpp b/src/wine-host/editor.cpp index 794248f1..1e1a3852 100644 --- a/src/wine-host/editor.cpp +++ b/src/wine-host/editor.cpp @@ -139,7 +139,7 @@ void Editor::send_idle_event() { plugin->dispatcher(plugin, effEditIdle, 0, 0, nullptr, 0); } -void Editor::handle_win32_events() { +void Editor::handle_win32_events() const { MSG msg; // The null value for the second argument is needed to handle interaction @@ -162,7 +162,7 @@ void Editor::handle_win32_events() { } } -void Editor::handle_x11_events() { +void Editor::handle_x11_events() const { // TODO: Initiating drag-and-drop in Serum _sometimes_ causes the GUI to // update while dragging while other times it does not. From all the // plugins I've tested this only happens in Serum though. @@ -201,7 +201,7 @@ void Editor::handle_x11_events() { } } -void Editor::fix_local_coordinates() { +void Editor::fix_local_coordinates() const { // We're purposely not using XEmbed. This has the consequence that wine // still thinks that any X and Y coordinates are relative to the x11 window // root instead of the parent window provided by the DAW, causing all sorts diff --git a/src/wine-host/editor.h b/src/wine-host/editor.h index 92576eb0..dd031996 100644 --- a/src/wine-host/editor.h +++ b/src/wine-host/editor.h @@ -107,12 +107,12 @@ class Editor { * Must be run from the same thread the GUI was created in because of Win32 * limitations. */ - void handle_win32_events(); + void handle_win32_events() const; /** * Handle X11 events sent to the window our editor is embedded in. */ - void handle_x11_events(); + void handle_x11_events() const; private: /** @@ -120,7 +120,7 @@ class Editor { * reparenting without using XEmbed. See the comment at the top of the * implementation on why this is needed. */ - void fix_local_coordinates(); + void fix_local_coordinates() const; /** * A pointer to the currently active window. Will be a null pointer if no