Commit graph

32 commits

Author SHA1 Message Date
tchernobog d128ee8608 - Fix portability issues with config.h header. Now it is
included by the compiler (via a flag) and the visibility
macros have been moved to a separate header. You'll
probably need to cleanup your source dir and re-run autogen.sh
before compiling sgpem again.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1191 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 13:34:43 +00:00
tchernobog deaf0702e5 - Add down_cast<> to safely checking dynamic_casts when in development. Be sure to read its documentation before use\!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1188 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 11:21:06 +00:00
tchernobog 83b655496f - Use a NotifyLock instead of (History|Simulation)::set_notify_enabled() method, which is more elegant and also exception-safe
- Delete set_notify_enabled() method from ConcreteHistory; it was both wrong and useless, and caused impredictable behaviour!
- Don't make some methods of History and Simulation virtual if we don't want the user to override them
- Loading from file and jumping to an instant of the simulation should be much quickier now

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1170 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-15 09:34:12 +00:00
tchernobog 1d7c053012 - Fixes ConcreteHistory::clear() not resetting history front. Prevent throwing of std::out_of_range when opening a file after having run the simulation.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1105 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-12 09:27:35 +00:00
matrevis c4aac86d0a - Fixed yellow colours.
- Fixed a bug in scheduler, forgetting to block a thread.
- Added a grid feature to simulation_widget
- Added file->new.



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1095 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-11 21:14:08 +00:00
tchernobog 0f718f2899 - Fix all includes, separating header files to be installed
from other headers. Take it while it's hot.
- To all those that lock source files: you'll burn in hell. Really.
It'll be painful, dreadful and above all *long*. *Eternally* long.
And there'll be Freddy Mercury and The Queen playing, *all the time*, 
day after boring, useless, sorrowful day. The song
will be *``Radio Ga-Ga''*, in secula secularum amen.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1033 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-07 00:43:00 +00:00
tchernobog 22dded7243 - Fix the bug about reconfiguring a policy don't resetting the
History the Hard Way(tm)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1026 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-06 16:33:39 +00:00
tchernobog df4b1b4205 - Merge branch 0.3-r1003--scheduler-manage-preemption into trunk
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1023 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-06 12:29:22 +00:00
matrevis 47d4fe65b4 - Corrected get_front() issues.
- Widget tests are now working properly.



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@990 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-02 01:56:00 +00:00
tchernobog 323ab51210 - Fix sigsegv when editing an entity
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@972 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-31 00:31:14 +00:00
matrevis 8c8ce4c818 - Added editing features to History.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@934 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-23 22:55:08 +00:00
elvez 495896597c - Now everything can be removed!
- Reverted the patch to ConcreteSimulation, I was trying to make it do what ought to be done in the frontend, and now the frontend does it

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@927 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-21 23:44:18 +00:00
elvez 82b4105519 - Now resources can be removed
- Little patch to ConcreteHistory to make it remove emptied requests after a resource removal. I hope this will not break anything...

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@926 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-21 22:01:31 +00:00
tchernobog 0b4db098eb - Add History::clear() to empty an existing history (equivalent
to removing all of its resources and all of its processes, but
faster)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@887 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-16 21:25:08 +00:00
tchernobog d3c7b46853 - Give code a round of indentation. Thank astyle, not me.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@837 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 14:38:45 +00:00
matrevis efe7dedd61 - Request queues are now correctly managed by the ConcreteEnvironment
copy constructor and by the add_resource and remove_resource methods
  found in ConcreteHistory.
- Scheduler now adds the requests in the queue when appropriate, and
  removes them when exhausted.
- Still to implement the management of the state of requests depending
  on their position in the queue
- Still to implement the way threads block depending on the state of
  their requests
- step_forward now reuses some bunch of code taken from the prototype


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@824 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-05 17:09:45 +00:00
elvez d64051279f - Fixed bug in copy construction of DynamicProcess
- Fixed bug in get_parameter<bool> in TextSimulation
- Written some new code for visualization of the simulation

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@799 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-29 00:24:48 +00:00
tchernobog 19ee5c1884 - Fix deletion using an ad-hoc functor to avoid memory leaks, instead that ptr_fun(operator delete). Valgrind says we're doing well with History\!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@787 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-20 21:50:28 +00:00
tchernobog e3d2381212 - Pay attention to iterators invalidated by Container.erase(it) methods.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@782 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-19 15:50:57 +00:00
tchernobog 95ef5eba53 - Fix compilation of test-python_loader (which doesn't f*ckin' work).
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@781 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-19 14:48:53 +00:00
tchernobog 984d390f3f - Fix typo with iterator initialization (screwed RAII)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@780 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-19 14:02:44 +00:00
tchernobog 14b5b66b3c - Implement a couple of helper methods into Dynamic(Sub)Request to
make life easier to Scheduler
- Go on implementing a bit more of Scheduler::step_forward()
- Remove "places" from SubRequest


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@778 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-18 15:52:55 +00:00
elvez d9f24de7c0 - Written ConcreteHistory copy constructor
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@775 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-16 21:56:04 +00:00
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
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 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
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 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
Renamed from src/backend/observed_subject.cc (Browse further)