/* TUIO C++ Library Copyright (c) 2005-2017 Martin Kaltenbrunner This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3.0 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library. */ #ifndef INCLUDED_UDPRECEIVER_H #define INCLUDED_UDPRECEIVER_H #include "OscReceiver.h" #include "ip/UdpSocket.h" namespace TUIO { /** * The UdpReceiver provides the OscReceiver functionality for the UDP transport method * * @author Martin Kaltenbrunner * @version 1.1.6 */ class LIBDECL UdpReceiver: public OscReceiver { public: /** * The UDP socket is only public to be accessible from the thread function */ UdpListeningReceiveSocket *socket; /** * This constructor creates a UdpReceiver instance listening to the provided UDP port * * @param port the number of the UDP port to listen to, defaults to 3333 */ UdpReceiver (int port=3333); /** * The destructor is doing nothing in particular. */ virtual ~UdpReceiver(); /** * The UdpReceiver connects and starts receiving TUIO messages via UDP * * @param lock running in the background if set to false (default) */ void connect(bool lock=false); /** * The UdpReceiver disconnects and stops receiving TUIO messages via UDP */ void disconnect(); private: #ifndef WIN32 pthread_t thread; #else HANDLE thread; #endif bool locked; }; }; #endif /* INCLUDED_UDPRECEIVER_H */