abroekhuis commented on a change in pull request #244:
URL: https://github.com/apache/celix/pull/244#discussion_r437626913



##########
File path: libs/framework/include/celix_bundle_context.h
##########
@@ -126,8 +126,38 @@ typedef struct celix_service_registration_options {
      * for this.
      */
     const char *serviceVersion OPTS_INIT;
+
+    /**
+     * If set to > 0, this svc id will be used to register the service.
+     * The reservedSvcId should be reserved with a call to 
celix_bundleContext_reserveSvcId
+     */
+    long reservedSvcId OPTS_INIT;
 } celix_service_registration_options_t;
 
+/**
+ * Reserves a service id, which is expected to be used to register a service 
in the future.
+ *
+ * If a celix_bundleContext_unregisterService with the reserved service id is 
called earlier than
+ * the celix_bundleContext_registerServiceWithOptions with the reserved 
service, the registration will be be cancelled.
+ * This means then when the expected 
celix_bundleContext_registerServiceWithOptions call happens this will not
+ * result in a service registration and a  -2 will be returned as service id.
+ *
+ * Subsequent calls to celix_bundleContext_registerServiceWithOptions for an 
already cancelled service id will
+ * return a -1 error code (and a 'Invalid reservedSvcId' error log entry will 
be logged).

Review comment:
       Shouldn't that be a -2?




----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to