// src/backend/cpp_resource_policy_manager.cc - Copyright 2005, 2006, University // of Padova, dept. of Pure and Applied // Mathematics // // This file is part of SGPEMv2. // // This is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 3 of the License, or // (at your option) any later version. // // SGPEMv2 is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with SGPEMv2. If not, see http://www.gnu.org/licenses/. #include "cpp_resource_policy_manager.hh" #include "resource_policy_fifo.hh" #include "resource_policy_lifo.hh" #include "resource_policy_priority.hh" #include "resource_policy_priority_inheritance.hh" #include using namespace sgpem; // instantiate a default instance of this class. CppResourcePolicyManager CppResourcePolicyManager::_default_instance; CppResourcePolicyManager::CppResourcePolicyManager () { ResourcePoliciesGatekeeper::get_instance ().register_manager (this); // Includes default policies. _policies.push_back (new ResourcePolicyLiFo ()); _policies.push_back (new ResourcePolicyFiFo ()); _policies.push_back (new ResourcePolicyPriority ()); _policies.push_back (new ResourcePolicyPriorityInheritance ()); } CppResourcePolicyManager::~CppResourcePolicyManager () { ResourcePoliciesGatekeeper::get_instance ().unregister_manager (this); } const std::vector & CppResourcePolicyManager::get_avail_policies () const { return _policies; }