Commit Graph

98 Commits

Author SHA1 Message Date
tchernobog 66d46db357 - Separate template definition from template declaration
- Explicitly instantiate Singleton templates to be exported from libbackend.so
- Install only header files that are backend interfaces to be exposed to the user
- Don't use full path for including templates in header files
- Instantiate a couple of smart_ptr templates to have their symbols exported outside the DSO. This happens in history.cc. FIXME: the interface for History will definitely need to be reworked, and the two smart_ptr explicit instantiations removed.
- Change SWIG exported interface to make use of Schedulable instead of (Dynamic|Static)Schedulable
- Fix provided policies to make use of the new interface
- TODO: limit the use of smart_ptrs.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@653 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-23 13:06:39 +00:00
elvez 56db7cd6a2 - Added requests system
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@652 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-22 22:48:33 +00:00
elvez e95d915e3a - Added DynamicThread class
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@649 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-21 22:39:35 +00:00
tchernobog 383889a203 - Add unified Singleton support
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@643 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-21 09:09:50 +00:00
elvez ec7c6a7c81 - Added Thread class
- Synchronized DynamicSchedulable and DynamicProcess with changes in design

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@637 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-19 22:37:27 +00:00
elvez 9642918dd8 - Added StaticThread and DynamicProcess classes
- Added Process interface
- Classes are still incomplete

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@632 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-14 23:31:31 +00:00
elvez a1662de194 - Added the Schedulable interface
- Renamed SchedulableStatus to DynamicSchedulable
- Implemented almost all methods of DynamicSchedulable

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@630 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-13 16:37:57 +00:00
tchernobog 4f9a12003a - Initial commit laying out skel for new xmlsave plugin.
Another commit fixing arising errors _could_ follow (but maybe not,
if I've been good enough ;-)).


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@628 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-13 15:09:13 +00:00
elvez dd6085a0a6 - Renamed Process to StaticProcess
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@627 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-13 14:20:05 +00:00
elvez 1f7972c308 - Renamed Schedulable to StaticSchedulable
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@626 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-13 13:55:47 +00:00
elvez 1706119e4d - Renamed GlobalSettings to GlobalPreferences
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@621 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-12 14:04:06 +00:00
elvez c5d78f3547 - updated PoliciesGatekeeper to reflect change in design, it is still not usable at this time
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@616 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-10 15:44:42 +00:00
elvez 8062dd95da - Completed renaming of class SchedulableList to SchedulableQueue
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@603 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-03 15:19:13 +00:00
tchernobog 38a7990e26 - Add revision left out from last merging (Subversion has one of
the worst merge systems I've seen thus far)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@563 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-04-07 19:57:58 +00:00
tchernobog ec3361cb84 - Make test-python_loader a unit test instead of an integration test
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@520 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-09 22:20:55 +00:00
tchernobog ef733b37e8 - Update test-python_loader, do not link to libpyloader anymore
- TODO: sigsegv (due to an hidden vtable?)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@519 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-09 21:56:16 +00:00
tchernobog 3c75e1391d - Add support for conditional compilation of tests
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@518 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-09 21:02:43 +00:00
tchernobog 0c2cba8bbe - Fix compilation of test-history
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@515 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-09 11:37:09 +00:00
tchernobog 92e6f3be2b - Add copyright notices to existing builtin python policies
- Implement system to dinamically pass plugins and policies search paths to
the sgpemv2 binary and tests (class GlobalSettings)
- Drastically reduce usage of hardcoded paths in code except as 
default overridable values


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@514 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-09 10:49:41 +00:00
tchernobog 6a0bf4f444 - Give facelift to test_loader. Still to be finished.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@509 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-08 16:47:39 +00:00
tchernobog 181164722b - Use kluge to an automake bug to have ``make distcheck'' working again
- Update ChangeLog


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@492 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-05 23:06:48 +00:00
tchernobog 17678ebbe4 - Reorganize makefile to install files in a reorganized directory
hierarchy: 
	- make room for future plugins
	- separate real plugins from their satellite helper
	data


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@484 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-03 21:04:42 +00:00
tchernobog d5565b319f - Add placeholder for a plugin interface to implement.
Will need to be finished with next milestones.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@460 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-25 12:40:24 +00:00
tchernobog c6dcf32fa2 - Remove all leftover references to DummyPolicy
- Adjust installation of backend header files, so users
can write their own plugins (needs to be documented)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@459 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-25 12:31:46 +00:00
tchernobog 56534edb6c - 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
2006-02-25 12:21:30 +00:00
tchernobog 38f7b84909 - Workaround Automake limitations for calculating library dependencies
when installing. Should fix the problem for now.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@453 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-24 16:42:54 +00:00
tchernobog 022af85ed1 - Install tests (will need to be set as a conditional at
some point in the future)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@451 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-24 16:36:13 +00:00
tchernobog 7ce8cf93c3 - Add SJF
- Re-enable FCFS sorting function
- Correct bug in PythonPolicy that wronged return value
of is_pre_emptible()


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@435 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-24 11:17:37 +00:00
tchernobog 5dddd9b488 - I don't remember exactly what I did.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@434 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-24 10:39:40 +00:00
tchernobog c91a86a9ca - Move compiled test to the ``testsuite'' subdir
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@415 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-23 22:02:59 +00:00
tchernobog ec5d813a7c - Move SWIG interface file to the correct subdir
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@396 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-23 11:36:13 +00:00
tchernobog 8d6b7c500e - Fix test to initialize a set of processes and run a simulation
- The test needs to be linked to Gtkmm, even if it doesn't use it. 
This is wrong and a coding anomaly that will need to be resolved.
- Add debug code to fcfs.py. Please remove it when it'll be okay
- Calling dir(SchedulableList.get_item_at(x)) from Python shows
a worringly empty list!


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@395 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-23 11:29:25 +00:00
tchernobog 075e12d14d - Add note that building with --disable-shared at the moment doesn't work
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@393 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-23 09:26:27 +00:00
tchernobog eecb9f109f - "Yeehaw! It's working! I can't believe it! And they said that an imitation
diamond wasn't good enough..." :-)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@384 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-22 20:36:33 +00:00
tchernobog 712e14f558 - Add first undocumented (and quite useless) test for libpyloader.
It doesn't work properly for no apparent reason.
- Add SWIG interface generation for Scheduler


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@375 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-21 22:57:14 +00:00
tchernobog cc26da0b59 - Typo (surprising, isn't it?)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@373 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-21 20:35:13 +00:00
tchernobog 3d3dd0b762 - Update makefile to build ScriptAdapter.py
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@372 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-21 15:18:36 +00:00
tchernobog 2e1a699b65 - This is a save point (everything compiles again) ;-)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@369 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-21 11:30:19 +00:00
tchernobog 7d58c965ff - Add initial layout for further builtin policies (needs
to be expanded / fixed)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@363 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-21 07:39:39 +00:00
tchernobog b788ebab4b - Fix Python/C++ module compilation when compiler supports
the -fvisibility=hidden option
- Update Makefile consequentially


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@361 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-20 21:26:08 +00:00
tchernobog 5121ab9f39 - Change order on which the libraries are listed for installation
in the makefile, thus workarounding a nasty automake bug.
This problem is reported here:
   http://sourceware.org/ml/automake/2004-03/msg00113.html
   http://sources.redhat.com/ml/automake/2004-01/msg00171.html
... but it doesn't seem to have been solved thus far.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@356 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-20 00:12:24 +00:00
tchernobog b9c4813f11 - Add first draft of SWIG interface file, and create Python
loadable module. However, please note that:
	- All the methods accepting a Glib::ustring should
	not be exported, instead they should be replaced by wrapper
	functions accepting PyObject*.
	- The same thing applies to every other method accepting
	a ``non built-in'' data type
	- Return types should probably be wrapped, too
	- It may be a good idea to implement wrapper methods 
	that print out the content of a C++ object, 
	so that a Python user can do a simple "print schedStat". 
	This is achieved by adding a "__str__()" method to the 
	class. See the SWIG manual for further infos about
	returning const char* values.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@354 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-19 22:25:23 +00:00
tchernobog 8bb6220819 - Merged branch to avoid recursive make
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@349 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-19 14:34:41 +00:00
tchernobog 955d987ff1 - Fixing makefiles with the help of ``make distcheck''
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@210 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-01-26 21:41:40 +00:00
tchernobog b5def4cb81 - Add support for automagically generating API documentation
with Doxygen. Just use ``make apidox''.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@208 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-01-26 20:32:06 +00:00
tchernobog 3c1883fafd - Lay out directory for keeping tests
- Create Makefile for sources, add main.cc that just prints the 
license as a test for the rules.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@175 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-01-15 19:40:02 +00:00
tchernobog 7c5660aaf6 - Added libtool, gettext support
- Added needed m4 macros
- fixed autogen.sh to be made executable
- fix directory categories with info manuals



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@169 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-01-13 15:52:22 +00:00
tchernobog d3b4e61d94 - Lay out autotools foundations
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@134 3ecf2c5c-341e-0410-92b4-d18e462d057c
2005-12-30 19:40:34 +00:00