ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
av_state.cpp
Go to the documentation of this file.
1#include <emscripten/bind.h>
2extern "C" {
3#include <session/av_state.h>
4}
5
7public:
10 if (state_)
12 }
13 AVStateBinding(const AVStateBinding &) = delete;
15 bool valid() const {
16 return state_ != nullptr;
17 }
18 unsigned generation() const {
19 return session_av_state_generation(state_);
20 }
21 unsigned begin() {
22 return session_av_state_begin(state_);
23 }
24 bool complete(unsigned generation) {
26 }
27 bool current(unsigned generation) {
29 }
30 bool active() {
31 return session_av_state_is_active(state_);
32 }
33 void beginStop() {
35 }
36 void finishStop() {
38 }
39
40private:
41 session_av_state_t *state_;
42};
43
44EMSCRIPTEN_BINDINGS(ascii_chat_av_state) {
45 emscripten::class_<AVStateBinding>("AVStateBinding")
46 .constructor<>()
47 .function("valid", &AVStateBinding::valid)
48 .function("generation", &AVStateBinding::generation)
49 .function("begin", &AVStateBinding::begin)
50 .function("complete", &AVStateBinding::complete)
51 .function("current", &AVStateBinding::current)
52 .function("active", &AVStateBinding::active)
53 .function("beginStop", &AVStateBinding::beginStop)
54 .function("finishStop", &AVStateBinding::finishStop);
55}
uint32_t session_av_state_generation(const session_av_state_t *state)
Read the owner-managed startup generation; returns zero for NULL or a new state.
Definition av_state.c:18
bool session_av_state_complete(session_av_state_t *state, uint32_t generation)
Definition av_state.c:34
uint32_t session_av_state_begin(session_av_state_t *state)
Definition av_state.c:22
void session_av_state_finish_stop(session_av_state_t *state)
Definition av_state.c:57
bool session_av_state_is_active(session_av_state_t *state)
Definition av_state.c:41
bool session_av_state_is_current(session_av_state_t *state, uint32_t generation)
Definition av_state.c:30
void session_av_state_begin_stop(session_av_state_t *state)
Definition av_state.c:52
void session_av_state_destroy(session_av_state_t *state)
Free a state allocated by session_av_state_create(); NULL is accepted.
Definition av_state.c:12
session_av_state_t * session_av_state_create(void)
Generation-guarded lifecycle state for one session audio or video stream.
Definition av_state.c:5
EMSCRIPTEN_BINDINGS(ascii_chat_av_state)
Definition av_state.cpp:44
void beginStop()
Definition av_state.cpp:33
AVStateBinding(const AVStateBinding &)=delete
bool complete(unsigned generation)
Definition av_state.cpp:24
void finishStop()
Definition av_state.cpp:36
AVStateBinding & operator=(const AVStateBinding &)=delete
unsigned generation() const
Definition av_state.cpp:18
bool valid() const
Definition av_state.cpp:15
unsigned begin()
Definition av_state.cpp:21
bool current(unsigned generation)
Definition av_state.cpp:27
Generation-guarded lifecycle state for one session audio or video stream.
Definition av_state.h:25