55 public:
template <
class Interface>
59 public:
template <
class Interface>
81 public:
template <
class Interface>
86 public:
template <
class Interface>
95 public:
template <
class Interface>
100 public:
template <
class Interface>
122 public:
template <
class Interface>
128 public:
template <
class Interface>
137 public:
template <
class Interface>
152 template <
class,
class>
friend class detail::ComposePlugin;
156 private: GZ_DEPRECATED(5)
Plugin();
159 private:
void *PrivateGetInterface(
160 const
std::
string &_interfaceName) const;
163 private:
void PrivateCopyPluginInstance(const
Plugin &_other) const;
166 private:
void PrivateSetPluginInstance(const
PluginInfo *_info) const;
170 private: const
std::shared_ptr<
void>& PrivateGetInstancePtr() const;
180 private:
InterfaceMap::iterator PrivateGetOrCreateIterator(
181 const
std::
string &_interfaceName);
183 GZ_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING
185 private: const
std::unique_ptr<PluginPrivate> dataPtr;
186 GZ_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING