00001 00002 #ifndef header_event_trigger_socket 00003 #define header_event_trigger_socket 00004 00005 #include "API/signals.h" 00006 #include "API/Core/System/event_trigger.h" 00007 #include "socket_select.h" 00008 #include <map> 00009 00010 class CL_Socket_Generic; 00011 00012 class CL_EventTrigger_Socket : public CL_EventTrigger 00013 { 00014 public: 00015 enum Type 00016 { 00017 read, 00018 write, 00019 exception 00020 }; 00021 00022 // Construction: 00023 public: 00024 CL_EventTrigger_Socket(CL_Socket_Generic *sock, Type type); 00025 00026 ~CL_EventTrigger_Socket(); 00027 00028 // Attributes: 00029 public: 00030 CL_Socket_Generic *get_socket() const { return sock; } 00031 00032 Type get_type() const { return type; } 00033 00034 // Operations: 00035 public: 00036 void start_listen(); 00037 00038 // Implementation: 00039 private: 00040 00041 CL_Socket_Generic *sock; 00042 Type type; 00043 00044 static CL_SocketSelect socket_select; 00045 }; 00046 00047 #endif
1.2.6 written by Dimitri van Heesch,
© 1997-2001