Request and deserialize plugin factory from plugin

This commit is contained in:
Robbert van der Helm
2020-12-06 14:07:21 +01:00
parent 887a856e58
commit 79c6f02d91
9 changed files with 127 additions and 127 deletions
+10 -2
View File
@@ -45,16 +45,24 @@ struct WantsConfiguration {
using Response = Configuration;
};
/**
* Marker struct to indicate the other side (the Wine plugin host) should send a
* copy of the hosted Windows VST3 plugin's `IPluginFactory{,2,3}` interface.
*/
struct WantsPluginFactory {
using Response = YaPluginFactory;
};
/**
* When we send a control message from the plugin to the Wine VST host, this
* encodes the information we request or the operation we want to perform. A
* request of type `ControlRequest(T)` should send back a `T::Reponse`.
*/
using ControlRequest = std::variant<>;
using ControlRequest = std::variant<WantsPluginFactory>;
template <typename S>
void serialize(S& s, ControlRequest& payload) {
s.ext(payload, bitsery::ext::StdVariant{});
s.ext(payload, bitsery::ext::StdVariant{[](S&, WantsPluginFactory&) {}});
}
/**