root/tags/lgt2212/library/event_registry.lgt

Revision 365, 1.1 KB (checked in by pmoura, 6 years ago)

Changed "authors" key in info/1 directive to "author".

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1
2:- object(event_registry,
3    implements(event_registryp)).
4
5
6    :- info([
7        version is 1.0,
8        author is 'Paulo Moura',
9        date is 2000/7/24,
10        comment is 'Before and after events registry predicates.']).
11
12
13    monitors(Monitors) :-
14        findall(
15            Monitor,
16            (current_event(before, _, _, _, Monitor),
17             current_event(after, _, _, _, Monitor)),
18            List),
19        {sort(List, Monitors)}.
20
21
22    monitored(Objects) :-
23        findall(
24            Object,
25            (current_event(before, Object, _, _, _),
26             current_event(after, Object, _, _, _)),
27            List),
28        {sort(List, Objects)}.
29
30
31    monitor(Object, Message, Sender, Monitor) :-
32        current_event(before, Object, Message, Sender, Monitor),
33        current_event(after, Object, Message, Sender, Monitor).
34
35
36    set_monitor(Object, Message, Sender, Monitor) :-
37        define_events(before, Object, Message, Sender, Monitor),
38        define_events(after, Object, Message, Sender, Monitor).
39
40
41    del_monitors(Object, Message, Sender, Monitor) :-
42        abolish_events(before, Object, Message, Sender, Monitor),
43        abolish_events(after, Object, Message, Sender, Monitor).
44
45
46    del_monitors :-
47        abolish_events(before, _, _, _, _),
48        abolish_events(after, _, _, _, _).
49
50
51:- end_object.
Note: See TracBrowser for help on using the browser.