diff options
author | David Robillard <d@drobilla.net> | 2020-08-01 22:41:11 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-08-02 01:48:48 +0200 |
commit | c0f567d3232cbe165e56cb2684cda52df7cfb90f (patch) | |
tree | 3ffbe6df3f2056fd579a954e00f0bea49b47104e /ingen/SocketReader.hpp | |
parent | 9eadae8edc7a35f87499f58c3e3b9cec68f74a80 (diff) | |
download | ingen-c0f567d3232cbe165e56cb2684cda52df7cfb90f.tar.gz ingen-c0f567d3232cbe165e56cb2684cda52df7cfb90f.tar.bz2 ingen-c0f567d3232cbe165e56cb2684cda52df7cfb90f.zip |
Move public headers to a separate include directory
This is more conventional and probably best practice (since it avoids polluting
the include path with non-headers), and is supported by the clang-tidy
llvm-header-guard check.
Diffstat (limited to 'ingen/SocketReader.hpp')
-rw-r--r-- | ingen/SocketReader.hpp | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/ingen/SocketReader.hpp b/ingen/SocketReader.hpp deleted file mode 100644 index 22a0f4aa..00000000 --- a/ingen/SocketReader.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/* - This file is part of Ingen. - Copyright 2007-2015 David Robillard <http://drobilla.net/> - - Ingen is free software: you can redistribute it and/or modify it under the - terms of the GNU Affero General Public License as published by the Free - Software Foundation, either version 3 of the License, or any later version. - - Ingen 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 Affero General Public License for details. - - You should have received a copy of the GNU Affero General Public License - along with Ingen. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef INGEN_SOCKET_READER_HPP -#define INGEN_SOCKET_READER_HPP - -#include "ingen/ingen.h" -#include "ingen/types.hpp" -#include "serd/serd.h" -#include "sord/sord.h" - -#include <thread> - -namespace Raul { class Socket; } - -namespace ingen { - -class Interface; -class World; - -/** Calls Interface methods based on Turtle messages received via socket. */ -class INGEN_API SocketReader -{ -public: - SocketReader(World& world, - Interface& iface, - SPtr<Raul::Socket> sock); - - virtual ~SocketReader(); - -protected: - virtual void on_hangup() {} - -private: - /// Serd source function for reading from socket - static size_t c_recv(void* buf, size_t size, size_t nmemb, void* stream); - - /// Serd error function for getting socket error status - static int c_err(void* stream); - - void run(); - - static SerdStatus set_base_uri(SocketReader* iface, - const SerdNode* uri_node); - - static SerdStatus set_prefix(SocketReader* iface, - const SerdNode* name, - const SerdNode* uri_node); - - static SerdStatus write_statement(SocketReader* iface, - SerdStatementFlags flags, - const SerdNode* graph, - const SerdNode* subject, - const SerdNode* predicate, - const SerdNode* object, - const SerdNode* object_datatype, - const SerdNode* object_lang); - - World& _world; - Interface& _iface; - SerdEnv* _env; - SordInserter* _inserter; - SordNode* _msg_node; - SPtr<Raul::Socket> _socket; - int _socket_error; - bool _exit_flag; - std::thread _thread; -}; - -} // namespace ingen - -#endif // INGEN_SOCKET_READER_HPP |