incubator-celix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pnol...@apache.org
Subject svn commit: r1600137 - in /incubator/celix/trunk/framework: private/mock/ private/src/ public/include/
Date Wed, 04 Jun 2014 12:17:57 GMT
Author: pnoltes
Date: Wed Jun  4 12:17:56 2014
New Revision: 1600137

URL: http://svn.apache.org/r1600137
Log:
CELIX-119: removed apr mem pools from filter, service_reference and added resulting needed
changes 

Modified:
    incubator/celix/trunk/framework/private/mock/service_reference_mock.c
    incubator/celix/trunk/framework/private/mock/service_registration_mock.c
    incubator/celix/trunk/framework/private/mock/service_registry_mock.c
    incubator/celix/trunk/framework/private/src/filter.c
    incubator/celix/trunk/framework/private/src/framework.c
    incubator/celix/trunk/framework/private/src/service_reference.c
    incubator/celix/trunk/framework/private/src/service_registry.c
    incubator/celix/trunk/framework/public/include/filter.h
    incubator/celix/trunk/framework/public/include/service_reference.h
    incubator/celix/trunk/framework/public/include/service_registry.h

Modified: incubator/celix/trunk/framework/private/mock/service_reference_mock.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/mock/service_reference_mock.c?rev=1600137&r1=1600136&r2=1600137&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/mock/service_reference_mock.c (original)
+++ incubator/celix/trunk/framework/private/mock/service_reference_mock.c Wed Jun  4 12:17:56
2014
@@ -27,7 +27,7 @@
 
 #include "service_reference_private.h"
 
-celix_status_t serviceReference_create(apr_pool_t *pool, bundle_pt bundle, service_registration_pt
registration, service_reference_pt *reference) {
+celix_status_t serviceReference_create(bundle_pt bundle, service_registration_pt registration,
service_reference_pt *reference) {
 	mock_c()->actualCall("serviceReference_create")
 			->withPointerParameters("pool", pool)
 			->withPointerParameters("bundle", bundle)
@@ -36,6 +36,12 @@ celix_status_t serviceReference_create(a
 	return mock_c()->returnValue().value.intValue;
 }
 
+celix_status_t serviceReference_destroy(service_reference_pt reference) {
+	mock_c()->actualCall("serviceReference_destroy")
+			->withPointerParameters("reference", reference)
+	return mock_c()->returnValue().value.intValue;
+}
+
 celix_status_t serviceReference_invalidate(service_reference_pt reference) {
 	mock_c()->actualCall("serviceReference_invalidate")
 			->withPointerParameters("reference", reference);
@@ -59,7 +65,7 @@ bool serviceReference_isAssignableTo(ser
 	return mock_c()->returnValue().value.intValue;
 }
 
-celix_status_t serviceReference_getUsingBundles(service_reference_pt reference, apr_pool_t
*pool, array_list_pt *bundles) {
+celix_status_t serviceReference_getUsingBundles(service_reference_pt reference, array_list_pt
*bundles) {
 	mock_c()->actualCall("serviceReference_getUsingBundles");
 	return mock_c()->returnValue().value.intValue;
 }

Modified: incubator/celix/trunk/framework/private/mock/service_registration_mock.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/mock/service_registration_mock.c?rev=1600137&r1=1600136&r2=1600137&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/mock/service_registration_mock.c (original)
+++ incubator/celix/trunk/framework/private/mock/service_registration_mock.c Wed Jun  4 12:17:56
2014
@@ -27,7 +27,7 @@
 
 #include "service_registration.h"
 
-service_registration_pt serviceRegistration_create(apr_pool_t *pool, service_registry_pt
registry, bundle_pt bundle, char * serviceName, long serviceId, void * serviceObject, properties_pt
dictionary) {
+service_registration_pt serviceRegistration_create(service_registry_pt registry, bundle_pt
bundle, char * serviceName, long serviceId, void * serviceObject, properties_pt dictionary)
{
 	mock_c()->actualCall("serviceRegistration_create")
 		->withPointerParameters("pool", pool)
 		->withPointerParameters("registry", registry)

Modified: incubator/celix/trunk/framework/private/mock/service_registry_mock.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/mock/service_registry_mock.c?rev=1600137&r1=1600136&r2=1600137&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/mock/service_registry_mock.c (original)
+++ incubator/celix/trunk/framework/private/mock/service_registry_mock.c Wed Jun  4 12:17:56
2014
@@ -27,7 +27,7 @@
 
 #include "service_registry.h"
 
-celix_status_t serviceRegistry_create(apr_pool_t *pool, framework_pt framework, serviceChanged_function_pt
serviceChanged, service_registry_pt *registry) {
+celix_status_t serviceRegistry_create(framework_pt framework, serviceChanged_function_pt
serviceChanged, service_registry_pt *registry) {
 	mock_c()->actualCall("serviceRegistry_create");
 	return mock_c()->returnValue().value.intValue;
 }
@@ -89,10 +89,9 @@ void serviceRegistry_ungetServices(servi
 	mock_c()->actualCall("serviceRegistry_ungetServices");
 }
 
-array_list_pt serviceRegistry_getUsingBundles(service_registry_pt registry, apr_pool_t *pool,
service_reference_pt reference) {
+array_list_pt serviceRegistry_getUsingBundles(service_registry_pt registry, service_reference_pt
reference) {
 	mock_c()->actualCall("serviceRegistry_getUsingBundles")
 			->withPointerParameters("registry", registry)
-			->withPointerParameters("pool", pool)
 			->withPointerParameters("reference", reference);
 	return mock_c()->returnValue().value.pointerValue;
 }

Modified: incubator/celix/trunk/framework/private/src/filter.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/filter.c?rev=1600137&r1=1600136&r2=1600137&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/filter.c (original)
+++ incubator/celix/trunk/framework/private/src/filter.c Wed Jun  4 12:17:56 2014
@@ -32,15 +32,15 @@
 #include "array_list.h"
 
 void filter_skipWhiteSpace(char * filterString, int * pos);
-filter_pt filter_parseFilter(char * filterString, int * pos, apr_pool_t *pool);
-filter_pt filter_parseFilterComp(char * filterString, int * pos, apr_pool_t *pool);
-filter_pt filter_parseAnd(char * filterString, int * pos, apr_pool_t *pool);
-filter_pt filter_parseOr(char * filterString, int * pos, apr_pool_t *pool);
-filter_pt filter_parseNot(char * filterString, int * pos, apr_pool_t *pool);
-filter_pt filter_parseItem(char * filterString, int * pos, apr_pool_t *pool);
+filter_pt filter_parseFilter(char * filterString, int * pos);
+filter_pt filter_parseFilterComp(char * filterString, int * pos);
+filter_pt filter_parseAnd(char * filterString, int * pos);
+filter_pt filter_parseOr(char * filterString, int * pos);
+filter_pt filter_parseNot(char * filterString, int * pos);
+filter_pt filter_parseItem(char * filterString, int * pos);
 char * filter_parseAttr(char * filterString, int * pos);
 char * filter_parseValue(char * filterString, int * pos);
-array_list_pt filter_parseSubstring(char * filterString, int * pos, apr_pool_t *pool);
+array_list_pt filter_parseSubstring(char * filterString, int * pos);
 
 celix_status_t filter_compare(OPERAND operand, char * string, void * value2, bool *result);
 celix_status_t filter_compareString(OPERAND operand, char * string, void * value2, bool *result);
@@ -52,10 +52,10 @@ void filter_skipWhiteSpace(char * filter
 	}
 }
 
-filter_pt filter_create(char * filterString, apr_pool_t *pool) {
+filter_pt filter_create(char * filterString) {
 	filter_pt filter = NULL;
 	int pos = 0;
-	filter = filter_parseFilter(filterString, &pos, pool);
+	filter = filter_parseFilter(filterString, &pos);
 	if (pos != strlen(filterString)) {
 		printf("Error: Extraneous trailing characters\n");
 		return NULL;
@@ -90,7 +90,7 @@ void filter_destroy(filter_pt filter) {
 	}
 }
 
-filter_pt filter_parseFilter(char * filterString, int * pos, apr_pool_t *pool) {
+filter_pt filter_parseFilter(char * filterString, int * pos) {
 	filter_pt filter;
 	filter_skipWhiteSpace(filterString, pos);
 	if (filterString[*pos] != '(') {
@@ -99,7 +99,7 @@ filter_pt filter_parseFilter(char * filt
 	}
 	(*pos)++;
 
-	filter = filter_parseFilterComp(filterString, pos, pool);
+	filter = filter_parseFilterComp(filterString, pos);
 
 	filter_skipWhiteSpace(filterString, pos);
 
@@ -113,7 +113,7 @@ filter_pt filter_parseFilter(char * filt
 	return filter;
 }
 
-filter_pt filter_parseFilterComp(char * filterString, int * pos, apr_pool_t *pool) {
+filter_pt filter_parseFilterComp(char * filterString, int * pos) {
 	char c;
 	filter_skipWhiteSpace(filterString, pos);
 
@@ -122,21 +122,21 @@ filter_pt filter_parseFilterComp(char * 
 	switch (c) {
 		case '&': {
 			(*pos)++;
-			return filter_parseAnd(filterString, pos, pool);
+			return filter_parseAnd(filterString, pos);
 		}
 		case '|': {
 			(*pos)++;
-			return filter_parseOr(filterString, pos, pool);
+			return filter_parseOr(filterString, pos);
 		}
 		case '!': {
 			(*pos)++;
-			return filter_parseNot(filterString, pos, pool);
+			return filter_parseNot(filterString, pos);
 		}
 	}
-	return filter_parseItem(filterString, pos, pool);
+	return filter_parseItem(filterString, pos);
 }
 
-filter_pt filter_parseAnd(char * filterString, int * pos, apr_pool_t *pool) {
+filter_pt filter_parseAnd(char * filterString, int * pos) {
 	filter_pt filter = (filter_pt) malloc(sizeof(*filter));
 	array_list_pt operands = NULL;
 	arrayList_create(&operands);
@@ -148,7 +148,7 @@ filter_pt filter_parseAnd(char * filterS
 	}
 
 	while(filterString[*pos] == '(') {
-		filter_pt child = filter_parseFilter(filterString, pos, pool);
+		filter_pt child = filter_parseFilter(filterString, pos);
 		arrayList_add(operands, child);
 	}
 
@@ -159,7 +159,7 @@ filter_pt filter_parseAnd(char * filterS
 	return filter;
 }
 
-filter_pt filter_parseOr(char * filterString, int * pos, apr_pool_t *pool) {
+filter_pt filter_parseOr(char * filterString, int * pos) {
 	filter_pt filter = (filter_pt) malloc(sizeof(*filter));
 	array_list_pt operands = NULL;
 	arrayList_create(&operands);
@@ -171,7 +171,7 @@ filter_pt filter_parseOr(char * filterSt
 	}
 
 	while(filterString[*pos] == '(') {
-		filter_pt child = filter_parseFilter(filterString, pos, pool);
+		filter_pt child = filter_parseFilter(filterString, pos);
 		arrayList_add(operands, child);
 	}
 
@@ -182,7 +182,7 @@ filter_pt filter_parseOr(char * filterSt
 	return filter;
 }
 
-filter_pt filter_parseNot(char * filterString, int * pos, apr_pool_t *pool) {
+filter_pt filter_parseNot(char * filterString, int * pos) {
 	filter_pt child = NULL;
 	filter_pt filter = (filter_pt) malloc(sizeof(*filter));
 	filter_skipWhiteSpace(filterString, pos);
@@ -192,7 +192,7 @@ filter_pt filter_parseNot(char * filterS
 		return NULL;
 	}
 
-	child = filter_parseFilter(filterString, pos, pool);
+	child = filter_parseFilter(filterString, pos);
 
 	filter->operand = NOT;
 	filter->attribute = NULL;
@@ -201,7 +201,7 @@ filter_pt filter_parseNot(char * filterS
 	return filter;
 }
 
-filter_pt filter_parseItem(char * filterString, int * pos, apr_pool_t *pool) {
+filter_pt filter_parseItem(char * filterString, int * pos) {
 	char * attr = filter_parseAttr(filterString, pos);
 	filter_skipWhiteSpace(filterString, pos);
 	switch(filterString[*pos]) {
@@ -256,7 +256,7 @@ filter_pt filter_parseItem(char * filter
 			}
 			filter = (filter_pt) malloc(sizeof(*filter));			
 			(*pos)++;
-			subs = filter_parseSubstring(filterString, pos, pool);
+			subs = filter_parseSubstring(filterString, pos);
 			if (arrayList_size(subs) == 1) {
 				char * string = (char *) arrayList_get(subs, 0);
 				if (string != NULL) {
@@ -351,7 +351,7 @@ char * filter_parseValue(char * filterSt
 	return value;
 }
 
-array_list_pt filter_parseSubstring(char * filterString, int * pos, apr_pool_t *pool) {
+array_list_pt filter_parseSubstring(char * filterString, int * pos) {
 	char * sub = (char *) malloc(strlen(filterString));
 	array_list_pt operands = NULL;
 	int keepRunning = 1;

Modified: incubator/celix/trunk/framework/private/src/framework.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/framework.c?rev=1600137&r1=1600136&r2=1600137&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/framework.c (original)
+++ incubator/celix/trunk/framework/private/src/framework.c Wed Jun  4 12:17:56 2014
@@ -1277,7 +1277,7 @@ celix_status_t fw_getServiceReferences(f
 	status = CELIX_DO_IF(status, bundle_getMemoryPool(bundle, &pool));
 	if (status == CELIX_SUCCESS) {
         if (sfilter != NULL) {
-            filter = filter_create(sfilter, pool);
+            filter = filter_create(sfilter);
         }
 	}
 
@@ -1349,7 +1349,7 @@ void fw_addServiceListener(framework_pt 
 
 	fwListener->bundle = bundle;
 	if (sfilter != NULL) {
-		filter_pt filter = filter_create(sfilter, pool);
+		filter_pt filter = filter_create(sfilter);
 		fwListener->filter = filter;
 	} else {
 		fwListener->filter = NULL;

Modified: incubator/celix/trunk/framework/private/src/service_reference.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/service_reference.c?rev=1600137&r1=1600136&r2=1600137&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/service_reference.c (original)
+++ incubator/celix/trunk/framework/private/src/service_reference.c Wed Jun  4 12:17:56 2014
@@ -26,6 +26,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "service_reference.h"
+
 #include "service_registry.h"
 #include "service_reference_private.h"
 #include "service_registration.h"
@@ -34,16 +36,14 @@
 #include "bundle.h"
 #include "celix_log.h"
 
-apr_status_t serviceReference_destroy(void *referenceP);
 
-celix_status_t serviceReference_create(apr_pool_t *pool, bundle_pt bundle, service_registration_pt
registration, service_reference_pt *reference) {
+celix_status_t serviceReference_create(bundle_pt bundle, service_registration_pt registration,
service_reference_pt *reference) {
 	celix_status_t status = CELIX_SUCCESS;
 
-	*reference = apr_palloc(pool, sizeof(**reference));
+	*reference = malloc(sizeof(**reference));
 	if (!*reference) {
 		status = CELIX_ENOMEM;
 	} else {
-		apr_pool_pre_cleanup_register(pool, *reference, serviceReference_destroy);
 
 		(*reference)->bundle = bundle;
 		(*reference)->registration = registration;
@@ -54,10 +54,11 @@ celix_status_t serviceReference_create(a
 	return status;
 }
 
-apr_status_t serviceReference_destroy(void *referenceP) {
-	service_reference_pt reference = referenceP;
+apr_status_t serviceReference_destroy(service_reference_pt reference) {
+	serviceRegistry_removeReference(reference);
 	reference->bundle = NULL;
 	reference->registration = NULL;
+	free(reference);
 	return APR_SUCCESS;
 }
 
@@ -104,13 +105,13 @@ bool serviceReference_isAssignableTo(ser
 	return allow;
 }
 
-celix_status_t serviceReference_getUsingBundles(service_reference_pt reference, apr_pool_t
*pool, array_list_pt *bundles) {
+celix_status_t serviceReference_getUsingBundles(service_reference_pt reference, array_list_pt
*bundles) {
 	celix_status_t status = CELIX_SUCCESS;
 
 	service_registry_pt registry = NULL;
 	serviceRegistration_getRegistry(reference->registration, &registry);
 
-	*bundles = serviceRegistry_getUsingBundles(registry, pool, reference);
+	*bundles = serviceRegistry_getUsingBundles(registry, reference);
 
 	return status;
 }

Modified: incubator/celix/trunk/framework/private/src/service_registry.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/service_registry.c?rev=1600137&r1=1600136&r2=1600137&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/service_registry.c (original)
+++ incubator/celix/trunk/framework/private/src/service_registry.c Wed Jun  4 12:17:56 2014
@@ -42,8 +42,6 @@ celix_status_t serviceRegistry_registerS
 celix_status_t serviceRegistry_addHooks(service_registry_pt registry, char *serviceName,
void *serviceObject, service_registration_pt registration);
 celix_status_t serviceRegistry_removeHook(service_registry_pt registry, service_registration_pt
registration);
 
-apr_status_t serviceRegistry_removeReference(void *referenceP);
-
 celix_status_t serviceRegistry_create(apr_pool_t *ppool, framework_pt framework, serviceChanged_function_pt
serviceChanged, service_registry_pt *registry) {
 	celix_status_t status = CELIX_SUCCESS;
 	apr_pool_t *pool = NULL;
@@ -264,7 +262,7 @@ celix_status_t serviceRegistry_unregiste
 		unsigned int j;
 
 		apr_pool_create(&pool, registry->pool);
-		clients = serviceRegistry_getUsingBundles(registry, pool, reference);
+		clients = serviceRegistry_getUsingBundles(registry, reference);
 		for (j = 0; (clients != NULL) && (j < arrayList_size(clients)); j++) {
 			bundle_pt client = (bundle_pt) arrayList_get(clients, j);
 			bool ungetResult = true;
@@ -313,19 +311,15 @@ celix_status_t serviceRegistry_unregiste
 	return CELIX_SUCCESS;
 }
 
+
 celix_status_t serviceRegistry_createServiceReference(service_registry_pt registry, apr_pool_t
*pool, service_registration_pt registration, service_reference_pt *reference) {
 	celix_status_t status = CELIX_SUCCESS;
 
 	bundle_pt bundle = NULL;
 	array_list_pt references = NULL;
 
-	apr_pool_t *spool = NULL;
-	apr_pool_create(&spool, pool);
-
 	serviceRegistration_getBundle(registration, &bundle);
-	serviceReference_create(spool, bundle, registration, reference);
-
-	apr_pool_pre_cleanup_register(spool, *reference, serviceRegistry_removeReference);
+	serviceReference_create(bundle, registration, reference);
 
 	serviceRegistration_getServiceReferences(registration, &references);
 	arrayList_add(references, *reference);
@@ -388,8 +382,7 @@ celix_status_t serviceRegistry_getServic
 	return status;
 }
 
-apr_status_t serviceRegistry_removeReference(void *referenceP) {
-	service_reference_pt reference = referenceP;
+apr_status_t serviceRegistry_removeReference(service_reference_pt reference) {
 	service_registration_pt registration = NULL;
 	serviceReference_getServiceRegistration(reference, &registration);
 
@@ -510,7 +503,7 @@ void serviceRegistry_ungetServices(servi
 	arrayList_destroy(fusages);
 }
 
-array_list_pt serviceRegistry_getUsingBundles(service_registry_pt registry, apr_pool_t *pool,
service_reference_pt reference) {
+array_list_pt serviceRegistry_getUsingBundles(service_registry_pt registry, service_reference_pt
reference) {
 	array_list_pt bundles = NULL;
 	hash_map_iterator_pt iter;
 	arrayList_create(&bundles);

Modified: incubator/celix/trunk/framework/public/include/filter.h
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/public/include/filter.h?rev=1600137&r1=1600136&r2=1600137&view=diff
==============================================================================
--- incubator/celix/trunk/framework/public/include/filter.h (original)
+++ incubator/celix/trunk/framework/public/include/filter.h Wed Jun  4 12:17:56 2014
@@ -27,8 +27,6 @@
 #ifndef FILTER_H_
 #define FILTER_H_
 
-#include <apr_general.h>
-
 #include "celix_errno.h"
 #include "properties.h"
 #include "celixbool.h"
@@ -36,7 +34,7 @@
 
 typedef struct filter * filter_pt;
 
-FRAMEWORK_EXPORT filter_pt filter_create(char * filterString, apr_pool_t *pool);
+FRAMEWORK_EXPORT filter_pt filter_create(char * filterString);
 FRAMEWORK_EXPORT void filter_destroy(filter_pt filter);
 
 FRAMEWORK_EXPORT celix_status_t filter_match(filter_pt filter, properties_pt properties,
bool *result);

Modified: incubator/celix/trunk/framework/public/include/service_reference.h
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/public/include/service_reference.h?rev=1600137&r1=1600136&r2=1600137&view=diff
==============================================================================
--- incubator/celix/trunk/framework/public/include/service_reference.h (original)
+++ incubator/celix/trunk/framework/public/include/service_reference.h Wed Jun  4 12:17:56
2014
@@ -35,7 +35,8 @@ typedef struct serviceReference * servic
 #include "bundle.h"
 #include "framework_exports.h"
 
-celix_status_t serviceReference_create(apr_pool_t *pool, bundle_pt bundle, service_registration_pt
registration, service_reference_pt *reference);
+celix_status_t serviceReference_create(bundle_pt bundle, service_registration_pt registration,
service_reference_pt *reference);
+celix_status_t serviceReference_destroy(service_reference_pt reference);
 
 FRAMEWORK_EXPORT celix_status_t serviceReference_invalidate(service_reference_pt reference);
 FRAMEWORK_EXPORT celix_status_t serviceRefernce_isValid(service_reference_pt reference, bool
*result);
@@ -45,7 +46,7 @@ FRAMEWORK_EXPORT celix_status_t serviceR
 
 FRAMEWORK_EXPORT bool serviceReference_isAssignableTo(service_reference_pt reference, bundle_pt
requester, char * serviceName);
 
-FRAMEWORK_EXPORT celix_status_t serviceReference_getUsingBundles(service_reference_pt reference,
apr_pool_t *pool, array_list_pt *bundles);
+FRAMEWORK_EXPORT celix_status_t serviceReference_getUsingBundles(service_reference_pt reference,
array_list_pt *bundles);
 FRAMEWORK_EXPORT celix_status_t serviceReference_equals(service_reference_pt reference, service_reference_pt
compareTo, bool *equal);
 FRAMEWORK_EXPORT unsigned int serviceReference_hashCode(void *referenceP);
 FRAMEWORK_EXPORT int serviceReference_equals2(void *reference1, void *reference2);

Modified: incubator/celix/trunk/framework/public/include/service_registry.h
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/public/include/service_registry.h?rev=1600137&r1=1600136&r2=1600137&view=diff
==============================================================================
--- incubator/celix/trunk/framework/public/include/service_registry.h (original)
+++ incubator/celix/trunk/framework/public/include/service_registry.h Wed Jun  4 12:17:56
2014
@@ -51,9 +51,11 @@ celix_status_t serviceRegistry_getServic
 celix_status_t serviceRegistry_getService(service_registry_pt registry, bundle_pt bundle,
service_reference_pt reference, void **service);
 celix_status_t serviceRegistry_ungetService(service_registry_pt registry, bundle_pt bundle,
service_reference_pt reference, bool *result);
 void serviceRegistry_ungetServices(service_registry_pt registry, bundle_pt bundle);
-array_list_pt serviceRegistry_getUsingBundles(service_registry_pt registry, apr_pool_t *pool,
service_reference_pt reference);
+array_list_pt serviceRegistry_getUsingBundles(service_registry_pt registry, service_reference_pt
reference);
 service_registration_pt serviceRegistry_findRegistration(service_registry_pt registry, service_reference_pt
reference);
+
 celix_status_t serviceRegistry_createServiceReference(service_registry_pt registry, apr_pool_t
*pool, service_registration_pt registration, service_reference_pt *reference);
+celix_status_t serviceRegistry_removeReference(service_reference_pt reference);
 
 celix_status_t serviceRegistry_getListenerHooks(service_registry_pt registry, apr_pool_t
*pool, array_list_pt *hooks);
 



Mime
View raw message