celix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pnol...@apache.org
Subject celix git commit: CELIX-249: Refactors usage of char** output for properties to const char**.
Date Tue, 05 Jul 2016 19:38:22 GMT
Repository: celix
Updated Branches:
  refs/heads/develop 13af678fe -> 2cd57a789


CELIX-249: Refactors usage of char** output for properties to const char**.

This is a backwards incompatible change, resulting in a lot a small changes.


Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/2cd57a78
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/2cd57a78
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/2cd57a78

Branch: refs/heads/develop
Commit: 2cd57a7891d7f0b2eaaee711a3fbd0c1b1462dd9
Parents: 13af678
Author: Pepijn Noltes <pepijnnoltes@gmail.com>
Authored: Tue Jul 5 21:36:46 2016 +0200
Committer: Pepijn Noltes <pepijnnoltes@gmail.com>
Committed: Tue Jul 5 21:36:46 2016 +0200

----------------------------------------------------------------------
 .../private/src/managed_service_tracker.c       | 12 ++---
 dependency_manager/private/src/dm_event.c       |  8 ++--
 .../private/src/dm_service_dependency.c         |  2 +-
 deployment_admin/private/src/deployment_admin.c |  8 ++--
 .../device_access/private/src/device_manager.c  | 10 ++--
 .../private/src/driver_attributes.c             |  8 ++--
 .../device_access/private/src/driver_matcher.c  | 14 +++---
 .../driver_locator/private/src/activator.c      |  2 +-
 .../private/src/consuming_driver.c              |  2 +-
 .../private/src/refining_driver.c               |  2 +-
 framework/private/include/framework_private.h   |  2 +-
 framework/private/mock/bundle_context_mock.c    |  2 +-
 framework/private/mock/framework_mock.c         |  2 +-
 framework/private/mock/service_reference_mock.c |  2 +-
 framework/private/src/bundle_context.c          |  2 +-
 framework/private/src/framework.c               |  4 +-
 framework/private/src/service_reference.c       | 12 +++--
 framework/private/src/utils.c                   | 16 +++++--
 framework/private/test/bundle_context_test.cpp  |  2 +-
 .../private/test/service_reference_test.cpp     |  2 +-
 framework/public/include/bundle_context.h       |  2 +-
 framework/public/include/service_reference.h    |  2 +-
 log_service/private/src/log_service_activator.c |  4 +-
 log_service/public/src/log_helper.c             |  2 +-
 .../discovery/private/src/discovery.c           | 14 +++---
 .../discovery/private/src/discovery_activator.c |  2 +-
 .../private/src/endpoint_discovery_poller.c     | 12 ++---
 .../private/src/endpoint_discovery_server.c     | 19 ++++----
 .../discovery_etcd/private/src/discovery_impl.c |  5 +-
 .../discovery_etcd/private/src/etcd_watcher.c   | 16 +++----
 .../private/src/discovery_shmWatcher.c          |  2 +-
 .../private/src/export_registration_impl.c      |  2 +-
 .../private/src/import_registration_impl.c      |  2 +-
 .../rsa/private/src/dfi_utils.c                 |  2 +-
 .../rsa/private/src/export_registration_dfi.c   |  4 +-
 .../rsa/private/src/remote_service_admin_dfi.c  | 26 +++++-----
 .../rsa_tst/rsa_tests.cpp                       |  4 +-
 .../private/src/remote_service_admin_impl.c     | 38 ++++++++-------
 .../private/src/remote_service_admin_impl.c     | 27 ++++++-----
 .../topology_manager/private/src/activator.c    | 10 ++--
 .../topology_manager/private/src/scope.c        |  2 +-
 .../private/src/topology_manager.c              | 50 ++++++++++----------
 .../tms_tst/disc_mock/disc_mock_activator.c     |  4 +-
 remote_shell/private/src/activator.c            |  4 +-
 shell/private/src/inspect_command.c             |  4 +-
 shell/private/src/shell.c                       | 14 +++---
 46 files changed, 204 insertions(+), 183 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/config_admin/service/private/src/managed_service_tracker.c
----------------------------------------------------------------------
diff --git a/config_admin/service/private/src/managed_service_tracker.c b/config_admin/service/private/src/managed_service_tracker.c
index 1ce5ac1..79f573d 100644
--- a/config_admin/service/private/src/managed_service_tracker.c
+++ b/config_admin/service/private/src/managed_service_tracker.c
@@ -202,7 +202,7 @@ celix_status_t managedServiceTracker_addingService(void * handle, service_refere
 
     celix_status_t status;
 
-    char *pid = NULL;
+    const char* pid = NULL;
 
     bundle_context_pt context = NULL;
 
@@ -211,7 +211,7 @@ celix_status_t managedServiceTracker_addingService(void * handle, service_refere
 
     // (1) reference.getPid
 
-    status = serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_SERVICE_PID, &pid);
+    status = serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_PID, &pid);
     if (status != CELIX_SUCCESS || pid == NULL) {
         *service = NULL;
         printf(" [ ERROR ]: Tracker - PID is NULL \n");
@@ -255,7 +255,7 @@ celix_status_t managedServiceTracker_addingService(void * handle, service_refere
     // (3) trackerInstance.AddManagedServiceToLocalList
     configurationStore_lock(managedServiceTracker_i->configurationStore);
 
-    status = managedServiceTracker_add(managedServiceTracker_i, reference, pid, managedService_s);
+    status = managedServiceTracker_add(managedServiceTracker_i, reference, (char*)pid, managedService_s);
     if (status != CELIX_SUCCESS) {
         bundleContext_ungetService(context, reference, NULL);
     }
@@ -281,19 +281,19 @@ celix_status_t managedServiceTracker_modifiedService(void * handle, service_refe
 
 celix_status_t managedServiceTracker_removedService(void * handle, service_reference_pt reference, void * service) {
     celix_status_t status = CELIX_SUCCESS;
-    char *pid;
+    const char* pid;
     managed_service_tracker_pt managedServiceTracker_i = handle;	//instance
     bundle_context_pt context;
 
 
-    status = serviceReference_getProperty(reference, (char *)OSGI_FRAMEWORK_SERVICE_PID, &pid);
+    status = serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_PID, &pid);
     if (status != CELIX_SUCCESS || pid == NULL){
 	return CELIX_ILLEGAL_ARGUMENT;
     }
     if ( managedServiceTracker_getBundleContext(managedServiceTracker_i, &context) != CELIX_SUCCESS ){
 	return CELIX_ILLEGAL_ARGUMENT;
     }
-    status = managedServiceTracker_remove(managedServiceTracker_i, reference, pid);
+    status = managedServiceTracker_remove(managedServiceTracker_i, reference, (char*)pid);
 
     return status;
 

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/dependency_manager/private/src/dm_event.c
----------------------------------------------------------------------
diff --git a/dependency_manager/private/src/dm_event.c b/dependency_manager/private/src/dm_event.c
index 491c69f..017bcf5 100644
--- a/dependency_manager/private/src/dm_event.c
+++ b/dependency_manager/private/src/dm_event.c
@@ -39,13 +39,13 @@ celix_status_t event_create(dm_event_type_e event_type, bundle_pt bundle, bundle
 		status = CELIX_ENOMEM;
 	}
 
-	char *serviceIdStr = NULL;
-	serviceReference_getProperty(reference, (char *)OSGI_FRAMEWORK_SERVICE_ID, &serviceIdStr);
+	const char* serviceIdStr = NULL;
+	serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_ID, &serviceIdStr);
 	long servId = atol(serviceIdStr);
 
 	//FIXME service ranking can dynamicly change, but service reference can be removed at any time.
-	char *rankingStr = NULL;
-	serviceReference_getProperty(reference, (char *)OSGI_FRAMEWORK_SERVICE_RANKING, &rankingStr);
+	const char* rankingStr = NULL;
+	serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_RANKING, &rankingStr);
 	long ranking = rankingStr == NULL ? 0 : atol(rankingStr);
 
 	if (status == CELIX_SUCCESS) {

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/dependency_manager/private/src/dm_service_dependency.c
----------------------------------------------------------------------
diff --git a/dependency_manager/private/src/dm_service_dependency.c b/dependency_manager/private/src/dm_service_dependency.c
index 4f63c6d..ca9e8ae 100644
--- a/dependency_manager/private/src/dm_service_dependency.c
+++ b/dependency_manager/private/src/dm_service_dependency.c
@@ -435,7 +435,7 @@ celix_status_t serviceDependency_invokeSet(dm_service_dependency_pt dependency,
 	/* Find the service with the higest ranking */
 	for (i = 0; i < arrayList_size(serviceReferences); i++) {
 		service_reference_pt serviceReference = arrayList_get(serviceReferences, i);
-		char *ranking_value;
+		const char* ranking_value;
 		int ranking = 0;
 
 		status = serviceReference_getProperty(serviceReference, ((char *) OSGI_FRAMEWORK_SERVICE_RANKING), &ranking_value);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/deployment_admin/private/src/deployment_admin.c
----------------------------------------------------------------------
diff --git a/deployment_admin/private/src/deployment_admin.c b/deployment_admin/private/src/deployment_admin.c
index 4a7245b..1eb58f3 100644
--- a/deployment_admin/private/src/deployment_admin.c
+++ b/deployment_admin/private/src/deployment_admin.c
@@ -97,7 +97,7 @@ celix_status_t deploymentAdmin_create(bundle_context_pt context, deployment_admi
 		(*admin)->pollUrl = NULL;
 		(*admin)->auditlogUrl = NULL;
 
-        bundleContext_getProperty(context, IDENTIFICATION_ID, &(*admin)->targetIdentification);
+        bundleContext_getProperty(context, IDENTIFICATION_ID, (const char**) &(*admin)->targetIdentification);
 
         struct timeval tv;
 		gettimeofday(&tv,NULL);
@@ -108,7 +108,7 @@ celix_status_t deploymentAdmin_create(bundle_context_pt context, deployment_admi
 		    fw_log(logger, OSGI_FRAMEWORK_LOG_ERROR, "Target name must be set using \"deployment_admin_identification\"");
 			status = CELIX_ILLEGAL_ARGUMENT;
 		} else {
-			char *url = NULL;
+			const char *url = NULL;
 			bundleContext_getProperty(context, DISCOVERY_URL, &url);
 			if (url == NULL) {
 			    fw_log(logger, OSGI_FRAMEWORK_LOG_ERROR, "URL must be set using \"deployment_admin_url\"\n");
@@ -211,7 +211,7 @@ static celix_status_t deploymentAdmin_performRequest(deployment_admin_pt admin,
 static celix_status_t deploymentAdmin_auditEventTargetPropertiesSet(deployment_admin_pt admin) {
     celix_status_t status = CELIX_SUCCESS;
 
-    char *tags = NULL;
+    const char *tags = NULL;
 
     bundleContext_getProperty(admin->context, DEPLOYMENT_TAGS, &tags);
 
@@ -433,7 +433,7 @@ celix_status_t deploymentAdmin_download(deployment_admin_pt admin, char * url, c
 	CURLcode res = 0;
 	curl = curl_easy_init();
 	if (curl) {
-		char *dir = NULL;
+		const char *dir = NULL;
 		bundleContext_getProperty(admin->context, DEPLOYMENT_CACHE_DIR, &dir);
 		if (dir != NULL) {
 			*inputFile = calloc(1024, sizeof (char));

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/device_access/device_access/private/src/device_manager.c
----------------------------------------------------------------------
diff --git a/device_access/device_access/private/src/device_manager.c b/device_access/device_access/private/src/device_manager.c
index dea4513..bba6be6 100644
--- a/device_access/device_access/private/src/device_manager.c
+++ b/device_access/device_access/private/src/device_manager.c
@@ -169,8 +169,8 @@ static celix_status_t deviceManager_attachAlgorithm(device_manager_pt manager, s
 
 				serviceReference_getPropertyKeys(ref, &keys, &size);
 				for (int i = 0; i < size; i++) {
-					char *key = keys[i];
-					char *value = NULL;
+					char* key = keys[i];
+					const char* value = NULL;
 					serviceReference_getProperty(ref, key, &value);
 					properties_set(properties, key, value);
 				}
@@ -307,7 +307,7 @@ celix_status_t deviceManager_matchAttachDriver(device_manager_pt manager, driver
 
 celix_status_t deviceManager_noDriverFound(device_manager_pt manager, void *service, service_reference_pt reference) {
 	celix_status_t status = CELIX_SUCCESS;
-    char *objectClass = NULL;
+    const char* objectClass = NULL;
     serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_OBJECTCLASS, &objectClass);
     if (strcmp(objectClass, OSGI_DEVICEACCESS_DRIVER_SERVICE_NAME) == 0) {
         device_service_pt device = service;
@@ -541,8 +541,8 @@ celix_status_t deviceManager_isDriverBundle(device_manager_pt manager, bundle_pt
 				int i;
 				for (i = 0; i < arrayList_size(refs); i++) {
 					service_reference_pt ref = arrayList_get(refs, i);
-                    char *object = NULL;
-                    serviceReference_getProperty(ref, (char *) OSGI_FRAMEWORK_OBJECTCLASS, &object);
+                    const char* object = NULL;
+                    serviceReference_getProperty(ref, OSGI_FRAMEWORK_OBJECTCLASS, &object);
                     if (strcmp(object, "driver") == 0) {
                         *isDriver = true;
                         break;

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/device_access/device_access/private/src/driver_attributes.c
----------------------------------------------------------------------
diff --git a/device_access/device_access/private/src/driver_attributes.c b/device_access/device_access/private/src/driver_attributes.c
index 5da996d..db28e03 100644
--- a/device_access/device_access/private/src/driver_attributes.c
+++ b/device_access/device_access/private/src/driver_attributes.c
@@ -88,7 +88,7 @@ celix_status_t driverAttributes_getReference(driver_attributes_pt driverAttribut
 celix_status_t driverAttributes_getDriverId(driver_attributes_pt driverAttributes, char **driverId) {
 	celix_status_t status = CELIX_SUCCESS;
 
-    char *id_prop = NULL;
+    const char* id_prop = NULL;
     status = serviceReference_getProperty(driverAttributes->reference, "DRIVER_ID", &id_prop);
     if (status == CELIX_SUCCESS) {
         if (!id_prop) {
@@ -125,11 +125,11 @@ celix_status_t driverAttributes_isInUse(driver_attributes_pt driverAttributes, b
 			int i;
 			for (i = 0; i < arrayList_size(references); i++) {
 				service_reference_pt ref = arrayList_get(references, i);
-				char *object = NULL;
-				status = serviceReference_getProperty(ref, (char *) OSGI_FRAMEWORK_OBJECTCLASS, &object);
+				const char *object = NULL;
+				status = serviceReference_getProperty(ref, OSGI_FRAMEWORK_OBJECTCLASS, &object);
 
 				if (status == CELIX_SUCCESS) {
-					char *category = NULL;
+					const char* category = NULL;
 					status = serviceReference_getProperty(ref, "DEVICE_CATEGORY", &category);
 
 					if (status == CELIX_SUCCESS) {

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/device_access/device_access/private/src/driver_matcher.c
----------------------------------------------------------------------
diff --git a/device_access/device_access/private/src/driver_matcher.c b/device_access/device_access/private/src/driver_matcher.c
index 98ad69b..f36cd4a 100644
--- a/device_access/device_access/private/src/driver_matcher.c
+++ b/device_access/device_access/private/src/driver_matcher.c
@@ -215,7 +215,8 @@ celix_status_t driverMatcher_getBestMatchInternal(driver_matcher_pt matcher, mat
 			celix_status_t substatus = driverAttributes_getReference(attributes, &reference);
 			if (substatus == CELIX_SUCCESS) {
 				if (best != NULL) {
-					char *rank1Str, *rank2Str;
+					const char* rank1Str;
+					const char* rank2Str;
 					int rank1, rank2;
 
 					rank1Str = "0";
@@ -223,8 +224,8 @@ celix_status_t driverMatcher_getBestMatchInternal(driver_matcher_pt matcher, mat
 
 					logHelper_log(matcher->loghelper, OSGI_LOGSERVICE_DEBUG, "DRIVER_MATCHER: Compare ranking");
 
-					serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_SERVICE_RANKING, &rank1Str);
-					serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_SERVICE_RANKING, &rank2Str);
+					serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_RANKING, &rank1Str);
+					serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_RANKING, &rank2Str);
 
 					rank1 = atoi(rank1Str);
 					rank2 = atoi(rank2Str);
@@ -234,7 +235,8 @@ celix_status_t driverMatcher_getBestMatchInternal(driver_matcher_pt matcher, mat
 							best = reference;
 						}
 					} else {
-						char *id1Str, *id2Str;
+						const char* id1Str;
+						const char* id2Str;
 						long id1, id2;
 
 						id1Str = NULL;
@@ -242,8 +244,8 @@ celix_status_t driverMatcher_getBestMatchInternal(driver_matcher_pt matcher, mat
 
 						logHelper_log(matcher->loghelper, OSGI_LOGSERVICE_DEBUG, "DRIVER_MATCHER: Compare id's");
 
-						serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_SERVICE_ID, &id1Str);
-						serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_SERVICE_ID, &id2Str);
+						serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_ID, &id1Str);
+						serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_ID, &id2Str);
 
 						id1 = atol(id1Str);
 						id2 = atol(id2Str);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/device_access/driver_locator/private/src/activator.c
----------------------------------------------------------------------
diff --git a/device_access/driver_locator/private/src/activator.c b/device_access/driver_locator/private/src/activator.c
index 6c13e10..abc60c5 100644
--- a/device_access/driver_locator/private/src/activator.c
+++ b/device_access/driver_locator/private/src/activator.c
@@ -61,7 +61,7 @@ celix_status_t bundleActivator_start(void * userData, bundle_context_pt context)
 	bi->service->locator = bi->locator;
 	bi->locator->drivers = NULL;
 	arrayList_create(&bi->locator->drivers);
-	bundleContext_getProperty(context, "DRIVER_LOCATOR_PATH", &bi->locator->path);
+	bundleContext_getProperty(context, "DRIVER_LOCATOR_PATH", (const char**)&bi->locator->path);
 	if (bi->locator->path == NULL ) {
 		bi->locator->path = (char *)DEFAULT_LOCATOR_PATH;
 	}

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/device_access/example/consuming_driver/private/src/consuming_driver.c
----------------------------------------------------------------------
diff --git a/device_access/example/consuming_driver/private/src/consuming_driver.c b/device_access/example/consuming_driver/private/src/consuming_driver.c
index b44ac32..9106dbd 100644
--- a/device_access/example/consuming_driver/private/src/consuming_driver.c
+++ b/device_access/example/consuming_driver/private/src/consuming_driver.c
@@ -111,7 +111,7 @@ celix_status_t consumingDriver_match(void *driverHandler, service_reference_pt r
 	int match=0;
 	celix_status_t status = CELIX_SUCCESS;
 
-    char *category = NULL;
+    const char* category = NULL;
     status = serviceReference_getProperty(reference, OSGI_DEVICEACCESS_DEVICE_CATEGORY, &category);
     if (status == CELIX_SUCCESS) {
         if (strcmp(category, REFINING_DRIVER_DEVICE_CATEGORY) == 0) {

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/device_access/example/refining_driver/private/src/refining_driver.c
----------------------------------------------------------------------
diff --git a/device_access/example/refining_driver/private/src/refining_driver.c b/device_access/example/refining_driver/private/src/refining_driver.c
index b624e7d..404bc42 100644
--- a/device_access/example/refining_driver/private/src/refining_driver.c
+++ b/device_access/example/refining_driver/private/src/refining_driver.c
@@ -210,7 +210,7 @@ celix_status_t refiningDriver_match(void *driverHandler, service_reference_pt re
 	int match = 0;
 	celix_status_t status = CELIX_SUCCESS;
 
-    char *category = NULL;
+    const char* category = NULL;
     status = serviceReference_getProperty(reference, OSGI_DEVICEACCESS_DEVICE_CATEGORY, &category);
     if (status == CELIX_SUCCESS) {
         if (strcmp(category, BASE_DRIVER_DEVICE_CATEGORY) == 0) {

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/private/include/framework_private.h
----------------------------------------------------------------------
diff --git a/framework/private/include/framework_private.h b/framework/private/include/framework_private.h
index 28c504d..6ed3dec 100644
--- a/framework/private/include/framework_private.h
+++ b/framework/private/include/framework_private.h
@@ -93,7 +93,7 @@ struct framework {
 celix_status_t framework_start(framework_pt framework);
 void framework_stop(framework_pt framework);
 
-FRAMEWORK_EXPORT celix_status_t fw_getProperty(framework_pt framework, const char *name, char **value);
+FRAMEWORK_EXPORT celix_status_t fw_getProperty(framework_pt framework, const char *name, const char** value);
 
 FRAMEWORK_EXPORT celix_status_t fw_installBundle(framework_pt framework, bundle_pt * bundle, char * location, char *inputFile);
 FRAMEWORK_EXPORT celix_status_t fw_uninstallBundle(framework_pt framework, bundle_pt bundle);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/private/mock/bundle_context_mock.c
----------------------------------------------------------------------
diff --git a/framework/private/mock/bundle_context_mock.c b/framework/private/mock/bundle_context_mock.c
index 3ec6287..f00bade 100644
--- a/framework/private/mock/bundle_context_mock.c
+++ b/framework/private/mock/bundle_context_mock.c
@@ -185,7 +185,7 @@ celix_status_t bundleContext_removeBundleListener(bundle_context_pt context, bun
 }
 
 
-celix_status_t bundleContext_getProperty(bundle_context_pt context, const char *name, char **value) {
+celix_status_t bundleContext_getProperty(bundle_context_pt context, const char *name, const char** value) {
 	mock_c()->actualCall("bundleContext_getProperty")
 			->withPointerParameters("context", context)
 			->withStringParameters("name", name)

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/private/mock/framework_mock.c
----------------------------------------------------------------------
diff --git a/framework/private/mock/framework_mock.c b/framework/private/mock/framework_mock.c
index acd90ad..ab01218 100644
--- a/framework/private/mock/framework_mock.c
+++ b/framework/private/mock/framework_mock.c
@@ -51,7 +51,7 @@ void framework_stop(framework_pt framework) {
 	mock_c()->actualCall("framework_stop");
 }
 
-celix_status_t fw_getProperty(framework_pt framework, const char *name, char **value) {
+celix_status_t fw_getProperty(framework_pt framework, const char *name, const char** value) {
 	mock_c()->actualCall("fw_getProperty")
 			->withPointerParameters("framework", framework)
 			->withStringParameters("name", name)

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/private/mock/service_reference_mock.c
----------------------------------------------------------------------
diff --git a/framework/private/mock/service_reference_mock.c b/framework/private/mock/service_reference_mock.c
index 7bb643f..9d8d4db 100644
--- a/framework/private/mock/service_reference_mock.c
+++ b/framework/private/mock/service_reference_mock.c
@@ -112,7 +112,7 @@ celix_status_t serviceReference_getServiceRegistration(service_reference_pt refe
 	return mock_c()->returnValue().value.intValue;
 }
 
-celix_status_t serviceReference_getProperty(service_reference_pt reference, char *key, char **value){
+celix_status_t serviceReference_getProperty(service_reference_pt reference, const char *key, const char** value){
 	mock_c()->actualCall("serviceReference_getProperty")
 			->withPointerParameters("reference", reference)
 			->withStringParameters("key", key)

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/private/src/bundle_context.c
----------------------------------------------------------------------
diff --git a/framework/private/src/bundle_context.c b/framework/private/src/bundle_context.c
index f12dbfa..5eb903a 100644
--- a/framework/private/src/bundle_context.c
+++ b/framework/private/src/bundle_context.c
@@ -362,7 +362,7 @@ celix_status_t bundleContext_removeFrameworkListener(bundle_context_pt context,
     return status;
 }
 
-celix_status_t bundleContext_getProperty(bundle_context_pt context, const char *name, char **value) {
+celix_status_t bundleContext_getProperty(bundle_context_pt context, const char *name, const char** value) {
 	celix_status_t status = CELIX_SUCCESS;
 
 	if (context == NULL || name == NULL || *value != NULL) {

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/private/src/framework.c
----------------------------------------------------------------------
diff --git a/framework/private/src/framework.c b/framework/private/src/framework.c
index 16dcf3f..93db610 100644
--- a/framework/private/src/framework.c
+++ b/framework/private/src/framework.c
@@ -518,14 +518,14 @@ void framework_stop(framework_pt framework) {
 	fw_stopBundle(framework, framework->bundle, true);
 }
 
-celix_status_t fw_getProperty(framework_pt framework, const char *name, char **value) {
+celix_status_t fw_getProperty(framework_pt framework, const char *name, const char** value) {
 	celix_status_t status = CELIX_SUCCESS;
 
 	if (framework == NULL || name == NULL || *value != NULL) {
 		status = CELIX_ILLEGAL_ARGUMENT;
 	} else {
 		if (framework->configurationMap != NULL) {
-			*value = (char*) properties_get(framework->configurationMap, name);
+			*value = properties_get(framework->configurationMap, name);
 		}
 		if (*value == NULL) {
 			*value = getenv(name);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/private/src/service_reference.c
----------------------------------------------------------------------
diff --git a/framework/private/src/service_reference.c b/framework/private/src/service_reference.c
index 0a5573c..2f75973 100644
--- a/framework/private/src/service_reference.c
+++ b/framework/private/src/service_reference.c
@@ -196,7 +196,7 @@ celix_status_t serviceReference_getServiceRegistration(service_reference_pt ref,
     return CELIX_SUCCESS;
 }
 
-celix_status_t serviceReference_getProperty(service_reference_pt ref, char *key, char **value) {
+celix_status_t serviceReference_getProperty(service_reference_pt ref, const char* key, const char** value) {
     celix_status_t status = CELIX_SUCCESS;
     properties_pt props = NULL;
     celixThreadRwlock_readLock(&ref->lock);
@@ -289,7 +289,8 @@ celix_status_t serviceReference_compareTo(service_reference_pt reference, servic
 	celix_status_t status = CELIX_SUCCESS;
 
 	long id, other_id;
-	char *id_str, *other_id_str;
+	const char* id_str;
+    const char* other_id_str;
 	serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_SERVICE_ID, &id_str);
 	serviceReference_getProperty(compareTo, (char *) OSGI_FRAMEWORK_SERVICE_ID, &other_id_str);
 
@@ -298,9 +299,10 @@ celix_status_t serviceReference_compareTo(service_reference_pt reference, servic
 
 
 	long rank, other_rank;
-	char *rank_str, *other_rank_str;
-	serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_SERVICE_RANKING, &rank_str);
-	serviceReference_getProperty(compareTo, (char *) OSGI_FRAMEWORK_SERVICE_RANKING, &other_rank_str);
+	const char *rank_str;
+    const char* other_rank_str;
+	serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_RANKING, &rank_str);
+	serviceReference_getProperty(compareTo, OSGI_FRAMEWORK_SERVICE_RANKING, &other_rank_str);
 
 	rank = rank_str == NULL ? 0 : atol(rank_str);
 	other_rank = other_rank_str == NULL ? 0 : atol(other_rank_str);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/private/src/utils.c
----------------------------------------------------------------------
diff --git a/framework/private/src/utils.c b/framework/private/src/utils.c
index fdb0f62..5998531 100644
--- a/framework/private/src/utils.c
+++ b/framework/private/src/utils.c
@@ -59,7 +59,7 @@ char * string_ndup(const char *s, size_t n) {
 }
 
 char * utils_stringTrim(char * string) {
-	char * copy = string;
+	char* copy = string;
 
 	char *end;
 	// Trim leading space
@@ -70,13 +70,21 @@ char * utils_stringTrim(char * string) {
 	// Trim trailing space
 	end = copy + strlen(copy) - 1;
 	while(end > copy && isspace(*end)) {
-		*(end) = 0;
+		*(end) = '\0';
 		end--;
 	}
 
+	if (copy != string) { 
+		//beginning whitespaces -> move char in copy to to begin string
+		//This to ensure free still works on the same pointer.
+		char* nstring = string;
+		while(*copy != '\0') {
+			*(nstring++) = *(copy++);
+		}
+		(*nstring) = '\0';
+	}
 
-
-	return copy;
+	return string;
 }
 
 bool utils_isStringEmptyOrNull(const char * const str) {

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/private/test/bundle_context_test.cpp
----------------------------------------------------------------------
diff --git a/framework/private/test/bundle_context_test.cpp b/framework/private/test/bundle_context_test.cpp
index a83bdfb..96d9192 100644
--- a/framework/private/test/bundle_context_test.cpp
+++ b/framework/private/test/bundle_context_test.cpp
@@ -609,7 +609,7 @@ TEST(bundle_context, getProperty) {
 		.withOutputParameterReturning("value", &value, sizeof(value))
 		.andReturnValue(CELIX_SUCCESS);
 
-	char *actualValue = NULL;
+	const char *actualValue = NULL;
 	celix_status_t status = bundleContext_getProperty(context, name, &actualValue);
 	LONGS_EQUAL(CELIX_SUCCESS, status);
 	STRCMP_EQUAL(value, actualValue);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/private/test/service_reference_test.cpp
----------------------------------------------------------------------
diff --git a/framework/private/test/service_reference_test.cpp b/framework/private/test/service_reference_test.cpp
index 8cb8491..0d49f18 100644
--- a/framework/private/test/service_reference_test.cpp
+++ b/framework/private/test/service_reference_test.cpp
@@ -326,7 +326,7 @@ TEST(service_reference, getProperty){
 	properties_pt props = (properties_pt) 0x20;
 	char * key = my_strdup("key");
 	char * value = my_strdup("value");
-	char * get_value = (char*) NULL;
+	const char * get_value = (char*) NULL;
 
 	//test getting a property
 	mock().expectOneCall("serviceRegistration_getProperties")

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/public/include/bundle_context.h
----------------------------------------------------------------------
diff --git a/framework/public/include/bundle_context.h b/framework/public/include/bundle_context.h
index cf8ac4a..fc29db5 100644
--- a/framework/public/include/bundle_context.h
+++ b/framework/public/include/bundle_context.h
@@ -113,6 +113,6 @@ FRAMEWORK_EXPORT celix_status_t bundleContext_removeBundleListener(bundle_contex
 FRAMEWORK_EXPORT celix_status_t bundleContext_addFrameworkListener(bundle_context_pt context, framework_listener_pt listener);
 FRAMEWORK_EXPORT celix_status_t bundleContext_removeFrameworkListener(bundle_context_pt context, framework_listener_pt listener);
 
-FRAMEWORK_EXPORT celix_status_t bundleContext_getProperty(bundle_context_pt context, const char* name, char** value);
+FRAMEWORK_EXPORT celix_status_t bundleContext_getProperty(bundle_context_pt context, const char* name, const char** value);
 
 #endif /* BUNDLE_CONTEXT_H_ */

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/framework/public/include/service_reference.h
----------------------------------------------------------------------
diff --git a/framework/public/include/service_reference.h b/framework/public/include/service_reference.h
index a8af38d..6e1605a 100644
--- a/framework/public/include/service_reference.h
+++ b/framework/public/include/service_reference.h
@@ -39,7 +39,7 @@ FRAMEWORK_EXPORT celix_status_t serviceReference_getBundle(service_reference_pt
 
 FRAMEWORK_EXPORT bool serviceReference_isAssignableTo(service_reference_pt reference, bundle_pt requester, const char* serviceName);
 
-FRAMEWORK_EXPORT celix_status_t serviceReference_getProperty(service_reference_pt reference, char *key, char **value);
+FRAMEWORK_EXPORT celix_status_t serviceReference_getProperty(service_reference_pt reference, const char* key, const char** value);
 FRAMEWORK_EXPORT celix_status_t serviceReference_getPropertyKeys(service_reference_pt reference, char **keys[], unsigned int *size);
 
 FRAMEWORK_EXPORT celix_status_t serviceReference_getServiceRegistration(service_reference_pt reference, service_registration_pt *registration);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/log_service/private/src/log_service_activator.c
----------------------------------------------------------------------
diff --git a/log_service/private/src/log_service_activator.c b/log_service/private/src/log_service_activator.c
index ce3cbb7..4f45153 100644
--- a/log_service/private/src/log_service_activator.c
+++ b/log_service/private/src/log_service_activator.c
@@ -158,7 +158,7 @@ celix_status_t bundleActivator_destroy(void * userData, bundle_context_pt contex
 static celix_status_t bundleActivator_getMaxSize(struct logActivator *activator, int *max_size) {
 	celix_status_t status = CELIX_SUCCESS;
 
-	char *max_size_str = NULL;
+	const char *max_size_str = NULL;
 
 	*max_size = DEFAULT_MAX_SIZE;
 
@@ -173,7 +173,7 @@ static celix_status_t bundleActivator_getMaxSize(struct logActivator *activator,
 static celix_status_t bundleActivator_getStoreDebug(struct logActivator *activator, bool *store_debug) {
 	celix_status_t status = CELIX_SUCCESS;
 
-	char *store_debug_str = NULL;
+	const char *store_debug_str = NULL;
 
 	*store_debug = DEFAULT_STORE_DEBUG;
 

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/log_service/public/src/log_helper.c
----------------------------------------------------------------------
diff --git a/log_service/public/src/log_helper.c b/log_service/public/src/log_helper.c
index 12ebe0b..7fcb172 100644
--- a/log_service/public/src/log_helper.c
+++ b/log_service/public/src/log_helper.c
@@ -64,7 +64,7 @@ celix_status_t logHelper_create(bundle_context_pt context, log_helper_pt* loghel
 	}
 	else
 	{
-		char* stdOutFallbackStr = NULL;
+		const char* stdOutFallbackStr = NULL;
 		(*loghelper)->bundleContext = context;
 		(*loghelper)->logServiceTracker = NULL;
 		(*loghelper)->stdOutFallback = false;

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/discovery/private/src/discovery.c
----------------------------------------------------------------------
diff --git a/remote_services/discovery/private/src/discovery.c b/remote_services/discovery/private/src/discovery.c
index e2415b4..e40a887 100644
--- a/remote_services/discovery/private/src/discovery.c
+++ b/remote_services/discovery/private/src/discovery.c
@@ -70,10 +70,10 @@ celix_status_t discovery_endpointListenerAdded(void* handle, service_reference_p
 	celix_status_t status = CELIX_SUCCESS;
 	discovery_pt discovery = handle;
 
-	char *discoveryListener = NULL;
+	const char *discoveryListener = NULL;
 	serviceReference_getProperty(reference, "DISCOVERY", &discoveryListener);
-	char *scope = NULL;
-	serviceReference_getProperty(reference, (char *) OSGI_ENDPOINT_LISTENER_SCOPE, &scope);
+	const char *scope = NULL;
+	serviceReference_getProperty(reference, OSGI_ENDPOINT_LISTENER_SCOPE, &scope);
 
 	filter_pt filter = filter_create(scope);
 
@@ -157,8 +157,8 @@ celix_status_t discovery_informEndpointListeners(discovery_pt discovery, endpoin
                 service_reference_pt reference = hashMapEntry_getKey(entry);
                 endpoint_listener_pt listener = NULL;
 
-                char *scope = NULL;
-                serviceReference_getProperty(reference, (char *) OSGI_ENDPOINT_LISTENER_SCOPE, &scope);
+                const char* scope = NULL;
+                serviceReference_getProperty(reference, OSGI_ENDPOINT_LISTENER_SCOPE, &scope);
 
                 filter_pt filter = filter_create(scope);
                 bool matchResult = false;
@@ -170,11 +170,11 @@ celix_status_t discovery_informEndpointListeners(discovery_pt discovery, endpoin
                         if (endpointAdded) {
                             logHelper_log(discovery->loghelper, OSGI_LOGSERVICE_INFO, "Adding service (%s)", endpoint->service);
 
-                            listener->endpointAdded(listener->handle, endpoint, scope);
+                            listener->endpointAdded(listener->handle, endpoint, (char*)scope);
                         } else {
                             logHelper_log(discovery->loghelper, OSGI_LOGSERVICE_INFO, "Removing service (%s)", endpoint->service);
 
-                            listener->endpointRemoved(listener->handle, endpoint, scope);
+                            listener->endpointRemoved(listener->handle, endpoint, (char*)scope);
                         }
                     }
 

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/discovery/private/src/discovery_activator.c
----------------------------------------------------------------------
diff --git a/remote_services/discovery/private/src/discovery_activator.c b/remote_services/discovery/private/src/discovery_activator.c
index e98de1a..3267d25 100644
--- a/remote_services/discovery/private/src/discovery_activator.c
+++ b/remote_services/discovery/private/src/discovery_activator.c
@@ -94,7 +94,7 @@ celix_status_t bundleActivator_create(bundle_context_pt context, void **userData
 celix_status_t bundleActivator_start(void * userData, bundle_context_pt context) {
 	celix_status_t status;
 	struct activator *activator = userData;
-	char *uuid = NULL;
+	const char *uuid = NULL;
 
 	logHelper_start(activator->loghelper);
 

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/discovery/private/src/endpoint_discovery_poller.c
----------------------------------------------------------------------
diff --git a/remote_services/discovery/private/src/endpoint_discovery_poller.c b/remote_services/discovery/private/src/endpoint_discovery_poller.c
index 202f061..7005ed7 100644
--- a/remote_services/discovery/private/src/endpoint_discovery_poller.c
+++ b/remote_services/discovery/private/src/endpoint_discovery_poller.c
@@ -67,19 +67,19 @@ celix_status_t endpointDiscoveryPoller_create(discovery_pt discovery, bundle_con
 		return status;
 	}
 
-	char* interval = NULL;
+	const char* interval = NULL;
 	status = bundleContext_getProperty(context, DISCOVERY_POLL_INTERVAL, &interval);
 	if (!interval) {
 		interval = DEFAULT_POLL_INTERVAL;
 	}
 
-	char* endpoints = NULL;
-	status = bundleContext_getProperty(context, DISCOVERY_POLL_ENDPOINTS, &endpoints);
-	if (!endpoints) {
-		endpoints = DEFAULT_POLL_ENDPOINTS;
+	const char* endpointsProp = NULL;
+	status = bundleContext_getProperty(context, DISCOVERY_POLL_ENDPOINTS, &endpointsProp);
+	if (!endpointsProp) {
+		endpointsProp = DEFAULT_POLL_ENDPOINTS;
 	}
 	// we're going to mutate the string with strtok, so create a copy...
-	endpoints = strdup(endpoints);
+	char* endpoints = strdup(endpointsProp);
 
 	(*poller)->poll_interval = atoi(interval);
 	(*poller)->discovery = discovery;

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/discovery/private/src/endpoint_discovery_server.c
----------------------------------------------------------------------
diff --git a/remote_services/discovery/private/src/endpoint_discovery_server.c b/remote_services/discovery/private/src/endpoint_discovery_server.c
index 02cc923..6273e6f 100644
--- a/remote_services/discovery/private/src/endpoint_discovery_server.c
+++ b/remote_services/discovery/private/src/endpoint_discovery_server.c
@@ -66,7 +66,7 @@ struct endpoint_discovery_server {
 
 // Forward declarations...
 static int endpointDiscoveryServer_callback(struct mg_connection *conn);
-static char* format_path(char* path);
+static char* format_path(const char* path);
 
 #ifndef ANDROID
 static celix_status_t endpointDiscoveryServer_getIpAdress(char* interface, char** ip);
@@ -75,10 +75,10 @@ static celix_status_t endpointDiscoveryServer_getIpAdress(char* interface, char*
 celix_status_t endpointDiscoveryServer_create(discovery_pt discovery, bundle_context_pt context, endpoint_discovery_server_pt *server) {
 	celix_status_t status;
 
-	char *port = NULL;
-	char *ip = NULL;
+	const char *port = NULL;
+	const char *ip = NULL;
 	char *detectedIp = NULL;
-	char *path = NULL;
+	const char *path = NULL;
 
 	*server = malloc(sizeof(struct endpoint_discovery_server));
 	if (!*server) {
@@ -99,10 +99,10 @@ celix_status_t endpointDiscoveryServer_create(discovery_pt discovery, bundle_con
 	bundleContext_getProperty(context, DISCOVERY_SERVER_IP, &ip);
 #ifndef ANDROID
 	if (ip == NULL) {
-		char *interface = NULL;
+		const char *interface = NULL;
 
 		bundleContext_getProperty(context, DISCOVERY_SERVER_INTERFACE, &interface);
-		if ((interface != NULL) && (endpointDiscoveryServer_getIpAdress(interface, &detectedIp) != CELIX_SUCCESS)) {
+		if ((interface != NULL) && (endpointDiscoveryServer_getIpAdress((char*)interface, &detectedIp) != CELIX_SUCCESS)) {
 			logHelper_log(*(*server)->loghelper, OSGI_LOGSERVICE_WARNING, "Could not retrieve IP adress for interface %s", interface);
 		}
 
@@ -161,7 +161,7 @@ celix_status_t endpointDiscoveryServer_create(discovery_pt discovery, bundle_con
 		}
 		else {
 			errno = 0;
-			char* endptr = port;
+			char* endptr = (char*)port;
 			long currentPort = strtol(port, &endptr, 10);
 
 			if (*endptr || errno != 0) {
@@ -273,8 +273,9 @@ celix_status_t endpointDiscoveryServer_removeEndpoint(endpoint_discovery_server_
 	return status;
 }
 
-static char* format_path(char* path) {
-	char* result = strdup(utils_stringTrim(path));
+static char* format_path(const char* path) {
+	char* result = strdup(path);
+	result = utils_stringTrim(result);
 	// check whether the path starts with a leading slash...
 	if (result[0] != '/') {
 		size_t len = strlen(result);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/discovery_etcd/private/src/discovery_impl.c
----------------------------------------------------------------------
diff --git a/remote_services/discovery_etcd/private/src/discovery_impl.c b/remote_services/discovery_etcd/private/src/discovery_impl.c
index 00ab9a6..8087d95 100644
--- a/remote_services/discovery_etcd/private/src/discovery_impl.c
+++ b/remote_services/discovery_etcd/private/src/discovery_impl.c
@@ -109,8 +109,8 @@ celix_status_t discovery_destroy(discovery_pt discovery) {
 
 celix_status_t discovery_start(discovery_pt discovery) {
     celix_status_t status = CELIX_SUCCESS;
-	char *port = NULL;
-	char *path = NULL;
+	const char *port = NULL;
+	const char *path = NULL;
 
 	logHelper_start(discovery->loghelper);
 
@@ -138,7 +138,6 @@ celix_status_t discovery_start(discovery_pt discovery) {
     if (status != CELIX_SUCCESS) {
     	return CELIX_BUNDLE_EXCEPTION;
     }
-
     return status;
 }
 

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/discovery_etcd/private/src/etcd_watcher.c
----------------------------------------------------------------------
diff --git a/remote_services/discovery_etcd/private/src/etcd_watcher.c b/remote_services/discovery_etcd/private/src/etcd_watcher.c
index 0675bc2..a7bcc2e 100644
--- a/remote_services/discovery_etcd/private/src/etcd_watcher.c
+++ b/remote_services/discovery_etcd/private/src/etcd_watcher.c
@@ -68,7 +68,7 @@ struct etcd_watcher {
 // note that the rootNode shouldn't have a leading slash
 static celix_status_t etcdWatcher_getRootPath(bundle_context_pt context, char* rootNode) {
 	celix_status_t status = CELIX_SUCCESS;
-	char* rootPath = NULL;
+	const char* rootPath = NULL;
 
 	if (((bundleContext_getProperty(context, CFG_ETCD_ROOT_PATH, &rootPath)) != CELIX_SUCCESS) || (!rootPath)) {
 		strcpy(rootNode, DEFAULT_ETCD_ROOTPATH);
@@ -84,7 +84,7 @@ static celix_status_t etcdWatcher_getRootPath(bundle_context_pt context, char* r
 static celix_status_t etcdWatcher_getLocalNodePath(bundle_context_pt context, char* localNodePath) {
 	celix_status_t status = CELIX_SUCCESS;
 	char rootPath[MAX_ROOTNODE_LENGTH];
-    char* uuid = NULL;
+    const char* uuid = NULL;
 
     if ((etcdWatcher_getRootPath(context, &rootPath[0]) != CELIX_SUCCESS)) {
 		status = CELIX_ILLEGAL_STATE;
@@ -159,7 +159,7 @@ static celix_status_t etcdWatcher_addOwnFramework(etcd_watcher_pt watcher)
  	char url[MAX_VALUE_LENGTH];
     int modIndex;
     char* endpoints = NULL;
-    char* ttlStr = NULL;
+    const char* ttlStr = NULL;
     int ttl;
 
 	bundle_context_pt context = watcher->discovery->context;
@@ -181,7 +181,7 @@ static celix_status_t etcdWatcher_addOwnFramework(etcd_watcher_pt watcher)
     }
     else
     {
-        char* endptr = ttlStr;
+        char* endptr = (char*)ttlStr;
         errno = 0;
         ttl =  strtol(ttlStr, &endptr, 10);
         if (*endptr || errno != 0) {
@@ -325,8 +325,8 @@ celix_status_t etcdWatcher_create(discovery_pt discovery, bundle_context_pt cont
 {
 	celix_status_t status = CELIX_SUCCESS;
 
-	char* etcd_server = NULL;
-	char* etcd_port_string = NULL;
+	const char* etcd_server = NULL;
+	const char* etcd_port_string = NULL;
 	int etcd_port = 0;
 
 	if (discovery == NULL) {
@@ -353,7 +353,7 @@ celix_status_t etcdWatcher_create(discovery_pt discovery, bundle_context_pt cont
 	}
 	else
 	{
-		char* endptr = etcd_port_string;
+		char* endptr = (char*)etcd_port_string;
 		errno = 0;
 		etcd_port =  strtol(etcd_port_string, &endptr, 10);
 		if (*endptr || errno != 0) {
@@ -361,7 +361,7 @@ celix_status_t etcdWatcher_create(discovery_pt discovery, bundle_context_pt cont
 		}
 	}
 
-    status = etcd_init(etcd_server, etcd_port);
+    status = etcd_init((char*)etcd_server, etcd_port);
 
     printf(" ININT\n");
     if (status == CELIX_SUCCESS) {

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/discovery_shm/private/src/discovery_shmWatcher.c
----------------------------------------------------------------------
diff --git a/remote_services/discovery_shm/private/src/discovery_shmWatcher.c b/remote_services/discovery_shm/private/src/discovery_shmWatcher.c
index ea49c4d..6460de8 100644
--- a/remote_services/discovery_shm/private/src/discovery_shmWatcher.c
+++ b/remote_services/discovery_shm/private/src/discovery_shmWatcher.c
@@ -60,7 +60,7 @@ static celix_status_t discoveryShmWatcher_getRootPath(char* rootNode) {
 static celix_status_t discoveryShmWatcher_getLocalNodePath(bundle_context_pt context, char* localNodePath) {
     celix_status_t status;
     char rootPath[MAX_ROOTNODE_LENGTH];
-    char* uuid = NULL;
+    const char* uuid = NULL;
 
     status = discoveryShmWatcher_getRootPath(&rootPath[0]);
 

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/remote_service_admin/private/src/export_registration_impl.c
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin/private/src/export_registration_impl.c b/remote_services/remote_service_admin/private/src/export_registration_impl.c
index 20be900..1c684e7 100644
--- a/remote_services/remote_service_admin/private/src/export_registration_impl.c
+++ b/remote_services/remote_service_admin/private/src/export_registration_impl.c
@@ -179,7 +179,7 @@ celix_status_t exportRegistration_endpointRemoved(void * handle, service_referen
 
 celix_status_t exportRegistration_open(export_registration_pt registration) {
 	celix_status_t status = CELIX_SUCCESS;
-	char *bundleStore = NULL;
+	const char *bundleStore = NULL;
 
 	bundleContext_getProperty(registration->context, BUNDLE_STORE_PROPERTY_NAME, &bundleStore);
 

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/remote_service_admin/private/src/import_registration_impl.c
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin/private/src/import_registration_impl.c b/remote_services/remote_service_admin/private/src/import_registration_impl.c
index f7419a2..9a84327 100644
--- a/remote_services/remote_service_admin/private/src/import_registration_impl.c
+++ b/remote_services/remote_service_admin/private/src/import_registration_impl.c
@@ -116,7 +116,7 @@ celix_status_t importRegistrationFactory_open(import_registration_factory_pt reg
 {
 	celix_status_t status;
 
-	char *bundleStore = NULL;
+	const char *bundleStore = NULL;
 	bundleContext_getProperty(registration_factory->context, BUNDLE_STORE_PROPERTY_NAME, &bundleStore);
 
 	if (bundleStore == NULL) {

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/remote_service_admin_dfi/rsa/private/src/dfi_utils.c
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin_dfi/rsa/private/src/dfi_utils.c b/remote_services/remote_service_admin_dfi/rsa/private/src/dfi_utils.c
index ba66e52..c77e7f4 100644
--- a/remote_services/remote_service_admin_dfi/rsa/private/src/dfi_utils.c
+++ b/remote_services/remote_service_admin_dfi/rsa/private/src/dfi_utils.c
@@ -26,7 +26,7 @@ static celix_status_t dfi_findFileForFramework(bundle_context_pt context, const
 
     char pwd[1024];
     char path[1024];
-    char *extPath = NULL;
+    const char *extPath = NULL;
    
     status = bundleContext_getProperty(context, "CELIX_FRAMEWORK_EXTENDER_PATH", &extPath);
     if (status != CELIX_SUCCESS || extPath == NULL) {

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/remote_service_admin_dfi/rsa/private/src/export_registration_dfi.c
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin_dfi/rsa/private/src/export_registration_dfi.c b/remote_services/remote_service_admin_dfi/rsa/private/src/export_registration_dfi.c
index 66c849d..b83b5a8 100644
--- a/remote_services/remote_service_admin_dfi/rsa/private/src/export_registration_dfi.c
+++ b/remote_services/remote_service_admin_dfi/rsa/private/src/export_registration_dfi.c
@@ -54,7 +54,7 @@ static void exportRegistration_removeServ(export_registration_pt reg, service_re
 celix_status_t exportRegistration_create(log_helper_pt helper, service_reference_pt reference, endpoint_description_pt endpoint, bundle_context_pt context, export_registration_pt *out) {
     celix_status_t status = CELIX_SUCCESS;
 
-    char *servId = NULL;
+    const char *servId = NULL;
     status = serviceReference_getProperty(reference, "service.id", &servId);
     if (status != CELIX_SUCCESS) {
         logHelper_log(helper, OSGI_LOGSERVICE_WARNING, "Cannot find service.id for ref");
@@ -78,7 +78,7 @@ celix_status_t exportRegistration_create(log_helper_pt helper, service_reference
         celixThreadMutex_create(&reg->mutex, NULL);
     }
 
-    char *exports = NULL;
+    const char *exports = NULL;
     CELIX_DO_IF(status, serviceReference_getProperty(reference, (char *) OSGI_RSA_SERVICE_EXPORTED_INTERFACES, &exports));
 
     bundle_pt bundle = NULL;

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/remote_service_admin_dfi/rsa/private/src/remote_service_admin_dfi.c
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin_dfi/rsa/private/src/remote_service_admin_dfi.c b/remote_services/remote_service_admin_dfi/rsa/private/src/remote_service_admin_dfi.c
index 4320a54..16134fe 100644
--- a/remote_services/remote_service_admin_dfi/rsa/private/src/remote_service_admin_dfi.c
+++ b/remote_services/remote_service_admin_dfi/rsa/private/src/remote_service_admin_dfi.c
@@ -127,8 +127,8 @@ celix_status_t remoteServiceAdmin_create(bundle_context_pt context, remote_servi
         status = CELIX_ENOMEM;
     } else {
         unsigned int port_counter = 0;
-        char *port = NULL;
-        char *ip = NULL;
+        const char *port = NULL;
+        const char *ip = NULL;
         char *detectedIp = NULL;
         (*admin)->context = context;
         (*admin)->exportedServices = hashMap_create(NULL, NULL, NULL, NULL);
@@ -154,10 +154,10 @@ celix_status_t remoteServiceAdmin_create(bundle_context_pt context, remote_servi
 
         bundleContext_getProperty(context, "RSA_IP", &ip);
         if (ip == NULL) {
-            char *interface = NULL;
+            const char *interface = NULL;
 
             bundleContext_getProperty(context, "RSA_INTERFACE", &interface);
-            if ((interface != NULL) && (remoteServiceAdmin_getIpAdress(interface, &detectedIp) != CELIX_SUCCESS)) {
+            if ((interface != NULL) && (remoteServiceAdmin_getIpAdress((char*)interface, &detectedIp) != CELIX_SUCCESS)) {
                 logHelper_log((*admin)->loghelper, OSGI_LOGSERVICE_WARNING, "RSA: Could not retrieve IP adress for interface %s", interface);
             }
 
@@ -201,7 +201,7 @@ celix_status_t remoteServiceAdmin_create(bundle_context_pt context, remote_servi
             }
             else {
             	errno = 0;
-                char* endptr = port;
+                char* endptr = (char*)port;
                 int currentPort = strtol(port, &endptr, 10);
 
                 if (*endptr || errno != 0) {
@@ -407,8 +407,8 @@ celix_status_t remoteServiceAdmin_exportService(remote_service_admin_pt admin, c
         status = CELIX_ILLEGAL_STATE;
     }
 
-    char *exports = NULL;
-    char *provided = NULL;
+    const char *exports = NULL;
+    const char *provided = NULL;
     if (status == CELIX_SUCCESS) {
         serviceReference_getProperty(reference, (char *) OSGI_RSA_SERVICE_EXPORTED_INTERFACES, &exports);
         serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_OBJECTCLASS, &provided);
@@ -422,11 +422,11 @@ celix_status_t remoteServiceAdmin_exportService(remote_service_admin_pt admin, c
     }
 
     if (status == CELIX_SUCCESS) {
-        char *interface = provided;
+        const char *interface = provided;
         endpoint_description_pt endpoint = NULL;
         export_registration_pt registration = NULL;
 
-        remoteServiceAdmin_createEndpointDescription(admin, reference, properties, interface, &endpoint);
+        remoteServiceAdmin_createEndpointDescription(admin, reference, properties, (char*)interface, &endpoint);
         //TOOD precheck if descriptor exists
         status = exportRegistration_create(admin->loghelper, reference, endpoint, admin->context, &registration);
         if (status == CELIX_SUCCESS) {
@@ -495,7 +495,7 @@ static celix_status_t remoteServiceAdmin_createEndpointDescription(remote_servic
     serviceReference_getPropertyKeys(reference, &keys, &size);
     for (int i = 0; i < size; i++) {
         char *key = keys[i];
-        char *value = NULL;
+        const char *value = NULL;
 
         if (serviceReference_getProperty(reference, key, &value) == CELIX_SUCCESS
             && strcmp(key, (char*) OSGI_RSA_SERVICE_EXPORTED_INTERFACES) != 0
@@ -508,7 +508,7 @@ static celix_status_t remoteServiceAdmin_createEndpointDescription(remote_servic
 
     char* key = hashMapEntry_getKey(entry);
     char *serviceId = (char *) hashMap_remove(endpointProperties, (void *) OSGI_FRAMEWORK_SERVICE_ID);
-    char *uuid = NULL;
+    const char *uuid = NULL;
 
     char buf[512];
     snprintf(buf, 512,  "/service/%s/%s", serviceId, interface);
@@ -544,7 +544,7 @@ static celix_status_t remoteServiceAdmin_createEndpointDescription(remote_servic
         status = CELIX_ENOMEM;
     } else {
         (*endpoint)->id = (char*)properties_get(endpointProperties, (char*) OSGI_RSA_ENDPOINT_ID);
-        char *serviceId = NULL;
+        const char *serviceId = NULL;
         serviceReference_getProperty(reference, (char*) OSGI_FRAMEWORK_SERVICE_ID, &serviceId);
         (*endpoint)->serviceId = strtoull(serviceId, NULL, 0);
         (*endpoint)->frameworkUUID = (char*) properties_get(endpointProperties, (char*) OSGI_RSA_ENDPOINT_FRAMEWORK_UUID);
@@ -685,7 +685,7 @@ static celix_status_t remoteServiceAdmin_send(void *handle, endpoint_description
     // assume the default timeout
     int timeout = DEFAULT_TIMEOUT;
 
-    char *timeoutStr = NULL;
+    const char *timeoutStr = NULL;
     // Check if the endpoint has a timeout, if so, use it.
     timeoutStr = (char*) properties_get(endpointDescription->properties, (char*) OSGI_RSA_REMOTE_PROXY_TIMEOUT);
     if (timeoutStr == NULL) {

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/remote_service_admin_dfi/rsa_tst/rsa_tests.cpp
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin_dfi/rsa_tst/rsa_tests.cpp b/remote_services/remote_service_admin_dfi/rsa_tst/rsa_tests.cpp
index d6db569..8b7988d 100644
--- a/remote_services/remote_service_admin_dfi/rsa_tst/rsa_tests.cpp
+++ b/remote_services/remote_service_admin_dfi/rsa_tst/rsa_tests.cpp
@@ -126,13 +126,13 @@ extern "C" {
 
     static void testExportService(void) {
         int rc = 0;
-        char *calcId = NULL;
+        const char *calcId = NULL;
         array_list_pt regs = NULL;
 
         rc = serviceReference_getProperty(calcRef, (char *)"service.id", &calcId);
         CHECK_EQUAL(CELIX_SUCCESS, rc);
 
-        rc = rsa->exportService(rsa->admin, calcId, NULL, &regs);
+        rc = rsa->exportService(rsa->admin, (char*)calcId, NULL, &regs);
         CHECK_EQUAL(CELIX_SUCCESS, rc);
 
         CHECK_EQUAL(1, arrayList_size(regs));

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/remote_service_admin_http/private/src/remote_service_admin_impl.c
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin_http/private/src/remote_service_admin_impl.c b/remote_services/remote_service_admin_http/private/src/remote_service_admin_impl.c
index 80eb364..75ec5d0 100644
--- a/remote_services/remote_service_admin_http/private/src/remote_service_admin_impl.c
+++ b/remote_services/remote_service_admin_http/private/src/remote_service_admin_impl.c
@@ -106,8 +106,8 @@ celix_status_t remoteServiceAdmin_create(bundle_context_pt context, remote_servi
 		status = CELIX_ENOMEM;
 	} else {
 		unsigned int port_counter = 0;
-		char *port = NULL;
-		char *ip = NULL;
+		const char *port = NULL;
+		const char *ip = NULL;
 		char *detectedIp = NULL;
 		(*admin)->context = context;
 		(*admin)->exportedServices = hashMap_create(NULL, NULL, NULL, NULL);
@@ -129,10 +129,10 @@ celix_status_t remoteServiceAdmin_create(bundle_context_pt context, remote_servi
 
 		#ifndef ANDROID
 		if (ip == NULL) {
-			char *interface = NULL;
+			const char *interface = NULL;
 
 			bundleContext_getProperty(context, "RSA_INTERFACE", &interface);
-			if ((interface != NULL) && (remoteServiceAdmin_getIpAdress(interface, &detectedIp) != CELIX_SUCCESS)) {
+			if ((interface != NULL) && (remoteServiceAdmin_getIpAdress((char*)interface, &detectedIp) != CELIX_SUCCESS)) {
 				logHelper_log((*admin)->loghelper, OSGI_LOGSERVICE_WARNING, "RSA: Could not retrieve IP adress for interface %s", interface);
 			}
 
@@ -174,7 +174,7 @@ celix_status_t remoteServiceAdmin_create(bundle_context_pt context, remote_servi
 				(*admin)->port = strdup(port);
 			}
 			else {
-		        char* endptr = port;
+		        char* endptr = (char*)port;
 		        int currentPort = strtol(port, &endptr, 10);
 
 				errno = 0;
@@ -399,10 +399,10 @@ celix_status_t remoteServiceAdmin_exportService(remote_service_admin_pt admin, c
 		return CELIX_ILLEGAL_STATE;
 	}
 
-	char *exports = NULL;
-	char *provided = NULL;
-	serviceReference_getProperty(reference, (char *) OSGI_RSA_SERVICE_EXPORTED_INTERFACES, &exports);
-	serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_OBJECTCLASS, &provided);
+	const char *exports = NULL;
+	const char *provided = NULL;
+	serviceReference_getProperty(reference, OSGI_RSA_SERVICE_EXPORTED_INTERFACES, &exports);
+	serviceReference_getProperty(reference, OSGI_FRAMEWORK_OBJECTCLASS, &provided);
 
 	if (exports == NULL || provided == NULL) {
 		logHelper_log(admin->loghelper, OSGI_LOGSERVICE_WARNING, "RSA: No Services to export.");
@@ -410,19 +410,21 @@ celix_status_t remoteServiceAdmin_exportService(remote_service_admin_pt admin, c
 		logHelper_log(admin->loghelper, OSGI_LOGSERVICE_INFO, "RSA: Export services (%s)", exports);
 		array_list_pt interfaces = NULL;
 		arrayList_create(&interfaces);
-		if (strcmp(utils_stringTrim(exports), "*") == 0) {
+		char *cmpExports = strndup(exports, 1024*10);
+		char *providedCopy = strndup(provided, 1024*10);
+		if (strcmp(utils_stringTrim(cmpExports), "*") == 0) {
 			char *save_ptr = NULL;
-			char *interface = strtok_r(provided, ",", &save_ptr);
+			char *interface = strtok_r(providedCopy, ",", &save_ptr);
 			while (interface != NULL) {
 				arrayList_add(interfaces, utils_stringTrim(interface));
 				interface = strtok_r(NULL, ",", &save_ptr);
 			}
 		} else {
 			char *provided_save_ptr = NULL;
-			char *pinterface = strtok_r(provided, ",", &provided_save_ptr);
+			char *pinterface = strtok_r(providedCopy, ",", &provided_save_ptr);
 			while (pinterface != NULL) {
 				char *exports_save_ptr = NULL;
-				char *einterface = strtok_r(exports, ",", &exports_save_ptr);
+				char *einterface = strtok_r(cmpExports, ",", &exports_save_ptr);
 				while (einterface != NULL) {
 					if (strcmp(einterface, pinterface) == 0) {
 						arrayList_add(interfaces, einterface);
@@ -432,6 +434,8 @@ celix_status_t remoteServiceAdmin_exportService(remote_service_admin_pt admin, c
 				pinterface = strtok_r(NULL, ",", &provided_save_ptr);
 			}
 		}
+		free(cmpExports);
+		free(providedCopy);
 
 		if (arrayList_size(interfaces) != 0) {
 			int iter = 0;
@@ -501,7 +505,7 @@ celix_status_t remoteServiceAdmin_installEndpoint(remote_service_admin_pt admin,
     serviceReference_getPropertyKeys(reference, &keys, &size);
     for (int i = 0; i < size; i++) {
         char *key = keys[i];
-        char *value = NULL;
+        const char *value = NULL;
 
         if (serviceReference_getProperty(reference, key, &value) == CELIX_SUCCESS
         		&& strcmp(key, (char*) OSGI_RSA_SERVICE_EXPORTED_INTERFACES) != 0
@@ -514,7 +518,7 @@ celix_status_t remoteServiceAdmin_installEndpoint(remote_service_admin_pt admin,
 
 	char* key = hashMapEntry_getKey(entry);
 	char *serviceId = (char *) hashMap_remove(endpointProperties, (void *) OSGI_FRAMEWORK_SERVICE_ID);
-	char *uuid = NULL;
+	const char *uuid = NULL;
 
 	char buf[512];
 	snprintf(buf, 512,  "/service/%s/%s", serviceId, interface);
@@ -590,7 +594,7 @@ celix_status_t remoteServiceAdmin_createEndpointDescription(remote_service_admin
 		status = CELIX_ENOMEM;
 	} else {
 		(*description)->id = (char*)properties_get(endpointProperties, (char*) OSGI_RSA_ENDPOINT_ID);
-		char *serviceId = NULL;
+		const char *serviceId = NULL;
 		serviceReference_getProperty(reference, (char*)OSGI_FRAMEWORK_SERVICE_ID, &serviceId);
 		(*description)->serviceId = strtoull(serviceId, NULL, 0);
 		(*description)->frameworkUUID = (char*)properties_get(endpointProperties, OSGI_RSA_ENDPOINT_FRAMEWORK_UUID);
@@ -738,7 +742,7 @@ celix_status_t remoteServiceAdmin_send(remote_service_admin_pt rsa, endpoint_des
 	int timeout = DEFAULT_TIMEOUT;
 
 	if (status == CELIX_SUCCESS) {
-		char *timeoutStr = NULL;
+		const char *timeoutStr = NULL;
 
 		// Check if the endpoint has a timeout, if so, use it.
 		timeoutStr = (char*)properties_get(endpointDescription->properties, OSGI_RSA_REMOTE_PROXY_TIMEOUT);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/remote_service_admin_shm/private/src/remote_service_admin_impl.c
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin_shm/private/src/remote_service_admin_impl.c b/remote_services/remote_service_admin_shm/private/src/remote_service_admin_impl.c
index 8060a52..c760590 100644
--- a/remote_services/remote_service_admin_shm/private/src/remote_service_admin_impl.c
+++ b/remote_services/remote_service_admin_shm/private/src/remote_service_admin_impl.c
@@ -407,7 +407,7 @@ celix_status_t remoteServiceAdmin_removeSharedIdentityFile(remote_service_admin_
 
 celix_status_t remoteServiceAdmin_removeSharedIdentityFiles(remote_service_admin_pt admin) {
 	char tmpDir[RSA_FILEPATH_LENGTH];
-	char* fwUuid = NULL;
+	const char* fwUuid = NULL;
 	bundleContext_getProperty(admin->context, OSGI_FRAMEWORK_FRAMEWORK_UUID, &fwUuid);
 
 	snprintf(tmpDir, RSA_FILEPATH_LENGTH, "%s/%s", P_tmpdir, fwUuid);
@@ -463,8 +463,8 @@ celix_status_t remoteServiceAdmin_exportService(remote_service_admin_pt admin, c
 	array_list_pt references = NULL;
 	service_reference_pt reference = NULL;
 	char filter[256];
-	char *exports = NULL;
-	char *provided = NULL;
+	const char *exportsProp = NULL;
+	const char *providedProp = NULL;
 
 	snprintf(filter, 256, "(%s=%s)", (char *) OSGI_FRAMEWORK_SERVICE_ID, serviceId);
 
@@ -476,9 +476,11 @@ celix_status_t remoteServiceAdmin_exportService(remote_service_admin_pt admin, c
 
 	arrayList_destroy(references);
 
-	serviceReference_getProperty(reference, (char *) OSGI_RSA_SERVICE_EXPORTED_INTERFACES, &exports);
-	serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_OBJECTCLASS, &provided);
+	serviceReference_getProperty(reference, (char *) OSGI_RSA_SERVICE_EXPORTED_INTERFACES, &exportsProp);
+	serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_OBJECTCLASS, &providedProp);
 
+	char* exports = strndup(exportsProp, 1024*10);
+	char* provided = strndup(providedProp, 1024*10);
 
 	if (reference == NULL) {
 		logHelper_log(admin->loghelper, OSGI_LOGSERVICE_ERROR, "expected a reference for service id %s.", serviceId);
@@ -557,6 +559,9 @@ celix_status_t remoteServiceAdmin_exportService(remote_service_admin_pt admin, c
 		arrayList_destroy(interfaces);
 	}
 
+	free(exports);
+	free(provided);
+
 	return status;
 }
 
@@ -729,7 +734,7 @@ celix_status_t remoteServiceAdmin_installEndpoint(remote_service_admin_pt admin,
 	serviceReference_getPropertyKeys(reference, &keys, &size);
 	for (int i = 0; i < size; i++) {
 		char *key = keys[i];
-		char *value = NULL;
+		const char *value = NULL;
 
 		if (serviceReference_getProperty(reference, key, &value) == CELIX_SUCCESS && strcmp(key, (char*) OSGI_RSA_SERVICE_EXPORTED_INTERFACES) != 0 && strcmp(key, (char*) OSGI_FRAMEWORK_OBJECTCLASS) != 0) {
 			properties_set(endpointProperties, key, value);
@@ -740,7 +745,7 @@ celix_status_t remoteServiceAdmin_installEndpoint(remote_service_admin_pt admin,
 
 	char* key = hashMapEntry_getKey(entry);
 	char *serviceId = (char *) hashMap_remove(endpointProperties, (void *) OSGI_FRAMEWORK_SERVICE_ID);
-	char *uuid = NULL;
+	const char *uuid = NULL;
 
 	uuid_t endpoint_uid;
 	uuid_generate(endpoint_uid);
@@ -758,8 +763,8 @@ celix_status_t remoteServiceAdmin_installEndpoint(remote_service_admin_pt admin,
 	if (properties_get(endpointProperties, (char *) RSA_SHM_PATH_PROPERTYNAME) == NULL) {
 		char sharedIdentifierFile[RSA_FILEPATH_LENGTH];
 
-		if (remoteServiceAdmin_getSharedIdentifierFile(admin, uuid, interface, sharedIdentifierFile) == CELIX_SUCCESS) {
-			properties_set(endpointProperties, (char *) RSA_SHM_PATH_PROPERTYNAME, sharedIdentifierFile);
+		if (remoteServiceAdmin_getSharedIdentifierFile(admin, (char*)uuid, interface, sharedIdentifierFile) == CELIX_SUCCESS) {
+			properties_set(endpointProperties, RSA_SHM_PATH_PROPERTYNAME, sharedIdentifierFile);
 		} else {
 			properties_set(endpointProperties, (char *) RSA_SHM_PATH_PROPERTYNAME, (char *) RSA_SHM_DEFAULTPATH);
 		}
@@ -770,7 +775,7 @@ celix_status_t remoteServiceAdmin_installEndpoint(remote_service_admin_pt admin,
 	if (properties_get(endpointProperties, (char *) RSA_SEM_PATH_PROPERTYNAME) == NULL) {
 		char sharedIdentifierFile[RSA_FILEPATH_LENGTH];
 
-		if (remoteServiceAdmin_getSharedIdentifierFile(admin, uuid, interface, sharedIdentifierFile) == CELIX_SUCCESS) {
+		if (remoteServiceAdmin_getSharedIdentifierFile(admin, (char*)uuid, interface, sharedIdentifierFile) == CELIX_SUCCESS) {
 			properties_set(endpointProperties, (char *) RSA_SEM_PATH_PROPERTYNAME, sharedIdentifierFile);
 		} else {
 			properties_set(endpointProperties, (char *) RSA_SEM_PATH_PROPERTYNAME, (char *) RSA_SEM_DEFAULTPATH);
@@ -801,7 +806,7 @@ celix_status_t remoteServiceAdmin_createEndpointDescription(remote_service_admin
 		if (status == CELIX_SUCCESS) {
 			(*description)->properties = endpointProperties;
 			(*description)->frameworkUUID = (char*)properties_get(endpointProperties, (char*) OSGI_RSA_ENDPOINT_FRAMEWORK_UUID);
-			char *serviceId = NULL;
+			const char *serviceId = NULL;
 			serviceReference_getProperty(reference, (char*)OSGI_FRAMEWORK_SERVICE_ID, &serviceId);
 			(*description)->serviceId = strtoull(serviceId, NULL, 0);
 			(*description)->id = (char*)properties_get(endpointProperties, (char*) OSGI_RSA_ENDPOINT_ID);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/topology_manager/private/src/activator.c
----------------------------------------------------------------------
diff --git a/remote_services/topology_manager/private/src/activator.c b/remote_services/topology_manager/private/src/activator.c
index 1ec4fed..7f39a25 100644
--- a/remote_services/topology_manager/private/src/activator.c
+++ b/remote_services/topology_manager/private/src/activator.c
@@ -179,8 +179,8 @@ celix_status_t bundleActivator_start(void * userData, bundle_context_pt context)
 	endpointListener->endpointRemoved = topologyManager_removeImportedService;
 	activator->endpointListener = endpointListener;
 
-	char *uuid = NULL;
-	status = bundleContext_getProperty(activator->context, (char *) OSGI_FRAMEWORK_FRAMEWORK_UUID, &uuid);
+	const char *uuid = NULL;
+	status = bundleContext_getProperty(activator->context, OSGI_FRAMEWORK_FRAMEWORK_UUID, &uuid);
 	if (!uuid) {
 		logHelper_log(activator->loghelper, OSGI_LOGSERVICE_ERROR, "TOPOLOGY_MANAGER: no framework UUID defined?!");
 		return CELIX_ILLEGAL_STATE;
@@ -228,10 +228,10 @@ celix_status_t bundleActivator_start(void * userData, bundle_context_pt context)
 	int i;
 	for (i = 0; i < arrayList_size(references); i++) {
 		service_reference_pt reference = arrayList_get(references, i);
-		char *serviceId = NULL;
-		status = CELIX_DO_IF(status, serviceReference_getProperty(reference, (char *)OSGI_FRAMEWORK_SERVICE_ID, &serviceId));
+		const char* serviceId = NULL;
+		status = CELIX_DO_IF(status, serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_ID, &serviceId));
 
-		CELIX_DO_IF(status, topologyManager_addExportedService(activator->manager, reference, serviceId));
+		CELIX_DO_IF(status, topologyManager_addExportedService(activator->manager, reference, (char*)serviceId));
 	}
 	arrayList_destroy(references);
 

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/topology_manager/private/src/scope.c
----------------------------------------------------------------------
diff --git a/remote_services/topology_manager/private/src/scope.c b/remote_services/topology_manager/private/src/scope.c
index 59e030c..b600040 100644
--- a/remote_services/topology_manager/private/src/scope.c
+++ b/remote_services/topology_manager/private/src/scope.c
@@ -286,7 +286,7 @@ celix_status_t scope_getExportProperties(scope_pt scope, service_reference_pt re
     serviceReference_getPropertyKeys(reference, &keys, &size);
     for (int i = 0; i < size; i++) {
         char *key = keys[i];
-        char *value = NULL;
+        const char* value = NULL;
 
         if (serviceReference_getProperty(reference, key, &value) == CELIX_SUCCESS) {
 //        		&& strcmp(key, (char*) OSGI_RSA_SERVICE_EXPORTED_INTERFACES) != 0

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/topology_manager/private/src/topology_manager.c
----------------------------------------------------------------------
diff --git a/remote_services/topology_manager/private/src/topology_manager.c b/remote_services/topology_manager/private/src/topology_manager.c
index f4d27a8..09f069d 100644
--- a/remote_services/topology_manager/private/src/topology_manager.c
+++ b/remote_services/topology_manager/private/src/topology_manager.c
@@ -246,14 +246,14 @@ celix_status_t topologyManager_rsaAdded(void * handle, service_reference_pt refe
 			while (hashMapIterator_hasNext(exportedServicesIterator)) {
 				hash_map_entry_pt entry = hashMapIterator_nextEntry(exportedServicesIterator);
 				service_reference_pt reference = hashMapEntry_getKey(entry);
-				char *serviceId = NULL;
+				const char* serviceId = NULL;
 
-				serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_SERVICE_ID, &serviceId);
+				serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_ID, &serviceId);
 
 				scope_getExportProperties(manager->scope, reference, &serviceProperties);
 
 				array_list_pt endpoints = NULL;
-				status = rsa->exportService(rsa->admin, serviceId, serviceProperties, &endpoints);
+				status = rsa->exportService(rsa->admin, (char*)serviceId, serviceProperties, &endpoints);
 
 				if (status == CELIX_SUCCESS) {
 					hash_map_pt exports = hashMapEntry_getValue(entry);
@@ -370,10 +370,10 @@ celix_status_t topologyManager_serviceChanged(void *listener, service_event_pt e
 	service_listener_pt listen = listener;
 	topology_manager_pt manager = listen->handle;
 
-	char *export = NULL;
-	char *serviceId = NULL;
-	serviceReference_getProperty(event->reference, (char *) OSGI_RSA_SERVICE_EXPORTED_INTERFACES, &export);
-	serviceReference_getProperty(event->reference, (char *) OSGI_FRAMEWORK_SERVICE_ID, &serviceId);
+	const char* export = NULL;
+	const char* serviceId = NULL;
+	serviceReference_getProperty(event->reference, OSGI_RSA_SERVICE_EXPORTED_INTERFACES, &export);
+	serviceReference_getProperty(event->reference, OSGI_FRAMEWORK_SERVICE_ID, &serviceId);
 
 	if (!export) {
 		// Nothing needs to be done: we're not interested...
@@ -382,17 +382,17 @@ celix_status_t topologyManager_serviceChanged(void *listener, service_event_pt e
 
 	switch (event->type) {
 	case OSGI_FRAMEWORK_SERVICE_EVENT_REGISTERED:
-		status = topologyManager_addExportedService(manager, event->reference, serviceId);
+		status = topologyManager_addExportedService(manager, event->reference, (char*)serviceId);
 		break;
 	case OSGI_FRAMEWORK_SERVICE_EVENT_MODIFIED:
-		status = topologyManager_removeExportedService(manager, event->reference, serviceId);
+		status = topologyManager_removeExportedService(manager, event->reference, (char*)serviceId);
 
 		if (status == CELIX_SUCCESS) {
-			status = topologyManager_addExportedService(manager, event->reference, serviceId);
+			status = topologyManager_addExportedService(manager, event->reference, (char*)serviceId);
 		}
 		break;
 	case OSGI_FRAMEWORK_SERVICE_EVENT_UNREGISTERING:
-		status = topologyManager_removeExportedService(manager, event->reference, serviceId);
+		status = topologyManager_removeExportedService(manager, event->reference, (char*)serviceId);
 		break;
 	case OSGI_FRAMEWORK_SERVICE_EVENT_MODIFIED_ENDMATCH:
 		break;
@@ -405,7 +405,7 @@ celix_status_t topologyManager_exportScopeChanged(void *handle, char *filterStr)
 	celix_status_t status = CELIX_SUCCESS;
 	topology_manager_pt manager = (topology_manager_pt) handle;
 	service_registration_pt reg = NULL;
-	char *serviceId = NULL;
+	const char* serviceId = NULL;
 	bool found;
 	properties_pt props;
 	filter_pt filter = filter_create(filterStr);
@@ -436,8 +436,8 @@ celix_status_t topologyManager_exportScopeChanged(void *handle, char *filterStr)
 				status = filter_match(filter, props, &found);
 				if (found) {
 					srvRefs[nrFound] = reference;
-					serviceReference_getProperty(reference, (char *) OSGI_FRAMEWORK_SERVICE_ID, &serviceId);
-					srvIds[nrFound++] = serviceId;
+					serviceReference_getProperty(reference, OSGI_FRAMEWORK_SERVICE_ID, &serviceId);
+					srvIds[nrFound++] = (char*)serviceId;
 				}
 			}
 		}
@@ -448,7 +448,7 @@ celix_status_t topologyManager_exportScopeChanged(void *handle, char *filterStr)
 		if (nrFound > 0) {
 			for (int i = 0; i < nrFound; i++) {
 				// Question: can srvRefs become invalid meanwhile??
-						char *export = NULL;
+				const char* export = NULL;
 				serviceReference_getProperty(srvRefs[i], (char *) OSGI_RSA_SERVICE_EXPORTED_INTERFACES, &export);
 
 				if (export) {
@@ -698,7 +698,7 @@ celix_status_t topologyManager_endpointListenerAdding(void* handle, service_refe
 celix_status_t topologyManager_endpointListenerAdded(void* handle, service_reference_pt reference, void* service) {
 	celix_status_t status = CELIX_SUCCESS;
 	topology_manager_pt manager = handle;
-	char *scope = NULL;
+	const char* scope = NULL;
 
 	logHelper_log(manager->loghelper, OSGI_LOGSERVICE_INFO, "TOPOLOGY_MANAGER: Added ENDPOINT_LISTENER");
 
@@ -706,7 +706,7 @@ celix_status_t topologyManager_endpointListenerAdded(void* handle, service_refer
 		hashMap_put(manager->listenerList, reference, NULL);
 		celixThreadMutex_unlock(&manager->listenerListLock);
 
-		serviceReference_getProperty(reference, (char *) OSGI_ENDPOINT_LISTENER_SCOPE, &scope);
+		serviceReference_getProperty(reference, OSGI_ENDPOINT_LISTENER_SCOPE, &scope);
 
 		filter_pt filter = filter_create(scope);
 		hash_map_iterator_pt refIter = hashMapIterator_create(manager->exportedServices);
@@ -733,7 +733,7 @@ celix_status_t topologyManager_endpointListenerAdded(void* handle, service_refer
 						filter_match(filter, endpoint->properties, &matchResult);
 						if (matchResult) {
 							endpoint_listener_pt listener = (endpoint_listener_pt) service;
-							status = listener->endpointAdded(listener->handle, endpoint, scope);
+							status = listener->endpointAdded(listener->handle, endpoint, (char*)scope);
 						}
 					}
 				}
@@ -783,11 +783,11 @@ celix_status_t topologyManager_notifyListenersEndpointAdded(topology_manager_pt
 
 		hash_map_iterator_pt iter = hashMapIterator_create(manager->listenerList);
 		while (hashMapIterator_hasNext(iter)) {
-			char *scope = NULL;
+			const char* scope = NULL;
 			endpoint_listener_pt epl = NULL;
 			service_reference_pt reference = hashMapIterator_nextKey(iter);
 
-			serviceReference_getProperty(reference, (char *) OSGI_ENDPOINT_LISTENER_SCOPE, &scope);
+			serviceReference_getProperty(reference, OSGI_ENDPOINT_LISTENER_SCOPE, &scope);
 
 			status = bundleContext_getService(manager->context, reference, (void **) &epl);
 			if (status == CELIX_SUCCESS) {
@@ -802,7 +802,7 @@ celix_status_t topologyManager_notifyListenersEndpointAdded(topology_manager_pt
 						bool matchResult = false;
 						filter_match(filter, endpoint->properties, &matchResult);
 						if (matchResult) {
-							status = epl->endpointAdded(epl->handle, endpoint, scope);
+							status = epl->endpointAdded(epl->handle, endpoint, (char*)scope);
 						}
 					} else {
 						status = substatus;
@@ -827,10 +827,10 @@ celix_status_t topologyManager_notifyListenersEndpointRemoved(topology_manager_p
 			endpoint_description_pt endpoint = NULL;
 			endpoint_listener_pt epl = NULL;
 			celix_status_t substatus;
-			char *scope = NULL;
+			const char* scope = NULL;
 
 			service_reference_pt reference = hashMapIterator_nextKey(iter);
-			serviceReference_getProperty(reference, (char *) OSGI_ENDPOINT_LISTENER_SCOPE, &scope);
+			serviceReference_getProperty(reference, OSGI_ENDPOINT_LISTENER_SCOPE, &scope);
 
 			substatus = bundleContext_getService(manager->context, reference, (void **) &epl);
 
@@ -858,9 +858,9 @@ celix_status_t topologyManager_notifyListenersEndpointRemoved(topology_manager_p
 celix_status_t topologyManager_extendFilter(topology_manager_pt manager, char *filter, char **updatedFilter) {
 	celix_status_t status;
 	bundle_context_pt context = manager->context;
-	char* uuid = NULL;
+	const char* uuid = NULL;
 
-	status = bundleContext_getProperty(context, (char *) OSGI_FRAMEWORK_FRAMEWORK_UUID, &uuid);
+	status = bundleContext_getProperty(context, OSGI_FRAMEWORK_FRAMEWORK_UUID, &uuid);
 
 	if (!uuid) {
 		logHelper_log(manager->loghelper, OSGI_LOGSERVICE_ERROR, "TOPOLOGY_MANAGER: no framework UUID defined?!");

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_services/topology_manager/tms_tst/disc_mock/disc_mock_activator.c
----------------------------------------------------------------------
diff --git a/remote_services/topology_manager/tms_tst/disc_mock/disc_mock_activator.c b/remote_services/topology_manager/tms_tst/disc_mock/disc_mock_activator.c
index 15f128f..53fccd7 100644
--- a/remote_services/topology_manager/tms_tst/disc_mock/disc_mock_activator.c
+++ b/remote_services/topology_manager/tms_tst/disc_mock/disc_mock_activator.c
@@ -61,10 +61,10 @@ celix_status_t bundleActivator_create(bundle_context_pt context, void **out) {
 celix_status_t bundleActivator_start(void * userData, bundle_context_pt context) {
     celix_status_t status;
     struct disc_mock_activator * act = userData;
-    char *uuid = NULL;
+    const char *uuid = NULL;
 
     act->reg = NULL;
-    status = bundleContext_registerService(context, (char *) DISC_MOCK_SERVICE_NAME, act->serv, NULL, &act->reg);
+    status = bundleContext_registerService(context, DISC_MOCK_SERVICE_NAME, act->serv, NULL, &act->reg);
 
     bundleContext_getProperty(context, OSGI_FRAMEWORK_FRAMEWORK_UUID, &uuid);
 

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/remote_shell/private/src/activator.c
----------------------------------------------------------------------
diff --git a/remote_shell/private/src/activator.c b/remote_shell/private/src/activator.c
index 4344258..541eda6 100644
--- a/remote_shell/private/src/activator.c
+++ b/remote_shell/private/src/activator.c
@@ -131,12 +131,12 @@ static int bundleActivator_getMaximumConnections(bundle_instance_pt bi, bundle_c
 }
 
 static int bundleActivator_getProperty(bundle_instance_pt bi, bundle_context_pt context, char* propertyName, int defaultValue) {
-	char *strValue = NULL;
+	const char *strValue = NULL;
 	int value;
 
 	bundleContext_getProperty(context, propertyName, &strValue);
 	if (strValue != NULL) {
-		char* endptr = strValue;
+		char* endptr = (char*)strValue;
 
 		errno = 0;
 		value = strtol(strValue, &endptr, 10);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/shell/private/src/inspect_command.c
----------------------------------------------------------------------
diff --git a/shell/private/src/inspect_command.c b/shell/private/src/inspect_command.c
index 24a343b..206319b 100644
--- a/shell/private/src/inspect_command.c
+++ b/shell/private/src/inspect_command.c
@@ -143,7 +143,7 @@ celix_status_t inspectCommand_printExportedServices(bundle_context_pt context, a
 									serviceReference_getPropertyKeys(ref, &keys, &size);
 									for (int k = 0; k < size; k++) {
 									    char *key = keys[k];
-									    char *value = NULL;
+									    const char *value = NULL;
 									    serviceReference_getProperty(ref, key, &value);
 
 										fprintf(outStream, "%s = %s\n", key, value);
@@ -239,7 +239,7 @@ celix_status_t inspectCommand_printImportedServices(bundle_context_pt context, a
                                     serviceReference_getPropertyKeys(ref, &keys, &size);
                                     for (int k = 0; k < size; k++) {
                                         char *key = keys[k];
-                                        char *value = NULL;
+                                        const char *value = NULL;
                                         serviceReference_getProperty(ref, key, &value);
 
 										fprintf(outStream, "%s = %s\n", key, value);

http://git-wip-us.apache.org/repos/asf/celix/blob/2cd57a78/shell/private/src/shell.c
----------------------------------------------------------------------
diff --git a/shell/private/src/shell.c b/shell/private/src/shell.c
index 9956ce2..e4fef47 100644
--- a/shell/private/src/shell.c
+++ b/shell/private/src/shell.c
@@ -110,7 +110,7 @@ celix_status_t shell_destroy(shell_service_pt *shell_service_ptr) {
 celix_status_t shell_addCommand(shell_pt shell_ptr, service_reference_pt reference_ptr, void *svc) {
     celix_status_t status = CELIX_SUCCESS;
     command_service_pt command_ptr = NULL;
-    char *name_str = NULL;
+    const char *name_str = NULL;
 
     if (!shell_ptr || !reference_ptr) {
         return CELIX_ILLEGAL_ARGUMENT;
@@ -129,7 +129,7 @@ celix_status_t shell_addCommand(shell_pt shell_ptr, service_reference_pt referen
     }
 
     if (status == CELIX_SUCCESS) {
-        hashMap_put(shell_ptr->command_name_map_ptr, name_str, command_ptr);
+        hashMap_put(shell_ptr->command_name_map_ptr, (char *)name_str, command_ptr);
         hashMap_put(shell_ptr->command_reference_map_ptr, reference_ptr, command_ptr);
     }
 
@@ -147,7 +147,7 @@ celix_status_t shell_removeCommand(shell_pt shell_ptr, service_reference_pt refe
     celix_status_t status = CELIX_SUCCESS;
 
     command_service_pt command_ptr = NULL;
-    char *name_str = NULL;
+    const char *name_str = NULL;
 
     if (!shell_ptr || !reference_ptr) {
         status = CELIX_ILLEGAL_ARGUMENT;
@@ -168,7 +168,7 @@ celix_status_t shell_removeCommand(shell_pt shell_ptr, service_reference_pt refe
     }
 
     if (status == CELIX_SUCCESS) {
-        hashMap_remove(shell_ptr->command_name_map_ptr, name_str);
+        hashMap_remove(shell_ptr->command_name_map_ptr, (char *)name_str);
     }
 
     return status;
@@ -220,7 +220,7 @@ celix_status_t shell_getCommandUsage(shell_pt shell_ptr, char *command_name_str,
 	}
 
 	if (status == CELIX_SUCCESS) {
-		status = serviceReference_getProperty(reference, "command.usage", usage_pstr);
+		status = serviceReference_getProperty(reference, "command.usage", (const char**)usage_pstr);
 	}
 
 	return status;
@@ -243,7 +243,7 @@ celix_status_t shell_getCommandDescription(shell_pt shell_ptr, char *command_nam
 	}
 
 	if (status == CELIX_SUCCESS) {
-		serviceReference_getProperty(reference, "command.description", command_description_pstr);
+		serviceReference_getProperty(reference, "command.description", (const char**)command_description_pstr);
 	}
 
 	return status;
@@ -262,7 +262,7 @@ celix_status_t shell_getCommandReference(shell_pt shell_ptr, char *command_name_
 		while (hashMapIterator_hasNext(iter)) {
 			hash_map_entry_pt entry = hashMapIterator_nextEntry(iter);
 			service_reference_pt reference = hashMapEntry_getKey(entry);
-			char *name_str = NULL;
+			const char *name_str = NULL;
 			serviceReference_getProperty(reference, "command.name", &name_str);
 			if (strcmp(name_str, command_name_str) == 0) {
 				*command_reference_ptr = (service_reference_pt) hashMapEntry_getKey(entry);


Mime
View raw message