27#ifndef CYBER_CLASS_LOADER_SHARED_LIBRARY_SHARED_LIBRARY_H_
28#define CYBER_CLASS_LOADER_SHARED_LIBRARY_SHARED_LIBRARY_H_
37namespace class_loader {
78 void Load(
const std::string& path);
87 void Load(
const std::string& path,
int flags);
104 void*
GetSymbol(
const std::string& name);
108 inline const std::string&
GetPath()
const {
return path_; }
115 void* handle_ =
nullptr;
117 static std::mutex mutex_;
void * GetSymbol(const std::string &name)
SharedLibrary(const SharedLibrary &)=delete
bool HasSymbol(const std::string &name)
void Load(const std::string &path)
const std::string & GetPath() const
SharedLibrary & operator=(const SharedLibrary &)=delete