X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2Fbases%2FDynLibLoaderWin.hxx;fp=src%2Fbases%2FDynLibLoaderWin.hxx;h=39eb5949360dec603410854f5fc5775859448c67;hb=a84e60a749da66dffb73297fa5082b70b9d62f7d;hp=0000000000000000000000000000000000000000;hpb=24ab175e1695bf31f5b1f47b43ec8b45322dc6d3;p=modules%2Fyacs.git diff --git a/src/bases/DynLibLoaderWin.hxx b/src/bases/DynLibLoaderWin.hxx new file mode 100644 index 000000000..39eb59493 --- /dev/null +++ b/src/bases/DynLibLoaderWin.hxx @@ -0,0 +1,31 @@ +#ifndef __DYNLIBLOADERWIN_HXX__ +#define __DYNLIBLOADERWIN_HXX__ + +#include + +namespace YACS +{ + namespace BASES + { + class DynLibLoaderWin + { + private: + void *_handleOnLoadedLib; + std::string _libName; + static const char _extForDynLib[]; + public: + DynLibLoaderWin(const std::string& libNameWithoutExtension); + ~DynLibLoaderWin(); + bool isLibFileFindable() const; + int appendDirInSearchPath(const std::string& dirName); + int removeDirInSearchPath(const std::string& dirName); + void *getHandleOnSymbolWithName(const std::string& symbName); + static const char *getExtensionForDynLib(); + private: + void loadLib();//! load lib without regarding that _libName is reachable + void *resolveSymb(const std::string& symbName); + }; + } +} + +#endif