#
dd6efd17 |
| 01-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
meson: reformat with meson formatter
Apply the `meson format` results.
Change-Id: I024144165b08c727dd9621842f1a497830247155 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
#
8aea1d81 |
| 17-Jan-2025 |
Adin Scannell <adin@scannell.ca> |
sdbus++: generate `properties` method for client harness
This uses the existing proxy `get_all_properties` method and allows for more efficient fetching of all properties in one shot. A struct is ge
sdbus++: generate `properties` method for client harness
This uses the existing proxy `get_all_properties` method and allows for more efficient fetching of all properties in one shot. A struct is generated for each type, and each field is initialized with its default value (but is not guaranteed to be deserialized).
As errors are less detectable (e.g. perhaps an expected property did not come through?), I considered whether the values in the struct should all be `std::optional`. However, given how other methods are used, it feels like this would result in a crash and assertion failure rather than saving anyone time and effort. The wrong type is detected a suitable exception is thrown in those cases.
Change-Id: Iff7712bd17db39f1ee5699f867e9f17a54eea21b Signed-off-by: Adin Scannell <adin@scannell.ca>
show more ...
|
#
b750136d |
| 16-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: events: generate markdown
Add enough content in event support to generate markdown documentation.
- Create python-translation from event YAML to internal classes and call mako re
sdbus++: events: generate markdown
Add enough content in event support to generate markdown documentation.
- Create python-translation from event YAML to internal classes and call mako renders. - Add empty mako templates for the C++ files. - Add mako templates necessary to generate markdown content.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ifd4aa16895b2ed5f72b3bc74170c1c666e29b02e
show more ...
|
#
0336a2fc |
| 05-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: add stubs to generate event files
Add options to `sdbus++` to generate the files for `events.yaml` files: header, cpp, markdown. Create simple stubs for these that generate empty files. E
sdbus++: add stubs to generate event files
Add options to `sdbus++` to generate the files for `events.yaml` files: header, cpp, markdown. Create simple stubs for these that generate empty files. Enable them in `sdbus++-gen-meson` and add an example for the Calculator.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ia1df9ca02e1de5fc3f6dadfd409d646e1341a3d6
show more ...
|
#
ec40c495 |
| 28-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: events: add schema
Add jsonschema for new error and event design[1]. Schema is based on the schema originally in the document but enhanced for better schema validation of required and/or c
sdbus++: events: add schema
Add jsonschema for new error and event design[1]. Schema is based on the schema originally in the document but enhanced for better schema validation of required and/or conflicting properties.
[1]: https://github.com/openbmc/docs/blob/master/designs/event-logging.md
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ic64a98825080d990d904b788cfaed45b91e8a39e
show more ...
|
#
2369ec46 |
| 01-Sep-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: common: generate service_names
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I67c3ee58595a49d0104e9b1bc421052f9a405e01
|
#
c0290e4e |
| 01-Sep-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: common: generate object_paths
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iacaa65fa1063b34269d55df3c581e5921dbbc300
|
#
e15ff88b |
| 22-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: async: server: generate method-call fn
Add binding generation for method-call functions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I34ac44ae0cdb43a18b96a4ddc5e67df4971
sdbus++: async: server: generate method-call fn
Add binding generation for method-call functions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I34ac44ae0cdb43a18b96a4ddc5e67df4971da939
show more ...
|
#
72f7116a |
| 20-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: async: server: generate set-property fn
Add binding generation for set-property functions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3fce183f668ea339a035b8186630ffc04
sdbus++: async: server: generate set-property fn
Add binding generation for set-property functions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3fce183f668ea339a035b8186630ffc04aa9af82
show more ...
|
#
f84f1117 |
| 20-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: async: server: generate get-property fn
Add binding generation for get-property functions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I60d44b25d718373acfd581faf158f45f5
sdbus++: async: server: generate get-property fn
Add binding generation for get-property functions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I60d44b25d718373acfd581faf158f45f5b5430e9
show more ...
|
#
bf0283ae |
| 19-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: async: server: generate signal emit fns
Populate enough of the generator to define the basic class structure and generate bindings for emitting signals.
Signed-off-by: Patrick Williams <pa
sdbus++: async: server: generate signal emit fns
Populate enough of the generator to define the basic class structure and generate bindings for emitting signals.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: If62c323f460fc8c73a3aca495e5b89cd84bab32a
show more ...
|
#
6403d56f |
| 18-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: async: server: add generator stub
Add the needful changes in the tools and meson-generator to create an asynchronous server binding header.
Signed-off-by: Patrick Williams <patrick@stwcx.x
sdbus++: async: server: add generator stub
Add the needful changes in the tools and meson-generator to create an asynchronous server binding header.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0607aefc006eafb9224d92b887cf2d3b30c8da06
show more ...
|
#
69373482 |
| 12-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: simplify vtable generation
Move vtable generation into separate mako files to simplify all of the "*.prototype.hpp.mako" files.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-I
sdbus++: simplify vtable generation
Move vtable generation into separate mako files to simplify all of the "*.prototype.hpp.mako" files.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I2700698d760a25b649e86d812e425e66c9ff30a2
show more ...
|
#
3a1d8b97 |
| 12-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: property: simplify server mako structure
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I1181d785dea13c51cee1f59a07af541b92af303c
|
#
65e4d302 |
| 26-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: async: client: add generated property calls
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I25ad8c0c167af0a55e235e5a7b4a46a3019d94ae
|
#
0241d906 |
| 26-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: async: client: add generated method calls
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I47cf5bc96b545dfe3f917655b5b94db8dac9c101
|
#
1caa5e8a |
| 19-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: add common header file
There are some items generated under server and client which are overlapping and some currently in server that will also be needed for async bindings. Create a commo
sdbus++: add common header file
There are some items generated under server and client which are overlapping and some currently in server that will also be needed for async bindings. Create a common header file that they can all include in order to reduce the content generated across all these types.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id7af8542613503dbd745158c89892ca252eadf5a
show more ...
|
#
5c52484c |
| 13-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++-gendir: remove deprecated script
The sdbus++-gendir script has been deprecated for a while and removed from all external users in the openbmc org. The internal usage was also removed recent
sdbus++-gendir: remove deprecated script
The sdbus++-gendir script has been deprecated for a while and removed from all external users in the openbmc org. The internal usage was also removed recently, so fully delete this script.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6ceb7cceb59b36b6763d19682d09110cb8de386f
show more ...
|
#
293c8a26 |
| 02-Sep-2022 |
William A. Kennington III <wak@google.com> |
sdbus++: Fix meson dependency generation
All of the generated meson files optionally look for sdbus++ sources that can be plumbed in to allow changes to the generator code to correctly trigger rebui
sdbus++: Fix meson dependency generation
All of the generated meson files optionally look for sdbus++ sources that can be plumbed in to allow changes to the generator code to correctly trigger rebuilds.
This will require adding a new variable prior to generated sources, `sdbusplusplus_depfiles`. You can convert previous meson defitions with the follwing.
``` sdbusplus_dep = dependency('sdbusplus') sdbusplusplus_prog = find_program('sdbus++', native: true) sdbuspp_gen_meson_prog = find_program('sdbus++-gen-meson', native: true) sdbusplusplus_depfiles = files() if sdbusplus_dep.type_name() == 'internal' sdbusplusplus_depfiles = subproject('sdbusplus').get_variable('sdbusplusplus_depfiles') endif ```
Change-Id: Ic2d5bafdbdd2595be8c44e0e616e590143639f21 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
#
76e37d49 |
| 02-Sep-2022 |
William A. Kennington III <wak@google.com> |
tools: Remove extra symlinks
We can just re-order the override statements to have the same effect.
Change-Id: I335174974e6162729a2a6940bae3bfb87fb25dfd Signed-off-by: William A. Kennington III <wak
tools: Remove extra symlinks
We can just re-order the override statements to have the same effect.
Change-Id: I335174974e6162729a2a6940bae3bfb87fb25dfd Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
#
4dd3e299 |
| 21-Mar-2022 |
Patrick Williams <patrick@stwcx.xyz> |
meson: enable override_find_program for subprojects
When sdbusplus is used as a meson subproject it is helpful to have a section like:
``` [provide] sdbusplus = sdbusplus_dep program_na
meson: enable override_find_program for subprojects
When sdbusplus is used as a meson subproject it is helpful to have a section like:
``` [provide] sdbusplus = sdbusplus_dep program_names = sdbus++, sdbus++-gen-meson ```
This allows a project to easily find both the 'sdbusplus' dependency without manually setting a 'fallback' and it allows it to obtain the typically used programs utilizing the `find_program`. Doing this requires usage of the `meson.override_find_program` in the subproject.
Meson doesn't like it if you pass an already `find_program` result into the `override_find_program`. The typical expectation from meson appears to be that you are exporting a program you've compiled rather than an existing script. In order to work around this, add a simple indirection where we symlink all of the executables to the same name prefixed with a dot.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I23ab97d85c4c43d4e5ad0da00491b75ff03e110d
show more ...
|
#
847a0c37 |
| 24-Jun-2020 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++-gen-meson: create tool for helping with meson
The previous attempt at a meson-helper tool (sdbus++-gendir) had some usability issues integrating with meson that was not agreeable to other de
sdbus++-gen-meson: create tool for helping with meson
The previous attempt at a meson-helper tool (sdbus++-gendir) had some usability issues integrating with meson that was not agreeable to other developers. The two main complaints were that it did not automatically catch changes to YAML files and it re-ran the processing on every YAML file.
The new direction is to create this helper tool which will generate a tree of meson.build files that can be checked in directly to a repository and updated whenever a YAML file is added (or removed).
This tool will both create the tree of meson.build necessary for generating all C++/header and markdown files. The meson targets created by the tool also contain callbacks into this tool to abstract details on which / how sdbus++ is called to generate the output files.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I410ad2121274b2ba9e6f14985bc7b6a2c92e65e7
show more ...
|
#
ad145e09 |
| 19-May-2020 |
Patrick Williams <patrick@stwcx.xyz> |
meson: feature match autotools support
Add support to build the example and test directories, which will get us feature match with the current autotools-based build.
Signed-off-by: Patrick Williams
meson: feature match autotools support
Add support to build the example and test directories, which will get us feature match with the current autotools-based build.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ib0789b6a715be366601eb639fd70ca3da9536a66
show more ...
|