5 * Copyright (C) 2008 Pawel Dziepak
18 class manager
: public implementation
/*: public creator*/ {
20 virtual bool initialize() = 0;
21 virtual bool type_added(type_name
) = 0;
23 virtual component
*new_component(const type_name
&) = 0;
24 virtual component
*get_component(const component_name
&) = 0;
26 virtual void register_type(type
*) = 0;
27 virtual type
*get_type(type_name
) = 0;
30 class manager_impl
: public manager
{
32 list
<component
*> components
;
37 bool type_added(type_name
);
39 component
*new_component(const type_name
&);
40 component
*get_component(const component_name
&);
42 void register_type(type
*);
43 type
*get_type(type_name
);