75392e54c7
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@757 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
52 lines
1.1 KiB
Plaintext
52 lines
1.1 KiB
Plaintext
|
|
:- object(event_registry,
|
|
implements(event_registryp)).
|
|
|
|
|
|
:- info([
|
|
version is 1.0,
|
|
author is 'Paulo Moura',
|
|
date is 2000/7/24,
|
|
comment is 'Before and after events registry predicates.']).
|
|
|
|
|
|
monitors(Monitors) :-
|
|
findall(
|
|
Monitor,
|
|
(current_event(before, _, _, _, Monitor),
|
|
current_event(after, _, _, _, Monitor)),
|
|
List),
|
|
{sort(List, Monitors)}.
|
|
|
|
|
|
monitored(Objects) :-
|
|
findall(
|
|
Object,
|
|
(current_event(before, Object, _, _, _),
|
|
current_event(after, Object, _, _, _)),
|
|
List),
|
|
{sort(List, Objects)}.
|
|
|
|
|
|
monitor(Object, Message, Sender, Monitor) :-
|
|
current_event(before, Object, Message, Sender, Monitor),
|
|
current_event(after, Object, Message, Sender, Monitor).
|
|
|
|
|
|
set_monitor(Object, Message, Sender, Monitor) :-
|
|
define_events(before, Object, Message, Sender, Monitor),
|
|
define_events(after, Object, Message, Sender, Monitor).
|
|
|
|
|
|
del_monitors(Object, Message, Sender, Monitor) :-
|
|
abolish_events(before, Object, Message, Sender, Monitor),
|
|
abolish_events(after, Object, Message, Sender, Monitor).
|
|
|
|
|
|
del_monitors :-
|
|
abolish_events(before, _, _, _, _),
|
|
abolish_events(after, _, _, _, _).
|
|
|
|
|
|
:- end_object.
|