summaryrefslogtreecommitdiff
path: root/src/libcamera/include/media_object.h
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2018-12-26 11:09:35 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-01-02 12:53:55 +0200
commitd4af90d72901b1c6c2609ea8a3c0da76facf6c2e (patch)
tree348450495041618c944f4673d7bd4eaebabd1878 /src/libcamera/include/media_object.h
parent14291e50b7d9cfbc7bae51f84b97adf44cce6b55 (diff)
libcamera: media_device: Create entities with major and minor numbers
Extend the MediaEntity object with device node major and minor numbers, and retrieve them from the media graph using interfaces. They will be used by the DeviceEnumerator to retrieve the devnode path. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/libcamera/include/media_object.h')
-rw-r--r--src/libcamera/include/media_object.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libcamera/include/media_object.h b/src/libcamera/include/media_object.h
index 65b55085..950a3328 100644
--- a/src/libcamera/include/media_object.h
+++ b/src/libcamera/include/media_object.h
@@ -80,21 +80,28 @@ class MediaEntity : public MediaObject
{
public:
const std::string &name() const { return name_; }
+ unsigned int major() const { return major_; }
+ unsigned int minor() const { return minor_; }
const std::vector<MediaPad *> &pads() const { return pads_; }
const MediaPad *getPadByIndex(unsigned int index) const;
const MediaPad *getPadById(unsigned int id) const;
+ int setDeviceNode(const std::string &devnode);
+
private:
friend class MediaDevice;
- MediaEntity(const struct media_v2_entity *entity);
+ MediaEntity(const struct media_v2_entity *entity,
+ unsigned int major = 0, unsigned int minor = 0);
MediaEntity(const MediaEntity &) = delete;
~MediaEntity();
std::string name_;
std::string devnode_;
+ unsigned int major_;
+ unsigned int minor_;
std::vector<MediaPad *> pads_;