Program Listing for File client_manager.h

Return to documentation for file (server/client/client_manager.h)

#ifndef CLIENT_STATE_SEGMENT_H
    #define CLIENT_STATE_SEGMENT_H

typedef struct client_state_s client_state_t;

    #include <stddef.h>


typedef struct {
    client_state_t *clients;
    size_t count;
    size_t capacity;
    size_t idx_of_gui;
    size_t idx_of_players;
    struct pollfd *server_pfds;
} client_manager_t;

bool client_manager_init(client_manager_t *cm);

client_state_t *client_manager_add(client_manager_t *cm);

void client_manager_remove(client_manager_t *cm, size_t idx);

client_state_t *client_manager_promote(client_manager_t *cm, size_t idx);


#endif