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->getFactoryInfo(&info) == Steinberg::kResultOk) {
factory_info = info; factory_info = info;
} }
num_classes = factory->countClasses();
auto factory2 = Steinberg::FUnknownPtr<Steinberg::IPluginFactory2>(factory); auto factory2 = Steinberg::FUnknownPtr<Steinberg::IPluginFactory2>(factory);
if (!factory2) { if (!factory2) {
@@ -89,8 +90,7 @@ YaPluginFactory::getFactoryInfo(Steinberg::PFactoryInfo* info) {
} }
int32 PLUGIN_API YaPluginFactory::countClasses() { int32 PLUGIN_API YaPluginFactory::countClasses() {
// TODO: Implement return num_classes;
return 0;
} }
tresult PLUGIN_API tresult PLUGIN_API
@@ -88,6 +88,8 @@ class YaPluginFactory : public Steinberg::IPluginFactory3 {
// For `IPluginFactory::getFactoryInfo` // For `IPluginFactory::getFactoryInfo`
std::optional<Steinberg::PFactoryInfo> factory_info; std::optional<Steinberg::PFactoryInfo> factory_info;
// For `IPluginFactory::countClasses`
int num_classes;
template <typename S> template <typename S>
void serialize(S& s) { void serialize(S& s) {
@@ -97,6 +99,7 @@ class YaPluginFactory : public Steinberg::IPluginFactory3 {
}); });
s.ext(factory_info, bitsery::ext::StdOptional{}, s.ext(factory_info, bitsery::ext::StdOptional{},
[](S& s, Steinberg::PFactoryInfo& info) { s.object(info); }); [](S& s, Steinberg::PFactoryInfo& info) { s.object(info); });
s.value4b(num_classes);
} }
}; };