28980bbc90
After the recent refactorings, a "control event" is not necessarily an "event" (it may be a "command"). Similarly, the unique "device event" used to send the device clipboard content is more a "reponse" to the request from the client than an "event". Rename both to "message", and rename the message types to better describe their intent.
44 lines
883 B
C
44 lines
883 B
C
#ifndef CONTROLLER_H
|
|
#define CONTROLLER_H
|
|
|
|
#include <stdbool.h>
|
|
#include <SDL2/SDL_mutex.h>
|
|
#include <SDL2/SDL_thread.h>
|
|
|
|
#include "cbuf.h"
|
|
#include "control_msg.h"
|
|
#include "net.h"
|
|
#include "receiver.h"
|
|
|
|
struct control_msg_queue CBUF(struct control_msg, 64);
|
|
|
|
struct controller {
|
|
socket_t control_socket;
|
|
SDL_Thread *thread;
|
|
SDL_mutex *mutex;
|
|
SDL_cond *msg_cond;
|
|
bool stopped;
|
|
struct control_msg_queue queue;
|
|
struct receiver receiver;
|
|
};
|
|
|
|
bool
|
|
controller_init(struct controller *controller, socket_t control_socket);
|
|
|
|
void
|
|
controller_destroy(struct controller *controller);
|
|
|
|
bool
|
|
controller_start(struct controller *controller);
|
|
|
|
void
|
|
controller_stop(struct controller *controller);
|
|
|
|
void
|
|
controller_join(struct controller *controller);
|
|
|
|
bool
|
|
controller_push_msg(struct controller *controller,
|
|
const struct control_msg *msg);
|
|
|
|
#endif
|