From 092f4e2740a2e59a6b6c5aa064f59d9970790e23 Mon Sep 17 00:00:00 2001 From: grm Date: Sun, 2 Mar 2025 14:21:02 +0200 Subject: some archive --- src/archive/cxxflags | 22 +++++++++++++++++++++ src/archive/microhttpd.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 src/archive/cxxflags create mode 100644 src/archive/microhttpd.c diff --git a/src/archive/cxxflags b/src/archive/cxxflags new file mode 100644 index 0000000..bcff863 --- /dev/null +++ b/src/archive/cxxflags @@ -0,0 +1,22 @@ + +void cxxflags(B_Cmd *cmd) +{ + b_cmd_append(cmd, "-Wall", "-Wextra"); + b_cmd_append(cmd, "-Wno-string-plus-int", "-Wno-nullability-completeness", "-Wno-unused-function", "-Wno-missing-field-initializers", "-Wno-unused-parameter", "-Wno-unused-variable"); + + debug_or_release(cmd); + + b_cmd_append(cmd, "-march=native"); + b_cmd_append(cmd, "-fno-math-errno", "-funroll-loops"); + b_cmd_append(cmd, "-flto", "-pthread"); + + inlcude_dirs(cmd); + //b_cmd_append(cmd, "-O3"); +} + +void cxx(B_Cmd *cmd) +{ + b_cmd_append(cmd, "clang"); + cxxflags(cmd); +} + diff --git a/src/archive/microhttpd.c b/src/archive/microhttpd.c new file mode 100644 index 0000000..c75d715 --- /dev/null +++ b/src/archive/microhttpd.c @@ -0,0 +1,51 @@ +#include + +// HTTP request handler +enum MHD_Result handle_request(void *cls, struct MHD_Connection *connection, + const char *url, const char *method, + const char *version, const char *upload_data, + size_t *upload_data_size, void **con_cls) { + (void)version; + (void)upload_data; + (void)upload_data_size; + (void)con_cls; + struct MHD_Response *response; + enum MHD_Result ret; + + if (strcmp(url, "/slider") == 0 && strcmp(method, "GET") == 0) { + const char *value_str = MHD_lookup_connection_value(connection, MHD_GET_ARGUMENT_KIND, "value"); + if (value_str) { + int value = atoi(value_str); + handle_slider_change(cls, value); + } + response = MHD_create_response_from_buffer(0, "", MHD_RESPMEM_PERSISTENT); + ret = MHD_queue_response(connection, MHD_HTTP_OK, response); + MHD_destroy_response(response); + return ret; + } + + if (strcmp(url, "/button") == 0 && strcmp(method, "GET") == 0) { + handle_button_click(cls); + response = MHD_create_response_from_buffer(0, "", MHD_RESPMEM_PERSISTENT); + ret = MHD_queue_response(connection, MHD_HTTP_OK, response); + MHD_destroy_response(response); + return ret; + } + + response = MHD_create_response_from_buffer(strlen(html_content), (void *)html_content, MHD_RESPMEM_PERSISTENT); + ret = MHD_queue_response(connection, MHD_HTTP_OK, response); + MHD_destroy_response(response); + return ret; +} + + + // Start the HTTP server + server = MHD_start_daemon(MHD_USE_THREAD_PER_CONNECTION, HTTP_PORT, NULL, NULL, &handle_request, (void *)synth, MHD_OPTION_END); + if (server == NULL) { + fprintf(stderr, "Failed to start server\n"); + return; + } + + + + MHD_stop_daemon(server); -- cgit v1.2.3