TAO 2.0.4
|
#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. |
Abstract base class for the GUI resource factory.
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.