#include <FlReactor.h>
Inheritance diagram for ACE_FlReactor:
Public Member Functions | |
ACE_FlReactor (size_t size=DEFAULT_SIZE, int restart=0, ACE_Sig_Handler *=0) | |
virtual | ~ACE_FlReactor (void) |
virtual long | schedule_timer (ACE_Event_Handler *event_handler, const void *arg, const ACE_Time_Value &delay, const ACE_Time_Value &interval) |
virtual int | reset_timer_interval (long timer_id, const ACE_Time_Value &interval) |
virtual int | cancel_timer (ACE_Event_Handler *handler, int dont_call_handle_close=1) |
virtual int | cancel_timer (long timer_id, const void **arg=0, int dont_call_handle_close=1) |
Protected Member Functions | |
virtual int | register_handler_i (ACE_HANDLE handle, ACE_Event_Handler *handler, ACE_Reactor_Mask mask) |
Register a single <handler>. | |
virtual int | register_handler_i (const ACE_Handle_Set &handles, ACE_Event_Handler *handler, ACE_Reactor_Mask mask) |
Register a set of <handlers>. | |
virtual int | remove_handler_i (ACE_HANDLE handle, ACE_Reactor_Mask mask) |
Remove the <handler> associated with this <handle>. | |
virtual int | remove_handler_i (const ACE_Handle_Set &handles, ACE_Reactor_Mask) |
Remove a set of <handles>. | |
virtual int | wait_for_multiple_events (ACE_Select_Reactor_Handle_Set &, ACE_Time_Value *) |
Wait for events to occur. | |
Private Member Functions | |
void | reset_timeout (void) |
ACE_FlReactor (const ACE_FlReactor &) | |
Deny access since member-wise won't work... | |
ACE_FlReactor & | operator= (const ACE_FlReactor &) |
Static Private Member Functions | |
static void | fl_io_proc (int fd, void *) |
static void | fl_timeout_proc (void *) |
As many other GUI toolkits FL supports a minimal set of callbacks to handle event demultiplexing, namely simple methods to add file descriptors to the event demuxing set or timeout events. This class adapts this simple mechanisms so they are compatible with ACE's Reactor.
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_FlReactor::ACE_FlReactor | ( | size_t | size = DEFAULT_SIZE , |
|
int | restart = 0 , |
|||
ACE_Sig_Handler * | = 0 | |||
) |
ACE_FlReactor::~ACE_FlReactor | ( | void | ) | [virtual] |
ACE_FlReactor::ACE_FlReactor | ( | const ACE_FlReactor & | ) | [private] |
Deny access since member-wise won't work...
int ACE_FlReactor::cancel_timer | ( | long | timer_id, | |
const void ** | arg = 0 , |
|||
int | dont_call_handle_close = 1 | |||
) | [virtual] |
Cancel the single ACE_Event_Handler that matches the <timer_id> value (which was returned from the <schedule> method). If arg is non-NULL then it will be set to point to the ``magic cookie'' argument passed in when the <Event_Handler> was registered. This makes it possible to free up the memory and avoid memory leaks. If <dont_call_handle_close> is 0 then the <handle_close> method of <event_handler> will be invoked. Returns 1 if cancellation succeeded and 0 if the <timer_id> wasn't found.
Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.
int ACE_FlReactor::cancel_timer | ( | ACE_Event_Handler * | handler, | |
int | dont_call_handle_close = 1 | |||
) | [virtual] |
Cancel all <event_handlers> that match the address of <event_handler>. If <dont_call_handle_close> is 0 then the <handle_close> method of <event_handler> will be invoked. Returns number of handler's cancelled.
Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.
void ACE_FlReactor::fl_io_proc | ( | int | fd, | |
void * | ||||
) | [static, private] |
void ACE_FlReactor::fl_timeout_proc | ( | void * | ) | [static, private] |
ACE_FlReactor& ACE_FlReactor::operator= | ( | const ACE_FlReactor & | ) | [private] |
int ACE_FlReactor::register_handler_i | ( | const ACE_Handle_Set & | handles, | |
ACE_Event_Handler * | handler, | |||
ACE_Reactor_Mask | mask | |||
) | [protected, virtual] |
int ACE_FlReactor::register_handler_i | ( | ACE_HANDLE | handle, | |
ACE_Event_Handler * | handler, | |||
ACE_Reactor_Mask | mask | |||
) | [protected, virtual] |
int ACE_FlReactor::remove_handler_i | ( | const ACE_Handle_Set & | handles, | |
ACE_Reactor_Mask | ||||
) | [protected, virtual] |
int ACE_FlReactor::remove_handler_i | ( | ACE_HANDLE | handle, | |
ACE_Reactor_Mask | mask | |||
) | [protected, virtual] |
Remove the <handler> associated with this <handle>.
Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.
void ACE_FlReactor::reset_timeout | ( | void | ) | [private] |
This method ensures there's an Fl timeout for the first timeout in the Reactor's Timer_Queue.
int ACE_FlReactor::reset_timer_interval | ( | long | timer_id, | |
const ACE_Time_Value & | interval | |||
) | [virtual] |
Resets the interval of the timer represented by <timer_id> to <interval>, which is specified in relative time to the current <gettimeofday>. If <interval> is equal to <ACE_Time_Value::zero>, the timer will become a non-rescheduling timer. Returns 0 if successful, -1 if not.
Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.
long ACE_FlReactor::schedule_timer | ( | ACE_Event_Handler * | event_handler, | |
const void * | arg, | |||
const ACE_Time_Value & | delay, | |||
const ACE_Time_Value & | interval | |||
) | [virtual] |
Schedule an ACE_Event_Handler that will expire after an amount of time. The return value of this method, a timer_id value, uniquely identifies the event_handler in the ACE_Reactor's internal list of timers. This timer_id value can be used to cancel the timer with the cancel_timer() call.
event_handler | Event handler to schedule on reactor | |
arg | Argument passed to the handle_timeout() method of event_handler | |
delay | Time interval after which the timer will expire | |
interval | Time interval after which the timer will be automatically rescheduled |
Reimplemented from ACE_Select_Reactor_T< ACE_Select_Reactor_Token >.
int ACE_FlReactor::wait_for_multiple_events | ( | ACE_Select_Reactor_Handle_Set & | , | |
ACE_Time_Value * | ||||
) | [protected, virtual] |