53 bool running()
const {
return running_.load(std::memory_order_acquire); }
62 void* udev_ =
nullptr;
63 void* monitor_ =
nullptr;
65 int wake_pipe_[2] = {-1, -1};
66 std::atomic<bool> running_{
false};
Definition dynamic_library.hpp:10
bool running() const
Definition udev_monitor.hpp:53
std::function< void(UdevChange)> ChangeCallback
Definition udev_monitor.hpp:34
bool start(const std::vector< std::string > &subsystems, ChangeCallback on_change)
Begin watching subsystems (e.g.
static bool library_available()
True iff libudev can be loaded right now (Linux dlopen probe).
void stop()
Stop the monitor thread and release handles.
UdevMonitor(const UdevMonitor &)=delete
UdevMonitor & operator=(const UdevMonitor &)=delete
Definition generated_event_source.hpp:33
UdevChange
Classification of a udev action string. Pure + testable on every platform.
Definition udev_monitor.hpp:26
@ other
Definition udev_monitor.hpp:26
@ removed
Definition udev_monitor.hpp:26
@ added
Definition udev_monitor.hpp:26
UdevChange classify_udev_action(const char *action) noexcept
Map a udev ACTION string to a change kind.