diff options
Diffstat (limited to 'Swiften/Network/UDPSocket.h')
-rw-r--r-- | Swiften/Network/UDPSocket.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Swiften/Network/UDPSocket.h b/Swiften/Network/UDPSocket.h new file mode 100644 index 0000000..ff324fd --- /dev/null +++ b/Swiften/Network/UDPSocket.h @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2012 Yoann Blein + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#pragma once + +#include <Swiften/Base/boost_bsignals.h> +#include <Swiften/Base/SafeByteArray.h> + +namespace Swift { + class EventLoop; + class HostAddressPort; + + class UDPSocket { + public: + typedef boost::shared_ptr<UDPSocket> 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<void (boost::shared_ptr<SafeByteArray>)> onDataRead; + boost::signal<void ()> onConnected; + }; +} |