-
Notifications
You must be signed in to change notification settings - Fork 61
[#264] address last IOX_TODOs in C++ language binding #696
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[#264] address last IOX_TODOs in C++ language binding #696
Conversation
…for event services
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR addresses the remaining TODOS by removing IOX_TODO() stubs and providing concrete implementations for missing functionality across multiple modules. Key changes include:
- Implementation of functions for dynamic configuration, subscriber buffer sizes, and attribute set operations.
- Removal of obsolete assertion includes with corresponding updates to include the correct headers.
- Refactoring of various classes (e.g., AttributeSetView, PortFactoryPublishSubscribe, StaticConfig) to improve ownership semantics and interface consistency.
Reviewed Changes
Copilot reviewed 40 out of 41 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
iceoryx2-ffi/cxx/src/dynamic_config_publish_subscribe.cpp | Implements publisher and subscriber count methods. |
iceoryx2-ffi/cxx/src/dynamic_config_event.cpp | Implements listener and notifier count methods. |
iceoryx2-ffi/cxx/src/attribute_set.cpp | Implements attribute lookup and conversion functions; adds to_owned() method. |
iceoryx2-ffi/cxx/include/iox2/subscriber.hpp | Replaces IOX_TODO() with actual buffer_size implementation. |
iceoryx2-ffi/cxx/include/iox2/static_config_publish_subscribe.hpp | Updates include dependencies for attribute sets. |
iceoryx2-ffi/cxx/include/iox2/static_config_event.hpp | Updates include dependencies for attribute sets. |
iceoryx2-ffi/cxx/include/iox2/static_config.hpp | Introduces move semantics and proper resource release. |
iceoryx2-ffi/cxx/include/iox2/service_name.hpp | Updates friend declarations for expanded functionality. |
iceoryx2-ffi/cxx/include/iox2/service_id.hpp | Declares new getters replacing stubs. |
iceoryx2-ffi/cxx/include/iox2/port_factory_publish_subscribe.hpp | Provides implementations for name, service_id, dynamic_config, and node listing functions. |
iceoryx2-ffi/cxx/include/iox2/port_factory_event.hpp | Updates service_id and dynamic_config functions to return values. |
Various node_* and internal headers | Updates friend callbacks to reference internal::list_callback and provides complete implementations. |
iceoryx2-ffi/cxx/include/iox2/dynamic_config_publish_subscribe.hpp & dynamic_config_event.hpp | Removes IOX_TODO() and declares concrete function implementations. |
iceoryx2-ffi/cxx/include/iox2/attribute_set.hpp | Refactors AttributeSetView and introduces the owning AttributeSet class. |
Files not reviewed (1)
- iceoryx2-ffi/cxx/CMakeLists.txt: Language not supported
f86af5a
to
928b22c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Functionality is fine. Just some findings on code cleanliness/style.
…meout; add dev docu
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR resolves the remaining IOX_TODO items in the C++ language binding by replacing placeholders with real implementations and updating APIs for consistency. Key changes include:
- Implementing get_key_value_len and get_key_value_at functions in AttributeSetView.
- Replacing IOX_TODO placeholders in Subscriber and PortFactory classes with concrete implementations.
- Updating API function names and signatures for service identifier and dynamic configuration.
Reviewed Changes
Copilot reviewed 42 out of 43 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
iceoryx2-ffi/cxx/src/attribute_set.cpp | Replaced IOX_TODO placeholders and updated constructor parameter type for AttributeSetView. |
iceoryx2-ffi/cxx/include/iox2/subscriber.hpp | Implemented the buffer_size() function by replacing the placeholder. |
iceoryx2-ffi/cxx/include/iox2/port_factory_publish_subscribe.hpp | Replaced IOX_TODO placeholders in name(), service_id(), dynamic_config(), and nodes(). |
iceoryx2-ffi/cxx/include/iox2/static_config.hpp | Added move constructor, destructor, assignment operators and drop() function. |
iceoryx2-ffi/cxx/include/iox2/service_id.hpp | Replaced IOX_TODO placeholders with method declarations (renamed as_str() to c_str()). |
Other files | Updated include directives and added necessary headers to support the new functionality. |
Files not reviewed (1)
- iceoryx2-ffi/cxx/CMakeLists.txt: Language not supported
Comments suppressed due to low confidence (2)
iceoryx2-ffi/cxx/src/attribute_set.cpp:30
- The constructor parameter type for AttributeSetView has changed from iox2_attribute_set_h_ref to iox2_attribute_set_ptr; ensure that this change is consistently reflected in all usages and that the pointer semantics are well documented.
AttributeSetView::AttributeSetView(iox2_attribute_set_ptr handle)
iceoryx2-ffi/cxx/include/iox2/service_id.hpp:27
- The method for retrieving the service identifier has been renamed from as_str() to c_str() to align with standard naming conventions; please verify that the updated naming is applied uniformly in the codebase.
auto c_str() const -> const char*;
328806f
to
ad96149
Compare
Notes for Reviewer
Pre-Review Checklist for the PR Author
Convert to draft
)SPDX-License-Identifier: Apache-2.0 OR MIT
iox2-123-introduce-posix-ipc-example
)[#123] Add posix ipc example
)task-list-completed
)Checklist for the PR Reviewer
Post-review Checklist for the PR Author
References
Closes #264