Class AbstractMetaObjectBase
- Defined in File meta_object.hpp 
Inheritance Relationships
Derived Type
- public class_loader::impl::AbstractMetaObject< B >(Template Class AbstractMetaObject)
Class Documentation
- 
class AbstractMetaObjectBase
- A base class for MetaObjects that excludes a polymorphic type parameter. Subclasses are class templates though. - Subclassed by class_loader::impl::AbstractMetaObject< B > - Public Functions - 
AbstractMetaObjectBase(const std::string &class_name, const std::string &base_class_name, const std::string &typeid_base_class_name = "UNSET")
- Constructor for the class. 
 - 
~AbstractMetaObjectBase()
- Destructor for the class. THIS MUST NOT BE VIRTUAL AND OVERRIDDEN BY TEMPLATE SUBCLASSES, OTHERWISE THEY WILL PULL IN A REDUNDANT METAOBJECT DESTRUCTOR OUTSIDE OF libclass_loader WITHIN THE PLUGIN LIBRARY! T. 
 - 
const std::string &className() const
- Gets the literal name of the class. - Returns:
- The literal name of the class as a C-string. 
 
 - 
const std::string &baseClassName() const
- gets the base class for the class this factory represents 
 - 
const std::string &typeidBaseClassName() const
- Gets the name of the class as typeid(BASE_CLASS).name() would return it. 
 - 
const std::string &getAssociatedLibraryPath() const
- Gets the path to the library associated with this factory. - Returns:
- Library path as a std::string 
 
 - 
void setAssociatedLibraryPath(const std::string &library_path)
- Sets the path to the library associated with this factory. 
 - 
void addOwningClassLoader(ClassLoader *loader)
- Associates a ClassLoader owner with this factory,. - Parameters:
- loader – Handle to the owning ClassLoader. 
 
 - 
void removeOwningClassLoader(const ClassLoader *loader)
- Removes a ClassLoader that is an owner of this factory. - Parameters:
- loader – Handle to the owning ClassLoader. 
 
 - 
bool isOwnedBy(const ClassLoader *loader) const
- Indicates if the factory is within the usable scope of a ClassLoader. - Parameters:
- loader – Handle to the owning ClassLoader. 
- Returns:
- True if the factory is within the usable scope of a ClassLoader, false otherwise 
 
 - 
bool isOwnedByAnybody() const
- Indicates if the factory is within the usable scope of any ClassLoader. - Returns:
- true if the factory is within the usable scope of any ClassLoader, false otherwise 
 
 - 
size_t getAssociatedClassLoadersCount() const
- Get the number of associated class Loaders. - Returns:
- number of associated class loaders 
 
 - 
ClassLoader *getAssociatedClassLoader(size_t index) const
- Get an associated ClassLoader pointer by index. - Parameters:
- index – [in] The index of the ClassLoader. 
- Returns:
- The ClassLoader pointer or undefined behaviour if the index is out of bounds 
 
 - Protected Functions - 
inline virtual void dummyMethod()
- This is needed to make base class polymorphic (i.e. have a vtable) 
 - Protected Attributes - 
AbstractMetaObjectBaseImpl *impl_
 
- 
AbstractMetaObjectBase(const std::string &class_name, const std::string &base_class_name, const std::string &typeid_base_class_name = "UNSET")