- Incapsulate code so that the hack we previously used in CPUPoliciesGatekeeper isn't needed anymore

- Now CPUPolicy has a callback method for scripting languages, but it is up to derived classes to take
mutexes and set the value when needed (maybe we can improve this?)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@862 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
tchernobog 2006-08-14 14:28:41 +00:00
parent 390af1f09d
commit 45ef305a1b
7 changed files with 80 additions and 39 deletions

View file

@ -67,26 +67,10 @@ namespace sgpem {
virtual ~CPUPolicy() = 0;
sgpem::PolicyParameters& get_parameters();
%extend {
// Convenience function to get the current policy
static CPUPolicy* get_active_policy()
{
History& h = Simulation::get_instance().get_history();
return CPUPoliciesGatekeeper::get_instance().get_current_policy(&h);
};
}
static CPUPolicy* callback_get_policy() throw(std::runtime_error);
};
// --------------------------------------------
// class PolicyParametersException : public std::runtime_error {
// public:
// PolicyParametersException(char* msg);
// %rename (__str__) what;
// virtual const char* what();
// }; //~ class PolicyParametersException
// --------------------------------------------
// --------------------------------------------
class PolicyParameters
{
public: