Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# ACE_TkReactor Class Reference

An object-oriented event demultiplexor and event handler dispatcher that uses the Tk functions. More...

`#include <TkReactor.h>`

Inheritance diagram for ACE_TkReactor

[legend]
Collaboration diagram for ACE_TkReactor:

[legend]
List of all members.

## Public Methods
| ACE_TkReactor (size_t size = DEFAULT_SIZE, int restart = 0, ACE_Sig_Handler * = 0)
virtual | ~ACE_TkReactor (void)
virtual long | schedule_timer (ACE_Event_Handler *handler, const void *arg, const ACE_Time_Value &delay_time, 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 Methods
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_TkFileHandler (ACE_HANDLE handle)
| Removes an Tk FileHandler.
virtual int | wait_for_multiple_events (ACE_Select_Reactor_Handle_Set &, ACE_Time_Value *)
| Wait for events to occur.
virtual int | TkWaitForMultipleEvents (int, ACE_Select_Reactor_Handle_Set &, ACE_Time_Value *)
| Wait for Tk events to occur.
## Protected Attributes
ACE_TkReactorID* | ids_
Tk_TimerToken | timeout_
## Private Methods
void | reset_timeout (void)
| This method ensures there's a Tk timeout for the first timeout in the Reactor's Timer_Queue.
| ACE_TkReactor (const ACE_TkReactor &)
| Deny access since member-wise won't work...
ACE_TkReactor& | operator= (const ACE_TkReactor &)
## Static Private Methods
void | TimerCallbackProc (ClientData cd)
void | InputCallbackProc (ClientData cd,int mask)

## Detailed Description

An object-oriented event demultiplexor and event handler dispatcher that uses the Tk functions.

## Constructor & Destructor Documentation

ACE_TkReactor::ACE_TkReactor ( | size_t size = DEFAULT_SIZE,
| int restart = 0,
| ACE_Sig_Handler * = 0 )

ACE_TkReactor::~ACE_TkReactor ( | void )`[virtual]`

ACE_TkReactor::ACE_TkReactor ( | const ACE_TkReactor & )`[private]`

| Deny access since member-wise won't work...

## Member Function Documentation

void ACE_TkReactor::InputCallbackProc ( | ClientData cd,
| int mask )`[static, private]`

| Todo: the unused mask argument is probably quite useful, but we ignore it, why? In fact the following comment probably relates to that: This could be made shorter if we know which *kind* of event we were about to get. Here we use <select> to find out which one might be available.

void ACE_TkReactor::TimerCallbackProc ( | ClientData cd )`[static, private]`

int ACE_TkReactor::TkWaitForMultipleEvents ( | int width,
| ACE_Select_Reactor_Handle_Set & wait_set,
| ACE_Time_Value * )`[protected, virtual]`

| Wait for Tk events to occur.

int ACE_TkReactor::cancel_timer ( | long timer_id,
| const void ** arg = 0,
| int dont_call_handle_close = 1 )`[virtual]`

| Cancel the single 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.

int ACE_TkReactor::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_TkReactor& ACE_TkReactor::operator= ( | const ACE_TkReactor & )`[private]`

int ACE_TkReactor::register_handler_i ( | const ACE_Handle_Set & handles,
| ACE_Event_Handler * handler,
| ACE_Reactor_Mask mask )`[protected, virtual]`

| Register a set of <handlers>. Reimplemented from ACE_Select_Reactor_T.

int ACE_TkReactor::register_handler_i ( | ACE_HANDLE handle,
| ACE_Event_Handler * handler,
| ACE_Reactor_Mask mask )`[protected, virtual]`

| Register a single <handler>. Reimplemented from ACE_Select_Reactor_T.

void ACE_TkReactor::remove_TkFileHandler ( | ACE_HANDLE handle )`[protected, virtual]`

| Removes an Tk FileHandler.

int ACE_TkReactor::remove_handler_i ( | const ACE_Handle_Set & handles,
| ACE_Reactor_Mask mask )`[protected, virtual]`

| Remove a set of <handles>. Reimplemented from ACE_Select_Reactor_T.

int ACE_TkReactor::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.

void ACE_TkReactor::reset_timeout ( | void )`[private]`

| This method ensures there's a Tk timeout for the first timeout in the Reactor's Timer_Queue.

int ACE_TkReactor::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 , the timer will become a non-rescheduling timer. Returns 0 if successful, -1 if not. Reimplemented from ACE_Select_Reactor_T.

long ACE_TkReactor::schedule_timer ( | ACE_Event_Handler * handler,
| const void * arg,
| const ACE_Time_Value & delay_time,
| 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. See also: cancel_timer() , reset_timer_interval() Parameters:
  event_handler | event handler to schedule on reactor
  arg | argument passed to the handle_timeout() method of event_handler
  delta | time interval after which the timer will expire
  interval | time interval after which the timer will be automatically rescheduled
Returns: -1 on failure, a timer_id value on success Reimplemented from ACE_Select_Reactor_T.

int ACE_TkReactor::wait_for_multiple_events ( | ACE_Select_Reactor_Handle_Set & handle_set,
| ACE_Time_Value * max_wait_time )`[protected, virtual]`

| Wait for events to occur. Reimplemented from ACE_Select_Reactor_T.

## Member Data Documentation

ACE_TkReactorID * ACE_TkReactor::ids_`[protected]`

Tk_TimerToken ACE_TkReactor::timeout_`[protected]`

The documentation for this class was generated from the following files:

- TkReactor.h
- TkReactor.cpp