[libcamera-devel] [PATCH 5/7] libcamera: yaml_parser: Remove memberNames() function

Hanlin Chen hanlinchen at chromium.org
Mon Jun 20 14:03:53 CEST 2022


Hi Laurent,

On Fri, Jun 17, 2022 at 9:50 PM Jacopo Mondi via libcamera-devel
<libcamera-devel at lists.libcamera.org> wrote:
>
> Hi Laurent
>
> On Thu, Jun 16, 2022 at 05:24:01PM +0300, Laurent Pinchart via libcamera-devel wrote:
> > Now that YamlObject supports iteration, the memberNames() function isn't
> > useful anymore as it can be implemented using utils::map_keys() if
> > really needed. Drop it.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>
> Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

Reviewed-by: Han-Lin Chen <hanlinchen at chromium.org>

Thanks.

>
> Thanks
>   j
>
> > ---
> >  include/libcamera/internal/yaml_parser.h |  1 -
> >  src/libcamera/yaml_parser.cpp            | 22 ----------------------
> >  test/yaml-parser.cpp                     | 10 ----------
> >  3 files changed, 33 deletions(-)
> >
> > diff --git a/include/libcamera/internal/yaml_parser.h b/include/libcamera/internal/yaml_parser.h
> > index 8edd32354184..811be1affcc0 100644
> > --- a/include/libcamera/internal/yaml_parser.h
> > +++ b/include/libcamera/internal/yaml_parser.h
> > @@ -172,7 +172,6 @@ public:
> >
> >       bool contains(const std::string &key) const;
> >       const YamlObject &operator[](const std::string &key) const;
> > -     std::vector<std::string> memberNames() const;
> >
> >  private:
> >       LIBCAMERA_DISABLE_COPY_AND_MOVE(YamlObject)
> > diff --git a/src/libcamera/yaml_parser.cpp b/src/libcamera/yaml_parser.cpp
> > index 4df7e5a33d47..9b6e70cbfcf3 100644
> > --- a/src/libcamera/yaml_parser.cpp
> > +++ b/src/libcamera/yaml_parser.cpp
> > @@ -335,28 +335,6 @@ bool YamlObject::contains(const std::string &key) const
> >       return true;
> >  }
> >
> > -/**
> > - * \fn YamlObject::memberNames()
> > - * \brief Retrieve all member names of the dictionary
> > - *
> > - * This function retrieve member names of a YamlObject. Only YamlObject
> > - * instances of Dictionary type associate elements with names, calling this
> > - * function on other types of instances is invalid and results in undefined
> > - * behaviour.
> > - *
> > - * \todo Replace this function with an iterator-based API
> > - *
> > - * \return A vector of string as the member names
> > - */
> > -std::vector<std::string> YamlObject::memberNames() const
> > -{
> > -     std::vector<std::string> memberNames;
> > -     for (auto &[key, _] : dictionary_)
> > -             memberNames.push_back(key);
> > -
> > -     return memberNames;
> > -}
> > -
> >  /**
> >   * \fn YamlObject::operator[](const std::string &key) const
> >   * \brief Retrieve a member by name from the dictionary
> > diff --git a/test/yaml-parser.cpp b/test/yaml-parser.cpp
> > index ab6e9a01c0fe..38f848232fa6 100644
> > --- a/test/yaml-parser.cpp
> > +++ b/test/yaml-parser.cpp
> > @@ -500,16 +500,6 @@ protected:
> >               /* Make sure utils::map_keys() works on the adapter. */
> >               (void)utils::map_keys(dictObj.asDict());
> >
> > -             auto memeberNames = dictObj.memberNames();
> > -             sort(memeberNames.begin(), memeberNames.end());
> > -
> > -             if (memeberNames[0] != "a" ||
> > -                 memeberNames[1] != "b" ||
> > -                 memeberNames[2] != "c") {
> > -                     cerr << "Dictionary object fail to parse member names" << std::endl;
> > -                     return TestFail;
> > -             }
> > -
> >               /* Test leveled objects */
> >               auto &level1Obj = (*root)["level1"];
> >
> > --
> > Regards,
> >
> > Laurent Pinchart
> >


More information about the libcamera-devel mailing list