A base class for MetaObjects that excludes a polymorphic type parameter. Subclasses are class templates though. More...
#include <meta_object.hpp>
Public Member Functions | |
AbstractMetaObjectBase (const std::string &class_name, const std::string &base_class_name) | |
Constructor for the class. | |
void | addOwningClassLoader (ClassLoader *loader) |
Associates a ClassLoader owner with this factory,. | |
std::string | baseClassName () const |
gets the base class for the class this factory represents | |
std::string | className () const |
Gets the literal name of the class. | |
ClassLoaderVector | getAssociatedClassLoaders () |
std::string | getAssociatedLibraryPath () |
Gets the path to the library associated with this factory. | |
bool | isOwnedBy (const ClassLoader *loader) |
Indicates if the factory is within the usable scope of a ClassLoader. | |
bool | isOwnedByAnybody () |
Indicates if the factory is within the usable scope of any ClassLoader. | |
void | removeOwningClassLoader (const ClassLoader *loader) |
Removes a ClassLoader that is an owner of this factory. | |
void | setAssociatedLibraryPath (std::string library_path) |
Sets the path to the library associated with this factory. | |
std::string | typeidBaseClassName () const |
Gets the name of the class as typeid(BASE_CLASS).name() would return it. | |
~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. | |
Protected Member Functions | |
virtual void | dummyMethod () |
Protected Attributes | |
ClassLoaderVector | associated_class_loaders_ |
std::string | associated_library_path_ |
std::string | base_class_name_ |
std::string | class_name_ |
std::string | typeid_base_class_name_ |
A base class for MetaObjects that excludes a polymorphic type parameter. Subclasses are class templates though.
Definition at line 59 of file meta_object.hpp.
class_loader::class_loader_private::AbstractMetaObjectBase::AbstractMetaObjectBase | ( | const std::string & | class_name, |
const std::string & | base_class_name | ||
) |
Constructor for the class.
Definition at line 40 of file meta_object.cpp.
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.
Definition at line 54 of file meta_object.cpp.
void class_loader::class_loader_private::AbstractMetaObjectBase::addOwningClassLoader | ( | ClassLoader * | loader | ) |
Associates a ClassLoader owner with this factory,.
loader | Handle to the owning ClassLoader. |
Definition at line 93 of file meta_object.cpp.
std::string class_loader::class_loader_private::AbstractMetaObjectBase::baseClassName | ( | ) | const |
gets the base class for the class this factory represents
Definition at line 69 of file meta_object.cpp.
std::string class_loader::class_loader_private::AbstractMetaObjectBase::className | ( | ) | const |
Gets the literal name of the class.
Definition at line 63 of file meta_object.cpp.
virtual void class_loader::class_loader_private::AbstractMetaObjectBase::dummyMethod | ( | ) | [inline, protected, virtual] |
This is needed to make base class polymorphic (i.e. have a vtable)
Definition at line 131 of file meta_object.hpp.
ClassLoaderVector class_loader::class_loader_private::AbstractMetaObjectBase::getAssociatedClassLoaders | ( | ) |
A vector of class loaders that own this metaobject
Definition at line 126 of file meta_object.cpp.
std::string class_loader::class_loader_private::AbstractMetaObjectBase::getAssociatedLibraryPath | ( | ) |
Gets the path to the library associated with this factory.
Definition at line 81 of file meta_object.cpp.
bool class_loader::class_loader_private::AbstractMetaObjectBase::isOwnedBy | ( | const ClassLoader * | loader | ) |
Indicates if the factory is within the usable scope of a ClassLoader.
loader | Handle to the owning ClassLoader. |
Definition at line 112 of file meta_object.cpp.
Indicates if the factory is within the usable scope of any ClassLoader.
Definition at line 120 of file meta_object.cpp.
void class_loader::class_loader_private::AbstractMetaObjectBase::removeOwningClassLoader | ( | const ClassLoader * | loader | ) |
Removes a ClassLoader that is an owner of this factory.
loader | Handle to the owning ClassLoader. |
Definition at line 102 of file meta_object.cpp.
void class_loader::class_loader_private::AbstractMetaObjectBase::setAssociatedLibraryPath | ( | std::string | library_path | ) |
Sets the path to the library associated with this factory.
Definition at line 87 of file meta_object.cpp.
std::string class_loader::class_loader_private::AbstractMetaObjectBase::typeidBaseClassName | ( | ) | const |
Gets the name of the class as typeid(BASE_CLASS).name() would return it.
Definition at line 75 of file meta_object.cpp.
ClassLoaderVector class_loader::class_loader_private::AbstractMetaObjectBase::associated_class_loaders_ [protected] |
Definition at line 134 of file meta_object.hpp.
std::string class_loader::class_loader_private::AbstractMetaObjectBase::associated_library_path_ [protected] |
Definition at line 135 of file meta_object.hpp.
std::string class_loader::class_loader_private::AbstractMetaObjectBase::base_class_name_ [protected] |
Definition at line 136 of file meta_object.hpp.
std::string class_loader::class_loader_private::AbstractMetaObjectBase::class_name_ [protected] |
Definition at line 137 of file meta_object.hpp.
std::string class_loader::class_loader_private::AbstractMetaObjectBase::typeid_base_class_name_ [protected] |
Definition at line 138 of file meta_object.hpp.