Files
limen/include/handlers.h

23 lines
972 B
C++

#pragma once
#include <cstdint>
#include <optional>
#include <string_view>
#include "dispatch.h"
#include "ipv4.h"
#include "wire.h"
inline constexpr uint16_t PICOMAP_PORT_BE = __builtin_bswap16(28781);
inline constexpr ipv4::ip4_addr PICOMAP_DISCOVERY_GROUP = {239, 112, 77, 1};
extern std::string_view firmware_name;
extern uint32_t firmware_build_epoch;
void handlers_init();
void handlers_start();
std::optional<ResponseInfo> handle_info(const responder& resp, const RequestInfo&);
std::optional<ResponseLog> handle_log(const responder& resp, const RequestLog&);
std::optional<ResponseFlashErase> handle_flash_erase(const responder& resp, const RequestFlashErase&);
std::optional<ResponseFlashWrite> handle_flash_write(const responder& resp, const RequestFlashWrite&);
std::optional<ResponseReboot> handle_reboot(const responder& resp, const RequestReboot&);
std::optional<ResponseFlashStatus> handle_flash_status(const responder& resp, const RequestFlashStatus&);