| 158 | } |
| 159 | } |
| 160 | |
| 161 | const IVoiceModelLoader * ModelRegistry::find_loader(const ModelLoadRequest & request) const { |
| 162 | for (const auto & loader : loaders_) { |
| 163 | if (request.family_hint.has_value() && loader->family() != *request.family_hint) { |
| 164 | continue; |
| 165 | } |
| 166 | if (request.family_hint.has_value()) { |
| 167 | return loader.get(); |
| 168 | } |
| 169 | if (loader->can_load(request)) { |
| 170 | return loader.get(); |
| 171 | } |
| 172 | } |
| 173 | return nullptr; |