sdbusplus updates (client-bindings and namespace)
Lei Yu
yulei.sh at bytedance.com
Fri May 5 19:09:53 AEST 2023
On Thu, May 4, 2023 at 6:23 AM Patrick Williams <patrick at stwcx.xyz> wrote:
>
> Greetings,
>
> TL;DR: I have two announcements of changes in sdbusplus:
>
> 1. Async client bindings using C++20 coroutines are now available
> for experimentation.
Great work!
> 2. The namespace for server bindings has changed, but the old
> namespace is preserved for a period of ~6 months.
>
> ----
>
> As part of developing the async client bindings, I fixed a mistake I
> made in 2016, which was choosing a terrible convention for the
> namespaces of the generated server bindings:
>
> Interface: xyz.openbmc_project.Object.Enable
> Old Class: sdbusplus::xyz::openbmc_project::Object::server::Enable
> New Class: sdbusplus::server::xyz::openbmc_project::object::Enable
> Client Class: sdbusplus::client::xyz::openbmc_project::object::Enable
The previous class was using `Object` but now with the new namespace
it becomes `object`, is it intended about the upper-case `O` becoming
the lower-case `o`?
If yes, why the `Enable` still kept the upper-case `E`?
Do we have a rule that all the strings other than the last part should
be lower-case?
> Next steps:
>
> - Probably some bug fixes as other eyes start using this.
>
> - Implement something like `async-server.hpp` to create async server
> bindings to go along with the clients, which will allow a fully
> async daemon without Boost (and with a lot cleaner code than ASIO
> callbacks).
Looking forward to the server binding!
--
BRs,
Lei YU
More information about the openbmc
mailing list