[libcamera-devel] [PATCH 16/18] libcamera: Add parent argument to constructors of Object-derived classes
Niklas Söderlund
niklas.soderlund at ragnatech.se
Sat Aug 17 17:12:15 CEST 2019
Hi Laurent,
Thanks for your work.
On 2019-08-12 15:46:40 +0300, Laurent Pinchart wrote:
> Now that the Object class implements parent-child relationships, make it
> possible to create EventNotifier and Timer instances with a parent by
> adding a parent argument to their constructors.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> ---
> include/libcamera/event_notifier.h | 2 +-
> include/libcamera/timer.h | 2 +-
> src/libcamera/event_notifier.cpp | 5 +++--
> src/libcamera/timer.cpp | 5 +++--
> 4 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/include/libcamera/event_notifier.h b/include/libcamera/event_notifier.h
> index f80945c743dc..a37b02eee4b7 100644
> --- a/include/libcamera/event_notifier.h
> +++ b/include/libcamera/event_notifier.h
> @@ -23,7 +23,7 @@ public:
> Exception,
> };
>
> - EventNotifier(int fd, Type type);
> + EventNotifier(int fd, Type type, Object *parent = nullptr);
> virtual ~EventNotifier();
>
> Type type() const { return type_; }
> diff --git a/include/libcamera/timer.h b/include/libcamera/timer.h
> index 853808e07da8..f47b6a58404f 100644
> --- a/include/libcamera/timer.h
> +++ b/include/libcamera/timer.h
> @@ -19,7 +19,7 @@ class Message;
> class Timer : public Object
> {
> public:
> - Timer();
> + Timer(Object *parent = nullptr);
> ~Timer();
>
> void start(unsigned int msec);
> diff --git a/src/libcamera/event_notifier.cpp b/src/libcamera/event_notifier.cpp
> index 96be27601982..687969b0a8d1 100644
> --- a/src/libcamera/event_notifier.cpp
> +++ b/src/libcamera/event_notifier.cpp
> @@ -61,9 +61,10 @@ namespace libcamera {
> * \brief Construct an event notifier with a file descriptor and event type
> * \param[in] fd The file descriptor to monitor
> * \param[in] type The event type to monitor
> + * \param[in] parent The parent Object
> */
> -EventNotifier::EventNotifier(int fd, Type type)
> - : fd_(fd), type_(type), enabled_(false)
> +EventNotifier::EventNotifier(int fd, Type type, Object *parent)
> + : Object(parent), fd_(fd), type_(type), enabled_(false)
> {
> setEnabled(true);
> }
> diff --git a/src/libcamera/timer.cpp b/src/libcamera/timer.cpp
> index f45061d4c6f6..c61d77e5128f 100644
> --- a/src/libcamera/timer.cpp
> +++ b/src/libcamera/timer.cpp
> @@ -39,9 +39,10 @@ LOG_DEFINE_CATEGORY(Timer)
>
> /**
> * \brief Construct a timer
> + * \param[in] parent The parent Object
> */
> -Timer::Timer()
> - : interval_(0), deadline_(0)
> +Timer::Timer(Object *parent)
> + : Object(parent), interval_(0), deadline_(0)
> {
> }
>
> --
> Regards,
>
> Laurent Pinchart
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
--
Regards,
Niklas Söderlund
More information about the libcamera-devel
mailing list