Flecs v3.2
A fast entity component system (ECS) for C & C++
Loading...
Searching...
No Matches
rest.h
Go to the documentation of this file.
1
11#ifdef FLECS_REST
12
21/* Used for the HTTP server */
22#ifndef FLECS_HTTP
23#define FLECS_HTTP
24#endif
25
26/* Used for building the JSON replies */
27#ifndef FLECS_JSON
28#define FLECS_JSON
29#endif
30
31/* Query engine used */
32#ifndef FLECS_RULES
33#define FLECS_RULES
34#endif
35
36/* For the REST system */
37#ifndef FLECS_PIPELINE
38#define FLECS_PIPELINE
39#endif
40
41#ifndef FLECS_REST_H
42#define FLECS_REST_H
43
44#ifdef __cplusplus
45extern "C" {
46#endif
47
48#define ECS_REST_DEFAULT_PORT (27750)
49
51FLECS_API extern const ecs_entity_t ecs_id(EcsRest);
52
53typedef struct {
54 uint16_t port;
55 char *ipaddr;
56 void *impl;
57} EcsRest;
58
67FLECS_API
69 ecs_world_t *world,
70 const ecs_http_server_desc_t *desc);
71
75FLECS_API
78
79/* Module import */
80FLECS_API
81void FlecsRestImport(
82 ecs_world_t *world);
83
84#ifdef __cplusplus
85}
86#endif
87
88#endif
89
92#endif
struct ecs_http_server_t ecs_http_server_t
HTTP server.
Definition http.h:48
FLECS_API ecs_http_server_t * ecs_rest_server_init(ecs_world_t *world, const ecs_http_server_desc_t *desc)
Create HTTP server for REST API.
FLECS_API const ecs_entity_t ecs_id(EcsRest)
Component that instantiates the REST API.
FLECS_API void ecs_rest_server_fini(ecs_http_server_t *srv)
Cleanup REST HTTP server.
ecs_id_t ecs_entity_t
An entity identifier.
Definition flecs.h:318
struct ecs_world_t ecs_world_t
A world is the container for all ECS data and supporting features.
Definition flecs.h:362
Definition rest.h:53
uint16_t port
Port of server (optional, default = 27750)
Definition rest.h:54
char * ipaddr
Interface address (optional, default = 0.0.0.0)
Definition rest.h:55
Used with ecs_http_server_init().
Definition http.h:123