summaryrefslogtreecommitdiff
path: root/src/remote.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/remote.cc')
-rw-r--r--src/remote.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/remote.cc b/src/remote.cc
index 9b8bab66..909f2c09 100644
--- a/src/remote.cc
+++ b/src/remote.cc
@@ -282,9 +282,9 @@ private:
RemoteUI::RemoteUI(int socket)
- : m_socket_watcher(socket, [this](FDWatcher&) {
+ : m_socket_watcher(socket, [this](FDWatcher&, EventMode mode) {
if (m_input_callback)
- m_input_callback();
+ m_input_callback(mode);
})
{
write_debug("remote client connected: " +
@@ -453,9 +453,9 @@ RemoteClient::RemoteClient(StringView session, std::unique_ptr<UserInterface>&&
msg.write(key);
}
- m_ui->set_input_callback([this]{ write_next_key(); });
+ m_ui->set_input_callback([this](EventMode){ write_next_key(); });
- m_socket_watcher.reset(new FDWatcher{sock, [this](FDWatcher&){ process_available_messages(); }});
+ m_socket_watcher.reset(new FDWatcher{sock, [this](FDWatcher&, EventMode){ process_available_messages(); }});
}
void RemoteClient::process_available_messages()
@@ -560,7 +560,10 @@ class Server::Accepter
public:
Accepter(int socket)
: m_socket_watcher(socket,
- [this](FDWatcher&) { handle_available_input(); })
+ [this](FDWatcher&, EventMode mode) {
+ if (mode == EventMode::Normal)
+ handle_available_input();
+ })
{}
private:
@@ -626,7 +629,7 @@ Server::Server(String session_name)
if (listen(listen_sock, 4) == -1)
throw runtime_error("unable to listen on socket "_str + addr.sun_path);
- auto accepter = [this](FDWatcher& watcher) {
+ auto accepter = [this](FDWatcher& watcher, EventMode mode) {
sockaddr_un client_addr;
socklen_t client_addr_len = sizeof(sockaddr_un);
int sock = accept(watcher.fd(), (sockaddr*) &client_addr,