Pigeoneer C SDK
server.h
1 #pragma once
8 #include "common.h"
9 
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
17 
19  PGNRServerConnection* conn);
22  const uint8_t* data, size_t data_length);
23 
24 typedef struct PGNRServerConfig {
25  uint16_t port;
26  const char* ssl_cert_filename;
27  const char* ssl_key_filename;
28  const char* api_token;
30 
31 PGNR_API void pgnr_server_run_loop();
33 PGNR_API PGNRResult pgnr_server_start(const PGNRServerConfig* config, PGNRServerInstance** server);
34 PGNR_API PGNRResult pgnr_server_instance_destroy(PGNRServerInstance* server);
35 PGNR_API void pgnr_server_instance_set_user_data(PGNRServerInstance* server, void* data);
39 
48  const uint8_t* data, size_t data_length, PGNRSendMode send_mode);
49 PGNR_API void pgnr_server_connection_get_ip(PGNRServerConnection* conn, const char** ip);
50 
51 #ifdef __cplusplus
52 }
53 #endif
54 
PGNR_API void pgnr_server_connection_get_ip(PGNRServerConnection *conn, const char **ip)
PGNR_API void * pgnr_server_instance_get_user_data(PGNRServerInstance *server)
struct PGNRServerConfig PGNRServerConfig
PGNR_API void pgnr_server_run_loop_iteration()
PGNR_API void pgnr_server_connection_set_on_close(PGNRServerConnection *conn, PGNRServerConnectionOnCloseCB cb)
PGNR_API void pgnr_server_connection_set_on_message(PGNRServerConnection *conn, PGNRServerConnectionOnMessageCB cb)
PGNR_API void pgnr_server_connection_set_user_data(PGNRServerConnection *conn, void *data)
PGNR_API PGNRResult pgnr_server_connection_close(PGNRServerConnection *conn)
struct PGNRServerInstance PGNRServerInstance
Definition: server.h:15
struct PGNRServerConnection PGNRServerConnection
Definition: server.h:16
PGNR_API void pgnr_server_run_loop()
PGNR_API void * pgnr_server_connection_get_user_data(PGNRServerConnection *conn)
PGNR_API PGNRResult pgnr_server_instance_destroy(PGNRServerInstance *server)
PGNR_API PGNRResult pgnr_server_start(const PGNRServerConfig *config, PGNRServerInstance **server)
PGNR_API void pgnr_server_instance_set_user_data(PGNRServerInstance *server, void *data)
PGNR_API void pgnr_server_instance_set_on_connection(PGNRServerInstance *server, PGNRServerInstanceOnConnectionCB cb)
PGNR_API PGNRResult pgnr_server_connection_send_message(PGNRServerConnection *conn, const uint8_t *data, size_t data_length, PGNRSendMode send_mode)
void(* PGNRServerInstanceOnConnectionCB)(PGNRServerInstance *server, PGNRServerConnection *conn)
Definition: server.h:18
void(* PGNRServerConnectionOnCloseCB)(PGNRServerConnection *conn)
Definition: server.h:20
void(* PGNRServerConnectionOnMessageCB)(PGNRServerConnection *conn, const uint8_t *data, size_t data_length)
Definition: server.h:21
Definition: server.h:24
const char * api_token
Definition: server.h:28
uint16_t port
Definition: server.h:25
const char * ssl_cert_filename
Definition: server.h:26
const char * ssl_key_filename
Definition: server.h:27