aboutsummaryrefslogtreecommitdiff
path: root/src/client/server_connection.h
blob: e5b7167e33d27bc49878beff57e8b0e57713e9ad (plain)
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
#ifndef SERVER_CONNECTION_H
#define SERVER_CONNECTION_H

#include <basic/basic.h>
#include <crypto/rsa.h>
#include <os/os.h>
#include <messages/messages.h>

struct Fscord;

typedef enum {
    SERVER_CONNECTION_NOT_ESTABLISHED,
    SERVER_CONNECTION_ESTABLISHING,
    SERVER_CONNECTION_ESTABLISHED
} ServerConnectionStatus;

void server_connection_create(Arena *arena, struct Fscord *fscord);

ServerConnectionStatus server_connection_get_status(void);
void server_connection_establish(char *address, u16 port, EVP_PKEY *server_rsa_pub);
void server_connection_terminate(void);
b32  server_connection_handle_events(void);

void send_c2s_login(String32 *username, String32 *password);
void send_c2s_chat_message(String32 *content);

#endif // SERVER_CONNECTION_H