summaryrefslogtreecommitdiff
path: root/libraries/goldman
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/goldman')
-rw-r--r--libraries/goldman/include/goldman/protocol.hpp85
1 files changed, 0 insertions, 85 deletions
diff --git a/libraries/goldman/include/goldman/protocol.hpp b/libraries/goldman/include/goldman/protocol.hpp
deleted file mode 100644
index b7f4d51..0000000
--- a/libraries/goldman/include/goldman/protocol.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-#pragma once
-
-#include <euler/syscall.hpp>
-#include <memory>
-
-//TODO: handle stream errors, make thread safe
-
-namespace goldman::protocol {
-
- typedef euler::syscall::encoded_color color;
- typedef uint16_t window;
-
- static inline void send_open_window(
- euler::syscall::stream_handle socket, uint32_t width, uint32_t height) {
-
- struct [[gnu::packed]] {
- uint8_t type;
- uint32_t width;
- uint32_t height;
- } packet {
- .type = 0x00,
- .width = width,
- .height = height
- };
-
- euler::syscall::write_to_stream(socket, sizeof(packet), &packet);
-
- }
-
- void send_update_window_region(
- euler::syscall::stream_handle socket, window the_window,
- uint32_t start_x, uint32_t start_y, uint32_t width,
- uint32_t height, const color *the_data, size_t data_pitch) {
-
- struct [[gnu::packed]] {
- uint8_t type;
- window the_window;
- uint32_t start_x;
- uint32_t start_y;
- uint32_t width;
- uint32_t height;
- } packet_head {
- .type = 0x01,
- .the_window = the_window,
- .start_x = start_x,
- .start_y = start_y,
- .width = width,
- .height = height
- };
-
- euler::syscall::write_to_stream(socket, sizeof(packet_head), &packet_head);
- for (uint32_t y = 0; y < height; ++y)
- euler::syscall::write_to_stream(
- socket, width * sizeof(color), the_data + data_pitch * y);
-
- }
-
- void send_close_window(
- euler::syscall::stream_handle socket, window the_window) {
-
- struct [[gnu::packed]] {
- uint8_t type;
- window the_window;
- } packet {
- .type = 0x02,
- .the_window = the_window
- };
-
- euler::syscall::write_to_stream(socket, sizeof(packet), &packet);
-
- }
-
- enum class response_id : uint8_t {
- window_opened
- };
-
- window get_window_opened_body(euler::syscall::stream_handle socket) {
-
- window w;
- euler::syscall::read_from_stream(socket, sizeof(w), &w);
- return w;
-
- }
-
-}