]> git.buserror.net Git - polintos/scott/priv.git/blob - idl/events.idl
Initial checkin from Perforce.
[polintos/scott/priv.git] / idl / events.idl
1 namespace Events;
2 using Notifiers.*;
3
4 // A plain Event can be passed to the event source 
5 // if no action should be taken.
6
7 struct Event virtual {
8         guid: "24585852-2877-11DA-9148-00112431A05E";
9 };
10
11 struct NotifierEvent : Event {
12         guid: "2FDEB883-2877-11DA-BBC9-00112431A05E";
13         
14         Notifier target;
15         VStruct info;
16 };
17
18 struct SyncNotifierEvent : Event {
19         guid: "D1F6CC34-2877-11DA-9481-00112431A05E";
20
21         SyncNotifier target;
22         VStruct info;
23 };
24
25 struct EventInfo virtual {
26         guid: "58FB107A-3693-11DA-B25C-000A95BB581A";
27         
28         VStruct dynamic_info;
29 };
30
31 struct TrapEvent : Event {
32         guid: "D4DB748C-2877-11DA-8846-00112431A05E";
33
34         Traps.Trappable target;
35         Traps.Trap trap;
36 };
37
38 // If a trap event has a trap of this base type,
39 // dynamic_info will be filled in with the info passed
40 // to the trigger.  Otherwise, the dynamic info
41 // will be dropped.
42
43 struct EventTrap : Traps.Trap {
44         guid: "F884DC14-36D6-11DA-BAEE-000A95BB581A";
45
46         VStruct dynamic_info;
47 };
48
49 interface EventDispatcher {
50         guid: "8598ADAE-35E9-11DA-A310-000A95BB581A";
51         
52         setup_trigger(Event event, Notifier trigger out);
53         setup_sync_trigger(Event event, SyncNotifier trigger out);
54 };