steam-min-cpp
Loading...
Searching...
No Matches
router.hpp
1
3#pragma once
4
5#include <array>
6#include <cstddef>
8#include <steamclient/types/clientmsg.hpp>
9#include <typeindex>
10
11namespace Steam::Messaging {
12class CMClient;
13}
14
15namespace Steam::Dispatch {
16constexpr size_t MAX_REQUESTS = 512;
17using RequestExecFn = void (*)(Steam::Messaging::CMClient&, const void*);
18
19struct RequestRouter {
20 std::array<RequestExecFn, MAX_REQUESTS> table{};
21};
22
23inline RequestRouter g_request_router;
24
25inline size_t next_request_id() {
26 static size_t id = 0;
27 return id++;
28}
29
30template <typename T>
31size_t request_id() {
32 static size_t id = next_request_id();
33 return id;
34}
35} // namespace Steam::Dispatch
Event and command definitions used by the Steam messaging layer.