Rudiments
|
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