Skip to content

Commit e8336a8

Browse files
committed
Remove filter.h and replace usage with celix_filter.h
1 parent 0f994db commit e8336a8

11 files changed

Lines changed: 32 additions & 112 deletions

File tree

bundles/remote_services/discovery_common/src/discovery.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
#include <string.h>
3131

3232
#include "celix_filter.h"
33-
#include "filter.h"
3433
#include "celix_threads.h"
3534
#include "bundle_context.h"
3635
#include "celix_log_helper.h"
@@ -103,7 +102,7 @@ celix_status_t discovery_endpointListenerAdded(void* handle, service_reference_p
103102
endpoint_description_t *endpoint = hashMapIterator_nextValue(iter);
104103

105104
bool matchResult = false;
106-
filter_match(filter, endpoint->properties, &matchResult);
105+
matchResult = celix_filter_match(filter, endpoint->properties);
107106
if (matchResult) {
108107
endpoint_listener_t *listener = service;
109108

bundles/remote_services/discovery_etcd/src/discovery_impl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#include "bundle_context.h"
3030
#include "celix_utils.h"
3131
#include "celix_errno.h"
32-
#include "filter.h"
32+
#include "celix_filter.h"
3333
#include "service_reference.h"
3434

3535

bundles/remote_services/topology_manager/src/scope.c

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
#include "tm_scope.h"
2525
#include "topology_manager.h"
2626
#include "celix_utils.h"
27-
#include "filter.h"
27+
#include "celix_filter.h"
2828

2929
static bool import_equal(celix_array_list_entry_t src, celix_array_list_entry_t dest);
3030

@@ -124,7 +124,7 @@ celix_status_t tm_addImportScope(void *handle, char *filter) {
124124
memset(&entry, 0, sizeof(entry));
125125
entry.voidPtrVal = new;
126126
int index = celix_arrayList_indexOf(scope->importScopes, entry);
127-
filter_pt present = (filter_pt) celix_arrayList_get(scope->importScopes, index);
127+
celix_filter_t* present = celix_arrayList_get(scope->importScopes, index);
128128
if (present == NULL) {
129129
celix_arrayList_add(scope->importScopes, celix_steal_ptr(new));
130130
} else {
@@ -142,12 +142,12 @@ celix_status_t tm_addImportScope(void *handle, char *filter) {
142142
celix_status_t tm_removeImportScope(void *handle, char *filter) {
143143
celix_status_t status = CELIX_SUCCESS;
144144
scope_pt scope = (scope_pt) handle;
145-
filter_pt new;
145+
celix_filter_t* new;
146146

147147
if (handle == NULL)
148148
return CELIX_ILLEGAL_ARGUMENT;
149149

150-
new = filter_create(filter);
150+
new = celix_filter_create(filter);
151151
if (new == NULL) {
152152
return CELIX_ILLEGAL_ARGUMENT; // filter not parsable
153153
}
@@ -157,19 +157,19 @@ celix_status_t tm_removeImportScope(void *handle, char *filter) {
157157
memset(&entry, 0, sizeof(entry));
158158
entry.voidPtrVal = new;
159159
int index = celix_arrayList_indexOf(scope->importScopes, entry);
160-
filter_pt present = (filter_pt) celix_arrayList_get(scope->importScopes, index);
160+
celix_filter_t* present = celix_arrayList_get(scope->importScopes, index);
161161
if (present == NULL)
162162
status = CELIX_ILLEGAL_ARGUMENT;
163163
else {
164164
celix_arrayList_remove(scope->importScopes, present);
165-
filter_destroy(present);
165+
celix_filter_destroy(present);
166166
}
167167
celixThreadMutex_unlock(&scope->importScopeLock);
168168
}
169169
if (scope->importScopeChangedHandler != NULL) {
170170
status = CELIX_DO_IF(status, scope->importScopeChangedHandler(scope->manager, filter));
171171
}
172-
filter_destroy(new);
172+
celix_filter_destroy(new);
173173
return status;
174174
}
175175

@@ -228,8 +228,8 @@ celix_status_t scope_scopeDestroy(scope_pt scope) {
228228

229229
if (celixThreadMutex_lock(&scope->importScopeLock) == CELIX_SUCCESS) {
230230
for (int i = 0; i < celix_arrayList_size(scope->importScopes); i++) {
231-
filter_pt element = (filter_pt) celix_arrayList_get(scope->importScopes, i);
232-
filter_destroy(element);
231+
celix_filter_t* element = celix_arrayList_get(scope->importScopes, i);
232+
celix_filter_destroy(element);
233233
}
234234
celix_arrayList_destroy(scope->importScopes);
235235
celixThreadMutex_unlock(&scope->importScopeLock);
@@ -245,13 +245,11 @@ celix_status_t scope_scopeDestroy(scope_pt scope) {
245245
* STATIC FUNCTIONS
246246
*****************************************************************************/
247247
static bool import_equal(celix_array_list_entry_t src, celix_array_list_entry_t dest) {
248-
celix_status_t status;
249-
250-
filter_pt src_filter = (filter_pt) src.voidPtrVal;
251-
filter_pt dest_filter = (filter_pt) dest.voidPtrVal;
248+
celix_filter_t* src_filter = src.voidPtrVal;
249+
celix_filter_t* dest_filter = dest.voidPtrVal;
252250
bool result;
253-
status = filter_match_filter(src_filter, dest_filter, &result);
254-
return (status == CELIX_SUCCESS) && result;
251+
result = celix_filter_equals(src_filter, dest_filter);
252+
return result;
255253
}
256254

257255
bool scope_allowImport(scope_pt scope, endpoint_description_t *endpoint) {
@@ -262,8 +260,8 @@ bool scope_allowImport(scope_pt scope, endpoint_description_t *endpoint) {
262260
allowImport = true;
263261
} else {
264262
for (int i = 0; i < celix_arrayList_size(scope->importScopes); i++) {
265-
filter_pt element = (filter_pt) celix_arrayList_get(scope->importScopes, i);
266-
filter_match(element, endpoint->properties, &allowImport);
263+
celix_filter_t* element = celix_arrayList_get(scope->importScopes, i);
264+
allowImport = celix_filter_match(element, endpoint->properties);
267265
if (allowImport) {
268266
break;
269267
}
@@ -310,7 +308,7 @@ celix_status_t scope_getExportProperties(scope_pt scope, service_reference_pt re
310308
celix_autoptr(celix_filter_t) filter = celix_filter_create(filterStr);
311309
if (filter != NULL) {
312310
// test if the scope filter matches the exported service properties
313-
status = filter_match(filter, serviceProperties, &found);
311+
found = celix_filter_match(filter, serviceProperties);
314312
if (found) {
315313
struct scope_item *item = (struct scope_item *) hashMapEntry_getValue(scopedEntry);
316314
*props = item->props;

bundles/remote_services/topology_manager/src/topology_manager.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
#include "celix_bundle.h"
4242
#include "remote_service_admin.h"
4343
#include "remote_constants.h"
44-
#include "filter.h"
44+
#include "celix_filter.h"
4545
#include "listener_hook_service.h"
4646
#include "celix_utils.h"
4747
#include "service_reference.h"
@@ -690,7 +690,6 @@ celix_status_t topologyManager_rsaRemoved(void * handle, service_reference_pt re
690690
}
691691

692692
celix_status_t topologyManager_exportScopeChanged(void *handle, char *filterStr) {
693-
celix_status_t status = CELIX_SUCCESS;
694693
topology_manager_pt manager = (topology_manager_pt) handle;
695694
service_registration_t *reg = NULL;
696695
bool found;
@@ -722,13 +721,14 @@ celix_status_t topologyManager_exportScopeChanged(void *handle, char *filterStr)
722721
if (reg != NULL) {
723722
props = NULL;
724723
serviceRegistration_getProperties(reg, &props);
725-
status = filter_match(filter, props, &found);
724+
found = celix_filter_match(filter, props);
726725
if (found) {
727726
srvRefs[nrFound++] = reference;
728727
}
729728
}
730729
}
731730

731+
celix_status_t status = CELIX_SUCCESS;
732732
if (nrFound > 0) {
733733
for (int i = 0; i < nrFound; i++) {
734734
// Question: can srvRefs become invalid meanwhile??
@@ -1131,7 +1131,7 @@ celix_status_t topologyManager_endpointListenerAdded(void* handle, service_refer
11311131
status = topologyManager_getEndpointDescriptionForExportRegistration(rsaSvcEntry->rsa, export, &endpoint);
11321132
if (status == CELIX_SUCCESS) {
11331133
bool matchResult = false;
1134-
filter_match(filter, endpoint->properties, &matchResult);
1134+
matchResult = celix_filter_match(filter, endpoint->properties);
11351135
if (matchResult) {
11361136
endpoint_listener_t *listener = (endpoint_listener_t *) service;
11371137
status = listener->endpointAdded(listener->handle, endpoint, (char*)scope);
@@ -1202,7 +1202,7 @@ static celix_status_t topologyManager_notifyListenersEndpointAdded(topology_mana
12021202
celix_status_t substatus = topologyManager_getEndpointDescriptionForExportRegistration(rsa, export, &endpoint);
12031203
if (substatus == CELIX_SUCCESS) {
12041204
bool matchResult = false;
1205-
filter_match(filter, endpoint->properties, &matchResult);
1205+
matchResult = celix_filter_match(filter, endpoint->properties);
12061206
if (matchResult) {
12071207
status = epl->endpointAdded(epl->handle, endpoint, (char*)scope);
12081208
}

libs/framework/include_deprecated/service_registry.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#define SERVICE_REGISTRY_H_
2222

2323
#include "celix_properties.h"
24-
#include "filter.h"
24+
#include "celix_filter.h"
2525
#include "service_factory.h"
2626
#include "celix_service_event.h"
2727
#include "celix_array_list.h"
@@ -64,7 +64,7 @@ CELIX_FRAMEWORK_EXPORT celix_status_t serviceRegistry_getServiceReference(celix_
6464

6565
CELIX_FRAMEWORK_EXPORT celix_status_t
6666
serviceRegistry_getServiceReferences(celix_service_registry_t* registry, celix_bundle_t *bundle, const char *serviceName,
67-
filter_pt filter, celix_array_list_t **references);
67+
celix_filter_t* filter, celix_array_list_t **references);
6868

6969
CELIX_FRAMEWORK_EXPORT celix_status_t serviceRegistry_clearReferencesFor(celix_service_registry_t* registry, celix_bundle_t *bundle);
7070

libs/framework/src/service_registry.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ static celix_status_t serviceRegistry_getServiceReference_internal(service_regis
327327
celix_status_t serviceRegistry_getServiceReferences(service_registry_pt registry,
328328
bundle_pt owner,
329329
const char* serviceName,
330-
filter_pt filter,
330+
celix_filter_t* filter,
331331
celix_array_list_t** out) {
332332
bool matchResult;
333333
celix_autoptr(celix_array_list_t) references = celix_arrayList_create();
@@ -353,7 +353,7 @@ celix_status_t serviceRegistry_getServiceReferences(service_registry_pt registry
353353
bool matched = false;
354354
matchResult = false;
355355
if (filter != NULL) {
356-
filter_match(filter, props, &matchResult);
356+
matchResult = celix_filter_match(filter, props);
357357
}
358358
if ((serviceName == NULL) && ((filter == NULL) || matchResult)) {
359359
matched = true;
@@ -362,7 +362,7 @@ celix_status_t serviceRegistry_getServiceReferences(service_registry_pt registry
362362
matchResult = false;
363363
serviceRegistration_getServiceName(registration, &className);
364364
if (filter != NULL) {
365-
filter_match(filter, props, &matchResult);
365+
matchResult = celix_filter_match(filter, props);
366366
}
367367
if ((strcmp(className, serviceName) == 0) && ((filter == NULL) || matchResult)) {
368368
matched = true;
@@ -1074,7 +1074,7 @@ static void celix_serviceRegistry_serviceChanged(celix_service_registry_t *regis
10741074
bool matchResult = false;
10751075
serviceRegistration_getProperties(registration, &props);
10761076
if (entry->filter != NULL) {
1077-
filter_match(entry->filter, props, &matchResult);
1077+
matchResult = celix_filter_match(entry->filter, props);
10781078
}
10791079
matched = (entry->filter == NULL) || matchResult;
10801080
if (matched) {

libs/utils/gtest/src/FilterTestSuite.cc

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -760,25 +760,3 @@ TEST_F(FilterTestSuite, SubStringWithArrayAttributesTest) {
760760
EXPECT_TRUE(filter5 != nullptr);
761761
EXPECT_TRUE(celix_filter_match(filter5, props));
762762
}
763-
764-
#include "filter.h"
765-
TEST_F(FilterTestSuite, DeprecatedApiTest) {
766-
auto* f1 = filter_create("(test_attr1=attr1)");
767-
auto* f2 = filter_create("(test_attr1=attr1)");
768-
bool result;
769-
auto status = filter_match_filter(f1, f2, &result);
770-
EXPECT_EQ(status, CELIX_SUCCESS);
771-
EXPECT_TRUE(result);
772-
773-
const char* str;
774-
status = filter_getString(f1, &str);
775-
EXPECT_EQ(status, CELIX_SUCCESS);
776-
EXPECT_STREQ(str, "(test_attr1=attr1)");
777-
778-
status = filter_match(f1, nullptr, &result);
779-
EXPECT_EQ(status, CELIX_SUCCESS);
780-
EXPECT_FALSE(result);
781-
782-
filter_destroy(f1);
783-
filter_destroy(f2);
784-
}

libs/utils/include_deprecated/filter.h

Lines changed: 0 additions & 54 deletions
This file was deleted.

libs/utils/src/filter.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
#include "celix_stdio_cleanup.h"
3232
#include "celix_stdlib_cleanup.h"
3333
#include "celix_version.h"
34-
#include "filter.h"
3534

3635
// ignoring clang-tidy recursion warnings for this file, because filter uses recursion
3736
// NOLINTBEGIN(misc-no-recursion)

misc/experimental/bundles/config_admin/service/private/include/configuration_store.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
/* celix.framework */
3434
#include "bundle_context.h"
3535
#include "bundle_private.h"
36-
#include "filter.h"
36+
#include "celix_filter.h"
3737
/* celix.config_admin.public */
3838
#include "configuration.h"
3939
/* celix.config_admin.private */
@@ -58,7 +58,7 @@ celix_status_t configurationStore_findConfiguration(configuration_store_pt store
5858

5959
celix_status_t configurationStore_getFactoryConfigurations(configuration_store_pt store, char *factoryPid, configuration_pt *configuration);
6060

61-
celix_status_t configurationStore_listConfigurations(configuration_store_pt store, filter_pt filter, array_list_pt *configurations);
61+
celix_status_t configurationStore_listConfigurations(configuration_store_pt store, celix_filter_t* filter, array_list_pt *configurations);
6262

6363
celix_status_t configurationStore_unbindConfigurations(configuration_store_pt store, bundle_pt bundle);
6464

0 commit comments

Comments
 (0)