/* * Copyright (c) 2012 Yoann Blein * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include namespace Swift { class EventLoop; class HostAddressPort; class UDPSocket { public: typedef boost::shared_ptr ref; virtual ~UDPSocket() {} virtual void bind(int port) = 0; virtual void listen() = 0; virtual void connect(const HostAddressPort& address) = 0; virtual void connectToFirstIncoming() = 0; virtual void send(const SafeByteArray& data) = 0; virtual void close() = 0; public: boost::signal)> onDataRead; boost::signal onConnected; }; }