50 public:
std::
string PrettyStr() const;
54 public:
std::unordered_set<
std::
string> InterfacesImplemented() const;
59 public:
std::unordered_set<
std::
string> PluginsImplementing(
60 const
std::
string &_interface) const;
65 public:
std::unordered_set<
std::
string> LoadLibrary(
66 const
std::
string &_pathToLibrary);
72 public:
PluginPtr Instantiate(const
std::
string &_pluginName) const;
82 public: template <typename PluginPtrType>
83 PluginPtrType Instantiate(
84 const
std::
string &_pluginName) const;
91 private: const
PluginInfo *PrivateGetPluginInfo(
92 const
std::
string &_pluginName) const;
94 GZ_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING
96 private:
std::unique_ptr<PluginLoaderPrivate> dataPtr;
97 GZ_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING