class_loader  master
The class_loader package is a ROS-independent package for loading plugins during runtime.
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
class_loader::impl::AbstractMetaObjectBase Class Reference

A base class for MetaObjects that excludes a polymorphic type parameter. Subclasses are class templates though. More...

#include <meta_object.hpp>

Inheritance diagram for class_loader::impl::AbstractMetaObjectBase:
Inheritance graph
[legend]

Public Member 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. More...
 
 ~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. More...
 
const std::stringclassName () const
 Gets the literal name of the class. More...
 
const std::stringbaseClassName () const
 gets the base class for the class this factory represents More...
 
const std::stringtypeidBaseClassName () const
 Gets the name of the class as typeid(BASE_CLASS).name() would return it. More...
 
const std::stringgetAssociatedLibraryPath () const
 Gets the path to the library associated with this factory. More...
 
void setAssociatedLibraryPath (const std::string &library_path)
 Sets the path to the library associated with this factory. More...
 
void addOwningClassLoader (ClassLoader *loader)
 Associates a ClassLoader owner with this factory,. More...
 
void removeOwningClassLoader (const ClassLoader *loader)
 Removes a ClassLoader that is an owner of this factory. More...
 
bool isOwnedBy (const ClassLoader *loader) const
 Indicates if the factory is within the usable scope of a ClassLoader. More...
 
bool isOwnedByAnybody () const
 Indicates if the factory is within the usable scope of any ClassLoader. More...
 
size_t getAssociatedClassLoadersCount () const
 Get the number of associated class Loaders. More...
 
ClassLoadergetAssociatedClassLoader (size_t index) const
 Get an associated ClassLoader pointer by index. More...
 

Protected Member Functions

virtual void dummyMethod ()
 

Protected Attributes

AbstractMetaObjectBaseImpl * impl_
 

Detailed Description

A base class for MetaObjects that excludes a polymorphic type parameter. Subclasses are class templates though.

Constructor & Destructor Documentation

◆ AbstractMetaObjectBase()

class_loader::impl::AbstractMetaObjectBase::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()

class_loader::impl::AbstractMetaObjectBase::~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.

Member Function Documentation

◆ className()

const std::string& class_loader::impl::AbstractMetaObjectBase::className ( ) const

Gets the literal name of the class.

Returns
The literal name of the class as a C-string.

◆ baseClassName()

const std::string& class_loader::impl::AbstractMetaObjectBase::baseClassName ( ) const

gets the base class for the class this factory represents

◆ typeidBaseClassName()

const std::string& class_loader::impl::AbstractMetaObjectBase::typeidBaseClassName ( ) const

Gets the name of the class as typeid(BASE_CLASS).name() would return it.

◆ getAssociatedLibraryPath()

const std::string& class_loader::impl::AbstractMetaObjectBase::getAssociatedLibraryPath ( ) const

Gets the path to the library associated with this factory.

Returns
Library path as a std::string

◆ setAssociatedLibraryPath()

void class_loader::impl::AbstractMetaObjectBase::setAssociatedLibraryPath ( const std::string library_path)

Sets the path to the library associated with this factory.

◆ addOwningClassLoader()

void class_loader::impl::AbstractMetaObjectBase::addOwningClassLoader ( ClassLoader loader)

Associates a ClassLoader owner with this factory,.

Parameters
loaderHandle to the owning ClassLoader.

◆ removeOwningClassLoader()

void class_loader::impl::AbstractMetaObjectBase::removeOwningClassLoader ( const ClassLoader loader)

Removes a ClassLoader that is an owner of this factory.

Parameters
loaderHandle to the owning ClassLoader.

◆ isOwnedBy()

bool class_loader::impl::AbstractMetaObjectBase::isOwnedBy ( const ClassLoader loader) const

Indicates if the factory is within the usable scope of a ClassLoader.

Parameters
loaderHandle to the owning ClassLoader.
Returns
True if the factory is within the usable scope of a ClassLoader, false otherwise

◆ isOwnedByAnybody()

bool class_loader::impl::AbstractMetaObjectBase::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

◆ getAssociatedClassLoadersCount()

size_t class_loader::impl::AbstractMetaObjectBase::getAssociatedClassLoadersCount ( ) const

Get the number of associated class Loaders.

Returns
number of associated class loaders

◆ getAssociatedClassLoader()

ClassLoader* class_loader::impl::AbstractMetaObjectBase::getAssociatedClassLoader ( size_t  index) const

Get an associated ClassLoader pointer by index.

Parameters
[in]indexThe index of the ClassLoader.
Returns
The ClassLoader pointer or undefined behaviour if the index is out of bounds

◆ dummyMethod()

virtual void class_loader::impl::AbstractMetaObjectBase::dummyMethod ( )
inlineprotectedvirtual

This is needed to make base class polymorphic (i.e. have a vtable)

Member Data Documentation

◆ impl_

AbstractMetaObjectBaseImpl* class_loader::impl::AbstractMetaObjectBase::impl_
protected

The documentation for this class was generated from the following file: