#include <GUIResource_Factory.h>
Public Member Functions | |
GUIResource_Factory () | |
virtual | ~GUIResource_Factory () |
virtual ACE_Reactor * | get_reactor (void) |
virtual void | reclaim_reactor (ACE_Reactor *) |
Protected Member Functions | |
virtual ACE_Reactor_Impl * | reactor_impl (void)=0 |
Private Attributes | |
bool | dynamically_allocated_reactor_ |
TAO_SYNCH_MUTEX | lock_ |
for internal locking. |
This base class for resource factories which provide GUIReactors integrated with specific GUI event loop. In general, children of this class reimplement reactor_impl method where specific GUIReactor is created. GUIResource_Factory are usually created by GUIResource_Loader subclasses. Children of this class will be held in TSS by the ORB Core.
TAO::GUIResource_Factory::GUIResource_Factory | ( | void | ) |
TAO::GUIResource_Factory::~GUIResource_Factory | ( | void | ) | [virtual] |
ACE_Reactor * TAO::GUIResource_Factory::get_reactor | ( | void | ) | [virtual] |
Create ACE_Reactor using allocate_reactor_impl. Please note that this call is NOT synchronized. Left to the higher level versions to synchronize access.
virtual ACE_Reactor_Impl* TAO::GUIResource_Factory::reactor_impl | ( | void | ) | [protected, pure virtual] |
Create or return current reactor instance. Please note that this call is NOT synchronized. Left to the get_reactor to synchronize access.
void TAO::GUIResource_Factory::reclaim_reactor | ( | ACE_Reactor * | reactor | ) | [virtual] |
Reclaim the reactor if allocated by this factory. Please note that this call is NOT synchronized. Left to the higher level versions to synchronize access.
bool TAO::GUIResource_Factory::dynamically_allocated_reactor_ [private] |
Flag that is set to true if the reactor obtained from the get_reactor() method is dynamically allocated. If this flag is set to true, then the reclaim_reactor() method with call the delete operator on the given reactor. This flag is necessary to make sure that a reactor not allocated by the default resource factory is not reclaimed by the default resource factory. Such a situation can occur when a resource factory derived from the default one overrides the get_reactor() method but does not override the reclaim_reactor() method.
TAO_SYNCH_MUTEX TAO::GUIResource_Factory::lock_ [private] |
for internal locking.