diff --git a/po/lang/de/rmrf.po b/po/lang/de/rmrf.po index f50b152ba28a86536921630d6e7c8310b86cb5f3..b5af550bcde912aea730c335c2759e5a69a28f99 100644 --- a/po/lang/de/rmrf.po +++ b/po/lang/de/rmrf.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: rmrf 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-09 17:18+0100\n" +"POT-Creation-Date: 2021-01-01 19:08+0100\n" "PO-Revision-Date: 2019-09-29 02:22+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -21,6 +21,6 @@ msgstr "" msgid "Detected key: %8x (ct=%i)" msgstr "Erkannte Taste: %8x (ct=%i" -#: src/app/rmrf.cpp:24 +#: src/app/rmrf.cpp:27 msgid "Starting RMRF…" msgstr "Starte RMRF…" diff --git a/po/lang/en/rmrf.po b/po/lang/en/rmrf.po index 97ca3fa48a3c5689677d593946c457f3991a073f..cba055e4b2e2ca5b6983fbdae927bbf6a2f95f33 100644 --- a/po/lang/en/rmrf.po +++ b/po/lang/en/rmrf.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: rmrf 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-09 17:18+0100\n" +"POT-Creation-Date: 2021-01-01 19:08+0100\n" "PO-Revision-Date: 2019-09-29 02:22+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -21,6 +21,6 @@ msgstr "" msgid "Detected key: %8x (ct=%i)" msgstr "" -#: src/app/rmrf.cpp:24 +#: src/app/rmrf.cpp:27 msgid "Starting RMRF…" msgstr "" diff --git a/po/tpl/rmrf.pot b/po/tpl/rmrf.pot index c06700aa9948ee9d4a753fd427e601541d95f699..63ece2ec8f5cba7d419bcfc8a9ac41b57c7b6343 100644 --- a/po/tpl/rmrf.pot +++ b/po/tpl/rmrf.pot @@ -6,7 +6,7 @@ msgid "" msgstr "Project-Id-Version: rmrf 0.1\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2019-11-09 17:18+0100\n" + "POT-Creation-Date: 2021-01-02 20:30+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -20,6 +20,6 @@ msgstr "Project-Id-Version: rmrf 0.1\n" msgid "Detected key: %8x (ct=%i)" msgstr "" -#: src/app/rmrf.cpp:24 +#: src/app/rmrf.cpp:27 msgid "Starting RMRF…" msgstr "" diff --git a/src/app/rmrf.cpp b/src/app/rmrf.cpp index 745ded790347c8899f40c17742ac2c3d40387a4d..a7f2b3a20277512953027fa6b4059d9b4301a557 100644 --- a/src/app/rmrf.cpp +++ b/src/app/rmrf.cpp @@ -8,9 +8,12 @@ #include "ui/view.hpp" +#include <iostream> + int main() { using rmrf::ui::display; + std::cout << "Hallo" << std::endl; setlocale(LC_ALL, ""); bindtextdomain("rmrf", "/usr/share/locale"); textdomain("rmrf"); diff --git a/src/net/async_server.cpp b/src/net/async_server.cpp new file mode 100644 index 0000000000000000000000000000000000000000..94b3098e9e78293197f68438c6b2510c9394acd7 --- /dev/null +++ b/src/net/async_server.cpp @@ -0,0 +1,47 @@ +/* + * async_server.cpp + * + * Created on: 02.01.2021 + * Author: doralitze + */ +#include <ev++.h> +#include <utility> + +#include "async_server.hpp" + + +namespace rmrf::net::asio { + +async_server_socket::async_server_socket(auto_fd&& socket_fd) : socket(std::forward(socket_fd)) { + // This constructor got a constructed socket as an argument + // and forwards it to libev + io.set<async_server_socket, &async_server_socket::cb_ev>(this); + io.start(this->socket, ev::READ); +} + +async_server_socket::~async_server_socket() { + // Remove this socket from libev ... + io.stop(); +} + +void async_server_socket::cb_ev(::ev::io &w, int events) { + (void) w; + + if (events & ::ev::READ) { + // Handle incoming clients + auto ah = this->get_accept_handler(); + } + + if (events & ::ev::WRITE) { + // Handle sending data which should be none here + } + + if (events & ::ev::ERROR) { + // Handle errors + // Rebind socket if missed iov res else + // Log and throw? + } +} + +} + diff --git a/src/net/async_server.hpp b/src/net/async_server.hpp index 8485ee59e5fd0998212c7c71c498488bad4bc5c2..2a3c7896caae1e8aefbc1af75cc68615150ca7ca 100644 --- a/src/net/async_server.hpp +++ b/src/net/async_server.hpp @@ -37,6 +37,8 @@ public: } public: + void cb_ev(::ev::io &w, int events); + accept_handler_type get_accept_handler() const { return on_accept; }