This is an automated email from the ASF dual-hosted git repository.
pnoltes pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/celix.git
The following commit(s) were added to refs/heads/master by this push:
new e8336a8fd Remove filter.h and replace usage with celix_filter.h
e8336a8fd is described below
commit e8336a8fdbe7bb3589e02ca1f224bf4ddb32877b
Author: Pepijn Noltes <[email protected]>
AuthorDate: Mon Mar 2 22:20:01 2026 +0100
Remove filter.h and replace usage with celix_filter.h
---
.../discovery_common/src/discovery.c | 3 +-
.../discovery_etcd/src/discovery_impl.c | 2 +-
.../remote_services/topology_manager/src/scope.c | 34 +++++++-------
.../topology_manager/src/topology_manager.c | 10 ++--
.../include_deprecated/service_registry.h | 4 +-
libs/framework/src/service_registry.c | 8 ++--
libs/utils/gtest/src/FilterTestSuite.cc | 22 ---------
libs/utils/include_deprecated/filter.h | 54 ----------------------
libs/utils/src/filter.c | 1 -
.../service/private/include/configuration_store.h | 4 +-
.../service/private/src/configuration_store.c | 2 +-
11 files changed, 32 insertions(+), 112 deletions(-)
diff --git a/bundles/remote_services/discovery_common/src/discovery.c
b/bundles/remote_services/discovery_common/src/discovery.c
index 1ef701f6b..a6fd632ef 100644
--- a/bundles/remote_services/discovery_common/src/discovery.c
+++ b/bundles/remote_services/discovery_common/src/discovery.c
@@ -30,7 +30,6 @@
#include <string.h>
#include "celix_filter.h"
-#include "filter.h"
#include "celix_threads.h"
#include "bundle_context.h"
#include "celix_log_helper.h"
@@ -103,7 +102,7 @@ celix_status_t discovery_endpointListenerAdded(void*
handle, service_reference_p
endpoint_description_t *endpoint =
hashMapIterator_nextValue(iter);
bool matchResult = false;
- filter_match(filter, endpoint->properties,
&matchResult);
+ matchResult = celix_filter_match(filter,
endpoint->properties);
if (matchResult) {
endpoint_listener_t *listener = service;
diff --git a/bundles/remote_services/discovery_etcd/src/discovery_impl.c
b/bundles/remote_services/discovery_etcd/src/discovery_impl.c
index 698e38ddb..5b7763485 100644
--- a/bundles/remote_services/discovery_etcd/src/discovery_impl.c
+++ b/bundles/remote_services/discovery_etcd/src/discovery_impl.c
@@ -29,7 +29,7 @@
#include "bundle_context.h"
#include "celix_utils.h"
#include "celix_errno.h"
-#include "filter.h"
+#include "celix_filter.h"
#include "service_reference.h"
diff --git a/bundles/remote_services/topology_manager/src/scope.c
b/bundles/remote_services/topology_manager/src/scope.c
index c9b900a9e..a7532f2e7 100644
--- a/bundles/remote_services/topology_manager/src/scope.c
+++ b/bundles/remote_services/topology_manager/src/scope.c
@@ -24,7 +24,7 @@
#include "tm_scope.h"
#include "topology_manager.h"
#include "celix_utils.h"
-#include "filter.h"
+#include "celix_filter.h"
static bool import_equal(celix_array_list_entry_t src,
celix_array_list_entry_t dest);
@@ -124,7 +124,7 @@ celix_status_t tm_addImportScope(void *handle, char
*filter) {
memset(&entry, 0, sizeof(entry));
entry.voidPtrVal = new;
int index = celix_arrayList_indexOf(scope->importScopes, entry);
- filter_pt present = (filter_pt)
celix_arrayList_get(scope->importScopes, index);
+ celix_filter_t* present = celix_arrayList_get(scope->importScopes,
index);
if (present == NULL) {
celix_arrayList_add(scope->importScopes, celix_steal_ptr(new));
} else {
@@ -142,12 +142,12 @@ celix_status_t tm_addImportScope(void *handle, char
*filter) {
celix_status_t tm_removeImportScope(void *handle, char *filter) {
celix_status_t status = CELIX_SUCCESS;
scope_pt scope = (scope_pt) handle;
- filter_pt new;
+ celix_filter_t* new;
if (handle == NULL)
return CELIX_ILLEGAL_ARGUMENT;
- new = filter_create(filter);
+ new = celix_filter_create(filter);
if (new == NULL) {
return CELIX_ILLEGAL_ARGUMENT; // filter not parsable
}
@@ -157,19 +157,19 @@ celix_status_t tm_removeImportScope(void *handle, char
*filter) {
memset(&entry, 0, sizeof(entry));
entry.voidPtrVal = new;
int index = celix_arrayList_indexOf(scope->importScopes, entry);
- filter_pt present = (filter_pt)
celix_arrayList_get(scope->importScopes, index);
+ celix_filter_t* present = celix_arrayList_get(scope->importScopes,
index);
if (present == NULL)
status = CELIX_ILLEGAL_ARGUMENT;
else {
celix_arrayList_remove(scope->importScopes, present);
- filter_destroy(present);
+ celix_filter_destroy(present);
}
celixThreadMutex_unlock(&scope->importScopeLock);
}
if (scope->importScopeChangedHandler != NULL) {
status = CELIX_DO_IF(status,
scope->importScopeChangedHandler(scope->manager, filter));
}
- filter_destroy(new);
+ celix_filter_destroy(new);
return status;
}
@@ -228,8 +228,8 @@ celix_status_t scope_scopeDestroy(scope_pt scope) {
if (celixThreadMutex_lock(&scope->importScopeLock) == CELIX_SUCCESS) {
for (int i = 0; i < celix_arrayList_size(scope->importScopes); i++) {
- filter_pt element = (filter_pt)
celix_arrayList_get(scope->importScopes, i);
- filter_destroy(element);
+ celix_filter_t* element = celix_arrayList_get(scope->importScopes,
i);
+ celix_filter_destroy(element);
}
celix_arrayList_destroy(scope->importScopes);
celixThreadMutex_unlock(&scope->importScopeLock);
@@ -245,13 +245,11 @@ celix_status_t scope_scopeDestroy(scope_pt scope) {
* STATIC FUNCTIONS
*****************************************************************************/
static bool import_equal(celix_array_list_entry_t src,
celix_array_list_entry_t dest) {
- celix_status_t status;
-
- filter_pt src_filter = (filter_pt) src.voidPtrVal;
- filter_pt dest_filter = (filter_pt) dest.voidPtrVal;
+ celix_filter_t* src_filter = src.voidPtrVal;
+ celix_filter_t* dest_filter = dest.voidPtrVal;
bool result;
- status = filter_match_filter(src_filter, dest_filter, &result);
- return (status == CELIX_SUCCESS) && result;
+ result = celix_filter_equals(src_filter, dest_filter);
+ return result;
}
bool scope_allowImport(scope_pt scope, endpoint_description_t *endpoint) {
@@ -262,8 +260,8 @@ bool scope_allowImport(scope_pt scope,
endpoint_description_t *endpoint) {
allowImport = true;
} else {
for (int i = 0; i < celix_arrayList_size(scope->importScopes);
i++) {
- filter_pt element = (filter_pt)
celix_arrayList_get(scope->importScopes, i);
- filter_match(element, endpoint->properties, &allowImport);
+ celix_filter_t* element =
celix_arrayList_get(scope->importScopes, i);
+ allowImport = celix_filter_match(element,
endpoint->properties);
if (allowImport) {
break;
}
@@ -310,7 +308,7 @@ celix_status_t scope_getExportProperties(scope_pt scope,
service_reference_pt re
celix_autoptr(celix_filter_t) filter =
celix_filter_create(filterStr);
if (filter != NULL) {
// test if the scope filter matches the exported service
properties
- status = filter_match(filter, serviceProperties, &found);
+ found = celix_filter_match(filter, serviceProperties);
if (found) {
struct scope_item *item = (struct scope_item *)
hashMapEntry_getValue(scopedEntry);
*props = item->props;
diff --git a/bundles/remote_services/topology_manager/src/topology_manager.c
b/bundles/remote_services/topology_manager/src/topology_manager.c
index b7b61ce82..04cd630f7 100644
--- a/bundles/remote_services/topology_manager/src/topology_manager.c
+++ b/bundles/remote_services/topology_manager/src/topology_manager.c
@@ -41,7 +41,7 @@
#include "celix_bundle.h"
#include "remote_service_admin.h"
#include "remote_constants.h"
-#include "filter.h"
+#include "celix_filter.h"
#include "listener_hook_service.h"
#include "celix_utils.h"
#include "service_reference.h"
@@ -690,7 +690,6 @@ celix_status_t topologyManager_rsaRemoved(void * handle,
service_reference_pt re
}
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_t *reg = NULL;
bool found;
@@ -722,13 +721,14 @@ celix_status_t topologyManager_exportScopeChanged(void
*handle, char *filterStr)
if (reg != NULL) {
props = NULL;
serviceRegistration_getProperties(reg, &props);
- status = filter_match(filter, props, &found);
+ found = celix_filter_match(filter, props);
if (found) {
srvRefs[nrFound++] = reference;
}
}
}
+ celix_status_t status = CELIX_SUCCESS;
if (nrFound > 0) {
for (int i = 0; i < nrFound; i++) {
// Question: can srvRefs become invalid meanwhile??
@@ -1131,7 +1131,7 @@ celix_status_t
topologyManager_endpointListenerAdded(void* handle, service_refer
status =
topologyManager_getEndpointDescriptionForExportRegistration(rsaSvcEntry->rsa,
export, &endpoint);
if (status == CELIX_SUCCESS) {
bool matchResult = false;
- filter_match(filter,
endpoint->properties, &matchResult);
+ matchResult =
celix_filter_match(filter, endpoint->properties);
if (matchResult) {
endpoint_listener_t *listener =
(endpoint_listener_t *) service;
status =
listener->endpointAdded(listener->handle, endpoint, (char*)scope);
@@ -1202,7 +1202,7 @@ static celix_status_t
topologyManager_notifyListenersEndpointAdded(topology_mana
celix_status_t substatus =
topologyManager_getEndpointDescriptionForExportRegistration(rsa, export,
&endpoint);
if (substatus == CELIX_SUCCESS) {
bool matchResult = false;
- filter_match(filter,
endpoint->properties, &matchResult);
+ matchResult =
celix_filter_match(filter, endpoint->properties);
if (matchResult) {
status =
epl->endpointAdded(epl->handle, endpoint, (char*)scope);
}
diff --git a/libs/framework/include_deprecated/service_registry.h
b/libs/framework/include_deprecated/service_registry.h
index 155c8ee72..3b4a9b466 100644
--- a/libs/framework/include_deprecated/service_registry.h
+++ b/libs/framework/include_deprecated/service_registry.h
@@ -21,7 +21,7 @@
#define SERVICE_REGISTRY_H_
#include "celix_properties.h"
-#include "filter.h"
+#include "celix_filter.h"
#include "service_factory.h"
#include "celix_service_event.h"
#include "celix_array_list.h"
@@ -64,7 +64,7 @@ CELIX_FRAMEWORK_EXPORT celix_status_t
serviceRegistry_getServiceReference(celix_
CELIX_FRAMEWORK_EXPORT celix_status_t
serviceRegistry_getServiceReferences(celix_service_registry_t* registry,
celix_bundle_t *bundle, const char *serviceName,
- filter_pt filter, celix_array_list_t
**references);
+ celix_filter_t* filter,
celix_array_list_t **references);
CELIX_FRAMEWORK_EXPORT celix_status_t
serviceRegistry_clearReferencesFor(celix_service_registry_t* registry,
celix_bundle_t *bundle);
diff --git a/libs/framework/src/service_registry.c
b/libs/framework/src/service_registry.c
index b7e8e7dd7..f8a510617 100644
--- a/libs/framework/src/service_registry.c
+++ b/libs/framework/src/service_registry.c
@@ -327,7 +327,7 @@ static celix_status_t
serviceRegistry_getServiceReference_internal(service_regis
celix_status_t serviceRegistry_getServiceReferences(service_registry_pt
registry,
bundle_pt owner,
const char* serviceName,
- filter_pt filter,
+ celix_filter_t* filter,
celix_array_list_t** out) {
bool matchResult;
celix_autoptr(celix_array_list_t) references = celix_arrayList_create();
@@ -353,7 +353,7 @@ celix_status_t
serviceRegistry_getServiceReferences(service_registry_pt registry
bool matched = false;
matchResult = false;
if (filter != NULL) {
- filter_match(filter, props, &matchResult);
+ matchResult = celix_filter_match(filter, props);
}
if ((serviceName == NULL) && ((filter == NULL) ||
matchResult)) {
matched = true;
@@ -362,7 +362,7 @@ celix_status_t
serviceRegistry_getServiceReferences(service_registry_pt registry
matchResult = false;
serviceRegistration_getServiceName(registration,
&className);
if (filter != NULL) {
- filter_match(filter, props, &matchResult);
+ matchResult = celix_filter_match(filter, props);
}
if ((strcmp(className, serviceName) == 0) && ((filter ==
NULL) || matchResult)) {
matched = true;
@@ -1074,7 +1074,7 @@ static void
celix_serviceRegistry_serviceChanged(celix_service_registry_t *regis
bool matchResult = false;
serviceRegistration_getProperties(registration, &props);
if (entry->filter != NULL) {
- filter_match(entry->filter, props, &matchResult);
+ matchResult = celix_filter_match(entry->filter, props);
}
matched = (entry->filter == NULL) || matchResult;
if (matched) {
diff --git a/libs/utils/gtest/src/FilterTestSuite.cc
b/libs/utils/gtest/src/FilterTestSuite.cc
index ccb32257d..2bafee629 100644
--- a/libs/utils/gtest/src/FilterTestSuite.cc
+++ b/libs/utils/gtest/src/FilterTestSuite.cc
@@ -760,25 +760,3 @@ TEST_F(FilterTestSuite, SubStringWithArrayAttributesTest) {
EXPECT_TRUE(filter5 != nullptr);
EXPECT_TRUE(celix_filter_match(filter5, props));
}
-
-#include "filter.h"
-TEST_F(FilterTestSuite, DeprecatedApiTest) {
- auto* f1 = filter_create("(test_attr1=attr1)");
- auto* f2 = filter_create("(test_attr1=attr1)");
- bool result;
- auto status = filter_match_filter(f1, f2, &result);
- EXPECT_EQ(status, CELIX_SUCCESS);
- EXPECT_TRUE(result);
-
- const char* str;
- status = filter_getString(f1, &str);
- EXPECT_EQ(status, CELIX_SUCCESS);
- EXPECT_STREQ(str, "(test_attr1=attr1)");
-
- status = filter_match(f1, nullptr, &result);
- EXPECT_EQ(status, CELIX_SUCCESS);
- EXPECT_FALSE(result);
-
- filter_destroy(f1);
- filter_destroy(f2);
-}
diff --git a/libs/utils/include_deprecated/filter.h
b/libs/utils/include_deprecated/filter.h
deleted file mode 100644
index c49efbbdf..000000000
--- a/libs/utils/include_deprecated/filter.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#ifndef FILTER_H_
-#define FILTER_H_
-
-#include "celix_errno.h"
-#include "celix_properties.h"
-#include "celix_filter.h"
-#include "celix_utils_export.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct celix_filter_struct filter_t __attribute__((deprecated("filter
is deprecated use celix_filter instead")));
-typedef struct celix_filter_struct *filter_pt
__attribute__((deprecated("filter is deprecated use celix_filter instead")));
-
-
-CELIX_UTILS_DEPRECATED_EXPORT celix_filter_t* filter_create(const char
*filterString);
-
-CELIX_UTILS_DEPRECATED_EXPORT void filter_destroy(celix_filter_t *filter);
-
-CELIX_UTILS_DEPRECATED_EXPORT celix_status_t filter_match(
- celix_filter_t *filter,
- celix_properties_t *properties,
- bool *result);
-
-CELIX_UTILS_DEPRECATED_EXPORT celix_status_t
filter_match_filter(celix_filter_t *src, filter_t *dest, bool *result);
-
-CELIX_UTILS_DEPRECATED_EXPORT celix_status_t filter_getString(celix_filter_t
*filter, const char **filterStr);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* FILTER_H_ */
diff --git a/libs/utils/src/filter.c b/libs/utils/src/filter.c
index 40904df81..0ef8a6da2 100644
--- a/libs/utils/src/filter.c
+++ b/libs/utils/src/filter.c
@@ -31,7 +31,6 @@
#include "celix_stdio_cleanup.h"
#include "celix_stdlib_cleanup.h"
#include "celix_version.h"
-#include "filter.h"
// ignoring clang-tidy recursion warnings for this file, because filter uses
recursion
// NOLINTBEGIN(misc-no-recursion)
diff --git
a/misc/experimental/bundles/config_admin/service/private/include/configuration_store.h
b/misc/experimental/bundles/config_admin/service/private/include/configuration_store.h
index 3bd9091da..ce8b83e1f 100644
---
a/misc/experimental/bundles/config_admin/service/private/include/configuration_store.h
+++
b/misc/experimental/bundles/config_admin/service/private/include/configuration_store.h
@@ -33,7 +33,7 @@
/* celix.framework */
#include "bundle_context.h"
#include "bundle_private.h"
-#include "filter.h"
+#include "celix_filter.h"
/* celix.config_admin.public */
#include "configuration.h"
/* celix.config_admin.private */
@@ -58,7 +58,7 @@ celix_status_t
configurationStore_findConfiguration(configuration_store_pt store
celix_status_t
configurationStore_getFactoryConfigurations(configuration_store_pt store, char
*factoryPid, configuration_pt *configuration);
-celix_status_t configurationStore_listConfigurations(configuration_store_pt
store, filter_pt filter, array_list_pt *configurations);
+celix_status_t configurationStore_listConfigurations(configuration_store_pt
store, celix_filter_t* filter, array_list_pt *configurations);
celix_status_t configurationStore_unbindConfigurations(configuration_store_pt
store, bundle_pt bundle);
diff --git
a/misc/experimental/bundles/config_admin/service/private/src/configuration_store.c
b/misc/experimental/bundles/config_admin/service/private/src/configuration_store.c
index 4adc7e348..2ceff4644 100644
---
a/misc/experimental/bundles/config_admin/service/private/src/configuration_store.c
+++
b/misc/experimental/bundles/config_admin/service/private/src/configuration_store.c
@@ -207,7 +207,7 @@ celix_status_t
configurationStore_getFactoryConfigurations(configuration_store_p
return CELIX_SUCCESS;
}
-celix_status_t configurationStore_listConfigurations(configuration_store_pt
store, filter_pt filter, array_list_pt *configurations) {
+celix_status_t configurationStore_listConfigurations(configuration_store_pt
store, celix_filter_t* filter, array_list_pt *configurations) {
return CELIX_SUCCESS;
}