+ void* GetSymbol(const char* name) const;
+
+ /** Retrieves the value of the specified symbol and casts it to the requested type.
+ * @param name The name of the symbol to retrieve.
+ * @return Either the value of the specified symbol or or NULL if it does not exist.
+ */
+ template <typename TReturn>
+ TReturn* GetSymbol(const char* name) const
+ {
+ return static_cast<TReturn*>(GetSymbol(name));
+ }
+
+ /** Retrieves the module version from the dynamic library. */
+ const char* GetVersion() const { return GetSymbol<const char>(MODULE_STR_VERSION); }
+
+ /** Retrieves the last error which occurred or an empty string if no errors have occurred. */
+ const std::string& LastError() const { return err; }