diff options
Diffstat (limited to 'ace/XtReactor.h')
-rw-r--r-- | ace/XtReactor.h | 75 |
1 files changed, 39 insertions, 36 deletions
diff --git a/ace/XtReactor.h b/ace/XtReactor.h index 6dc3f57ae25..d2d4d81c307 100644 --- a/ace/XtReactor.h +++ b/ace/XtReactor.h @@ -1,20 +1,17 @@ /* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// XtReactor.h -// -// = AUTHOR -// Eric C. Newton's <ecn@clark.net>, -// Kirill Rybaltchenko <Kirill.Rybaltchenko@cern.ch>, and -// Douglas C. Schmidt <schmidt@cs.wustl.edu> -// -// ============================================================================ + +//============================================================================= +/** + * @file XtReactor.h + * + * $Id$ + * + * @author Eric C. Newton's <ecn@clark.net> + * @author Kirill Rybaltchenko <Kirill.Rybaltchenko@cern.ch> + * @author Douglas C. Schmidt <schmidt@cs.wustl.edu> + */ +//============================================================================= + #ifndef ACE_XTREACTOR_H #define ACE_XTREACTOR_H @@ -32,27 +29,33 @@ #include /**/ <X11/Intrinsic.h> //#undef String +/** + * @class ACE_XtReactorID + * + * @brief This little class is necessary due to the way that Microsoft + * implements sockets to be pointers rather than indices. + */ class ACE_Export ACE_XtReactorID { - // = TITLE - // This little class is necessary due to the way that Microsoft - // implements sockets to be pointers rather than indices. public: + /// Magic cookie. XtInputId id_; - // Magic cookie. + /// Underlying handle. ACE_HANDLE handle_; - // Underlying handle. + /// Pointer to next node in the linked list. ACE_XtReactorID *next_; - // Pointer to next node in the linked list. }; +/** + * @class ACE_XtReactor + * + * @brief An object-oriented event demultiplexor and event handler + * dispatcher that uses the X Toolkit functions. + */ class ACE_Export ACE_XtReactor : public ACE_Select_Reactor { - // = TITLE - // An object-oriented event demultiplexor and event handler - // dispatcher that uses the X Toolkit functions. public: // = Initialization and termination methods. ACE_XtReactor (XtAppContext context = 0, @@ -69,7 +72,7 @@ public: const void *arg, const ACE_Time_Value &delta_time, const ACE_Time_Value &interval); - virtual int reset_timer_interval (long timer_id, + 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); @@ -80,52 +83,52 @@ public: protected: // = Register timers/handles with Xt. + /// Register a single <handler>. virtual int register_handler_i (ACE_HANDLE handle, ACE_Event_Handler *handler, ACE_Reactor_Mask mask); - // Register a single <handler>. + /// Register a set of <handlers>. virtual int register_handler_i (const ACE_Handle_Set &handles, ACE_Event_Handler *handler, ACE_Reactor_Mask mask); - // Register a set of <handlers>. + /// Remove the <handler> associated with this <handle>. virtual int remove_handler_i (ACE_HANDLE handle, ACE_Reactor_Mask mask); - // Remove the <handler> associated with this <handle>. + /// Remove a set of <handles>. virtual int remove_handler_i (const ACE_Handle_Set &handles, ACE_Reactor_Mask); - // Remove a set of <handles>. + /// Removes an Xt handle. virtual void remove_XtInput (ACE_HANDLE handle); - // Removes an Xt handle. + /// Wait for events to occur. virtual int wait_for_multiple_events (ACE_Select_Reactor_Handle_Set &, ACE_Time_Value *); - // Wait for events to occur. + ///Wait for Xt events to occur. virtual int XtWaitForMultipleEvents (int, ACE_Select_Reactor_Handle_Set &, ACE_Time_Value *); - //Wait for Xt events to occur. XtAppContext context_; ACE_XtReactorID *ids_; XtIntervalId timeout_; private: + /// This method ensures there's an Xt timeout for the first timeout + /// in the Reactor's Timer_Queue. void reset_timeout (void); - // This method ensures there's an Xt timeout for the first timeout - // in the Reactor's Timer_Queue. // = Integrate with the X callback function mechanism. static void TimerCallbackProc (XtPointer closure, XtIntervalId *id); static void InputCallbackProc (XtPointer closure, int* source, XtInputId *id); + /// Deny access since member-wise won't work... ACE_XtReactor (const ACE_XtReactor &); ACE_XtReactor &operator = (const ACE_XtReactor &); - // Deny access since member-wise won't work... }; #endif /* ACE_HAS_XT */ |