void MyEventSender::consume_flush(ssi_size_t stream_in_num, ssi_stream_t stream_in[]) { ssi_event_destroy(_event); ssi_msg(SSI_LOG_LEVEL_BASIC, "flush()..ok"); }
void EventConsumer::run () { _update_event.wait (); if (_terminate) { return; } IConsumer::info info; info.event = new ssi_event_t; { Lock lock (_update_mutex); info.dur = _update_info.dur; info.time = _update_info.time; info.status = _update_info.status; ssi_event_clone(*_update_info.event, *info.event); } consume (info); ssi_event_destroy(*info.event); delete info.event; }
void EventList::clear () { for (ssi_size_t i = 0; i < _n_events; i++) { ssi_event_destroy (_events[i]); } _head_pos = 0; _events_count = 0; reset (); }
SocketEventReader::~SocketEventReader () { if (_file) { OptionList::SaveXML (_file, _options); delete[] _file; } ssi_event_destroy (_event_string); }
ClockEventSender::~ClockEventSender () { ssi_event_destroy (_event); if (_file) { OptionList::SaveXML(_file, &_options); delete[] _file; } }
Tensorflow::EventHandler::~EventHandler() { _n_select = 0; delete[] _select; _select = 0; ssi_event_destroy(_event); delete[] _class_ids; _class_ids = 0; }
QRSDetection::~QRSDetection () { if (_listener) { ssi_event_destroy (_r_event); } if (_file) { OptionList::SaveXML(_file, &_options); delete[] _file; } }
EventConsumer::~EventConsumer () { clear (); delete[] _consumer; _consumer = 0; ssi_event_destroy(*_update_info.event); delete _update_info.event; if (_file) { OptionList::SaveXML(_file, &_options); delete[] _file; } }
void SocketEventReader::event (const char *from, const ssi_char_t *id, osc_int32 time, osc_int32 dur, osc_int32 state, osc_int32 n_events, const ssi_char_t **events, const ssi_real_t *values) { if (_elistener) { ssi_event_t e; ssi_event_init (e, SSI_ETYPE_NTUPLE, _event_string.sender_id, _event_string.event_id, _frame->GetElapsedTimeMs (), dur, n_events * sizeof (ssi_event_tuple_t)); ssi_event_tuple_t *t = ssi_pcast (ssi_event_tuple_t, e.ptr); for (osc_int32 i = 0; i < n_events; i++) { t[i].id = Factory::AddString (events[i]); t[i].value = values[i]; } _elistener->update (e); ssi_event_destroy (e); } };
bool EventConsumer::update (IEvents &events, ssi_size_t n_new_events, ssi_size_t time_ms) { if (n_new_events == 0) { return true; } if (n_new_events > 1) { ssi_wrn ("skip %u events", n_new_events - 1); } ssi_event_t *e = events.next (); IConsumer::info info; info.time = e->time / 1000.0; info.dur = e->dur / 1000.0; info.status = e->state == SSI_ESTATE_COMPLETED ? IConsumer::COMPLETED : IConsumer::CONTINUED; info.event = e; if (_async) { { Lock lock (_update_mutex); _update_info.time = info.time; _update_info.dur = info.dur; _update_info.status = info.status; ssi_event_destroy(*_update_info.event); ssi_event_clone(*info.event, *_update_info.event); } _update_event.release (); } else { consume (info); } return true; }