7 #ifndef __LIBCAMERA_INTERNAL_DEVICE_ENUMERATOR_H__ 8 #define __LIBCAMERA_INTERNAL_DEVICE_ENUMERATOR_H__ 14 #include <linux/media.h> 27 void add(
const std::string &entity);
33 std::vector<std::string> entities_;
39 static std::unique_ptr<DeviceEnumerator> create();
43 virtual int init() = 0;
44 virtual int enumerate() = 0;
46 std::shared_ptr<MediaDevice> search(
const DeviceMatch &dm);
51 std::unique_ptr<MediaDevice> createDevice(
const std::string &deviceNode);
52 void addDevice(std::unique_ptr<MediaDevice> media);
53 void removeDevice(
const std::string &deviceNode);
56 std::vector<std::shared_ptr<MediaDevice>> devices_;
Top-level libcamera namespace.
Definition: bound_method.h:15
bool match(const MediaDevice *device) const
Compare a search pattern with a media device.
Definition: device_enumerator.cpp:93
Signal & slot implementation.
Description of a media device search pattern.
Definition: device_enumerator.h:22
Enumerate, store and search media devices.
Definition: device_enumerator.h:36
Generic signal and slot communication mechanism.
Definition: object.h:20
DeviceMatch(const std::string &driver)
Construct a media device search pattern.
Definition: device_enumerator.cpp:69
void add(const std::string &entity)
Add a media entity name to the search pattern.
Definition: device_enumerator.cpp:78
Signal devicesAdded
Notify of new media devices being found.
Definition: device_enumerator.h:48