NAME

ACE_XtReactor - An object oriented event demultiplexor and event handler dispatcher that uses the X Toolkit functions.

SYNOPSIS


#include <ace/XtReactor.h>


class ACE_XtReactor : public ACE_Reactor
{
  public:
    ACE_XtReactor (
        XtAppContext context,
        size_t size = DEFAULT_SIZE,
        int restart = 0,
        ACE_Sig_Handler * = 0
        );
    virtual ~ACE_XtReactor (void);
    XtAppContext context (void);
    virtual int attach (
        ACE_HANDLE handle,
        ACE_Event_Handler *handler,
        ACE_Reactor_Mask mask
        );
    virtual int detach (ACE_HANDLE handle, ACE_Reactor_Mask mask);
    virtual int schedule_timer (
        ACE_Event_Handler *handler,
        const void *arg,
        const ACE_Time_Value &delta_time,
        const ACE_Time_Value &interval
        );
    virtual int cancel_timer (ACE_Event_Handler *handler);
    virtual int cancel_timer (int timer_id, const void **arg);
  protected:
    virtual int wait_for_multiple_events (
        ACE_Handle_Set &,
        ACE_Handle_Set &,
        ACE_Handle_Set &,
        ACE_Time_Value *
        );
    virtual int XtWaitForMultipleEvents (
        int,
        ACE_Handle_Set &,
        ACE_Handle_Set &,
        ACE_Handle_Set &,
        ACE_Time_Value *
        );
    ACE_XtReactor (const ACE_Reactor &);
    ACE_XtReactor &operator = (const ACE_Reactor &);
    XtAppContext context_;
    int id_len_;
    XtIntervalId timeout_;
  private:
    void reset_timeout (void);
    static void TimerCallbackProc (
        XtPointer closure,
        XtIntervalId *id
        );
    static void InputCallbackProc (
        XtPointer closure,
        int* source,
        XtInputId *id
        );
};

DESCRIPTION

The ACE_Reactor is an object-oriented event demultiplexor and event handler dispatcher. The sources of events that the ACE_Reactor waits for and dispatches includes I/O events, signals, and timer events.

Initialization and termination methods.

ACE_XtReactor (
    XtAppContext context,
    size_t size = DEFAULT_SIZE,
    int restart = 0,
    ACE_Sig_Handler * = 0
    );
virtual ~ACE_XtReactor (void);
XtAppContext context (void);
Register timers/handles with Xt.
virtual int attach (
    ACE_HANDLE handle,
    ACE_Event_Handler *handler,
    ACE_Reactor_Mask mask
    );
virtual int detach (ACE_HANDLE handle, ACE_Reactor_Mask mask);
virtual int schedule_timer (
    ACE_Event_Handler *handler,
    const void *arg,
    const ACE_Time_Value &delta_time,
    const ACE_Time_Value &interval
    );
virtual int cancel_timer (ACE_Event_Handler *handler);
virtual int cancel_timer (int timer_id, const void **arg);

AUTHOR

Eric C. Newton's ecn@clark.net and Douglas C. Schmidt schmidt@cs.wustl.edu

LIBRARY

ace