summaryrefslogtreecommitdiff
path: root/src/gstreamer/gstlibcamera-utils.cpp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2025-02-25 00:01:26 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2025-02-26 02:27:16 +0200
commit4849a84a9bf3577435ba7e9bc39a8ff5d8960e6e (patch)
tree264e38e8c062e3a6e2d140f77f59ba0422bcb51f /src/gstreamer/gstlibcamera-utils.cpp
parent005d19a73fb5d9813e924c26f010e0117fc47568 (diff)
meson: Enable the -Wnon-virtual-dtor compiler option
A base class with virtual functions and a non-virtual public destructor is prone to undefined behaviourif deleted from a pointer to the base. Enable the -Wnon-virtual-dtor warning to report those issues. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Milan Zamazal <mzamazal@redhat.com> Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com>
Diffstat (limited to 'src/gstreamer/gstlibcamera-utils.cpp')
0 files changed, 0 insertions, 0 deletions
hl com">/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018, Google Inc. * * camera_manager.h - Camera management */ #ifndef __LIBCAMERA_CAMERA_MANAGER_H__ #define __LIBCAMERA_CAMERA_MANAGER_H__ #include <memory> #include <string> #include <sys/types.h> #include <vector> #include <libcamera/object.h> namespace libcamera { class Camera; class EventDispatcher; class CameraManager : public Object { public: CameraManager(); CameraManager(const CameraManager &) = delete; CameraManager &operator=(const CameraManager &) = delete; ~CameraManager(); int start(); void stop(); std::vector<std::shared_ptr<Camera>> cameras() const; std::shared_ptr<Camera> get(const std::string &name); std::shared_ptr<Camera> get(dev_t devnum); void addCamera(std::shared_ptr<Camera> camera, dev_t devnum); void removeCamera(Camera *camera); static const std::string &version() { return version_; } void setEventDispatcher(std::unique_ptr<EventDispatcher> dispatcher); EventDispatcher *eventDispatcher(); private: static const std::string version_; static CameraManager *self_; class Private; std::unique_ptr<Private> p_; }; } /* namespace libcamera */ #endif /* __LIBCAMERA_CAMERA_MANAGER_H__ */