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

connection_provider_unix.h

Go to the documentation of this file.
00001 #ifndef header_network_delivery_unix
00002 #define header_network_delivery_unix
00003 
00004 #include <list>
00005 
00006 #include "Network/Generic/network_delivery_impl.h"
00007 #include "API/Core/System/mutex.h"
00008 
00009 class CL_UniformSocket;
00010 class CL_UniformUDPConnection;
00011 class CL_UniformAcceptSocket;
00012 
00013 class CL_UnixPipeConnection;
00014 class CL_Connections_Unix : public CL_ConnectionProvider
00015 {
00016 protected:
00017         CL_UnixPipeConnection *client_connection;
00018 
00019         std::list<CL_UniformSocket *> connections;
00020         std::list<CL_UniformUDPConnection *> udp_connections;
00021         std::list<CL_UniformAcceptSocket *> accepting_connections;
00022 
00023 public:
00024         CL_Connections_Unix(CL_UnixPipeConnection *client_connection);
00025         virtual ~CL_Connections_Unix();
00026 
00027         virtual CL_UDPConnection *create_udp_connection(unsigned int port);
00028         virtual CL_Connection *get_client();
00029         virtual CL_Connection *create_tcp_connection(
00030                 int ip_addr,
00031                 int port);
00032         virtual CL_Connection *accept();
00033         virtual void start_accept_on_port(int port);
00034         virtual void stop_accept_on_port(int port);
00035         virtual void wait_for_connection_data(CL_Mutex *mutex);
00036         virtual void remove_connection(CL_Connection *removed_connection);
00037 };
00038 
00039 #endif

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