/
btserver.h
44 lines (38 loc) · 881 Bytes
/
btserver.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef BTSERVER_H
#define BTSERVER_H
#include "btclient.h"
#include "vec.h"
#define BTSERVER_MAXNAMELENGTH BTCLIENT_MAXNAMELENGTH
struct BTServer;
//Return 0 if connection should be refused
typedef int(*BTServerConnect)(
struct BTServer* server,
struct BTClient* client,
void* userdata
);
typedef void(*BTServerDisconnect)(
struct BTServer* server,
struct BTClient* client,
void* userdata
);
struct BTServer
{
char name[BTSERVER_MAXNAMELENGTH];
BTServerConnect onconnect;
BTServerDisconnect ondisconnect;
void* userdata;
Vec(struct BTClient) clients;
size_t maxclients;
int socket;
int devicesocket;
};
struct BTServer* btserver_ctor(
struct BTServer* self,
size_t maxclients,
BTServerConnect onconnect,
BTServerDisconnect ondisconnect,
void* userdata
);
void btserver_update(struct BTServer* self);
void btserver_dtor(struct BTServer* self);
#endif