[libcamera-devel] [PATCH 16/18] libcamera: Add parent argument to constructors of Object-derived classes
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Aug 12 14:46:40 CEST 2019
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>
---
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
More information about the libcamera-devel
mailing list