ENH: Add datatypes and value classes to Extern C interface
Summary
See https://gitlab.indiscale.com/caosdb/customers/lfpb/management/-/issues/420. Adapts the
Focus
The single get_value
functions are now split up into get_<datatype>_value
, get_value_list_length
, and get_<datatype>_list_value_at
functions. Also, importances, roles, and datatypes are now cast from string to enums and back for getting and setting. In the case of datatypes, two additional Booleans for is_reference
and is_list
.
In addition, the way memory si allocated in case of char pointers has been fixed.
Test Environment
Unit tests and integration tests should be sufficient. Integration testing with deploy in f-grpc
and server in f-grpc-f-consolidation
, as usual.
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.