Argentum Online - Servidor
session.h
1
#ifndef SESSION_H
2
#define SESSION_H
3
4
#include <mutex>
5
6
#include "../include/event.h"
7
#include "../include/types.h"
8
#include "game/map_monitor.h"
9
#include "network/client_id_set.h"
10
#include "network/th_broadcaster.h"
11
#include "th_observer.h"
12
13
class
Session
{
14
private
:
19
MapMonitor
& map;
25
ClientToEntityMap
clients;
30
ThBroadcaster
broadcaster;
36
ThObserver
observer;
37
38
public
:
39
Session
(
MapMonitor
& map);
40
41
void
start();
42
43
void
finish();
44
52
void
add_client
(ClientId new_client, EntityId entity_id);
53
54
EntityId rm_client(ClientId client_id);
55
56
void
push_action(ClientId client_id,
Action
* action);
57
58
MapMonitor
& get_map();
59
65
void
broadcast
(
const
Event
& ev);
66
67
~
Session
();
68
};
69
70
#endif // SESSION_H
Session::broadcast
void broadcast(const Event &ev)
Envía a todos los clientes en la sesión un evento.
Definition:
session.cpp:40
Action
Definition:
action.h:9
Session
Definition:
session.h:13
ClientToEntityMap
Definition:
client_id_set.h:10
Event
Definition:
event.h:55
ThObserver
Definition:
th_observer.h:11
MapMonitor
Definition:
map_monitor.h:14
Session::add_client
void add_client(ClientId new_client, EntityId entity_id)
Agregar un cliente a la sesión.
Definition:
session.cpp:20
ThBroadcaster
Definition:
th_broadcaster.h:7
server
session.h
Generado por
1.8.19