diff options
author | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2020-10-22 14:27:10 +0100 |
---|---|---|
committer | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2021-02-12 14:35:12 +0000 |
commit | 234ee715176d1b631597ff535c8b82e66f59406f (patch) | |
tree | 681bc85356ab32da16f48a2691e145517ffafadd | |
parent | 74f103486c44f548f326c21df745ef2280a9a7fb (diff) |
libcamera: media_object: Utilise LIBCAMERA_DISABLE_COPY_AND_MOVE
Convert MediaLink, MediaPad, and MediaEntity to declare
LIBCAMERA_DISABLE_COPY_AND_MOVE. These classes already deleted their
copy constructor but not the assignment operator.
They should also not be movable, so expand to fully disable both copying
and moving.
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r-- | include/libcamera/internal/media_object.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/include/libcamera/internal/media_object.h b/include/libcamera/internal/media_object.h index 2b336961..1c82c279 100644 --- a/include/libcamera/internal/media_object.h +++ b/include/libcamera/internal/media_object.h @@ -12,6 +12,8 @@ #include <linux/media.h> +#include <libcamera/class.h> + namespace libcamera { class MediaDevice; @@ -47,11 +49,12 @@ public: int setEnabled(bool enable); private: + LIBCAMERA_DISABLE_COPY_AND_MOVE(MediaLink) + friend class MediaDevice; MediaLink(const struct media_v2_link *link, MediaPad *source, MediaPad *sink); - MediaLink(const MediaLink &) = delete; MediaPad *source_; MediaPad *sink_; @@ -69,10 +72,11 @@ public: void addLink(MediaLink *link); private: + LIBCAMERA_DISABLE_COPY_AND_MOVE(MediaPad) + friend class MediaDevice; MediaPad(const struct media_v2_pad *pad, MediaEntity *entity); - MediaPad(const MediaPad &) = delete; unsigned int index_; MediaEntity *entity_; @@ -99,11 +103,12 @@ public: int setDeviceNode(const std::string &deviceNode); private: + LIBCAMERA_DISABLE_COPY_AND_MOVE(MediaEntity) + friend class MediaDevice; MediaEntity(MediaDevice *dev, const struct media_v2_entity *entity, unsigned int major = 0, unsigned int minor = 0); - MediaEntity(const MediaEntity &) = delete; void addPad(MediaPad *pad); |