pnoltes opened a new pull request, #470:
URL: https://github.com/apache/celix/pull/470

   This PR add some type support to `celix_properties_t`. Type support for 
properties are added so that #432 can be solved in type-aware manner. 
   
   Looking at the LDAP spec, the filter attribute type should  lead to the 
correct order comparison. 
   And because in Celix a "service.version" properties is used to identify the 
runtime version of a service, it should be possible to add a "service.version" 
property value as `celix_version_t` type so that `celix_version_compareTo` can 
be used to compare "celix.version" attributes.
   
   For now I want to keep this PR draft, for 2 reasons:
    - In PR celix properties are no longer a typedef of hash_map, and this is a 
backwards incompatible update. IMO this PR should only be merged if the next 
Celix release is going to be a 3.0.0 release
    - Concerning #432, I think it is better to first solve this differently. 
Akin what @tira-misu purposes in the issue. Although I think adding some type 
support for properties is eventually a better solution (especially considering 
performance), for now a solution that does not require a major version update 
is preferred. 
   
   But comments are welcome :)
   
   Overview changes:
    - Add missing doxygen for celix_properties.h
    - Reimplement celix_properties_t using celix_string_hash_map_t instead of 
hashmap
    - Add support for long, double, bool and celix_version_t types for property 
values
    - Add a "short properties" optimization, so that most service properties 
only need a single malloc.
    - Move and update version cpputest to gtest
    - Move and update properties cpputest to gtest
    - Add C++ Version wrapper for the celix_version_t
    - Replace usage of hashMapIterator on properties and 
CELIX_PROPERTIES_FOR_EACH to CELIX_PROPERTIES_ITERATE


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@celix.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to