Checkable: Introduce HasAnyDependencies() method

This commit is contained in:
Yonas Habteab 2025-02-07 11:09:34 +01:00
parent ff0dabe287
commit 27f11a0955
2 changed files with 7 additions and 0 deletions

View File

@ -44,6 +44,12 @@ std::vector<Dependency::Ptr> Checkable::GetDependencies() const
return dependencies; 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) void Checkable::AddReverseDependency(const Dependency::Ptr& dep)
{ {
std::unique_lock<std::mutex> lock(m_DependencyMutex); std::unique_lock<std::mutex> lock(m_DependencyMutex);

View File

@ -189,6 +189,7 @@ public:
void RemoveDependencyGroup(const intrusive_ptr<DependencyGroup>& dependencyGroup); void RemoveDependencyGroup(const intrusive_ptr<DependencyGroup>& dependencyGroup);
std::vector<intrusive_ptr<DependencyGroup>> GetDependencyGroups() const; std::vector<intrusive_ptr<DependencyGroup>> GetDependencyGroups() const;
std::vector<intrusive_ptr<Dependency> > GetDependencies() const; std::vector<intrusive_ptr<Dependency> > GetDependencies() const;
bool HasAnyDependencies() const;
void AddReverseDependency(const intrusive_ptr<Dependency>& dep); void AddReverseDependency(const intrusive_ptr<Dependency>& dep);
void RemoveReverseDependency(const intrusive_ptr<Dependency>& dep); void RemoveReverseDependency(const intrusive_ptr<Dependency>& dep);