diff --git a/src/backend/concrete_environment.cc b/src/backend/concrete_environment.cc index c0e0602..63c5bb9 100644 --- a/src/backend/concrete_environment.cc +++ b/src/backend/concrete_environment.cc @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -52,7 +53,7 @@ ConcreteEnvironment::ConcreteEnvironment(const ConcreteEnvironment& ce) : // Update resource pointers in a way you won't like :-) { for (Resources::iterator it = _resources.begin(); it != _resources.end(); it++) - it->second = new DynamicResource(dynamic_cast(*it->second)); + it->second = new DynamicResource(down_cast(*it->second)); } // DynamicProcess object need to be copied. @@ -61,7 +62,7 @@ ConcreteEnvironment::ConcreteEnvironment(const ConcreteEnvironment& ce) : const Processes& ce_proc = ce._processes; insert_iterator dest(_processes, _processes.begin()); for (Iseq orig = iseq(ce_proc); orig; orig++) - *dest++ = new DynamicProcess(dynamic_cast(**orig)); + *dest++ = new DynamicProcess(down_cast(**orig)); } @@ -104,8 +105,8 @@ ConcreteEnvironment::ConcreteEnvironment(const ConcreteEnvironment& ce) : bool found = false; for (it5_t it5 = queue.begin(); !found && it5 != queue.end(); it5++) { - DynamicSubRequest& _old = dynamic_cast(**it5); - DynamicSubRequest& _new = dynamic_cast(**it4); + DynamicSubRequest& _old = down_cast(**it5); + DynamicSubRequest& _new = down_cast(**it4); if (&_old.get_core() == &_new.get_core()) { found = true; diff --git a/src/backend/cpu_policies_gatekeeper.cc b/src/backend/cpu_policies_gatekeeper.cc index f8838ce..828ce1d 100644 --- a/src/backend/cpu_policies_gatekeeper.cc +++ b/src/backend/cpu_policies_gatekeeper.cc @@ -28,6 +28,8 @@ // Include full template definition only in implementation files: #include +#include + #include #include #include @@ -122,7 +124,7 @@ CPUPoliciesGatekeeper::activate_policy(History *history, CPUPolicy* policy) thro policy->activate(); _active_policies[history] = policy; // the content of history (if any) is not vaild any more. - dynamic_cast(history)->reset(true); + down_cast(history)->reset(true); } catch(const CPUPolicyException& e) { diff --git a/src/backend/dynamic_request.cc b/src/backend/dynamic_request.cc index 9143b67..1314e62 100644 --- a/src/backend/dynamic_request.cc +++ b/src/backend/dynamic_request.cc @@ -25,6 +25,7 @@ #include #include +#include #include #include @@ -78,8 +79,7 @@ DynamicRequest::~DynamicRequest() bool DynamicRequest::operator==(const Request& op2) const { - assert(dynamic_cast(&op2) != NULL); - return _static_request == dynamic_cast(op2)._static_request; + return _static_request == down_cast(op2)._static_request; } diff --git a/src/backend/dynamic_resource.cc b/src/backend/dynamic_resource.cc index 99f0e5c..a6a3c83 100644 --- a/src/backend/dynamic_resource.cc +++ b/src/backend/dynamic_resource.cc @@ -22,6 +22,8 @@ #include "static_resource.hh" #include + +#include #include #include @@ -36,8 +38,7 @@ DynamicResource::DynamicResource(StaticResource *core) : bool DynamicResource::operator==(const Resource& op2) const { - assert(dynamic_cast(&op2) != NULL); - return _static_resource == dynamic_cast(op2)._static_resource; + return _static_resource == down_cast(op2)._static_resource; } Glib::ustring diff --git a/src/backend/dynamic_schedulable.cc b/src/backend/dynamic_schedulable.cc index 560e149..1a3f5d1 100644 --- a/src/backend/dynamic_schedulable.cc +++ b/src/backend/dynamic_schedulable.cc @@ -20,6 +20,7 @@ #include "dynamic_schedulable.hh" +#include #include #include @@ -34,8 +35,7 @@ DynamicSchedulable::DynamicSchedulable() bool DynamicSchedulable::operator==(const Schedulable& op2) const { - assert(dynamic_cast(&op2) != NULL); - return &get_core() == &(dynamic_cast(op2).get_core()); + return &get_core() == &(down_cast(op2).get_core()); } Glib::ustring diff --git a/src/backend/dynamic_sub_request.cc b/src/backend/dynamic_sub_request.cc index 7f25450..aeb9ace 100644 --- a/src/backend/dynamic_sub_request.cc +++ b/src/backend/dynamic_sub_request.cc @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -64,8 +65,7 @@ DynamicSubRequest::~DynamicSubRequest() bool DynamicSubRequest::operator==(const SubRequest& op2) const { - assert(dynamic_cast(&op2) != NULL); - return _static_subrequest == dynamic_cast(op2)._static_subrequest; + return _static_subrequest == down_cast(op2)._static_subrequest; } diff --git a/src/backend/resource_policies_gatekeeper.cc b/src/backend/resource_policies_gatekeeper.cc index 454d9eb..f22f8fc 100644 --- a/src/backend/resource_policies_gatekeeper.cc +++ b/src/backend/resource_policies_gatekeeper.cc @@ -28,6 +28,8 @@ // Include full template definition only in implementation files: #include +#include + #include #include @@ -96,7 +98,7 @@ ResourcePoliciesGatekeeper::activate_policy(History *history, ResourcePolicy* po _active_policies[history] = policy; // the content of history (if any) is not vaild any more. - dynamic_cast(history)->reset(true); + down_cast(history)->reset(true); } ResourcePoliciesGatekeeper::ResourcePoliciesGatekeeper()