From 234ee715176d1b631597ff535c8b82e66f59406f Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Thu, 22 Oct 2020 14:27:10 +0100 Subject: 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 Signed-off-by: Kieran Bingham --- include/libcamera/internal/media_object.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'include/libcamera') 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 +#include + 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); -- cgit v1.2.1