pnoltes opened a new pull request, #729: URL: https://github.com/apache/celix/pull/729
This pull request introduces several new bundle context C functions and C++ ServiceTracker methods. These additions allow tracked services to be called using callbacks on the current thread through a service tracker or service tracker ID. This method of calling services is expected to be more performant than the useService(s) functions/methods, which invoke callbacks on the event thread. For C, the following functions where added: - `celix_bundleContext_useTrackedService` - `celix_bundleContext_useTrackedServices` - `celix_bundleContext_useTrackedServiceWithOptions` - `celix_bundleContext_useTrackedServicesWithOptions` - `celix_bundleContext_getTrackedServiceCount` - `celix_bundleContext_getTrackedServiceName` - `celix_bundleContext_getTrackedServiceFilter` The signature of the following C function has been changed: - `celix_bundleContext_trackServices`. The trackServices function signature is simplified to that it is easier to use when combined with the useTrackerService(s) calls. For C++, the following methods were added: - `celix::ServiceTracker<I>::useService<F>` - `celix::ServiceTracker<I>::useServices<F>` This pull request also prepares the removal of celix_service_tracker.h as public api. This change should make it easier to refactor the celix_service_tracker.h and implementation for a better code coverage and error handling. Also replaces the usage of `hash_map_t` in the C bundle context to `celix_long_hash_map_t`. -- 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