| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# csutil/csshlib.h

Go to the documentation of this file.

    00001 /*
    00002     Copyright (C) 1999 by Andrew Zabolotny
    00003     Crystal Space cross-platform shared library management
    00004
    00005     This library is free software; you can redistribute it and/or
    00006     modify it under the terms of the GNU Library General Public
    00007     License as published by the Free Software Foundation; either
    00008     version 2 of the License, or (at your option) any later version.
    00009
    00010     This library is distributed in the hope that it will be useful,
    00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013     Library General Public License for more details.
    00014
    00015     You should have received a copy of the GNU Library General Public
    00016     License along with this library; if not, write to the Free
    00017     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    00018 */
    00019
    00020 #ifndef __CS_CSSHLIB_H__
    00021 #define __CS_CSSHLIB_H__
    00022
    00034 #include "csextern.h"
    00035
    00036 #include "csutil/ref.h"
    00037 #include "csutil/stringarray.h"
    00038 #include "csutil/syspath.h"
    00039
    00040 #include "iutil/string.h"
    00041
    00042 typedef void* csLibraryHandle;
    00043
    00049 CS_CRYSTALSPACE_EXPORT csLibraryHandle csLoadLibrary (char const* iName);
    00050
    00058 CS_CRYSTALSPACE_EXPORT void* csGetLibrarySymbol (csLibraryHandle Handle,
    00059                                            char const* iName);
    00060
    00065 CS_CRYSTALSPACE_EXPORT bool csUnloadLibrary (csLibraryHandle Handle);
    00066
    00072 CS_CRYSTALSPACE_EXPORT void csPrintLibraryError (char const* iModule);
    00073
    00083 CS_CRYSTALSPACE_EXPORT void csSetLoadLibraryVerbose(bool);
    00084
    00088 CS_CRYSTALSPACE_EXPORT bool csGetLoadLibraryVerbose();
    00089
    00101 CS_CRYSTALSPACE_EXPORT csRef<iStringArray> csScanPluginDir (const char* dir,
    00102   csRef<iStringArray>& plugins, bool recursive = true);
    00103
    00109 CS_CRYSTALSPACE_EXPORT csRef<iStringArray> csScanPluginDirs (
    00110         csPathsList* dirs, csRef<iStringArray>& plugins);
    00111
    00131 CS_CRYSTALSPACE_EXPORT csRef<iString> csGetPluginMetadata (
    00132         const char* fullPath, csRef<iDocument>& metadata);
    00133
    00138 #endif // __CS_CSSHLIB_H__