%% Created: 14.01.02 (extracted from dllload.tex)
%% RCS-ID: $Id$
%% Copyright: (c) Vadim Zeitlin
-%% License: wxWindows license
+%% License: wxWidgets license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxDynamicLibrary}}\label{wxdynamiclibrary}
%\helpref{wxDllLoader}{wxdllloader}
+
\membersection{wxDynamicLibrary::wxDynamicLibrary}\label{wxdynamiclibrarywxdynamiclibrary}
\func{}{wxDynamicLibrary}{\void}
\membersection{wxDynamicLibrary::CanonicalizeName}\label{wxdynamiclibrarycanonicalizename}
-\func{wxString}{CanonicalizeName}{\param{const wxString\& }{name}, \param{wxDynamicLibraryCategory cat = wxDL\_LIBRARY}}
+\func{wxString}{CanonicalizeName}{\param{const wxString\& }{name}, \param{wxDynamicLibraryCategory}{ cat = wxDL\_LIBRARY}}
Returns the platform-specific full name for the library called \arg{name}. E.g.
it adds a {\tt ".dll"} extension under Windows and {\tt "lib"} prefix and
{\tt ".so"}, {\tt ".sl"} or maybe {\tt ".dylib"} extension under Unix.
The possible values for \arg{cat} are:
+
\begin{twocollist}
\twocolitem{wxDL\_LIBRARY}{normal library}
\twocolitem{wxDL\_MODULE}{a loadable module or plugin}
\helpref{CanonicalizePluginName}{wxdynamiclibrarycanonicalizepluginname}
+
\membersection{wxDynamicLibrary::CanonicalizePluginName}\label{wxdynamiclibrarycanonicalizepluginname}
-\func{wxString}{CanonicalizePluginName}{\param{const wxString\& }{name}, \param{wxPluginCategory cat = wxDL\_PLUGIN\_GUI}}
+\func{wxString}{CanonicalizePluginName}{\param{const wxString\& }{name}, \param{wxPluginCategory}{ cat = wxDL\_PLUGIN\_GUI}}
This function does the same thing as
-\helpref{CanonicalizeName}{wxdynamiclibrarycanonicalizename} but for wxWindows
+\helpref{CanonicalizeName}{wxdynamiclibrarycanonicalizename} but for wxWidgets
plugins. The only difference is that compiler and version information are added
to the name to ensure that the plugin which is going to be loaded will be
compatible with the main program.
The possible values for \arg{cat} are:
+
\begin{twocollist}
\twocolitem{wxDL\_PLUGIN\_GUI}{plugin which uses GUI classes (default)}
\twocolitem{wxDL\_PLUGIN\_BASE}{plugin which only uses wxBase}
\membersection{wxDynamicLibrary::GetSymbol}\label{wxdynamiclibrarygetsymbol}
-\constfunc{void*}{GetSymbol}{\param{const wxString\& }{name}}
+\constfunc{void *}{GetSymbol}{\param{const wxString\& }{name}}
Returns pointer to symbol {\it name} in the library or NULL if the library
contains no such symbol.
\helpref{wxDYNLIB\_FUNCTION}{wxdynlibfunction}
+\membersection{wxDynamicLibrary::HasSymbol}\label{wxdynamiclibraryhassymbol}
+
+\constfunc{bool}{HasSymbol}{\param{const wxString\& }{name}}
+
+Returns \true if the symbol with the given \arg{name} is present in the dynamic
+library, \false otherwise. Unlike \helpref{GetSymbol}{wxdynamiclibrarygetsymbol},
+this function doesn't log an error message if the symbol is not found.
+
+\newsince{2.5.4}
+
+
\membersection{wxDynamicLibrary::IsLoaded}\label{wxdynamiclibraryisloaded}
\constfunc{bool}{IsLoaded}{\void}
Loads DLL with the given \arg{name} into memory. The \arg{flags} argument can
be a combination of the following bits:
+
\begin{twocollist}
\twocolitem{wxDL\_LAZY}{equivalent of RTLD\_LAZY under Unix, ignored elsewhere}
\twocolitem{wxDL\_NOW}{equivalent of RTLD\_NOW under Unix, ignored elsewhere}
Returns \true if the library was successfully loaded, \false otherwise.
-\wxheading{See also}
-
-\helpref{}{}
-
\membersection{wxDynamicLibrary::Unload}\label{wxdynamiclibraryunload}