34 lines
1.1 KiB
C
34 lines
1.1 KiB
C
#include <pthread.h>
|
|
|
|
#include <msgba/core_controller.h>
|
|
#include <msgba/client_connection_data.h>
|
|
|
|
struct msClientConnectionData *
|
|
msClientConnectionDataNew(size_t numberOfThread, int clientFd) {
|
|
struct msClientConnectionData *data = malloc (sizeof *data);
|
|
data->numberOfThread = numberOfThread;
|
|
data->clientFd = clientFd;
|
|
data->coreController = NULL;
|
|
data->mutexSendPacket = malloc(sizeof *data->mutexSendPacket);
|
|
data->mutexPressKey = malloc(sizeof *data->mutexPressKey);
|
|
data->lastFrameDate = calloc(sizeof *data->lastFrameDate, 1);
|
|
pthread_mutex_init(data->mutexSendPacket, NULL);
|
|
pthread_mutex_init(data->mutexPressKey, NULL);
|
|
return data;
|
|
}
|
|
|
|
void
|
|
msClientConnectionDataDestroy(struct msClientConnectionData **data) {
|
|
if ((*data)->coreController) {
|
|
msCoreControllerDestroy(&(*data)->coreController);
|
|
}
|
|
pthread_mutex_destroy((*data)->mutexSendPacket);
|
|
pthread_mutex_destroy((*data)->mutexPressKey);
|
|
free((*data)->mutexSendPacket);
|
|
free((*data)->mutexPressKey);
|
|
(*data)->mutexSendPacket = NULL;
|
|
(*data)->mutexPressKey = NULL;
|
|
free(*data);
|
|
*data = NULL;
|
|
}
|