Fawkes API
Fawkes Development Version
|
24 #ifndef _UTILS_CONSTRAINTS_DEPENDENCY_ONETOMANY_H_
25 #define _UTILS_CONSTRAINTS_DEPENDENCY_ONETOMANY_H_
27 #include <utils/constraints/dependency.h>
49 template <
class Prov
ider,
class Dependant>
56 virtual void add(Provider *p);
57 virtual void add(Dependant *d);
71 std::list<Dependant *> _dependants;
75 template <
class Prov
ider,
class Dependant>
83 template <
class Prov
ider,
class Dependant>
95 template <
class Prov
ider,
class Dependant>
99 if ((_provider != 0) && (p != _provider)) {
112 template <
class Prov
ider,
class Dependant>
116 if (_provider == 0) {
119 _dependants.push_back(d);
128 template <
class Prov
ider,
class Dependant>
132 if (!_dependants.empty()) {
134 "cannot accept removal of provider");
143 template <
class Prov
ider,
class Dependant>
148 _dependants.remove(d);
156 template <
class Prov
ider,
class Dependant>
160 return ((_provider == 0) || (p == _provider));
167 template <
class Prov
ider,
class Dependant>
171 return (_provider != 0);
178 template <
class Prov
ider,
class Dependant>
182 return _dependants.empty();
189 template <
class Prov
ider,
class Dependant>
199 template <
class Prov
ider,
class Dependant>
209 template <
class Prov
ider,
class Dependant>
210 std::list<Dependant *> &
virtual bool can_remove(Dependant *d)
Check if dependant can be removed.
virtual void add(Dependant *d)
Add dependant object.
virtual void remove(Provider *p)
Remove provider object.
virtual void add(Provider *p)
Add provider object.
OneToManyDependency()
Constructor.
virtual ~OneToManyDependency()
Destructor.
virtual Provider * provider()
Get provider.
virtual bool can_add(Dependant *d)
Check if dependant can be added.
One-to-Many dependency constraint.
Fawkes library namespace.
virtual void remove(Dependant *d)
Remove a depending object.
virtual bool can_add(Provider *p)
Check if provider can be added.
virtual std::list< Dependant * > & dependants()
Get dependants.
virtual bool can_remove(Provider *p)
Check if provider can be removed.
Dependency violation exception.