API: Introduce value and datatype structs to Extern C
-
Review changes -
Open in Workspace
-
-
Download -
Patches
-
Plain diff
Summary
See #22 (closed). Introduce datatype and value structs to the Extern C interface which are then used to set and get property and entity values and datatypes. For this, an AbstractValue class was introduced to libcaosdb.
Focus
The former implementations of the caosdb_entity_{property,entity}_get_<type>_value
functions have been replaced by the corresponding get functions that operate on value structs. In the same way, the former ..._{set,get}_datatype(char *, bool, bool)
functions have been replaced by the corresponding caosdb_entity_datatype_is_<type>
and caosdb_entity_datatype_get_datatype_name
functions. The tests in test_ccaosdb
have been adapted and extended.
Test Environment
Unit and integration tests should be sufficient.
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related Issues -
Up-to-date CHANGELOG.md -
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there specifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Merge request reports
- version 181ed09895
- version 17640bb8c3
- version 1663423526
- version 1598e25351
- version 149bae96e0
- version 13a80f3ebd
- version 12b62599d8
- version 11b0d5af32
- version 1022622223
- version 98768668b
- version 8a8646421
- version 731ad2cf0
- version 6bfdfc55e
- version 59e7416ee
- version 4cd50b367
- version 37125bcd7
- version 2d330e50a
- version 1d1e3fba6
- dev (base)
- latest version083478f926 commits,
- version 181ed0989525 commits,
- version 17640bb8c324 commits,
- version 166342352623 commits,
- version 1598e2535122 commits,
- version 149bae96e020 commits,
- version 13a80f3ebd19 commits,
- version 12b62599d818 commits,
- version 11b0d5af3216 commits,
- version 102262222315 commits,
- version 98768668b14 commits,
- version 8a864642113 commits,
- version 731ad2cf012 commits,
- version 6bfdfc55e11 commits,
- version 59e7416ee8 commits,
- version 4cd50b3676 commits,
- version 37125bcd75 commits,
- version 2d330e50a2 commits,
- version 1d1e3fba61 commit,
- Side-by-side
- Inline