| 368 | } |
| 369 | |
| 370 | Slot 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 | |
| 391 | int Connection::onSdTimerEvent(sd_event_source */*s*/, uint64_t /*usec*/, void *userdata) |
| 392 | { |
nothing calls this directly
no outgoing calls
no test coverage detected