ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
SessionUiBinding Class Reference

Public Member Functions

 SessionUiBinding ()
 SessionUiBinding (bool capture_logs)
 ~SessionUiBinding ()
 SessionUiBinding (const SessionUiBinding &)=delete
SessionUiBinding & operator= (const SessionUiBinding &)=delete
bool valid () const
void resize (int cols, int rows)
void loading (bool loading, const std::string &message)
void log (const std::string &message)
int media (const std::string &text)
int key (int key)
std::optional< std::string > tick (double milliseconds)
void clear ()
void redraw ()

Detailed Description

Definition at line 26 of file session_ui.cpp.

Constructor & Destructor Documentation

◆ SessionUiBinding() [1/3]

SessionUiBinding::SessionUiBinding ( )
inline

Definition at line 28 of file session_ui.cpp.

28: SessionUiBinding(true) {}

References SessionUiBinding(), and true.

Referenced by operator=(), SessionUiBinding(), and SessionUiBinding().

◆ SessionUiBinding() [2/3]

SessionUiBinding::SessionUiBinding ( bool capture_logs)
inlineexplicit

Definition at line 29 of file session_ui.cpp.

29 : session_(ui_session_create()) {
30 if (session_ && capture_logs)
32 }
void ui_session_capture_logs(ui_session_t *s)
ui_session_t * ui_session_create(void)

References ui_session_capture_logs(), and ui_session_create().

◆ ~SessionUiBinding()

SessionUiBinding::~SessionUiBinding ( )
inline

Definition at line 33 of file session_ui.cpp.

33 {
34 if (session_)
35 ui_session_destroy(session_);
36 }
void ui_session_destroy(ui_session_t *s)

References ui_session_destroy().

◆ SessionUiBinding() [3/3]

SessionUiBinding::SessionUiBinding ( const SessionUiBinding & )
delete

References SessionUiBinding().

Member Function Documentation

◆ clear()

void SessionUiBinding::clear ( )
inline

Definition at line 70 of file session_ui.cpp.

70 {
71 ui_session_clear(session_);
72 }
void ui_session_clear(ui_session_t *s)

References ui_session_clear().

Referenced by EMSCRIPTEN_BINDINGS().

◆ key()

int SessionUiBinding::key ( int key)
inline

Definition at line 56 of file session_ui.cpp.

56 {
57 ui_session_t *previous = active_session;
58 active_session = session_;
59 int result = ui_session_input(session_, static_cast<keyboard_key_t>(key));
60 active_session = previous;
61 return result;
62 }
int key(int key)
keyboard_key_t
Options for interactive line editing.
Definition keyboard.h:53
struct ui_session ui_session_t
ui_session_action_t ui_session_input(ui_session_t *s, keyboard_key_t key)

References key(), and ui_session_input().

Referenced by EMSCRIPTEN_BINDINGS(), and key().

◆ loading()

void SessionUiBinding::loading ( bool loading,
const std::string & message )
inline

Definition at line 47 of file session_ui.cpp.

47 {
48 ui_session_loading(session_, loading, message.c_str());
49 }
void loading(bool loading, const std::string &message)
void ui_session_loading(ui_session_t *s, bool loading, const char *message)

References loading(), and ui_session_loading().

Referenced by EMSCRIPTEN_BINDINGS(), and loading().

◆ log()

void SessionUiBinding::log ( const std::string & message)
inline

Definition at line 50 of file session_ui.cpp.

50 {
51 ui_session_log(session_, message.c_str());
52 }
void ui_session_log(ui_session_t *s, const char *message)

References ui_session_log().

Referenced by EMSCRIPTEN_BINDINGS().

◆ media()

int SessionUiBinding::media ( const std::string & text)
inline

Definition at line 53 of file session_ui.cpp.

53 {
54 return ui_session_media(session_, text.data(), text.size());
55 }
asciichat_error_t ui_session_media(ui_session_t *s, const char *data, size_t length)

References ui_session_media().

Referenced by EMSCRIPTEN_BINDINGS().

◆ operator=()

SessionUiBinding & SessionUiBinding::operator= ( const SessionUiBinding & )
delete

References SessionUiBinding().

◆ redraw()

void SessionUiBinding::redraw ( )
inline

Definition at line 73 of file session_ui.cpp.

73 {
74 ui_session_redraw(session_);
75 }
void ui_session_redraw(ui_session_t *s)

References ui_session_redraw().

Referenced by EMSCRIPTEN_BINDINGS().

◆ resize()

void SessionUiBinding::resize ( int cols,
int rows )
inline

Definition at line 44 of file session_ui.cpp.

44 {
45 ui_session_resize(session_, cols, rows);
46 }
void ui_session_resize(ui_session_t *s, int cols, int rows)

References ui_session_resize().

Referenced by EMSCRIPTEN_BINDINGS().

◆ tick()

std::optional< std::string > SessionUiBinding::tick ( double milliseconds)
inline

Definition at line 63 of file session_ui.cpp.

63 {
64 ui_session_t *previous = active_session;
65 active_session = session_;
66 const char *frame = ui_session_tick(session_, static_cast<uint64_t>(milliseconds * 1000000));
67 active_session = previous;
68 return frame ? std::optional<std::string>(frame) : std::nullopt;
69 }
unsigned long long uint64_t
Definition common.h:63
const char * ui_session_tick(ui_session_t *s, uint64_t now_ns)

References ui_session_tick().

Referenced by EMSCRIPTEN_BINDINGS().

◆ valid()

bool SessionUiBinding::valid ( ) const
inline

Definition at line 41 of file session_ui.cpp.

41 {
42 return session_ != nullptr;
43 }

Referenced by EMSCRIPTEN_BINDINGS().


The documentation for this class was generated from the following file: