From 8ed8ac39c6de611b6737280a5041c15d3f415c1d Mon Sep 17 00:00:00 2001 From: Joshua Liu Date: Sun, 22 Jun 2025 22:08:03 -0400 Subject: feat: created the function declaration and some implementation of destroy_streamdeck and clean_exit --- streamdeck.c | 19 ++++++++++++++++++- streamdeck.h | 3 +++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/streamdeck.c b/streamdeck.c index 28e5a03..30e5065 100644 --- a/streamdeck.c +++ b/streamdeck.c @@ -106,6 +106,8 @@ streamdeck* connect() { streamdeck* res = malloc(sizeof(streamdeck)); + if (!res) + return NULL; res->hid_handle = create_hid_handler (); if (1) /* Replace this with the actual ID of the different streamdecks */ { @@ -207,7 +209,7 @@ update_current_folder (screen* folder) { for (int i = 0; i < STREAMDECK_MINI; i++ ) { - + ; } return 0; } @@ -222,3 +224,18 @@ load_key () { } +void +destroy_streamdeck (streamdeck* target) +{ + hid_close (target->hid_handle->handler); + free (target->hid_handle); + free (target->curr_screen); + free (target); +} + +void +clean_exit () +{ + hid_exit (); +} + diff --git a/streamdeck.h b/streamdeck.h index 0455aef..e781dea 100644 --- a/streamdeck.h +++ b/streamdeck.h @@ -32,4 +32,7 @@ int callback(handler* deck, void* key, void* state); int readhandler(handler* deck); int set_key_image(streamdeck* deck, int key, image* img); int init (); +void destroy_streamdeck (streamdeck* target); +handler* create_hid_handler (); +// handler* create_hid_handler (); -- cgit v1.2.3