#if !defined(UTILS_INTERFACEHOLDER_HPP__) #define UTILS_INTERFACEHOLDER_HPP__ #include #include extern toonz::host_interface_t *ifactory_; void release_interf(void *interf) { ifactory_->release_interface(interf); } template std::unique_ptr grab_interf(const toonz::UUID *uuid) { T *interf = nullptr; if (ifactory_->query_interface(uuid, reinterpret_cast(&interf))) return std::unique_ptr(nullptr, release_interf); return std::move(std::unique_ptr(interf, release_interf)); } #endif