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

RMCast_UDP_Event_Handler.h

Go to the documentation of this file.
00001 // $Id: RMCast_UDP_Event_Handler.h,v 1.1.1.1 2001/12/04 14:33:17 chad Exp $
00002 
00003 #ifndef ACE_RMCAST_UDP_EVENT_HANDLER_H
00004 #define ACE_RMCAST_UDP_EVENT_HANDLER_H
00005 #include "ace/pre.h"
00006 
00007 #include "RMCast_Export.h"
00008 #include "ace/Event_Handler.h"
00009 
00010 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00011 # pragma once
00012 #endif /* ACE_LACKS_PRAGMA_ONCE */
00013 
00014 class ACE_RMCast_IO_UDP;
00015 class ACE_INET_Addr;
00016 
00017 //! Implement an Adapter for the ACE_RMCast_IO_UDP class
00018 /*!
00019  * Applications may wish to use the ACE_Reactor to demultiplex I/O
00020  * events for an ACE_RMCast_IO_UDP object.  However other application
00021  * may choose to make ACE_RMCast_IO_UDP active, or they may dedicate
00022  * their own threads for its events.
00023  * To avoid couplin ACE_RMCast_IO_UDP with the Reactor we don't make
00024  * it derived from ACE_Event_Handler or any other class in the Reactor
00025  * framework, instead, this simple Adapter can forward the Reactor
00026  * messages to an ACE_RMCast_IO_UDP object.
00027  */
00028 class ACE_RMCast_Export ACE_RMCast_UDP_Event_Handler : public ACE_Event_Handler
00029 {
00030 public:
00031   //! Constructor, save io_udp as the Adaptee in the Adapter pattern.
00032   ACE_RMCast_UDP_Event_Handler (ACE_RMCast_IO_UDP *io_udp);
00033 
00034   //! Destructor
00035   /*!
00036    * Notice that this class does not own the ACE_RMCast_IO_UDP
00037    * adaptee, so it does not destroy it.
00038    */
00039   ~ACE_RMCast_UDP_Event_Handler (void);
00040 
00041   //@{
00042   //! Documented in ACE_Event_Handler class
00043   virtual ACE_HANDLE get_handle (void) const;
00044   virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
00045   virtual int handle_timeout (const ACE_Time_Value &current_time,
00046                               const void *act = 0);
00047   //@}
00048 
00049 private:
00050   //! The adaptee
00051   ACE_RMCast_IO_UDP *io_udp_;
00052 };
00053 
00054 #if defined (__ACE_INLINE__)
00055 #include "RMCast_UDP_Event_Handler.i"
00056 #endif /* __ACE_INLINE__ */
00057 
00058 #include "ace/post.h"
00059 #endif /* ACE_RMCAST_UDP_EVENT_HANDLER_H */

Generated on Mon Jun 16 13:12:38 2003 for ACE_RMCast by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002