From 27f11a09559c9e1565be39f717ee3fd207194133 Mon Sep 17 00:00:00 2001 From: Yonas Habteab Date: Fri, 7 Feb 2025 11:09:34 +0100 Subject: [PATCH] Checkable: Introduce `HasAnyDependencies()` method --- lib/icinga/checkable-dependency.cpp | 6 ++++++ lib/icinga/checkable.hpp | 1 + 2 files changed, 7 insertions(+) diff --git a/lib/icinga/checkable-dependency.cpp b/lib/icinga/checkable-dependency.cpp index a176a10ad..afa1aca6d 100644 --- a/lib/icinga/checkable-dependency.cpp +++ b/lib/icinga/checkable-dependency.cpp @@ -44,6 +44,12 @@ std::vector Checkable::GetDependencies() const return dependencies; } +bool Checkable::HasAnyDependencies() const +{ + std::unique_lock lock(m_DependencyMutex); + return !m_DependencyGroups.empty() || !m_ReverseDependencies.empty(); +} + void Checkable::AddReverseDependency(const Dependency::Ptr& dep) { std::unique_lock lock(m_DependencyMutex); diff --git a/lib/icinga/checkable.hpp b/lib/icinga/checkable.hpp index 04c12d4f9..2b9014143 100644 --- a/lib/icinga/checkable.hpp +++ b/lib/icinga/checkable.hpp @@ -189,6 +189,7 @@ public: void RemoveDependencyGroup(const intrusive_ptr& dependencyGroup); std::vector> GetDependencyGroups() const; std::vector > GetDependencies() const; + bool HasAnyDependencies() const; void AddReverseDependency(const intrusive_ptr& dep); void RemoveReverseDependency(const intrusive_ptr& dep);