- Make libpyloader a loadable plugin (warning: won't work

on Window$ unless you change the string "libpyloader" to
"pyloader" into main.cc)
- Fix Makefile to support module creation and loading
- 2DO: 
	- Add a class into backend to load and manage plugins
	- Install plugins into separate directory
	- Remove hardcoded paths


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@458 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
tchernobog 2006-02-25 12:21:30 +00:00
parent 38f7b84909
commit 56534edb6c
15 changed files with 187 additions and 215 deletions

View file

@ -28,6 +28,7 @@
#include "scheduler.hh"
#include "policy_parameters.hh"
#include "user_interrupt_exception.hh"
namespace sgpem
{
@ -51,7 +52,7 @@ namespace sgpem
Because it's a pure virtual method, must be re-implemented
in concrete derived classes.
*/
virtual void configure() = 0;
virtual void configure() throw(UserInterruptException) = 0;
/**
Sort the \ref SchedulableQueue object that contain all the Schedulable objects
@ -61,13 +62,13 @@ namespace sgpem
in concrete derived classes.
\param event Call reason. Needed only by some scheduling policies.
*/
virtual void sort_queue(Scheduler::event event) const = 0;
virtual void sort_queue(Scheduler::event event) const throw(UserInterruptException) = 0;
/**
Gets the unique identifier (id) of this Policy.
\return The Policy id.
*/
int get_id() const;
int get_id() const;
/**
Gets a string description of the policy.
@ -76,7 +77,7 @@ namespace sgpem
in concrete derived classes.
\return String description of the policy.
*/
virtual Glib::ustring get_description() const = 0;
virtual Glib::ustring get_description() const = 0;
/**
Tell if this policy is preemptible.
@ -88,7 +89,7 @@ namespace sgpem
in concrete derived classes.
\return True if this policy is preemptible.
*/
virtual bool is_pre_emptive() const = 0;
virtual bool is_pre_emptive() const throw(UserInterruptException) = 0;
/**
Gets the time quantum for the policy.
@ -97,16 +98,7 @@ namespace sgpem
in concrete derived classes.
\return Time quantum for the policy.
*/
virtual int get_time_slice() const = 0;
/**
Sets the time quantum for the policy.
Because it's a pure virtual method, must be re-implemented
in concrete derived classes.
\param quantum The desired time quantum for the policy.
*/
virtual void set_time_slice(const int& quantum) = 0;
virtual int get_time_slice() const throw(UserInterruptException) = 0;
/**
Gets the parameters related with this policy.
@ -115,7 +107,7 @@ namespace sgpem
in concrete derived classes.
\return The policy parameters.
*/
PolicyParameters& get_parameters();
PolicyParameters& get_parameters();
protected:
PolicyParameters _parameters;