[{"id":2441,"web_url":"https://patchwork.libcamera.org/comment/2441/","msgid":"<20190817151215.GR16603@wyvern>","date":"2019-08-17T15:12:15","subject":"Re: [libcamera-devel] [PATCH 16/18] libcamera: Add parent argument\n\tto constructors of Object-derived classes","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Laurent,\n\nThanks for your work.\n\nOn 2019-08-12 15:46:40 +0300, Laurent Pinchart wrote:\n> Now that the Object class implements parent-child relationships, make it\n> possible to create EventNotifier and Timer instances with a parent by\n> adding a parent argument to their constructors.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n\n> ---\n>  include/libcamera/event_notifier.h | 2 +-\n>  include/libcamera/timer.h          | 2 +-\n>  src/libcamera/event_notifier.cpp   | 5 +++--\n>  src/libcamera/timer.cpp            | 5 +++--\n>  4 files changed, 8 insertions(+), 6 deletions(-)\n> \n> diff --git a/include/libcamera/event_notifier.h b/include/libcamera/event_notifier.h\n> index f80945c743dc..a37b02eee4b7 100644\n> --- a/include/libcamera/event_notifier.h\n> +++ b/include/libcamera/event_notifier.h\n> @@ -23,7 +23,7 @@ public:\n>  \t\tException,\n>  \t};\n>  \n> -\tEventNotifier(int fd, Type type);\n> +\tEventNotifier(int fd, Type type, Object *parent = nullptr);\n>  \tvirtual ~EventNotifier();\n>  \n>  \tType type() const { return type_; }\n> diff --git a/include/libcamera/timer.h b/include/libcamera/timer.h\n> index 853808e07da8..f47b6a58404f 100644\n> --- a/include/libcamera/timer.h\n> +++ b/include/libcamera/timer.h\n> @@ -19,7 +19,7 @@ class Message;\n>  class Timer : public Object\n>  {\n>  public:\n> -\tTimer();\n> +\tTimer(Object *parent = nullptr);\n>  \t~Timer();\n>  \n>  \tvoid start(unsigned int msec);\n> diff --git a/src/libcamera/event_notifier.cpp b/src/libcamera/event_notifier.cpp\n> index 96be27601982..687969b0a8d1 100644\n> --- a/src/libcamera/event_notifier.cpp\n> +++ b/src/libcamera/event_notifier.cpp\n> @@ -61,9 +61,10 @@ namespace libcamera {\n>   * \\brief Construct an event notifier with a file descriptor and event type\n>   * \\param[in] fd The file descriptor to monitor\n>   * \\param[in] type The event type to monitor\n> + * \\param[in] parent The parent Object\n>   */\n> -EventNotifier::EventNotifier(int fd, Type type)\n> -\t: fd_(fd), type_(type), enabled_(false)\n> +EventNotifier::EventNotifier(int fd, Type type, Object *parent)\n> +\t: Object(parent), fd_(fd), type_(type), enabled_(false)\n>  {\n>  \tsetEnabled(true);\n>  }\n> diff --git a/src/libcamera/timer.cpp b/src/libcamera/timer.cpp\n> index f45061d4c6f6..c61d77e5128f 100644\n> --- a/src/libcamera/timer.cpp\n> +++ b/src/libcamera/timer.cpp\n> @@ -39,9 +39,10 @@ LOG_DEFINE_CATEGORY(Timer)\n>  \n>  /**\n>   * \\brief Construct a timer\n> + * \\param[in] parent The parent Object\n>   */\n> -Timer::Timer()\n> -\t: interval_(0), deadline_(0)\n> +Timer::Timer(Object *parent)\n> +\t: Object(parent), interval_(0), deadline_(0)\n>  {\n>  }\n>  \n> -- \n> Regards,\n> \n> Laurent Pinchart\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from mail-ed1-x541.google.com (mail-ed1-x541.google.com\n\t[IPv6:2a00:1450:4864:20::541])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BACFE600F9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 17 Aug 2019 17:12:17 +0200 (CEST)","by mail-ed1-x541.google.com with SMTP id m44so7537656edd.9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 17 Aug 2019 08:12:17 -0700 (PDT)","from localhost ([185.224.57.161]) by smtp.gmail.com with ESMTPSA id\n\tq10sm1245407ejt.54.2019.08.17.08.12.16\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tSat, 17 Aug 2019 08:12:16 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to\n\t:user-agent; bh=g4hnRBE2Bxw1d6vAqsuJJTuZRrFZMJkAsqCFGDWfnXQ=;\n\tb=U5ii5pT91hB32X1//mUDU8fLJsJOQ9nO+w5fWFdAnKBjRs6KDICd4kJdgEhuCg8m+u\n\t4TUPfOI3rsUFizeqqRRGz9vX40ADEFuDbifbvrtHd+duJ6qwE4y/j30pbWiyWaynX24V\n\tZrhF7WvF0VcAunfye2NFjP8Bx3D+K+vUM+vysFde+r/2eXI+jksaJYTD66POf98OPa8W\n\tEF1jKKvgpPK3QdaWFliv84KO9GmUxiuQm5ySBx1zrA+h/kXExfSD54L8MN2wyUWWRKEg\n\t1WJHevSL4QVuZEmt18q7VdKukDLLl+NZpDyD5TOFfRSgaDhLd2KJGMRdXKlOHqX5T2C/\n\t+JTQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to:user-agent;\n\tbh=g4hnRBE2Bxw1d6vAqsuJJTuZRrFZMJkAsqCFGDWfnXQ=;\n\tb=SwSx5xzoyph426+cQ6/EqGOCjTdiO9deHxnjP1MwOzfR6DvrNtS5wRedRtMXJs2tJX\n\trQiuGi7DTltwILiXWsP6nFmuJh+wmVkk2qAWxvJWQ+0aKOFcr960EgV6ELS8U4UrRVgp\n\tEfC5zEpHLgn8SjG0VH7nff4hUUMLYlcwUNbLG5x01CC2G75RAZT6TKixAKa7vpegTq0B\n\t2H4ZYdqQMDE/0xGtmwQxWD3cz/2CgSmUPLkDMvO7RgceZSJ253iibTPw4q3ZGpSKpE8Y\n\thcZFd7JgTeSMQUOECYhSMpctFmlvRtkEdAhV2ZkpArHd1J5ZRkF4T5t6nCvBVB87T81F\n\tW4sw==","X-Gm-Message-State":"APjAAAXcjkYRhHxXpnl7HWB9vH6zBeXs7faxp3RPbLDR4xcKUa0UnhKP\n\taREt0rLcQK/ZrgqRLxrNUiy9nA==","X-Google-Smtp-Source":"APXvYqxUZNBW5xI+O+tgPsqg17rL+LDJw2XtAt4qUq8gM+UzlWRMMiZKvxsW/1rOwNNei1dZDebnWg==","X-Received":"by 2002:a17:906:e111:: with SMTP id\n\tgj17mr13518489ejb.225.1566054737431; \n\tSat, 17 Aug 2019 08:12:17 -0700 (PDT)","Date":"Sat, 17 Aug 2019 17:12:15 +0200","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190817151215.GR16603@wyvern>","References":"<20190812124642.24287-1-laurent.pinchart@ideasonboard.com>\n\t<20190812124642.24287-17-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20190812124642.24287-17-laurent.pinchart@ideasonboard.com>","User-Agent":"Mutt/1.12.1 (2019-06-15)","Subject":"Re: [libcamera-devel] [PATCH 16/18] libcamera: Add parent argument\n\tto constructors of Object-derived classes","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Sat, 17 Aug 2019 15:12:17 -0000"}}]