/* * SocketConnection.cpp * * Created on: Jun 13, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "InputSocketHandler.h" using Poco::Net::StreamSocket; using Poco::Net::TCPServerConnection; using flippR_driver::input::InputDriver; using flippR_driver::input::EventHandler; using flippR_driver::input::Event; namespace flippR_driver { namespace networking { namespace input { InputSocketHandler::InputSocketHandler(StreamSocket streamSocket, std::shared_ptr inputDriver) : TCPServerConnection(streamSocket), EventHandler(inputDriver) { } void InputSocketHandler::run() { while(true) { Event event = this->queue->pop(); if(event.name == "END") { return; } std::string str = event.getJsonString(); this->socket().sendBytes(str.c_str(), str.length()); } } void InputSocketHandler::handle(Event &event) { this->queue->push(event); } } } }