// Copyright 2018 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #define ZMQ_STATIC #include namespace RPC { class Packet; class ZMQServer { public: explicit ZMQServer(std::function)> new_request_callback); ~ZMQServer(); private: void WorkerLoop(); void SendReply(Packet& request); std::thread worker_thread; std::atomic_bool running = true; std::unique_ptr zmq_context; std::unique_ptr zmq_socket; std::function)> new_request_callback; }; } // namespace RPC