Rudiments
/home/dmuse/src/rudiments/include/rudiments/dynamiclib.h
00001 // Copyright (c) 2004 David Muse
00002 // See the COPYING file for more information.
00003 
00004 #ifndef RUDIMENTS_DYNAMICLIB_H
00005 #define RUDIMENTS_DYNAMICLIB_H
00006 
00007 #include <rudiments/private/dynamiclibincludes.h>
00008 
00009 #ifdef RUDIMENTS_NAMESPACE
00010 namespace rudiments {
00011 #endif
00012 
00013 class dynamiclibprivate;
00014 
00017 class RUDIMENTS_DLLSPEC dynamiclib {
00018         public:
00019 
00021                 dynamiclib();
00022 
00024                 ~dynamiclib();
00025 
00034                 bool    open(const char *library,
00035                                 bool loaddependencies,
00036                                 bool global);
00037 
00039                 bool    close();
00040 
00044                 void    *getSymbol(const char *symbol) const;
00045 
00053                 char    *getError() const;
00054                 
00062                 static  void    setErrorMutex(mutex *mtx);
00063 
00064         #include <rudiments/private/dynamiclib.h>
00065 };
00066 
00067 #ifdef RUDIMENTS_NAMESPACE
00068 }
00069 #endif
00070 
00071 #endif