This is an automated email from the ASF dual-hosted git repository.

pnoltes pushed a commit to branch feature/87-refactor-use-services
in repository https://gitbox.apache.org/repos/asf/celix.git


The following commit(s) were added to 
refs/heads/feature/87-refactor-use-services by this push:
     new 3d1d8bca gh-87: Update useService doxygen documentation
3d1d8bca is described below

commit 3d1d8bca2d8f5b5917d388a21f538cee7f863b38
Author: Pepijn Noltes <pnol...@apache.org>
AuthorDate: Sun Mar 24 16:22:03 2024 +0100

    gh-87: Update useService doxygen documentation
---
 libs/framework/include/celix/BundleContext.h  | 24 ++++++------
 libs/framework/include/celix_bundle_context.h | 54 ++++++++++++++++-----------
 2 files changed, 45 insertions(+), 33 deletions(-)

diff --git a/libs/framework/include/celix/BundleContext.h 
b/libs/framework/include/celix/BundleContext.h
index 1bb89fae..608fa37f 100644
--- a/libs/framework/include/celix/BundleContext.h
+++ b/libs/framework/include/celix/BundleContext.h
@@ -106,14 +106,16 @@ namespace celix {
         /**
          * @brief Use a service registered in the Celix framework using a 
fluent builder API.
          *
-         * @deprecated celix_bundleContext_useService are deprecated and 
should be considered test utils functions. In
-         * operational code use celix_bundleContext_trackService* combined 
with celix_bundleContext_useTrackedService*
-         * functions instead.
+         * @warning Cannot be called from the Celix event thread.
+         *
+         * @note celix::BundleContext::useService should be considered a test 
util method.
+         * For production code, use celix::BundleContext::trackServices 
combined with use callback methods on the
+         * service tracker instead.
          *
          * The service use can be fine tuned using the returned 
UseServiceBuilder API.
          *
          * With this API a Celix service can be used by providing use 
functions.
-         * The use function will be executed on the Celix event thread and the 
Celix framework
+         * The use function will be executed on the calling thread and the 
Celix framework
          * will ensure that the service cannot be removed while in use.
          *
          * If there are more 1 matching service, the highest ranking service 
will be used.
@@ -134,7 +136,6 @@ namespace celix {
          * @return A UseServiceBuilder object.
          */
         template<typename I>
-        [[deprecated]]
         UseServiceBuilder<I> useService(const std::string& name = {}) {
             return UseServiceBuilder<I>{cCtx, celix::typeName<I>(name), true};
         }
@@ -142,15 +143,17 @@ namespace celix {
         /**
          * @brief Use services registered in the Celix framework using a 
fluent builder API.
          *
-         * @deprecated celix_bundleContext_useService are deprecated and 
should be considered test utils functions. In
-         * operational code use celix_bundleContext_trackService* combined 
with celix_bundleContext_useTrackedService*
-         * functions instead.
+         * @warning Cannot be called from the Celix event thread.
+         *
+         * @note celix::BundleContext::useServices should be considered a test 
util method.
+         * For production code, use celix::BundleContext::trackServices 
combined with use callback methods on the
+         * service tracker instead.
          *
          * The service use can be fine tuned using the returned 
UseServiceBuilder API.
          *
          * With this API Celix services can be used by providing use functions.
-         * The use function will be executed on the Celix event thread and the 
Celix framework
-         * will ensure that the service cannot be removed while in use.
+         * The use function will be executed on the calling thread and the 
Celix framework
+         * will ensure that the used services cannot be removed while in use.
          *
          * The use callbacks will be called for every matching service found.
          *
@@ -167,7 +170,6 @@ namespace celix {
          * @return A UseServiceBuilder object.
          */
         template<typename I>
-        [[deprecated]]
         UseServiceBuilder<I> useServices(const std::string& name = {}) {
             return UseServiceBuilder<I>{cCtx, celix::typeName<I>(name), false};
         }
diff --git a/libs/framework/include/celix_bundle_context.h 
b/libs/framework/include/celix_bundle_context.h
index e93d88aa..890de3fe 100644
--- a/libs/framework/include/celix_bundle_context.h
+++ b/libs/framework/include/celix_bundle_context.h
@@ -376,7 +376,8 @@ typedef struct celix_service_filter_options {
  * @param opts The pointer to the filter options.
  * @return If found a valid service id (>= 0) if not found -1.
  */
-CELIX_FRAMEWORK_EXPORT long 
celix_bundleContext_findServiceWithOptions(celix_bundle_context_t *ctx, const 
celix_service_filter_options_t *opts);
+CELIX_FRAMEWORK_EXPORT long 
celix_bundleContext_findServiceWithOptions(celix_bundle_context_t* ctx,
+                                                                       const 
celix_service_filter_options_t* opts);
 
 /**
  * @brief Finds the services conform the provider filter options and returns a 
list of the found service ids.
@@ -385,18 +386,21 @@ CELIX_FRAMEWORK_EXPORT long 
celix_bundleContext_findServiceWithOptions(celix_bun
  * @param opts The pointer to the filter options.
  * @return A array list with as value a long int.
  */
-CELIX_FRAMEWORK_EXPORT celix_array_list_t* 
celix_bundleContext_findServicesWithOptions(celix_bundle_context_t *ctx, const 
celix_service_filter_options_t *opts);
+CELIX_FRAMEWORK_EXPORT celix_array_list_t*
+celix_bundleContext_findServicesWithOptions(celix_bundle_context_t* ctx, const 
celix_service_filter_options_t* opts);
 
 /**
  * @brief Use the service with the provided service id using the provided 
callback. The Celix framework will ensure that
  * the targeted service cannot be removed during the callback.
  *
- * @deprecated celix_bundleContext_useService are deprecated and should be 
considered test utils functions. In
- * operational code use celix_bundleContext_trackService* combined with 
celix_bundleContext_useTrackedService* functions
- * instead.
+ * @warning Cannot be called from the Celix event thread.
  *
- * The svc is should only be considered valid during the callback.
- * If no service is found, the callback will not be invoked and this function 
will return false immediately.
+ * @deprecated celix_bundleContext_useServiceWithId is deprecated and should 
be considered test utils functions. In
+ * operational code use celix_bundleContext_trackService* combined with 
celix_bundleContext_useTrackedService*
+ * functions instead.
+ *
+ * The Celix framework will ensure that the targeted service cannot be removed 
during the callback and the callback
+ * is called on the calling thread.
  *
  * This function will block until the callback is finished. As result it is 
possible to provide callback data from the
  * stack.
@@ -407,7 +411,7 @@ CELIX_FRAMEWORK_EXPORT celix_array_list_t* 
celix_bundleContext_findServicesWithO
  * service id (sanity check)
  * @param callbackHandle The data pointer, which will be used in the callbacks
  * @param use The callback, which will be called when service is retrieved.
- * @param bool returns true if a service was found.
+ * @param bool returns true if a service was found and the callback was called.
  */
 CELIX_FRAMEWORK_DEPRECATED_EXPORT bool 
celix_bundleContext_useServiceWithId(celix_bundle_context_t* ctx,
                                                                             
long serviceId,
@@ -418,11 +422,14 @@ CELIX_FRAMEWORK_DEPRECATED_EXPORT bool 
celix_bundleContext_useServiceWithId(celi
 /**
  * @brief Use the highest ranking service with the provided service name using 
the provided callback.
  *
- * @deprecated celix_bundleContext_useService are deprecated and should be 
considered test utils functions. In
+ * @warning Cannot be called from the Celix event thread.
+ *
+ * @deprecated celix_bundleContext_useService is deprecated and should be 
considered test utils functions. In
  * operational code use celix_bundleContext_trackService* combined with 
celix_bundleContext_useTrackedService* functions
  * instead.
  *
- * The Celix framework will ensure that the targeted service cannot be removed 
during the callback.
+ * The Celix framework will ensure that the targeted service cannot be removed 
during the callback and the callback
+ * is called on the calling thread.
  *
  * The svc is should only be considered valid during the callback.
  * If no service is found, the callback will not be invoked and this function 
will return false immediately.
@@ -434,7 +441,7 @@ CELIX_FRAMEWORK_DEPRECATED_EXPORT bool 
celix_bundleContext_useServiceWithId(celi
  * @param   serviceName the required service name.
  * @param   callbackHandle The data pointer, which will be used in the 
callbacks
  * @param   use The callback, which will be called when service is retrieved.
- * @return  True if a service was found.
+ * @return  True if a service was found and the callback was called.
  */
 CELIX_FRAMEWORK_DEPRECATED_EXPORT bool celix_bundleContext_useService(
     celix_bundle_context_t *ctx,
@@ -446,11 +453,14 @@ CELIX_FRAMEWORK_DEPRECATED_EXPORT bool 
celix_bundleContext_useService(
 /**
  * @brief Use the services with the provided service name using the provided 
callback.
  *
- * @deprecated celix_bundleContext_useService are deprecated and should be 
considered test utils functions. In
+ * @warning Cannot be called from the Celix event thread.
+ *
+ * @deprecated celix_bundleContext_useServices is deprecated and should be 
considered test utils functions. In
  * operational code use celix_bundleContext_trackService* combined with 
celix_bundleContext_useTrackedService* functions
  * instead.
  *
- * The Celix framework will ensure that the targeted service cannot be removed 
during the callback.
+ * The Celix framework will ensure that the targeted service cannot be removed 
during the callback and the callback
+ * is called on the calling thread.
  *
  * The svc is should only be considered valid during the callback.
  * If no service is found, the callback will not be invoked and this function 
will return 0 immediately.
@@ -462,7 +472,7 @@ CELIX_FRAMEWORK_DEPRECATED_EXPORT bool 
celix_bundleContext_useService(
  * @param   serviceName the required service name.
  * @param   callbackHandle The data pointer, which will be used in the 
callbacks
  * @param   use The callback, which will be called for every service found.
- * @return  The number of services found and called
+ * @return  The number of services found and called.
  */
 CELIX_FRAMEWORK_DEPRECATED_EXPORT size_t celix_bundleContext_useServices(
     celix_bundle_context_t *ctx,
@@ -538,9 +548,9 @@ typedef struct celix_service_use_options {
 /**
  * @brief Use the highest ranking service satisfying the provided service 
filter options using the provided callback.
  *
- * @deprecated celix_bundleContext_useService are deprecated and should be 
considered test utils functions. In
- * operational code use celix_bundleContext_trackService* combined with 
celix_bundleContext_useTrackedService* functions
- * instead.
+ * @note celix_bundleContext_useService should be considered a test util 
function.
+ * For production code, use celix_bundleContext_trackService* combined with 
celix_bundleContext_useTrackedService*
+ * functions instead.
  *
  * The Celix framework will ensure that the targeted service cannot be removed 
during the callback.
  *
@@ -555,7 +565,7 @@ typedef struct celix_service_use_options {
  * @param   opts The required options. Note that the serviceName is required.
  * @return  True if a service was found.
  */
-CELIX_FRAMEWORK_DEPRECATED_EXPORT bool 
celix_bundleContext_useServiceWithOptions(
+CELIX_FRAMEWORK_EXPORT bool celix_bundleContext_useServiceWithOptions(
     celix_bundle_context_t *ctx,
     const celix_service_use_options_t *opts);
 
@@ -563,9 +573,9 @@ CELIX_FRAMEWORK_DEPRECATED_EXPORT bool 
celix_bundleContext_useServiceWithOptions
 /**
  * @brief Use the services with the provided service filter options using the 
provided callback.
  *
- * @deprecated celix_bundleContext_useService are deprecated and should be 
considered test utils functions. In
- * operational code use celix_bundleContext_trackService* combined with 
celix_bundleContext_useTrackedService* functions
- * instead.
+ * @note celix_bundleContext_useService should be considered test utils 
functions.
+ * For production code, use celix_bundleContext_trackService* combined with 
celix_bundleContext_useTrackedService*
+ * functions instead.
  *
  * The Celix framework will ensure that the targeted service cannot be removed 
during the callback.
  *
@@ -580,7 +590,7 @@ CELIX_FRAMEWORK_DEPRECATED_EXPORT bool 
celix_bundleContext_useServiceWithOptions
  * @param   opts The required options. Note that the serviceName is required.
  * @return  The number of services found and called
  */
-CELIX_FRAMEWORK_DEPRECATED_EXPORT size_t 
celix_bundleContext_useServicesWithOptions(
+CELIX_FRAMEWORK_EXPORT size_t celix_bundleContext_useServicesWithOptions(
     celix_bundle_context_t *ctx,
     const celix_service_use_options_t *opts);
 

Reply via email to