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:311
static std::unique_ptr< DeviceEnumerator > create()
Create a new device enumerator matching the systems capabilities.
Definition device_enumerator.cpp:147
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:256
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:275
Signal devicesAdded
Notify of new media devices being found.
Definition device_enumerator.h:46
std::unique_ptr< MediaDevice > createDevice(const std::string &deviceNode)
Create a media device instance.
Definition device_enumerator.cpp:218
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:40
Top-level libcamera namespace.
Definition backtrace.h:17
Signal & slot implementation.