Message ID | 20190812124642.24287-17-laurent.pinchart@ideasonboard.com |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
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@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@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@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel
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) { }
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@ideasonboard.com> --- 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(-)