PokerUnicorn
Loading...
Searching...
No Matches
lobby.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <pthread.h>
#include <libpq-fe.h>
#include "ref.h"
#include "sugar.h"
#include "table.h"
#include "account.h"
#include "poker.h"
#include "server.h"
#include "eventloop.h"
#include "../include/mime.h"

Go to the source code of this file.

Data Structures

struct  pkrsrv_lobby_t
 Lobby object. More...
 
struct  pkrsrv_lobby_sessions_t
 Lobby sessions list structure. More...
 
struct  pkrsrv_lobby_session_t
 Session object. More...
 
struct  pkrsrv_lobby_session_clients_t
 Session clients list structure. More...
 
struct  pkrsrv_lobby_session_client_t
 Session client object. More...
 
struct  pkrsrv_lobby_client_session_t
 Lobby client session object. More...
 
struct  pkrsrv_lobby_client_sessions_t
 Lobby client sessions list structure. More...
 
struct  pkrsrv_lobby_client_t
 Lobby client object. More...
 
struct  pkrsrv_lobby_new_params_t
 Parameters of pkrsrv_lobby_new More...
 
struct  pkrsrv_lobby_session_new_params_t
 Parameters of pkrsrv_lobby_session_new More...
 
struct  pkrsrv_lobby_session_proceed__async_params_t
 Parameters of pkrsrv_lobby_session_proceed__async More...
 
struct  pkrsrv_lobby_session_poker_start__async_params_t
 Parameters of pkrsrv_lobby_session_poker_start__async More...
 
struct  pkrsrv_lobby_session_poker_restart__async_params_t
 Parameters of pkrsrv_lobby_session_poker_restart__async More...
 

Functions

void on_account_updated__async (pkrsrv_eventloop_task_t *task)
 Used for pkrsrv_account_t::on_updated
 
pkrsrv_lobby_t * pkrsrv_lobby_new (pkrsrv_lobby_new_params_t params)
 Creates a new lobby object.
 
void pkrsrv_lobby_free (pkrsrv_lobby_t *lobby)
 Frees a lobby object.
 
void pkrsrv_lobby_run (pkrsrv_lobby_t *lobby)
 Runs the lobby.
 
pkrsrv_lobby_client_t * pkrsrv_lobby_client_new (pkrsrv_lobby_t *lobby, pkrsrv_server_client_t *client)
 Creates a new lobby client object.
 
void pkrsrv_lobby_client_set_account (pkrsrv_lobby_client_t *lobby_client, pkrsrv_account_t *account)
 Sets the account of a lobby client.
 
void pkrsrv_lobby_client_free (pkrsrv_lobby_client_t *lobby_client)
 Frees a lobby client object.
 
bool reorder_updated_session (pkrsrv_lobby_session_t *updated, int old_length)
 Efficient session reorderer  
 
void pkrsrv_lobby_broadcast_sessions (pkrsrv_lobby_t *lobby)
 Broadcasts the sessions of the lobby to all clients.