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

event_trigger_socket.cpp

Go to the documentation of this file.
00001 
00002 #ifdef WIN32
00003 #pragma warning (disable:4786)
00004 #endif
00005 
00006 #include "event_trigger_socket.h"
00007 #include "socket_generic.h"
00008 
00010 // Construction:
00011 
00012 CL_EventTrigger_Socket::CL_EventTrigger_Socket(CL_Socket_Generic *sock, Type type)
00013 : sock(sock), type(type)
00014 {
00015         sock->add_ref();
00016         start_listen();
00017 }
00018 
00019 CL_EventTrigger_Socket::~CL_EventTrigger_Socket()
00020 {
00021         switch (type)
00022         {
00023         case read:      socket_select.remove_read(this); break;
00024         case write:     socket_select.remove_write(this); break;
00025         case exception: socket_select.remove_exception(this); break;
00026         }
00027 
00028         sock->release_ref();
00029 }
00030 
00032 // Attributes:
00033 
00035 // Operations:
00036 
00038 // Implementation:
00039 
00040 void CL_EventTrigger_Socket::start_listen()
00041 {
00042         reset();
00043         switch (type)
00044         {
00045         case read:      socket_select.listen_read(this); break;
00046         case write:     socket_select.listen_write(this); break;
00047         case exception: socket_select.listen_exception(this); break;
00048         }
00049 }
00050 
00051 CL_SocketSelect CL_EventTrigger_Socket::socket_select;

Generated at Wed Apr 4 19:54:00 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001