diff options
-rw-r--r-- | streamdeck.c | 19 | ||||
-rw-r--r-- | streamdeck.h | 3 |
2 files changed, 21 insertions, 1 deletions
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 (); |