Cavoke  1.1.0
A Platform for creating and hosting multiplayer turn-based board games
Loading...
Searching...
No Matches
logic_controller.h
1#ifndef CAVOKE_STATE_CONTROLLER_H
2#define CAVOKE_STATE_CONTROLLER_H
3
4#include <drogon/HttpController.h>
5
6namespace cavoke::logic_server::controllers {
7
8class LogicController : public drogon::HttpController<LogicController, false> {
9public:
10 METHOD_LIST_BEGIN
11 ADD_METHOD_TO(LogicController::validate, "/validate", drogon::Post);
12 ADD_METHOD_TO(LogicController::init_state, "/init_state", drogon::Post);
13 ADD_METHOD_TO(LogicController::apply_move, "/apply_move", drogon::Post);
14 METHOD_LIST_END
15
16protected:
17 void validate(
18 const drogon::HttpRequestPtr &req,
19 std::function<void(const drogon::HttpResponsePtr &)> &&callback);
20
21 void init_state(
22 const drogon::HttpRequestPtr &req,
23 std::function<void(const drogon::HttpResponsePtr &)> &&callback);
24
25 void apply_move(
26 const drogon::HttpRequestPtr &req,
27 std::function<void(const drogon::HttpResponsePtr &)> &&callback);
28};
29
30} // namespace cavoke::logic_server::controllers
31
32#endif // CAVOKE_STATE_CONTROLLER_H