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
1.2.6 written by Dimitri van Heesch,
© 1997-2001