Apollo  6.0
Open source self driving car software
Namespaces | Typedefs | Functions
class_loader_utility.h File Reference
#include <cassert>
#include <cstdio>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <typeinfo>
#include <utility>
#include <vector>
#include "cyber/class_loader/shared_library/shared_library.h"
#include "cyber/class_loader/utility/class_factory.h"
#include "cyber/common/log.h"
Include dependency graph for class_loader_utility.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 apollo
 PlanningContext is the runtime context in planning. It is persistent across multiple frames.
 
 apollo::cyber
 
 apollo::cyber::class_loader
 
 apollo::cyber::class_loader::utility
 

Typedefs

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

Functions

BaseToClassFactoryMapMap & apollo::cyber::class_loader::utility::GetClassFactoryMapMap ()
 
std::recursive_mutex & apollo::cyber::class_loader::utility::GetClassFactoryMapMapMutex ()
 
LibPathSharedLibVector & apollo::cyber::class_loader::utility::GetLibPathSharedLibVector ()
 
std::recursive_mutex & apollo::cyber::class_loader::utility::GetLibPathSharedLibMutex ()
 
ClassClassFactoryMap & apollo::cyber::class_loader::utility::GetClassFactoryMapByBaseClass (const std::string &typeid_base_class_name)
 
std::string apollo::cyber::class_loader::utility::GetCurLoadingLibraryName ()
 
void apollo::cyber::class_loader::utility::SetCurLoadingLibraryName (const std::string &library_name)
 
ClassLoader * apollo::cyber::class_loader::utility::GetCurActiveClassLoader ()
 
void apollo::cyber::class_loader::utility::SetCurActiveClassLoader (ClassLoader *loader)
 
bool apollo::cyber::class_loader::utility::IsLibraryLoaded (const std::string &library_path, ClassLoader *loader)
 
bool apollo::cyber::class_loader::utility::IsLibraryLoadedByAnybody (const std::string &library_path)
 
bool apollo::cyber::class_loader::utility::LoadLibrary (const std::string &library_path, ClassLoader *loader)
 
void apollo::cyber::class_loader::utility::UnloadLibrary (const std::string &library_path, ClassLoader *loader)
 
template<typename Derived , typename Base >
void apollo::cyber::class_loader::utility::RegisterClass (const std::string &class_name, const std::string &base_class_name)
 
template<typename Base >
Baseapollo::cyber::class_loader::utility::CreateClassObj (const std::string &class_name, ClassLoader *loader)
 
template<typename Base >
std::vector< std::string > apollo::cyber::class_loader::utility::GetValidClassNames (ClassLoader *loader)