cgv
|
implementation of factory for objects of type T using the standard constructor More...
#include <register.h>
Public Member Functions | |
factory_impl (const std::string &_created_type_name, bool _is_singleton=false, const std::string &_object_options="") | |
base_ptr | create_object_impl () |
overload to create an object | |
std::string | get_type_name () const |
overload to return the type name of this object. By default the type interface is queried over get_type. | |
![]() | |
factory (const std::string &_created_type_name, bool _singleton=false, const std::string &_object_options="") | |
construct | |
virtual std::string | get_object_options () const |
return the options string used for object registration | |
const std::string & | get_created_type_name () const |
overload to return the type name of the objects that the factory can create | |
std::string | get_property_declarations () |
support creation of object by setting create property to true | |
bool | set_void (const std::string &property, const std::string &value_type, const void *value_ptr) |
abstract interface for the setter of a dynamic property. | |
bool | get_void (const std::string &property, const std::string &value_type, void *value_ptr) |
abstract interface for the getter of a dynamic property. | |
bool | is_singleton_factory () const |
return whether the factory can only generate one instance of the given type | |
base_ptr | get_singleton () const |
return pointer to singleton | |
void | release_singleton () |
release the singleton pointer | |
base_ptr | create_object () |
overload to create an object | |
![]() | |
virtual std::string | get_default_options () const |
overload to provide default options for registration | |
std::string | get_name_or_type_name () const |
determine name of instance by checking cgv::base::named interface and in failure fallback to get_type_name() | |
virtual void | on_register () |
overload to handle register events that is sent after the instance has been registered | |
virtual void | unregister () |
overload to handle unregistration of instances | |
virtual bool | on_exit_request () |
overload to handle the appication exit request, return true if exiting is allowed and false otherwise | |
virtual void | stream_stats (std::ostream &) |
overload to show the content of this object | |
virtual data::ref_ptr< named, true > | get_named () |
perform downcast to named | |
virtual data::ref_ptr< node, true > | get_node () |
perform downcast to node | |
virtual data::ref_ptr< group, true > | get_group () |
perform downcast to group | |
virtual data::ref_ptr< const named, true > | get_named_const () const |
perform downcast to const named | |
virtual data::ref_ptr< const node, true > | get_node_const () const |
perform downcast to const node | |
virtual data::ref_ptr< const group, true > | get_group_const () const |
perform downcast to const group | |
template<class T > | |
data::ref_ptr< T, true > | cast () |
cast to arbitrary class, but use the casts to named, node and group from the interface | |
template<class T > | |
data::ref_ptr< const T, true > | cast_const () |
const cast to arbitrary class, but use the casts to named, node and group from the interface | |
template<class T > | |
T * | get_interface () |
use dynamic type cast to check for the given interface | |
template<class T > | |
const T * | get_const_interface () const |
use dynamic type cast to check for the given interface | |
virtual void | update () |
this virtual update allows for example to ask a view to update the viewed value. The default implementation is empty. | |
virtual void * | get_user_data () const |
this virtual method allows to pass application specific data for internal purposes | |
virtual bool | self_reflect (cgv::reflect::reflection_handler &) |
used for simple self reflection | |
virtual void | on_set (void *member_ptr) |
this callback is called when the set_void method has changed a member and can be overloaded in derived class | |
virtual bool | call_void (const std::string &method, const std::vector< std::string > ¶m_value_types, const std::vector< const void * > ¶m_value_ptrs, const std::string &result_type="", void *result_value_ptr=0) |
abstract interface to call an action | |
void | set (const std::string &property, const char *value) |
specialization of set method to support const char* as strings | |
template<typename T > | |
void | set (const std::string &property, const T &value) |
set a property of the element to the given value and perform standard conversions if necessary. | |
template<typename T > | |
T | get (const std::string &property) |
query a property of the element and perform standard conversions if necessary. | |
void | multi_set (const std::string &property_assignments, bool report_error=true) |
set several properties | |
bool | is_property (const std::string &property_name, std::string *type_name=0) |
check if the given name specifies a property. | |
void * | find_member_ptr (const std::string &property_name, std::string *type_name=0) |
find a member pointer by name. | |
![]() | |
int | get_ref_count () const |
read access to current count | |
Additional Inherited Members | |
![]() | |
virtual | ~base () |
make destructor virtual and not accessible from outside | |
![]() | |
ref_counted () | |
constructor initializes the count to 0 | |
void | set_ref_count (int c) const |
write access is also const to allow ref counted pointers to const instances | |
![]() | |
template<class T > | |
static data::ref_ptr< T, true > | cast_dynamic (base *b) |
use dynamic cast for upcast to given class | |
![]() | |
std::string | created_type_name |
store the type name of the to be created objects | |
bool | is_singleton |
store whether the factory can only create one object | |
base_ptr | singleton |
pointer to the single object created by the factory in case is_singleton is true | |
std::string | object_options |
store the options used for registering newly created objects | |
implementation of factory for objects of type T using the standard constructor
Definition at line 264 of file register.h.
|
inline |
Definition at line 266 of file register.h.
|
inlinevirtual |
overload to create an object
Implements cgv::base::factory.
Definition at line 268 of file register.h.
|
inlinevirtual |
overload to return the type name of this object. By default the type interface is queried over get_type.
overload to return the type name of this object
Reimplemented from cgv::base::base.
Definition at line 269 of file register.h.
References cgv::base::factory::get_created_type_name().