Abstract base class for factories where polymorphic type variable indicates base class for plugin interface. @parm B The base class interface for the plugin. More...
#include <meta_object.hpp>

Public Member Functions | |
| AbstractMetaObject (const std::string &class_name, const std::string &base_class_name) | |
| A constructor for this class. More... | |
| virtual B * | create () const =0 |
| Defines the factory interface that the MetaObject must implement. More... | |
Public Member Functions inherited from class_loader::impl::AbstractMetaObjectBase | |
| AbstractMetaObjectBase (const std::string &class_name, const std::string &base_class_name) | |
| Constructor for the class. More... | |
| void | addOwningClassLoader (ClassLoader *loader) |
| Associates a ClassLoader owner with this factory,. More... | |
| std::string | baseClassName () const |
| gets the base class for the class this factory represents More... | |
| std::string | className () const |
| Gets the literal name of the class. More... | |
| ClassLoaderVector | getAssociatedClassLoaders () |
| std::string | getAssociatedLibraryPath () |
| Gets the path to the library associated with this factory. More... | |
| bool | isOwnedBy (const ClassLoader *loader) |
| Indicates if the factory is within the usable scope of a ClassLoader. More... | |
| bool | isOwnedByAnybody () |
| Indicates if the factory is within the usable scope of any ClassLoader. More... | |
| void | removeOwningClassLoader (const ClassLoader *loader) |
| Removes a ClassLoader that is an owner of this factory. More... | |
| void | setAssociatedLibraryPath (std::string library_path) |
| Sets the path to the library associated with this factory. More... | |
| std::string | typeidBaseClassName () const |
| Gets the name of the class as typeid(BASE_CLASS).name() would return it. 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... | |
Private Member Functions | |
| AbstractMetaObject () | |
| AbstractMetaObject (const AbstractMetaObject &) | |
| AbstractMetaObject & | operator= (const AbstractMetaObject &) |
Additional Inherited Members | |
Protected Member Functions inherited from class_loader::impl::AbstractMetaObjectBase | |
| virtual void | dummyMethod () |
Protected Attributes inherited from class_loader::impl::AbstractMetaObjectBase | |
| ClassLoaderVector | associated_class_loaders_ |
| std::string | associated_library_path_ |
| std::string | base_class_name_ |
| std::string | class_name_ |
| std::string | typeid_base_class_name_ |
Abstract base class for factories where polymorphic type variable indicates base class for plugin interface. @parm B The base class interface for the plugin.
Definition at line 147 of file meta_object.hpp.
|
inline |
A constructor for this class.
| name | The literal name of the class. |
Definition at line 154 of file meta_object.hpp.
|
private |
Create a new instance of a class. Cannot be used for singletons.
|
private |
|
pure virtual |
Defines the factory interface that the MetaObject must implement.
Implemented in class_loader::impl::MetaObject< C, B >.
|
private |