25 void add(
const std::string &entity);
31 std::vector<std::string> entities_;
37 static std::unique_ptr<DeviceEnumerator>
create();
49 std::unique_ptr<MediaDevice>
createDevice(
const std::string &deviceNode);
50 void addDevice(std::unique_ptr<MediaDevice> media);
54 std::vector<std::shared_ptr<MediaDevice>> devices_;
Enumerate, store and search media devices.
Definition: device_enumerator.h:35
std::shared_ptr< MediaDevice > search(const DeviceMatch &dm)
Search available media devices for a pattern match.
Definition: device_enumerator.cpp:305
static std::unique_ptr< DeviceEnumerator > create()
Create a new device enumerator matching the systems capabilities.
Definition: device_enumerator.cpp:141
void addDevice(std::unique_ptr< MediaDevice > media)
Add a media device to the enumerator.
Definition: device_enumerator.cpp:250
Signal devicesAdded
Notify of new media devices being found.
Definition: device_enumerator.h:46
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:269
std::unique_ptr< MediaDevice > createDevice(const std::string &deviceNode)
Create a media device instance.
Definition: device_enumerator.cpp:212
virtual int init()=0
Initialize the enumerator.
Description of a media device search pattern.
Definition: device_enumerator.h:21
DeviceMatch(const std::string &driver)
Construct a media device search pattern.
Definition: device_enumerator.cpp:70
void add(const std::string &entity)
Add a media entity name to the search pattern.
Definition: device_enumerator.cpp:79
bool match(const MediaDevice *device) const
Compare a search pattern with a media device.
Definition: device_enumerator.cpp:94
Generic signal and slot communication mechanism.
Definition: signal.h:39
Top-level libcamera namespace.
Definition: backtrace.h:17
Signal & slot implementation.