sources:


website:
more info here
studies/corba/Corba-Code4/Filter/auktion.idl
download file

  1 // Versionsgeschichte
  2 // r1: Initialversion
  3 // r2: Fuehre Verkauefer::zuschlag ein
  4 // r3: Korrigiere Schreibung
  5 // Fuehre Verkaeufer::handelsplatz ein
  6 // r4: Verkaeufer uses Versteigerungsfabrik, nicht Auktionshaus
  7
  8 #pragma prefix "r4"
  9
 10 module Auktion {
 11     component Bieter;
 12     component Verkaeufer;
 13
 14     interface Versteigerung {
 15         readonly attribute string name;
 16         readonly attribute long   aktuelles_gebot;
 17
 18         void biete(in long gebot, in Bieter potentieller_kaeufer);
 19     };
 20
 21     interface VersteigerungsFabrik {
 22         Versteigerung neue_auktion(in string     name,
 23                                    in long       minimalgebot,
 24                                    in Verkaeufer besitzer)
;
 25     };
 26
 27     eventtype Gebot {
 28         public Versteigerung gegenstand;
 29         public long          angebot;
 30     };
 31
 32     component Auktionshaus {
 33         provides  VersteigerungsFabrik auktionen;
 34         publishes Gebot gebote;
 35     };
 36
 37     home Welt manages Auktionshaus {};
 38
 39     component ProduktFilter {
 40         attribute string interessanter_gegenstand;
 41
 42         consumes  Gebot eingehende_gebote;
 43         publishes Gebot interessante_gebote;
 44     };
 45
 46     home FilterHome manages ProduktFilter {
 47         factory new_filter(in string gegenstand);
 48     };
 49
 50     interface Kaeufer {
 51         void zuschlag(in Versteigerung gegenstand, in Verkaeufer v);
 52     };
 53
 54     component Bieter supports Kaeufer {
 55         consumes      Gebot         gebote;
 56         uses multiple Versteigerung versteigerungen;
 57     };
 58
 59     home BieterHome manages Bieter {};
 60
 61     eventtype Kauf: Gebot {
 62         public Auktion::Kaeufer kaeufer;
 63     };
 64
 65     component Verkaeufer {
 66         uses     VersteigerungsFabrik handelsplatz;
 67         consumes Kauf                 zuschlag;
 68     };
 69
 70     home VerkaeuferHome manages Verkaeufer {};
 71
 72 };
 73
 74