diff options
author | dknn <yoann.blein@free.fr> | 2012-07-08 20:23:27 (GMT) |
---|---|---|
committer | dknn <yoann.blein@free.fr> | 2012-09-22 08:55:56 (GMT) |
commit | dc259819a687fa9a6f9007ed15b443f737c5d473 (patch) | |
tree | b3322e7902705923cfe85d5a67e4bfda9697f3c3 /Swiften/Network/UDPSocket.h | |
parent | 9928de47c73430b4ed37db8a0cfb44adecc3e296 (diff) | |
download | swift-contrib-dc259819a687fa9a6f9007ed15b443f737c5d473.zip swift-contrib-dc259819a687fa9a6f9007ed15b443f737c5d473.tar.bz2 |
Udp stuff
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; + }; +} |