MCPcopy Create free account
hub / github.com/Kistler-Group/sdbus-cpp / createSdInternalEventSourceSlot

Method createSdInternalEventSourceSlot

src/Connection.cpp:370–389  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

368}
369
370Slot Connection::createSdInternalEventSourceSlot(sd_event *event, int fd, int priority) // NOLINT(bugprone-easily-swappable-parameters)
371{
372 sd_event_source *internalEventSource{};
373 auto r = sd_event_add_io(event, &internalEventSource, fd, 0, onSdInternalEvent, this);
374 SDBUS_THROW_ERROR_IF(r < 0, "Failed to add internal event", -r);
375 Slot sdInternalEventSource{internalEventSource, [](void* source){ deleteSdEventSource(static_cast<sd_event_source*>(source)); }};
376
377 // sd-event loop calls prepare callbacks for all event sources, not just for the one that fired now.
378 // So since onSdEventPrepare is already registered on ioEventSource, we don't need to duplicate it here.
379 //r = sd_event_source_set_prepare(internalEventSource, onSdEventPrepare);
380 //SDBUS_THROW_ERROR_IF(r < 0, "Failed to set prepare callback for internal event", -r);
381
382 r = sd_event_source_set_priority(internalEventSource, priority);
383 SDBUS_THROW_ERROR_IF(r < 0, "Failed to set priority for internal event", -r);
384
385 r = sd_event_source_set_description(internalEventSource, "internal-event");
386 SDBUS_THROW_ERROR_IF(r < 0, "Failed to set priority for IO event", -r);
387
388 return sdInternalEventSource;
389}
390
391int Connection::onSdTimerEvent(sd_event_source */*s*/, uint64_t /*usec*/, void *userdata)
392{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected