Noexcept qualify the VST3 proxy implementations

For the same reasons mentioned in the last commit.
This commit is contained in:
Robbert van der Helm
2021-05-14 17:30:05 +02:00
parent 59ba2aeb5f
commit 8ba6e4a937
18 changed files with 37 additions and 27 deletions
@@ -22,7 +22,7 @@
Vst3ComponentHandlerProxyImpl::Vst3ComponentHandlerProxyImpl(
Vst3Bridge& bridge,
Vst3ComponentHandlerProxy::ConstructArgs&& args)
Vst3ComponentHandlerProxy::ConstructArgs&& args) noexcept
: Vst3ComponentHandlerProxy(std::move(args)), bridge(bridge) {
// The lifecycle of this object is managed together with that of the plugin
// object instance this host context got passed to
@@ -22,7 +22,7 @@ class Vst3ComponentHandlerProxyImpl : public Vst3ComponentHandlerProxy {
public:
Vst3ComponentHandlerProxyImpl(
Vst3Bridge& bridge,
Vst3ComponentHandlerProxy::ConstructArgs&& args);
Vst3ComponentHandlerProxy::ConstructArgs&& args) noexcept;
/**
* We'll override the query interface to log queries for interfaces we do
@@ -20,7 +20,7 @@
Vst3ConnectionPointProxyImpl::Vst3ConnectionPointProxyImpl(
Vst3Bridge& bridge,
Vst3ConnectionPointProxy::ConstructArgs&& args)
Vst3ConnectionPointProxy::ConstructArgs&& args) noexcept
: Vst3ConnectionPointProxy(std::move(args)), bridge(bridge) {}
tresult PLUGIN_API
@@ -22,7 +22,7 @@ class Vst3ConnectionPointProxyImpl : public Vst3ConnectionPointProxy {
public:
Vst3ConnectionPointProxyImpl(
Vst3Bridge& bridge,
Vst3ConnectionPointProxy::ConstructArgs&& args);
Vst3ConnectionPointProxy::ConstructArgs&& args) noexcept;
/**
* We'll override the query interface to log queries for interfaces we do
@@ -20,14 +20,17 @@
Vst3ContextMenuProxyImpl::Vst3ContextMenuProxyImpl(
Vst3Bridge& bridge,
Vst3ContextMenuProxy::ConstructArgs&& args)
Vst3ContextMenuProxy::ConstructArgs&& args) noexcept
: Vst3ContextMenuProxy(std::move(args)), bridge(bridge) {
bridge.register_context_menu(*this);
}
Vst3ContextMenuProxyImpl::~Vst3ContextMenuProxyImpl() {
Vst3ContextMenuProxyImpl::~Vst3ContextMenuProxyImpl() noexcept {
// Also drop the context menu smart pointer on plugin side when this gets
// dropped
// NOTE: This can actually throw (e.g. out of memory or the socket got
// closed). But if that were to happen, then we wouldn't be able to
// recover from it anyways.
bridge.send_message(
Vst3ContextMenuProxy::Destruct{.owner_instance_id = owner_instance_id(),
.context_menu_id = context_menu_id()});
@@ -20,14 +20,15 @@
class Vst3ContextMenuProxyImpl : public Vst3ContextMenuProxy {
public:
Vst3ContextMenuProxyImpl(Vst3Bridge& bridge,
Vst3ContextMenuProxy::ConstructArgs&& args);
Vst3ContextMenuProxyImpl(
Vst3Bridge& bridge,
Vst3ContextMenuProxy::ConstructArgs&& args) noexcept;
/**
* When the reference count reaches zero and this destructor is called,
* we'll send a request to plugin to destroy the corresponding object.
*/
~Vst3ContextMenuProxyImpl();
~Vst3ContextMenuProxyImpl() noexcept override;
/**
* We'll override the query interface to log queries for interfaces we do
@@ -23,7 +23,7 @@
Vst3HostContextProxyImpl::Vst3HostContextProxyImpl(
Vst3Bridge& bridge,
Vst3HostContextProxy::ConstructArgs&& args)
Vst3HostContextProxy::ConstructArgs&& args) noexcept
: Vst3HostContextProxy(std::move(args)), bridge(bridge) {
// The lifecycle of this object is managed together with that of the plugin
// object instance this host context got passed to
@@ -21,7 +21,7 @@
class Vst3HostContextProxyImpl : public Vst3HostContextProxy {
public:
Vst3HostContextProxyImpl(Vst3Bridge& bridge,
Vst3HostContextProxy::ConstructArgs&& args);
Vst3HostContextProxy::ConstructArgs&& args) noexcept;
/**
* We'll override the query interface to log queries for interfaces we do
@@ -20,7 +20,7 @@
Vst3PlugFrameProxyImpl::Vst3PlugFrameProxyImpl(
Vst3Bridge& bridge,
Vst3PlugFrameProxy::ConstructArgs&& args)
Vst3PlugFrameProxy::ConstructArgs&& args) noexcept
: Vst3PlugFrameProxy(std::move(args)), bridge(bridge) {
// The lifecycle of this object is managed together with that of the plugin
// object instance this host context got passed to
@@ -21,7 +21,7 @@
class Vst3PlugFrameProxyImpl : public Vst3PlugFrameProxy {
public:
Vst3PlugFrameProxyImpl(Vst3Bridge& bridge,
Vst3PlugFrameProxy::ConstructArgs&& args);
Vst3PlugFrameProxy::ConstructArgs&& args) noexcept;
/**
* We'll override the query interface to log queries for interfaces we do