| 27 | // |
| 28 | |
| 29 | ServerProxy::ServerProxy(Client *client, deskflow::IStream *stream, IEventQueue *events) |
| 30 | : m_client(client), |
| 31 | m_stream(stream), |
| 32 | m_events(events) |
| 33 | { |
| 34 | assert(m_client != nullptr); |
| 35 | assert(m_stream != nullptr); |
| 36 | |
| 37 | // initialize modifier translation table |
| 38 | for (KeyModifierID id = 0; id < kKeyModifierIDLast; ++id) |
| 39 | m_modifierTranslationTable[id] = id; |
| 40 | |
| 41 | // handle data on stream |
| 42 | m_events->addHandler(EventTypes::StreamInputReady, m_stream->getEventTarget(), [this](const auto &) { |
| 43 | handleData(); |
| 44 | }); |
| 45 | m_events->addHandler(EventTypes::ClipboardSending, this, [this](const auto &e) { |
| 46 | ClipboardChunk::send(m_stream, e.getDataObject()); |
| 47 | }); |
| 48 | |
| 49 | // send heartbeat |
| 50 | setKeepAliveRate(kKeepAliveRate); |
| 51 | } |
| 52 | |
| 53 | ServerProxy::~ServerProxy() |
| 54 | { |
nothing calls this directly
no test coverage detected