|
UniSet @VERSION@
|
#include <DependencyResolver.h>
Открытые члены | |
| void | addGroup (const std::string &name, const std::set< std::string > &depends={}) |
| void | addDependency (const std::string &group, const std::string &dependsOn) |
| bool | hasGroup (const std::string &name) const |
| void | clear () |
| std::vector< std::string > | resolve () const |
| std::vector< std::string > | resolveReverse () const |
| std::set< std::string > | getDependencies (const std::string &name) const |
Topological sort for process group dependencies. Ensures groups are started in correct order based on their dependencies.
| void uniset::DependencyResolver::addDependency | ( | const std::string & | group, |
| const std::string & | dependsOn | ||
| ) |
Add dependency: 'group' depends on 'dependsOn'
| void uniset::DependencyResolver::addGroup | ( | const std::string & | name, |
| const std::set< std::string > & | depends = {} |
||
| ) |
Add a group with its dependencies
| void uniset::DependencyResolver::clear | ( | ) |
Clear all groups
| std::set< std::string > uniset::DependencyResolver::getDependencies | ( | const std::string & | name | ) | const |
Get dependencies for a group
| bool uniset::DependencyResolver::hasGroup | ( | const std::string & | name | ) | const |
Check if group exists
| std::vector< std::string > uniset::DependencyResolver::resolve | ( | ) | const |
Perform topological sort. Returns groups in order they should be started. Throws CyclicDependencyException if cycle detected. Throws UnknownDependencyException if dependency refers to unknown group.
| std::vector< std::string > uniset::DependencyResolver::resolveReverse | ( | ) | const |
Reverse order for shutdown. Returns groups in order they should be stopped.