27template<
size_t buf_size>
31 const size_t size = buf_size;
39 template<
size_t buf_size>
52 size_t Write(
const char *data,
size_t size);
63 virtual size_t on_read(
void *,
size_t)
override;
64 virtual size_t on_write(
const void *,
size_t)
override;
75 const ConsoleCapFlags
caps;
95extern std::array<Console *, 128>
consoles;
std::array< Console *, 128 > consoles
std::optional< Console * > console_get(mos::string_view name)
std::optional< Console * > console_get_by_prefix(mos::string_view name)
@ CONSOLE_CAP_READ
console supports read
@ CONSOLE_CAP_CURSOR_MOVE
@ CONSOLE_CAP_CURSOR_HIDE
MOSAPI void ring_buffer_pos_init(ring_buffer_pos_t *pos, size_t capacity)
basic_string_view< char > string_view
mos::basic_string< char > string
u8 buf[buf_size] __aligned(buf_size)
struct Console::reader reader
Console(mos::string_view name, ConsoleCapFlags caps, Buffer< buf_size > *readBuf, StandardColor fg, StandardColor bg)
const StandardColor default_bg
size_t WriteColored(const char *data, size_t size, StandardColor fg, StandardColor bg)
virtual size_t do_write(const char *data, size_t size)=0
virtual mos::string name() const override
virtual bool set_color(StandardColor fg, StandardColor bg)=0
virtual size_t on_write(const void *, size_t) override
const StandardColor default_fg
struct Console::@330233373312361211116347355025210137337367045127 writer
const ConsoleCapFlags caps
virtual ~Console()=default
virtual void on_closed() override
virtual size_t on_read(void *, size_t) override
size_t Write(const char *data, size_t size)
IO(IOFlags flags, io_type_t type)
#define MOS_ENUM_FLAGS(enum, flags)