Initialize controller in two steps

There is a dependency cycle in the initialization order:
 - keyboard depends on controller
 - controller depends on acksync
 - acksync depends on keyboard initialization

To break this cycle, bind the async instance to the controller in a
second step.
This commit is contained in:
Romain Vimont
2024-02-24 22:33:48 +01:00
parent 99574761de
commit 57e18a22df
5 changed files with 19 additions and 12 deletions

View File

@@ -25,8 +25,11 @@ struct sc_controller {
};
bool
sc_controller_init(struct sc_controller *controller, sc_socket control_socket,
struct sc_acksync *acksync);
sc_controller_init(struct sc_controller *controller, sc_socket control_socket);
void
sc_controller_set_acksync(struct sc_controller *controller,
struct sc_acksync *acksync);
void
sc_controller_destroy(struct sc_controller *controller);