// aes67_web: httpd, embedded index.html, config store (cJSON in NVS), core routes. // Core component: must not depend on main/ (project code). #pragma once #include "cJSON.h" #include "esp_err.h" #include "esp_http_server.h" // Adds fields to the /api/status object. Called on every GET /api/status. typedef void (*status_cb_t)(cJSON *status); // Registries: call before or after aes67_web_start(); routes registered early are added on start. esp_err_t status_register(status_cb_t cb); esp_err_t web_register_uri(const httpd_uri_t *uri); // Start httpd on port 80 with the core routes (/, /api/status, /api/config, /api/reboot). esp_err_t aes67_web_start(void); // Send a cJSON object as the response body (application/json). esp_err_t web_send_json(httpd_req_t *req, const cJSON *json);