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
commit 2ae6a7571f7d27690486bbf2e62bef86dae3c019 Author: Deedss <[email protected]> AuthorDate: Wed Apr 8 19:11:59 2026 +0000 Update all usages of setRequired with setMinimalCardinality as minimalCardinality now determines whether a serviceDependency is required. --- .../gtest/src/InactiveComponentBundle.cc | 2 +- .../admin/src/RemoteServiceAdminActivator.cc | 3 --- .../integration/src/CalculatorConsumer.cc | 2 +- .../integration/src/CalculatorProvider.cc | 4 ++-- .../src/TestExportImportRemoteServiceFactory.cc | 8 ++++---- .../event_admin/src/celix_event_admin_activator.c | 2 +- .../rsa_shm/src/rsa_shm_activator.c | 2 +- .../benchmark/src/DependencyManagerBenchmark.cc | 2 +- .../gtest/src/DependencyManagerTestSuite.cc | 23 +++++++++++----------- 9 files changed, 22 insertions(+), 26 deletions(-) diff --git a/bundles/components_ready_check/gtest/src/InactiveComponentBundle.cc b/bundles/components_ready_check/gtest/src/InactiveComponentBundle.cc index af4109ed0..8b795ae1b 100644 --- a/bundles/components_ready_check/gtest/src/InactiveComponentBundle.cc +++ b/bundles/components_ready_check/gtest/src/InactiveComponentBundle.cc @@ -34,7 +34,7 @@ public: auto& cmp = ctx->getDependencyManager()->createComponent<CondComponent>(); cmp.createServiceDependency<celix_condition>(CELIX_CONDITION_SERVICE_NAME) .setFilter("(condition.id=does-not-exists)") - .setRequired(true); + .setMinimalCardinality(1); cmp.build(); } diff --git a/bundles/cxx_remote_services/admin/src/RemoteServiceAdminActivator.cc b/bundles/cxx_remote_services/admin/src/RemoteServiceAdminActivator.cc index 0b646ac5d..78b2993be 100644 --- a/bundles/cxx_remote_services/admin/src/RemoteServiceAdminActivator.cc +++ b/bundles/cxx_remote_services/admin/src/RemoteServiceAdminActivator.cc @@ -32,15 +32,12 @@ public: auto& cmp = ctx->getDependencyManager()->createComponent(admin); cmp.createServiceDependency<celix::rsa::EndpointDescription>() - .setRequired(false) .setStrategy(celix::dm::DependencyUpdateStrategy::locking) .setCallbacks(&celix::rsa::RemoteServiceAdmin::addEndpoint, &celix::rsa::RemoteServiceAdmin::removeEndpoint); cmp.createServiceDependency<celix::rsa::IImportServiceFactory>() - .setRequired(false) .setStrategy(celix::dm::DependencyUpdateStrategy::locking) .setCallbacks(&celix::rsa::RemoteServiceAdmin::addImportedServiceFactory, &celix::rsa::RemoteServiceAdmin::removeImportedServiceFactory); cmp.createServiceDependency<celix::rsa::IExportServiceFactory>() - .setRequired(false) .setStrategy(celix::dm::DependencyUpdateStrategy::locking) .setCallbacks(&celix::rsa::RemoteServiceAdmin::addExportedServiceFactory, &celix::rsa::RemoteServiceAdmin::removeExportedServiceFactory); cmp.build(); diff --git a/bundles/cxx_remote_services/integration/src/CalculatorConsumer.cc b/bundles/cxx_remote_services/integration/src/CalculatorConsumer.cc index 00e22ec6b..37305b38c 100644 --- a/bundles/cxx_remote_services/integration/src/CalculatorConsumer.cc +++ b/bundles/cxx_remote_services/integration/src/CalculatorConsumer.cc @@ -55,7 +55,7 @@ public: explicit CalculatorConsumerActivator(const std::shared_ptr<celix::BundleContext>& ctx) { auto& cmp = ctx->getDependencyManager()->createComponent(std::make_shared<CalculatorConsumer>()); cmp.createServiceDependency<ICalculator>() - .setRequired(true) + .setMinimalCardinality(1) .setCallbacks(&CalculatorConsumer::setCalculator); cmp.createProvidedService<celix::IShellCommand>() .addProperty(celix::IShellCommand::COMMAND_NAME, "calc"); diff --git a/bundles/cxx_remote_services/integration/src/CalculatorProvider.cc b/bundles/cxx_remote_services/integration/src/CalculatorProvider.cc index f3a46099f..7925eb892 100644 --- a/bundles/cxx_remote_services/integration/src/CalculatorProvider.cc +++ b/bundles/cxx_remote_services/integration/src/CalculatorProvider.cc @@ -91,10 +91,10 @@ public: explicit CalculatorProviderActivator(const std::shared_ptr<celix::BundleContext>& ctx) { auto& cmp = ctx->getDependencyManager()->createComponent(std::make_shared<CalculatorImpl>()); cmp.createServiceDependency<celix::PromiseFactory>() - .setRequired(true) + .setMinimalCardinality(1) .setCallbacks(&CalculatorImpl::setFactory); cmp.createServiceDependency<celix::PushStreamProvider>() - .setRequired(true) + .setMinimalCardinality(1) .setCallbacks(&CalculatorImpl::setPushStreamProvider); cmp.createProvidedService<ICalculator>() .addProperty("service.exported.interfaces", celix::typeName<ICalculator>()) diff --git a/bundles/cxx_remote_services/integration/src/TestExportImportRemoteServiceFactory.cc b/bundles/cxx_remote_services/integration/src/TestExportImportRemoteServiceFactory.cc index a711a81e3..1679a83ff 100644 --- a/bundles/cxx_remote_services/integration/src/TestExportImportRemoteServiceFactory.cc +++ b/bundles/cxx_remote_services/integration/src/TestExportImportRemoteServiceFactory.cc @@ -340,11 +340,11 @@ private: auto& cmp = ctx->getDependencyManager()->createComponent(std::make_unique<ImportedCalculator>(logHelper, c2pChannelId, p2cChannelId)); cmp.createServiceDependency<celix::PromiseFactory>() - .setRequired(true) + .setMinimalCardinality(1) .setStrategy(DependencyUpdateStrategy::suspend) .setCallbacks(&ImportedCalculator::setPromiseFactory); cmp.createServiceDependency<celix::PushStreamProvider>() - .setRequired(true) + .setMinimalCardinality(1) .setStrategy(DependencyUpdateStrategy::suspend) .setCallbacks(&ImportedCalculator::setPushStreamProvider); @@ -560,12 +560,12 @@ private: std::make_unique<ExportedCalculator>(logHelper, c2pChannelId, p2cChannelId)); cmp.createServiceDependency<celix::PromiseFactory>() - .setRequired(true) + .setMinimalCardinality(1) .setStrategy(DependencyUpdateStrategy::suspend) .setCallbacks(&ExportedCalculator::setPromiseFactory); cmp.createServiceDependency<ICalculator>() - .setRequired(true) + .setMinimalCardinality(1) .setStrategy(DependencyUpdateStrategy::suspend) .setFilter(std::string{"("}.append(celix::SERVICE_ID).append("=").append(svcId).append(")")) .setCallbacks(&ExportedCalculator::setICalculator); diff --git a/bundles/event_admin/event_admin/src/celix_event_admin_activator.c b/bundles/event_admin/event_admin/src/celix_event_admin_activator.c index 2396521a9..005b4e58d 100644 --- a/bundles/event_admin/event_admin/src/celix_event_admin_activator.c +++ b/bundles/event_admin/event_admin/src/celix_event_admin_activator.c @@ -122,7 +122,7 @@ celix_status_t celix_eventAdminActivator_start(celix_event_admin_activator_t *ac if (status != CELIX_SUCCESS) { return status; } - celix_dmServiceDependency_setRequired(eventAdminDep, true); + celix_dmServiceDependency_setMinimalCardinality(eventAdminDep, 1); celix_dmServiceDependency_setStrategy(eventAdminDep, DM_SERVICE_DEPENDENCY_STRATEGY_LOCKING); celix_dm_service_dependency_callback_options_t opts2 = CELIX_EMPTY_DM_SERVICE_DEPENDENCY_CALLBACK_OPTIONS; opts2.set = celix_eventAdapter_setEventAdminService; diff --git a/bundles/remote_services/remote_service_admin_shm_v2/rsa_shm/src/rsa_shm_activator.c b/bundles/remote_services/remote_service_admin_shm_v2/rsa_shm/src/rsa_shm_activator.c index bfb4c55b4..1bea31100 100755 --- a/bundles/remote_services/remote_service_admin_shm_v2/rsa_shm/src/rsa_shm_activator.c +++ b/bundles/remote_services/remote_service_admin_shm_v2/rsa_shm/src/rsa_shm_activator.c @@ -46,7 +46,7 @@ celix_status_t celix_rsaShmActivator_addRpcFactorySvcDependency(celix_dm_compone if (status != CELIX_SUCCESS) { return status; } - celix_dmServiceDependency_setRequired(rpcFactoryDep, true); + celix_dmServiceDependency_setMinimalCardinality(rpcFactoryDep, 1); celix_dmServiceDependency_setStrategy(rpcFactoryDep, DM_SERVICE_DEPENDENCY_STRATEGY_SUSPEND); celix_dm_service_dependency_callback_options_t opts = CELIX_EMPTY_DM_SERVICE_DEPENDENCY_CALLBACK_OPTIONS; opts.addWithProps = celix_rsaShm_addRpcFactorySvc; diff --git a/libs/framework/benchmark/src/DependencyManagerBenchmark.cc b/libs/framework/benchmark/src/DependencyManagerBenchmark.cc index 1a43e2750..5c9cea787 100644 --- a/libs/framework/benchmark/src/DependencyManagerBenchmark.cc +++ b/libs/framework/benchmark/src/DependencyManagerBenchmark.cc @@ -94,7 +94,7 @@ static void createAndDestroyComponentTest(benchmark::State& state, bool cTest) { // This code gets timed auto& cmp = man->createComponent<TestComponent>(); cmp.createProvidedService<IService>(IService::NAME); - cmp.createServiceDependency<IService>(IService::NAME).setRequired(true); + cmp.createServiceDependency<IService>(IService::NAME).setMinimalCardinality(1); man->buildAsync(); man->wait(); assert(cmp.getState() == ComponentState::TRACKING_OPTIONAL); diff --git a/libs/framework/gtest/src/DependencyManagerTestSuite.cc b/libs/framework/gtest/src/DependencyManagerTestSuite.cc index 70a692f70..e86827c03 100644 --- a/libs/framework/gtest/src/DependencyManagerTestSuite.cc +++ b/libs/framework/gtest/src/DependencyManagerTestSuite.cc @@ -244,7 +244,7 @@ TEST_F(DependencyManagerTestSuite, TestCheckActive) { auto *dep = celix_dmServiceDependency_create(); celix_dmServiceDependency_setService(dep, "svcname", nullptr, nullptr); - celix_dmServiceDependency_setRequired(dep, true); + celix_dmServiceDependency_setMinimalCardinality(dep, 1); celix_dmComponent_addServiceDependency(cmp, dep); //required dep -> cmp not active @@ -281,7 +281,7 @@ TEST_F(DependencyManagerTestSuite, CxxDmGetInfo) { auto& cmp = mng.createComponent<Cmp1>(); cmp.createProvidedService<TestService>().addProperty("key", "value"); - cmp.createServiceDependency<TestService>().setVersionRange("[1,2)").setRequired(true); + cmp.createServiceDependency<TestService>().setVersionRange("[1,2)").setMinimalCardinality(1); auto infos = mng.getInfos(); EXPECT_EQ(infos.size(), 1); @@ -591,7 +591,7 @@ TEST_F(DependencyManagerTestSuite, RequiredDepsAreInjectedDuringStartStop) { auto& cmp = dm.createComponent<LifecycleComponent>() .setCallbacks(nullptr, &LifecycleComponent::start, &LifecycleComponent::stop, nullptr); cmp.createServiceDependency<TestService>() - .setRequired(true) + .setMinimalCardinality(1) .setCallbacks(&LifecycleComponent::setService) .setCallbacks(&LifecycleComponent::addService, &LifecycleComponent::remService); cmp.build(); @@ -634,7 +634,7 @@ TEST_F(DependencyManagerTestSuite, RemoveOwnDependencyShouldNotLeadToDoubleStop) .setCallbacks(nullptr, &LifecycleComponent::start, &LifecycleComponent::stop, nullptr); cmp.createProvidedService<TestService>(); cmp.createServiceDependency<TestService>() - .setRequired(true); + .setMinimalCardinality(1); cmp.build(); using celix::dm::ComponentState; @@ -660,7 +660,7 @@ TEST_F(DependencyManagerTestSuite, RemoveOwnDependencyShouldNotLeadToDoubleStop) //When an additional required service dependency is added cmp.createServiceDependency<TestService>("DummyName") - .setRequired(true) + .setMinimalCardinality(1) .buildAsync(); celix_bundleContext_waitForEvents(ctx); @@ -738,11 +738,10 @@ TEST_F(DependencyManagerTestSuite, IntermediateStatesDuringInitDeinitStartingAnd .setCallbacks(&LifecycleComponent::init, &LifecycleComponent::start, &LifecycleComponent::stop, &LifecycleComponent::deinit); cmp.createServiceDependency<TestService>() .setStrategy(celix::dm::DependencyUpdateStrategy::suspend) - .setCallbacks([](std::shared_ptr<TestService> /*service*/, const std::shared_ptr<const celix::Properties>& /*properties*/){ std::cout << "Dummy set for svc callback\n"; }) - .setRequired(false); + .setCallbacks([](std::shared_ptr<TestService> /*service*/, const std::shared_ptr<const celix::Properties>& /*properties*/){ std::cout << "Dummy set for svc callback\n"; }); cmp.createServiceDependency<TestService>("RequiredTestService") .setStrategy(celix::dm::DependencyUpdateStrategy::locking) - .setRequired(true); + .setMinimalCardinality(1); cmp.buildAsync(); //Then the component state should become waiting for required @@ -882,7 +881,7 @@ TEST_F(DependencyManagerTestSuite, DepsAreInjectedAsSharedPointers) { auto& cmp = dm.createComponent<LifecycleComponent>() .setCallbacks(nullptr, &LifecycleComponent::start, &LifecycleComponent::stop, nullptr); cmp.createServiceDependency<TestService>() - .setRequired(true) + .setMinimalCardinality(1) .setCallbacks(&LifecycleComponent::setService) .setCallbacks(&LifecycleComponent::addService, &LifecycleComponent::remService); cmp.build(); @@ -943,7 +942,7 @@ TEST_F(DependencyManagerTestSuite, DepsNoPropsAreInjectedAsSharedPointers) { auto& cmp = dm.createComponent<LifecycleComponent>() .setCallbacks(nullptr, &LifecycleComponent::start, &LifecycleComponent::stop, nullptr); cmp.createServiceDependency<TestService>() - .setRequired(true) + .setMinimalCardinality(1) .setCallbacks(&LifecycleComponent::setService) .setCallbacks(&LifecycleComponent::addService, &LifecycleComponent::remService); cmp.build(); @@ -1096,7 +1095,7 @@ TEST_F(DependencyManagerTestSuite, ExceptionsInLifecycle) { EXPECT_EQ(cmp.getState(), ComponentState::TRACKING_OPTIONAL); //required service -> should stop, but fails at stop and should become inactive (component will disable itself) - cmp.createServiceDependency<TestService>().setRequired(true).build(); + cmp.createServiceDependency<TestService>().setMinimalCardinality(1).build(); cmp.wait(); EXPECT_EQ(cmp.getState(), ComponentState::INACTIVE); dm.clear(); @@ -1284,7 +1283,7 @@ TEST_F(DependencyManagerTestSuite, TestCardinality) { cmp1.build(); auto& cmp3 = dm.createComponent<Cmp3>() .createServiceDependency<TestService>() - .setRequired(true) + .setMinimalCardinality(1) .setMinimalCardinality(2); cmp3.build();
