19 #ifndef MIR_UDEV_WRAPPER_H_
20 #define MIR_UDEV_WRAPPER_H_
47 ::udev*
const context;
58 virtual char const*
subsystem()
const = 0;
59 virtual char const*
devtype()
const = 0;
60 virtual char const*
devpath()
const = 0;
61 virtual char const*
devnode()
const = 0;
72 Enumerator(std::shared_ptr<Context>
const& ctx);
85 public std::iterator<std::input_iterator_tag, Device>
100 iterator (std::shared_ptr<Context>
const& ctx, udev_list_entry* entry);
104 std::shared_ptr<Context> ctx;
105 udev_list_entry* entry;
107 std::shared_ptr<Device> current;
114 std::shared_ptr<Context>
const ctx;
115 udev_enumerate*
const enumerator;
143 udev_monitor* const monitor;
149 #endif // MIR_UDEV_WRAPPER_H_
Device & operator=(Device const &)=delete
All things Mir.
Definition: aging_buffer.h:24
Definition: wrapper.h:119
~Monitor() noexcept
Definition: udev_wrapper.cpp:253
Enumerator & operator=(Enumerator const &)=delete
iterator begin()
Definition: udev_wrapper.cpp:200
void process_events(std::function< void(EventType, Device const &)> const &handler) const
Definition: udev_wrapper.cpp:276
virtual char const * devpath() const =0
int fd(void) const
Definition: udev_wrapper.cpp:288
Monitor(const Context &ctx)
Definition: udev_wrapper.cpp:243
iterator & operator++()
Definition: udev_wrapper.cpp:134
Device const & operator*() const
Definition: udev_wrapper.cpp:157
~Enumerator() noexcept
Definition: udev_wrapper.cpp:174
EventType
Definition: wrapper.h:122
bool operator==(iterator const &rhs) const
Definition: udev_wrapper.cpp:147
Definition: wrapper.h:123
Enumerator(std::shared_ptr< Context > const &ctx)
Definition: udev_wrapper.cpp:167
virtual ~Device()=default
iterator end()
Definition: udev_wrapper.cpp:209
Definition: wrapper.h:124
bool operator==(Device const &lhs, Device const &rhs)
Definition: udev_wrapper.cpp:82
void match_sysname(std::string const &sysname)
Definition: udev_wrapper.cpp:195
void match_parent(Device const &parent)
Definition: udev_wrapper.cpp:190
::udev * ctx() const
Definition: udev_wrapper.cpp:235
Context()
Definition: udev_wrapper.cpp:218
std::shared_ptr< Device > device_from_syspath(std::string const &syspath)
Definition: udev_wrapper.cpp:230
Context & operator=(Context const &)=delete
Definition: wrapper.h:125
void filter_by_subsystem(std::string const &subsystem)
Definition: udev_wrapper.cpp:293
bool operator!=(iterator const &rhs) const
Definition: udev_wrapper.cpp:152
virtual char const * devtype() const =0
void enable(void)
Definition: udev_wrapper.cpp:259
void match_subsystem(std::string const &subsystem)
Definition: udev_wrapper.cpp:185
~Context() noexcept
Definition: udev_wrapper.cpp:225
bool operator!=(Device const &lhs, Device const &rhs)
Definition: udev_wrapper.cpp:88
virtual char const * subsystem() const =0
Device const * operator->() const
Definition: udev_wrapper.cpp:162
void scan_devices()
Definition: udev_wrapper.cpp:179
virtual char const * devnode() const =0
void filter_by_subsystem_and_type(std::string const &subsystem, std::string const &devtype)
Definition: udev_wrapper.cpp:300