14#include <libcamera/base/regex.h>
26 void add(
const std::string &entity);
27 void add(std::regex entity);
35 std::vector<std::string> entities_;
36 std::vector<std::regex> entityRegexs_;
42 static std::unique_ptr<DeviceEnumerator>
create();
54 std::unique_ptr<MediaDevice>
createDevice(
const std::string &deviceNode);
55 void addDevice(std::unique_ptr<MediaDevice> media);
59 std::vector<std::shared_ptr<MediaDevice>> devices_;
Enumerate, store and search media devices.
Definition device_enumerator.h:40
std::shared_ptr< MediaDevice > search(const DeviceMatch &dm)
Search available media devices for a pattern match.
Definition device_enumerator.cpp:356
static std::unique_ptr< DeviceEnumerator > create()
Create a new device enumerator matching the systems capabilities.
Definition device_enumerator.cpp:192
virtual int init()=0
Initialize the enumerator.
void addDevice(std::unique_ptr< MediaDevice > media)
Add a media device to the enumerator.
Definition device_enumerator.cpp:301
virtual int enumerate()=0
Enumerate all media devices in the system.
void removeDevice(const std::string &deviceNode)
Remove a media device from the enumerator.
Definition device_enumerator.cpp:320
Signal devicesAdded
Notify of new media devices being found.
Definition device_enumerator.h:51
std::unique_ptr< MediaDevice > createDevice(const std::string &deviceNode)
Create a media device instance.
Definition device_enumerator.cpp:263
Description of a media device search pattern.
Definition device_enumerator.h:22
DeviceMatch(const std::string &driver)
Construct a media device search pattern.
Definition device_enumerator.cpp:71
void clear()
Clear the entities search pattern vector.
Definition device_enumerator.cpp:162
void add(const std::string &entity)
Add a media entity name to the search pattern.
Definition device_enumerator.cpp:80
bool match(const MediaDevice *device) const
Compare a search pattern with a media device.
Definition device_enumerator.cpp:104
Generic signal and slot communication mechanism.
Definition signal.h:39
Top-level libcamera namespace.
Definition backtrace.h:17
Signal & slot implementation.