RSC
0.17.1
|
A specialized factory class objects of which emit signals when implementations are registered or unregistered. More...
#include <ObservableFactory.h>
Public Types | |
typedef base::CreateFunction | CreateFunction |
typedef boost::signals2::signal< void(const std::string &, const CreateFunction &)> | ImplAddedSignal |
typedef boost::signals2::signal< void(const std::string &, const CreateFunction &)> | ImplRemovedSignal |
Public Types inherited from rsc::patterns::Factory< Key, Interface > | |
typedef FactoryBase< Key > | base |
typedef base::KeyType | KeyType |
typedef Interface | InterfaceType |
typedef boost::function1< InterfaceType *, const runtime::Properties & > | CreateFunction |
typedef std::map< Key, CreateFunction > | ImplMap |
typedef base::ImplMap | ImplMapBase |
typedef base::ImplMapProxy | ImplMapBaseProxy |
Public Types inherited from rsc::patterns::FactoryBase< Key > | |
typedef Key | KeyType |
typedef boost::function1< void *, const runtime::Properties & > | CreateFunction |
typedef std::pair< const std::type_info *, void * > | type_and_storage |
typedef std::map< Key, CreateFunction > | ImplMap |
Public Member Functions | |
ImplAddedSignal & | signalImplAdded () throw () |
Return the "implementation added" signal. More... | |
ImplRemovedSignal & | signalImplRemoved () throw () |
Return the "implementation removed" signal. More... | |
Public Member Functions inherited from rsc::patterns::Factory< Key, Interface > | |
Factory () | |
virtual | ~Factory () |
const std::type_info & | GetInterfaceType () const throw () |
Return the type information of the interface type of the factory. More... | |
const ImplMapBaseProxy & | implsBase () const throw () |
Return a container-like object holding all registered implementations. More... | |
ImplMapProxy & | impls () throw () |
Return a container-like object holding all registered implementations. More... | |
const ImplMapProxy & | impls () const throw () |
Return a container-like object holding all registered implementations. More... | |
FactoryBase< Key >::type_and_storage | createBase (const Key &key, const runtime::Properties &properties_=runtime::Properties()) |
Interface * | createInst (const Key &key, const runtime::Properties &properties_=runtime::Properties()) |
Create and return an instance of the implementation designated by key. More... | |
Protected Types | |
typedef Factory< Key, Interface > | base |
typedef base::ImplMap | ImplMap |
Protected Member Functions | |
void | register_ (const Key &key, const CreateFunction &create_function_) |
void | unregister (const Key &key) |
Protected Member Functions inherited from rsc::patterns::Factory< Key, Interface > | |
virtual void | register_ (const Key &key, const CreateFunction &create_function_) |
Protected Attributes | |
ImplAddedSignal | signal_impl_added_ |
ImplRemovedSignal | signal_impl_removed_ |
Protected Attributes inherited from rsc::patterns::Factory< Key, Interface > | |
ImplMapBase | impl_map_base_ |
ImplMapBaseProxy | impl_map_base_proxy_ |
ImplMap | impl_map_ |
ImplMapProxy | impl_map_proxy_ |
A specialized factory class objects of which emit signals when implementations are registered or unregistered.
Definition at line 43 of file ObservableFactory.h.
|
protected |
Definition at line 45 of file ObservableFactory.h.
typedef base::CreateFunction rsc::patterns::ObservableFactory< Key, Interface >::CreateFunction |
Definition at line 47 of file ObservableFactory.h.
typedef boost::signals2::signal<void (const std::string&, const CreateFunction&)> rsc::patterns::ObservableFactory< Key, Interface >::ImplAddedSignal |
Definition at line 50 of file ObservableFactory.h.
|
protected |
Definition at line 67 of file ObservableFactory.h.
typedef boost::signals2::signal<void (const std::string&, const CreateFunction&)> rsc::patterns::ObservableFactory< Key, Interface >::ImplRemovedSignal |
Definition at line 53 of file ObservableFactory.h.
|
protected |
std::invalid_argument |
Definition at line 109 of file ObservableFactory.h.
References rsc::patterns::Factory< Key, Interface >::register_(), and rsc::patterns::ObservableFactory< Key, Interface >::signal_impl_added_.
ObservableFactory< Key, Interface >::ImplAddedSignal & rsc::patterns::ObservableFactory< Key, Interface >::signalImplAdded | ( | ) | ||
throw | ( | |||
) |
Return the "implementation added" signal.
Definition at line 98 of file ObservableFactory.h.
References rsc::patterns::ObservableFactory< Key, Interface >::signal_impl_added_.
ObservableFactory< Key, Interface >::ImplRemovedSignal & rsc::patterns::ObservableFactory< Key, Interface >::signalImplRemoved | ( | ) | ||
throw | ( | |||
) |
Return the "implementation removed" signal.
Definition at line 104 of file ObservableFactory.h.
References rsc::patterns::ObservableFactory< Key, Interface >::signal_impl_removed_.
|
protectedvirtual |
NoSuchImpl |
Reimplemented from rsc::patterns::Factory< Key, Interface >.
Definition at line 120 of file ObservableFactory.h.
References rsc::patterns::Factory< Key, Interface >::impl_map_, rsc::patterns::ObservableFactory< Key, Interface >::signal_impl_removed_, and rsc::patterns::Factory< Key, Interface >::unregister().
|
protected |
Definition at line 69 of file ObservableFactory.h.
Referenced by rsc::patterns::ObservableFactory< Key, Interface >::register_(), and rsc::patterns::ObservableFactory< Key, Interface >::signalImplAdded().
|
protected |
Definition at line 70 of file ObservableFactory.h.
Referenced by rsc::patterns::ObservableFactory< Key, Interface >::signalImplRemoved(), and rsc::patterns::ObservableFactory< Key, Interface >::unregister().