#include <XtReactor.h>
Inheritance diagram for ACE_XtReactor:
Public Member Functions | |
ACE_XtReactor (XtAppContext context=0, size_t size=DEFAULT_SIZE, int restart=0, ACE_Sig_Handler *=0) | |
virtual | ~ACE_XtReactor (void) |
XtAppContext | context (void) const |
void | context (XtAppContext) |
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 void | remove_XtInput (ACE_HANDLE handle) |
Removes an Xt handle. | |
virtual int | wait_for_multiple_events (ACE_Select_Reactor_Handle_Set &, ACE_Time_Value *) |
Wait for events to occur. | |
virtual int | XtWaitForMultipleEvents (int, ACE_Select_Reactor_Handle_Set &, ACE_Time_Value *) |
Wait for Xt events to occur. | |
Protected Attributes | |
XtAppContext | context_ |
ACE_XtReactorID * | ids_ |
XtIntervalId | timeout_ |
Private Member Functions | |
void | reset_timeout (void) |
ACE_XtReactor (const ACE_XtReactor &) | |
Deny access since member-wise won't work... | |
ACE_XtReactor & | operator= (const ACE_XtReactor &) |
Static Private Member Functions | |
static void | TimerCallbackProc (XtPointer closure, XtIntervalId *id) |
static void | InputCallbackProc (XtPointer closure, int *source, XtInputId *id) |
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_XtReactor::ACE_XtReactor | ( | XtAppContext | context = 0 , |
|
size_t | size = DEFAULT_SIZE , |
|||
int | restart = 0 , |
|||
ACE_Sig_Handler * | = 0 | |||
) |
ACE_XtReactor::~ACE_XtReactor | ( | void | ) | [virtual] |
ACE_XtReactor::ACE_XtReactor | ( | const ACE_XtReactor & | ) | [private] |
Deny access since member-wise won't work...
int ACE_XtReactor::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_XtReactor::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_XtReactor::context | ( | XtAppContext | ) |
XtAppContext ACE_XtReactor::context | ( | void | ) | const |
void ACE_XtReactor::InputCallbackProc | ( | XtPointer | closure, | |
int * | source, | |||
XtInputId * | id | |||
) | [static, private] |
ACE_XtReactor& ACE_XtReactor::operator= | ( | const ACE_XtReactor & | ) | [private] |
int ACE_XtReactor::register_handler_i | ( | const ACE_Handle_Set & | handles, | |
ACE_Event_Handler * | handler, | |||
ACE_Reactor_Mask | mask | |||
) | [protected, virtual] |
int ACE_XtReactor::register_handler_i | ( | ACE_HANDLE | handle, | |
ACE_Event_Handler * | handler, | |||
ACE_Reactor_Mask | mask | |||
) | [protected, virtual] |
int ACE_XtReactor::remove_handler_i | ( | const ACE_Handle_Set & | handles, | |
ACE_Reactor_Mask | ||||
) | [protected, virtual] |
int ACE_XtReactor::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_XtReactor::remove_XtInput | ( | ACE_HANDLE | handle | ) | [protected, virtual] |
Removes an Xt handle.
void ACE_XtReactor::reset_timeout | ( | void | ) | [private] |
This method ensures there's an Xt timeout for the first timeout in the Reactor's Timer_Queue.
int ACE_XtReactor::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_XtReactor::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 >.
void ACE_XtReactor::TimerCallbackProc | ( | XtPointer | closure, | |
XtIntervalId * | id | |||
) | [static, private] |
int ACE_XtReactor::wait_for_multiple_events | ( | ACE_Select_Reactor_Handle_Set & | , | |
ACE_Time_Value * | ||||
) | [protected, virtual] |
int ACE_XtReactor::XtWaitForMultipleEvents | ( | int | , | |
ACE_Select_Reactor_Handle_Set & | , | |||
ACE_Time_Value * | ||||
) | [protected, virtual] |
Wait for Xt events to occur.
XtAppContext ACE_XtReactor::context_ [protected] |
ACE_XtReactorID* ACE_XtReactor::ids_ [protected] |
XtIntervalId ACE_XtReactor::timeout_ [protected] |