| 324 | }; |
| 325 | |
| 326 | Loader::UniquePtr Loader::create(PreviewId id, const Image& image) { |
| 327 | if (id < 0 || id >= Loader::getNumLoaders()) |
| 328 | return nullptr; |
| 329 | |
| 330 | if (loaderList_[id].imageMimeType_ && std::string(loaderList_[id].imageMimeType_) != image.mimeType()) |
| 331 | return nullptr; |
| 332 | |
| 333 | auto loader = loaderList_[id].create_(id, image, loaderList_[id].parIdx_); |
| 334 | |
| 335 | if (loader && !loader->valid()) |
| 336 | return nullptr; |
| 337 | |
| 338 | return loader; |
| 339 | } |
| 340 | |
| 341 | Loader::Loader(PreviewId id, const Image& image) : id_(id), image_(image) { |
| 342 | } |