Implement IPluginFactory::countClasses()

This commit is contained in:
Robbert van der Helm
2020-12-05 13:52:48 +01:00
parent 79df8fecc2
commit e6da03ae84
2 changed files with 5 additions and 2 deletions
@@ -30,6 +30,7 @@ YaPluginFactory::YaPluginFactory(
factory->getFactoryInfo(&info) == Steinberg::kResultOk) {
factory_info = info;
}
num_classes = factory->countClasses();
auto factory2 = Steinberg::FUnknownPtr<Steinberg::IPluginFactory2>(factory);
if (!factory2) {
@@ -89,8 +90,7 @@ YaPluginFactory::getFactoryInfo(Steinberg::PFactoryInfo* info) {
}
int32 PLUGIN_API YaPluginFactory::countClasses() {
// TODO: Implement
return 0;
return num_classes;
}
tresult PLUGIN_API
@@ -88,6 +88,8 @@ class YaPluginFactory : public Steinberg::IPluginFactory3 {
// For `IPluginFactory::getFactoryInfo`
std::optional<Steinberg::PFactoryInfo> factory_info;
// For `IPluginFactory::countClasses`
int num_classes;
template <typename S>
void serialize(S& s) {
@@ -97,6 +99,7 @@ class YaPluginFactory : public Steinberg::IPluginFactory3 {
});
s.ext(factory_info, bitsery::ext::StdOptional{},
[](S& s, Steinberg::PFactoryInfo& info) { s.object(info); });
s.value4b(num_classes);
}
};