- Added ResourcePolicyManager

- Removed obsolete files

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@815 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
elvez 2006-08-02 23:38:52 +00:00
parent 56a7ce1221
commit 10091d7a16
16 changed files with 52 additions and 752 deletions

View file

@ -40,7 +40,7 @@ using namespace sgpem;
template class SG_DLLEXPORT Singleton<ResourcePoliciesGatekeeper>;
typedef vector<ResourcePolicyManager*>::iterator ManagerIterator;
typedef map<History*, Policy*>::iterator PolicyIterator;
typedef map<History*, ResourcePolicy*>::iterator PolicyIterator;
const vector<ResourcePolicyManager*>&
ResourcePoliciesGatekeeper::get_registered() const
@ -60,7 +60,7 @@ ResourcePoliciesGatekeeper::register_manager(ResourcePolicyManager* manager)
}
void
ResourcePoliciesGatekeeper::unregister_manager(PolicyManager* manager)
ResourcePoliciesGatekeeper::unregister_manager(ResourcePolicyManager* manager)
{
assert(manager != NULL);
@ -89,7 +89,7 @@ ResourcePoliciesGatekeeper::get_current_policy(History* history) throw(runtime_e
}
void
ResourcePoliciesGatekeeper::set_current_policy(History *history, ResourcePolicy* policy)
ResourcePoliciesGatekeeper::activate_policy(History *history, ResourcePolicy* policy)
{
assert(history != NULL && policy != NULL);

View file

@ -0,0 +1,37 @@
// src/backend/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 2 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, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "resource_policy_manager.hh"
#include "resource_policies_gatekeeper.hh"
using namespace sgpem;
ResourcePolicyManager::ResourcePolicyManager()
{
ResourcePoliciesGatekeeper::get_instance().register_manager(this);
}
ResourcePolicyManager::~ResourcePolicyManager()
{
ResourcePoliciesGatekeeper::get_instance().unregister_manager(this);
}

View file

@ -0,0 +1,58 @@
// src/backend/resource_policy_manager.hh - 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 2 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, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#ifndef RESOURCE_POLICY_MANAGER_HH
#define RESOURCE_POLICY_MANAGER_HH 1
namespace sgpem
{
class ResourcePolicy;
}
#include "config.h"
#include <vector>
namespace sgpem
{
class ResourcePolicyManager;
/**
ResourcePolicyManager is the Abstract Factory for \ref ResourcePolicy objects.
*/
class SG_DLLEXPORT ResourcePolicyManager
{
public:
/** \brief ResourcePolicyManager constructor
*
* Registers itself to the ResourcePoliciesGatekeeper singleton.
*/
ResourcePolicyManager();
virtual ~ResourcePolicyManager();
virtual const std::vector<ResourcePolicy*>& get_avail_policies() const = 0;
};
} //~ namespace sgpem
#endif