From ebcc06eea9bd88789005a57db63ff368203951f0 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Mon, 17 Jun 2019 23:36:53 +0200 Subject: [PATCH 1/3] dunno --- cli/FlippR_Networking.py | 2 ++ cli/main.py | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/cli/FlippR_Networking.py b/cli/FlippR_Networking.py index 7604abe..782a951 100644 --- a/cli/FlippR_Networking.py +++ b/cli/FlippR_Networking.py @@ -40,3 +40,5 @@ class Networking: def writeDisplayScore(self, display, score): self.get("/displays" + display + "/write_score/" + str(score)) + def getInputEvent(self): + pass diff --git a/cli/main.py b/cli/main.py index 8628571..879b698 100644 --- a/cli/main.py +++ b/cli/main.py @@ -2,6 +2,7 @@ from cursesmenu import * from cursesmenu.items import * import argparse as ap from FlippR_Networking import Networking +import keyboard networking = {} @@ -28,11 +29,16 @@ def create_menu(): lamp_menu_item = SubmenuItem("Lamps", display_menu, menu) menu.append_item(lamp_menu_item) - # todo inputs + input_item = FunctionItem("Print Input", print_input) + menu.append_item(input_item) menu.show() +def print_input(): + while(not keyboard.is_pressed('q')): + print(networking.getInputEvent()) + def create_lamps_submenu(lamps): menu = CursesMenu("Output", "Lamps") for lamp in lamps: @@ -75,8 +81,10 @@ def create_submenu(title, items, fun): def main(): argparser = ap.ArgumentParser() - argparser.add_argument("input_socket", help="path to the input socket") argparser.add_argument("output_socket", help="path to the output socket") - argparser.parse_args() - networking = Networking(argparser.output_socket, argparser.input_socket) + argparser.add_argument("input_socket", help="path to the input socket") + args = argparser.parse_args() + networking = Networking(args.output_socket, args.input_socket) create_menu() + +main() \ No newline at end of file From 1b4639277e460c5139d8d50fb2ed8c6745337d19 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Wed, 19 Jun 2019 22:55:18 +0200 Subject: [PATCH 2/3] fixed socket address --- FlippR-Driver/networking/FlippRServer.cpp | 16 +++++++++++++--- FlippR-Driver/networking/FlippRServer.h | 3 +++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/FlippR-Driver/networking/FlippRServer.cpp b/FlippR-Driver/networking/FlippRServer.cpp index 592fe63..e7fce65 100644 --- a/FlippR-Driver/networking/FlippRServer.cpp +++ b/FlippR-Driver/networking/FlippRServer.cpp @@ -163,8 +163,9 @@ HTTPServer* FlippRServer::build_output_server() { unsigned short port = (unsigned short) config().getInt("HTTPTimeServer.port", this->output_port); - // todo XDG_RUNTIME_DIR - SocketAddress address("/tmp/flippR_driver/S.flippR_driver"); + std::string runtime_dir = this->get_runtime_dir(); + + SocketAddress address(runtime_dir + SOCKET_NAME); ServerSocket server_socket(address); return new HTTPServer(new OutputRequestHandlerFactory(this->output_driver), server_socket, new HTTPServerParams); @@ -175,7 +176,8 @@ TCPServer* FlippRServer::build_input_server() unsigned short port = (unsigned short) config().getInt("HTTPTimeServer.port", this->output_port); //TODO adapt path - SocketAddress address("/tmp/flippR_driver/S.flippR_driver"); + std::string runtime_dir = this->get_runtime_dir(); + SocketAddress address(runtime_dir + SOCKET_NAME); ServerSocket server_socket(address); return new TCPServer(new input::InputSocketHandlerFactory(this->input_driver), port); @@ -290,6 +292,14 @@ void FlippRServer::handle_help(const std::string& name, const std::string& value stopOptionsProcessing(); help_requested = true; } +std::string FlippRServer::get_runtime_dir() +{ + std::string runtime_dir = std::getenv("XDG_RUNTIME_DIR"); + if(runtime_dir == "") + { + runtime_dir = DEFAULT_RUNTIME_DIR; + } +} } } \ No newline at end of file diff --git a/FlippR-Driver/networking/FlippRServer.h b/FlippR-Driver/networking/FlippRServer.h index 8a987b2..e1bd001 100644 --- a/FlippR-Driver/networking/FlippRServer.h +++ b/FlippR-Driver/networking/FlippRServer.h @@ -37,11 +37,14 @@ private: void initialize_input_driver(); void parse_server_config_file(); + std::string get_runtime_dir(); Poco::Net::HTTPServer* build_output_server(); Poco::Net::TCPServer* build_input_server(); private: + const std::string DEFAULT_RUNTIME_DIR = "/tmp/flippR_driver-runtime/"; + const std::string SOCKET_NAME = "S.flippR_driver" int input_port; int output_port; From 3a730edcb7d554ea8d592f8c608ffa7396369d91 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Wed, 19 Jun 2019 22:57:06 +0200 Subject: [PATCH 3/3] small bugfix --- FlippR-Driver/networking/FlippRServer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FlippR-Driver/networking/FlippRServer.h b/FlippR-Driver/networking/FlippRServer.h index e1bd001..0ebf711 100644 --- a/FlippR-Driver/networking/FlippRServer.h +++ b/FlippR-Driver/networking/FlippRServer.h @@ -44,7 +44,7 @@ private: private: const std::string DEFAULT_RUNTIME_DIR = "/tmp/flippR_driver-runtime/"; - const std::string SOCKET_NAME = "S.flippR_driver" + const std::string SOCKET_NAME = "S.flippR_driver"; int input_port; int output_port;