Apollo  6.0
Open source self driving car software
Classes | Typedefs | Functions
apollo::cyber::class_loader::utility Namespace Reference

Classes

class  AbstractClassFactory
 
class  AbstractClassFactoryBase
 
class  ClassFactory
 

Typedefs

using SharedLibraryPtr = std::shared_ptr< SharedLibrary >
 
using ClassClassFactoryMap = std::map< std::string, utility::AbstractClassFactoryBase * >
 
using BaseToClassFactoryMapMap = std::map< std::string, ClassClassFactoryMap >
 
using LibPathSharedLibVector = std::vector< std::pair< std::string, SharedLibraryPtr > >
 
using ClassFactoryVector = std::vector< AbstractClassFactoryBase * >
 

Functions

BaseToClassFactoryMapMapGetClassFactoryMapMap ()
 
std::recursive_mutex & GetClassFactoryMapMapMutex ()
 
LibPathSharedLibVectorGetLibPathSharedLibVector ()
 
std::recursive_mutex & GetLibPathSharedLibMutex ()
 
ClassClassFactoryMapGetClassFactoryMapByBaseClass (const std::string &typeid_base_class_name)
 
std::string GetCurLoadingLibraryName ()
 
void SetCurLoadingLibraryName (const std::string &library_name)
 
ClassLoaderGetCurActiveClassLoader ()
 
void SetCurActiveClassLoader (ClassLoader *loader)
 
bool IsLibraryLoaded (const std::string &library_path, ClassLoader *loader)
 
bool IsLibraryLoadedByAnybody (const std::string &library_path)
 
bool LoadLibrary (const std::string &library_path, ClassLoader *loader)
 
void UnloadLibrary (const std::string &library_path, ClassLoader *loader)
 
template<typename Derived , typename Base >
void RegisterClass (const std::string &class_name, const std::string &base_class_name)
 
template<typename Base >
BaseCreateClassObj (const std::string &class_name, ClassLoader *loader)
 
template<typename Base >
std::vector< std::string > GetValidClassNames (ClassLoader *loader)
 

Typedef Documentation

◆ BaseToClassFactoryMapMap

◆ ClassClassFactoryMap

◆ ClassFactoryVector

◆ LibPathSharedLibVector

using apollo::cyber::class_loader::utility::LibPathSharedLibVector = typedef std::vector<std::pair<std::string, SharedLibraryPtr> >

◆ SharedLibraryPtr

Function Documentation

◆ CreateClassObj()

template<typename Base >
Base * apollo::cyber::class_loader::utility::CreateClassObj ( const std::string &  class_name,
ClassLoader loader 
)

◆ GetClassFactoryMapByBaseClass()

ClassClassFactoryMap& apollo::cyber::class_loader::utility::GetClassFactoryMapByBaseClass ( const std::string &  typeid_base_class_name)

◆ GetClassFactoryMapMap()

BaseToClassFactoryMapMap& apollo::cyber::class_loader::utility::GetClassFactoryMapMap ( )

◆ GetClassFactoryMapMapMutex()

std::recursive_mutex& apollo::cyber::class_loader::utility::GetClassFactoryMapMapMutex ( )

◆ GetCurActiveClassLoader()

ClassLoader* apollo::cyber::class_loader::utility::GetCurActiveClassLoader ( )

◆ GetCurLoadingLibraryName()

std::string apollo::cyber::class_loader::utility::GetCurLoadingLibraryName ( )

◆ GetLibPathSharedLibMutex()

std::recursive_mutex& apollo::cyber::class_loader::utility::GetLibPathSharedLibMutex ( )

◆ GetLibPathSharedLibVector()

LibPathSharedLibVector& apollo::cyber::class_loader::utility::GetLibPathSharedLibVector ( )

◆ GetValidClassNames()

template<typename Base >
std::vector< std::string > apollo::cyber::class_loader::utility::GetValidClassNames ( ClassLoader loader)

◆ IsLibraryLoaded()

bool apollo::cyber::class_loader::utility::IsLibraryLoaded ( const std::string &  library_path,
ClassLoader loader 
)

◆ IsLibraryLoadedByAnybody()

bool apollo::cyber::class_loader::utility::IsLibraryLoadedByAnybody ( const std::string &  library_path)

◆ LoadLibrary()

bool apollo::cyber::class_loader::utility::LoadLibrary ( const std::string &  library_path,
ClassLoader loader 
)

◆ RegisterClass()

template<typename Derived , typename Base >
void apollo::cyber::class_loader::utility::RegisterClass ( const std::string &  class_name,
const std::string &  base_class_name 
)

◆ SetCurActiveClassLoader()

void apollo::cyber::class_loader::utility::SetCurActiveClassLoader ( ClassLoader loader)

◆ SetCurLoadingLibraryName()

void apollo::cyber::class_loader::utility::SetCurLoadingLibraryName ( const std::string &  library_name)

◆ UnloadLibrary()

void apollo::cyber::class_loader::utility::UnloadLibrary ( const std::string &  library_path,
ClassLoader loader 
)