X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdcpomatic_socket.h;h=870e7315c3126fb67b67fa3b493ce2be34ee8a56;hb=96f7dd41a2c8627bc1ea0d24d84142eb04b4ffef;hp=d2ee6d5555c634a8c58a31e47e81abbda0e746ec;hpb=f213fd833a840fc97e3875979ae7dc7cbbc883b1;p=dcpomatic.git diff --git a/src/lib/dcpomatic_socket.h b/src/lib/dcpomatic_socket.h index d2ee6d555..870e7315c 100644 --- a/src/lib/dcpomatic_socket.h +++ b/src/lib/dcpomatic_socket.h @@ -1,36 +1,37 @@ /* Copyright (C) 2012-2015 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic 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 General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ #include +#include /** @class Socket * @brief A class to wrap a boost::asio::ip::tcp::socket with some things * that are useful for DCP-o-matic. * - * This class wraps some things that I could not work out how to do with boost; + * This class wraps some things that I could not work out how to do easily with boost; * most notably, sync read/write calls with timeouts. */ -class Socket +class Socket : public boost::noncopyable { public: - Socket (int timeout = 30); - ~Socket (); + explicit Socket (int timeout = 30); /** @return Our underlying socket */ boost::asio::ip::tcp::socket& socket () { @@ -38,14 +39,13 @@ public: } void connect (boost::asio::ip::tcp::endpoint); - void accept (int); void write (uint32_t n); void write (uint8_t const * data, int size); - + void read (uint8_t* data, int size); uint32_t read_uint32 (); - + private: void check (); @@ -54,6 +54,5 @@ private: boost::asio::io_service _io_service; boost::asio::deadline_timer _deadline; boost::asio::ip::tcp::socket _socket; - boost::asio::ip::tcp::acceptor* _acceptor; int _timeout; };