summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKieran Bingham <kieran.bingham@ideasonboard.com>2020-10-22 14:27:10 +0100
committerKieran Bingham <kieran.bingham@ideasonboard.com>2021-02-12 14:35:12 +0000
commit234ee715176d1b631597ff535c8b82e66f59406f (patch)
tree681bc85356ab32da16f48a2691e145517ffafadd
parent74f103486c44f548f326c21df745ef2280a9a7fb (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.h11
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);