#include "wx/msw/private.h"
#endif
-class WXDLLEXPORT wxPluginLibrary;
+class WXDLLIMPEXP_BASE wxPluginLibrary;
WX_DECLARE_EXPORTED_STRING_HASH_MAP(wxPluginLibrary *, wxDLManifest);
typedef wxDLManifest wxDLImports;
#endif
};
+enum wxDynamicLibraryCategory
+{
+ wxDL_LIBRARY, // standard library
+ wxDL_MODULE, // loadable module/plugin
+};
-class WXDLLEXPORT wxDynamicLibrary
+enum wxPluginCategory
+{
+ wxDL_PLUGIN_GUI, // plugin that uses GUI classes
+ wxDL_PLUGIN_BASE, // wxBase-only plugin
+};
+
+
+class WXDLLIMPEXP_BASE wxDynamicLibrary
{
public:
operator bool() const { return IsLoaded(); }
#endif
+ // return platform-specific name of dynamic library with proper extension
+ // and prefix (e.g. "foo.dll" on Windows or "libfoo.so" on Linux)
+ static wxString CanonicalizeName(const wxString& name,
+ wxDynamicLibraryCategory cat = wxDL_LIBRARY);
+
+ // return name of wxWindows plugin (adds compiler and version info
+ // to the filename):
+ static wxString CanonicalizePluginName(const wxString& name,
+ wxPluginCategory cat);
+
+ // return plugin directory on platforms where it makes sense and empty
+ // string on others:
+ static wxString GetPluginsDirectory();
+
protected:
// Platform specific shared lib suffix.
// instantiate this class directly anyway, use wxPluginManager
// instead.
-class WXDLLEXPORT wxPluginLibrary : public wxDynamicLibrary
+class WXDLLIMPEXP_BASE wxPluginLibrary : public wxDynamicLibrary
{
public:
};
-class WXDLLEXPORT wxPluginManager
+class WXDLLIMPEXP_BASE wxPluginManager
{
public:
// serves as a namespace for its static member functions.
#if WXWIN_COMPATIBILITY_2_2
-class WXDLLEXPORT wxDllLoader
+class WXDLLIMPEXP_BASE wxDllLoader
{
public: