Firmware  0.8.0
Loading...
Searching...
No Matches
utility.hpp File Reference

General utilities. More...

#include <bit>
#include <charconv>
#include <dcc/dcc.hpp>
#include <functional>
#include <iterator>
#include <memory>
#include <numeric>
#include <span>
#include <string_view>
#include "intf/http/message.hpp"
#include "log.h"
Include dependency graph for utility.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void esp_delayed_restart ()
bool validate_json (std::string_view json)
template<typename T>
consteval std::string_view type_name ()
std::optional< dcc::Address::value_type > uri2address (std::string_view uri)
std::optional< dcc::Address > uri2loco_address (std::string_view uri)
template<std::output_iterator< char > OutputIt>
OutputIt decode_uri (std::string_view uri, OutputIt out)
 https://rosettacode.org/wiki/URL_decoding#C
uint32_t http_receive_timeout2ms ()
esp_err_t ipc_call_blocking (BaseType_t core_id, esp_err_t(*f)())
template<typename... Ts>
auto httpd_sess_trigger_close (Ts &&... ts)
auto httpd_queue_work (intf::http::Message *msg)

Detailed Description

Author
Vincent Hamp
Date
09/02/2023

Function Documentation

◆ decode_uri()

template<std::output_iterator< char > OutputIt>
OutputIt decode_uri ( std::string_view uri,
OutputIt out )

◆ esp_delayed_restart()

void esp_delayed_restart ( )

◆ http_receive_timeout2ms()

uint32_t http_receive_timeout2ms ( )
Todo
document
Warning
Do not use this function in time-critical code. Always cache the value!

◆ httpd_queue_work()

auto httpd_queue_work ( intf::http::Message * msg)
inline
Todo
document

◆ httpd_sess_trigger_close()

template<typename... Ts>
auto httpd_sess_trigger_close ( Ts &&... ts)
Todo
document

◆ ipc_call_blocking()

esp_err_t ipc_call_blocking ( BaseType_t core_id,
esp_err_t(* )() )
Todo
document
Todo
document

◆ type_name()

template<typename T>
std::string_view type_name ( )
consteval

◆ uri2address()

std::optional< dcc::Address::value_type > uri2address ( std::string_view uri)

◆ uri2loco_address()

std::optional< dcc::Address > uri2loco_address ( std::string_view uri)

◆ validate_json()

bool validate_json ( std::string_view json)