Commit Graph

728 Commits

Author SHA1 Message Date
tchernobog 0e79b163f3 - Fix Dynamic* constructor to add them objects into the correct
vector
- Split push_back in constructors on two lines so the compiler warns
us if returned vectors are temporary objects, or do not match the
expected type


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@745 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-09 15:48:24 +00:00
paolo 301775debd - modified concrete_hystory
- method add_thread - fix push into static_process's vector and
    dynamic_process's vector
  - method add_request - fix push into static_thread's vector and
    dynamic_thread's vetor 


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@744 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-09 15:25:19 +00:00
paolo 519e516314 - added xml serialization classes (partial implementation)
- xml_serializer
  - xml_visitor
  - testsuite/test-xml_visitor



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@743 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-08 05:54:21 +00:00
paolo 4d862a3c2f - added classes needed by serialization
- serializers_gatekeeper
  - serializer
  - serializer_error
  - serializer_visitor (should replace serialize_visitor)



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@742 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-08 05:50:41 +00:00
tchernobog c1d104dba8 - Small changes: no need to use assert, since libGlade already
does print a warning for us on error
- Fix Makefile


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@740 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 12:36:05 +00:00
tchernobog f84c7bbf40 - Do things in a more C++ style
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@739 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 12:23:29 +00:00
tchernobog 483cf2815d - Pardon my italian, but "'affanculo" is the only thing that
crosses my mind seeing what was the correct fix.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@738 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 11:26:23 +00:00
tchernobog 933d814ddc - Trivialities: change a couple of comments. The SIGSEGV isn't related
to option parsing.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@737 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 10:51:37 +00:00
tchernobog 8b1da4e1c7 - Fix plugin.hh visibility attributes
- Improve option parsing
- Strange SIGSEGV still happening (a different one, though)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@736 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 09:49:35 +00:00
elvez 3125f3d3cf - Option parsing system is now complete, shame on me, Glib::Option* was so easy to use...
- This is not so important, but the app now segfaults because of this "improvement", don`t say it`s my fault, from what I can understand, glib crashes at some time in between the call to parse_options() is terminated and the call to start_gui() is performed

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@735 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 00:05:50 +00:00
elvez b6da06e014 - Added a touch of class to the plugin management system. Now we do things (more or less ;-) ) like gaim does!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@734 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 21:30:08 +00:00
elvez 27ac53330e - Written what I could for commandline options parsing, it will take a lot to move from this point if I can`t find adequate documentation for the option parsing system of Glib...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@733 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 21:00:57 +00:00
tchernobog 331bf0c9e5 - Empty test-history
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@732 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 17:21:05 +00:00
elvez 45cc6733e4 - Fixed plugin interface. Now both plugins are loaded. Not tried calling the exported functions, though...
- To make sure libraries are not loaded multiple times, only .so files are considered. Beware that this is not portable

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@731 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 17:03:04 +00:00
paolo f181c93527 - added global_preferences_serielizer
- TO DO - test-program not finished



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@730 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 16:01:44 +00:00
tchernobog d7ca106d89 - Add about dialog as an extra example on how to use libglade with
signals
- Remember that sigc::bind exists for passing extra parameters to
called methods/functions


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@729 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 15:16:58 +00:00
tchernobog e99b7c80ae - Whoops, missing glade file
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@728 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 14:39:58 +00:00
tchernobog 41d20ba6eb - Move to libglademm to handle GUI creation. This is experimental,
but should greatly help in reducing development times


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@727 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 14:37:11 +00:00
tchernobog 3dd8403f0a - Port xmlsave to the new plugin system
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@726 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:52:11 +00:00
tchernobog 1b018234be - Make me compile! (this doesn't necessarily mean it runs, though.)
- Fix SWIG interface to correctly manage things
- PythonPolicyManager isn't a singleton anymore. Since I did this in
a bit of a hurry, check the modifications are right


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@725 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:46:12 +00:00
paolo fee643d3f3 - added files to write to and read from configuration files
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@724 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:32:16 +00:00
paolo 90fc0c6c95 - addedd files to read/wride configuration files
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@723 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:31:07 +00:00
tchernobog b69f9b9d12 - Finish splitting the visibility macro also for plugins
---Questa linea, e quelle sotto di essa, saranno ignorate--

A    trunk/plugins/pyloader/m4/sgpemv2-visibility.m4
M    trunk/plugins/pyloader/configure.ac
M    trunk/plugins/pyloader/Makefile.am
A    trunk/plugins/xmlsave/m4/sgpemv2-visibility.m4
M    trunk/plugins/xmlsave/configure.ac
M    trunk/plugins/xmlsave/Makefile.am


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@722 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:05:30 +00:00
tchernobog cd9a73ee0e - Move macro for checking for GCC visibility support to a separate file
- Delete the "serialize()" method of concrete_environment, since useless


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@721 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 11:11:50 +00:00
tchernobog 6152a06268 - Another typo, for a change
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@720 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 23:18:39 +00:00
tchernobog 3f024be712 - Fix typo, but not compilation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@719 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 23:17:29 +00:00
tchernobog 3e83f4db23 - Fix return type of Scheduler::get_policy() before going to bed
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@718 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 23:12:28 +00:00
tchernobog 22af0b9cdd - Add method to set a request state
- Work on step_forward() a little more
- Add extra check inside dynamic_thread()::decrease_remaining_time()


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@717 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 23:09:10 +00:00
elvez dd4898ca55 - Added SerializeVisitor class and written various serialize() methods
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@716 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 22:34:39 +00:00
tchernobog fcc9e93827 - Let the user disable the new GCC 4.0 visibility support
from configure. This is mainly there for buggy compilers / binutils.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@715 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 22:17:02 +00:00
tchernobog 4108b39c09 - Fix datarootdir for autoconf 2.60
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@713 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 20:28:40 +00:00
tchernobog b7d61d5c56 - Fix compilation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@712 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 19:53:58 +00:00
tchernobog 5ab575dffd - Minor modifications to step_forward()
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@711 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 17:17:31 +00:00
elvez 401c569a9f - Updated interface of pyloader to comply with the new plugin management system`s requirements
- Commented a lot of code to make it compile-able. But still it doesn`t link (at least for me...)

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@710 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 15:05:04 +00:00
tchernobog b65adbe1cc - Empty the main
- Delegate plugin loading to PluginManager so that it can
be tested


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@709 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 11:09:45 +00:00
tchernobog a378239d60 - Only schedule Threads. Ditch support for Policies deciding
if they want to schedule Threads or Processes altogether
- Move setter methods for last_acquisition/last_release from
DynamicSchedulable to DynamicThread
- Rewrite aforesaid methods, along with the respective getter
methods, into Dynamic(Thread|Process)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@708 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 10:46:15 +00:00
tchernobog 736aa25456 - Change pkg-config file to use ${prefix}/include
rather thant ${prefix}/include/sgpemv2: users will
be able to use directives like "#include <sgpemv2/scheduler.hh>"
in their headers, which reduces name clashes.
- Make _mutex a protected member of Singleton, so that
inheriters can recycle it :-)
- Add exclusive access control for step_forward()
- Add two states (future and exhausted) to Request


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@707 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 10:03:43 +00:00
tchernobog 899e20323a - Write some more of Scheduler::step_forward()
- Noted some design lackings, warning the designers


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@706 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 09:30:45 +00:00
tchernobog cb3305c425 - Fix compilation of backend::Module
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@705 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 08:27:51 +00:00
elvez 9a7b39ed82 - Completed plugin management system. Now we should start using it...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@703 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 22:01:19 +00:00
tchernobog 9856a86c87 - Start implementing Scheduler::step_forward(). Whoohooo!
- Changed Schedulable::get_remaining_time() in get_elapsed_time()


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@702 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 21:55:09 +00:00
tchernobog 94f7c1d127 - Fix compilation of libbackend.so
- Erased Scheduler::step_forward(): reimplementing from
scratch


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@701 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 20:55:19 +00:00
tchernobog e2fc34f16b - Finish writing ConcreteHistory. That was nasty!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@700 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 20:10:51 +00:00
tchernobog cb8e8dabc7 - "You got another thing comin'" -- Judas Priest
- Add get_request() method to (Dynamic)SubRequest.
- Implement most of ConcreteHistory. It is a fairly complex class,
with some real evilness in it. It should be thouroughly documented 
ASAP.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@699 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 18:52:50 +00:00
elvez 68b92db976 - Doh! I forgot to add invalid_plugin_exception.cc
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@698 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 18:31:24 +00:00
elvez fac2a08e26 - Written code for plugin management system, some code is missing (Matteo, please...)
- TODO Integrate this new plugin management system into the application

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@697 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 18:29:44 +00:00
tchernobog 7d62f4b937 - Mega-update. Take it while it's hot... but my brain's frying!
- Fixed all Dynamic and Static entities lacking proper destructors:
Dynamic entities need to delete Dynamic children, Static entities
need only to delete them from the list of their siblings
- Added methods to get Static "core" from Dynamic*.
- Now get_core() is a pure virtual function into DynamicSchedulable.
A quite nice solution(?), really, if I can say that myself... ;-)
- ConcreteHistory is half-implemented. It's the other half that 
worries me.
- TODO: finish off ConcreteHistory, and check that things get destroyed
properly (no leaks allowed, use valgrind).
- TODO: rework Simulation
- TODO: Scheduler rewrite
- *A side note*: this code is becoming a mess. I prefer references over
pointers, but someone other prefer pointers over references, and what
happens is that you've to continously pass from one to another when
invoking other methods... this is bad.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@694 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 22:20:03 +00:00
tchernobog 787d24964b - Big swing of untested code, all for you verifiers :-)
- Fix ReadyQueue constructor
- Change DynamicSubRequest to take an int as a parameter
- Implement ConcreteEnvironment::get_request_queue() (my word, it's ugly!)
- Please note that it still doesn't compile right: ConcreteHistory
and Scheduler need to be radically changed


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@692 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 17:38:30 +00:00
tchernobog 55c6b23d31 - Fix visibility outside the DSO
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@691 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 15:38:38 +00:00
tchernobog b8f7083bfc - Write interface for History and ConcreteHistory
- Write interface for HistoryObserver
- Remove obsolete interfaces


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@690 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 15:27:30 +00:00