Humboldt Universität zu Berlin   Institut für Informatik   Lehrstuhl Systemarchitektur
CorSiCA-Homepage   CorSiCA-Index

Eventtyp-Definitionen

Grundlegende Typdefinitionen

////////////////////////////////////////////////////////////////////////////////
// IDL-Interfaces fuer das Projekt CorSiCA
// CORBA-based Simlation Concept for IN Applications
// (c) Projektgruppe CorSiCA
//     Barbara Burkhard, Oliver Becker, Christian Priebe, Dirk Blaschke,
//     Long Tran Thanh, Knut Conrad, Tuan Nguyen Quoc
// Version 2 (Juni 1998)
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//
// types.hh: einige nuetzliche Typdefinitionen, die gleichzeitig fuer
//           IDL-Definitionen, Eventtypen und Templates gelten
//
// Darf nur in corsica.idl includiert werden!
//
////////////////////////////////////////////////////////////////////////////////


   typedef string Address; // "+ < Land > + < Ort > + < Rufnummer >"
   typedef string Date;
   typedef long Time;
   typedef short ID;

   enum Types { 
      BOOLEAN, CHAR, SHORT, LONG, FLOAT, DOUBLE, STRING, ENUM, TABLE 
   };

   enum Language { 
      ENGLISH, FRENCH, GERMAN, RUSSIAN, UNKNOWN 
   };

   enum ChargeType { 
      ChargeCaller, ChargeCallee, ChargeSubscriber, ChargeAccount, 
      ChargePayphone, ChargeCard 
   };

   enum DP { 
      O_ATTEMPT_AUTHORIZED, COLLECTED_INFO, ANALYSED_INFO, O_ANSWER, 
      O_MID_CALL, O_DISCONNECT, O_ABANDON, ROUTE_SELECT_FAILURE, 
      O_CALLED_PARTY_BUSY, O_NO_ANSWER, T_ATTEMPT_AUTHORIZED, T_ANSWER,  
      T_MID_CALL, T_NO_ANSWER, T_CALLED_PARTY_BUSY, T_ABANDON,T_DISCONNECT 
   };

   enum DeviceStatus {
      NO_DEVICE, HOOK_ON, HOOK_OFF
   };

  

Basis-Eventtyp

event Event {}

  

Rufbezogene Eventtypen

include "types.hh"
include "event.evt"

event CallRelatedEvent : Event {}


// *** Events an die Adapter-Komponente ***

// Eine Dienstkomponente teilt durch ein InputReqEvent mit, dass sie auf
// Nutzereingaben einer bestimmten Laenge n wartet. Liegen Eingaben mind. 
// dieser Laenge vor, wird das Anfangsstueck des Puffers mit der Laenge n aus
// dem Puffer entfernt und als InputEvent bereitgestellt.


event InputReqEvent : CallRelatedEvent {
	Address from;         	// Fordert Input der Laenge min...max an
	short min;            	// vom Teilnehmer mit der Adresse from
	short max;            	// from= "" zeigt an, dass die Eingabe vom
	char term;            	// Ausloeser des IN-Rufs gelesen werden soll
	}			// term=Endezeichen

/*** alte Version
event InputReqEvent : CallRelatedEvent {
                                // Fordert Input der Laenge length an
        short length;           // vom Teilnehmer mit der Adresse from
        Address from;           // from= "" zeigt an, dass die Eingabe vom
                                // Ausloeser des IN-Rufs gelesen werden soll
	}
***/

event AnnReqEvent : CallRelatedEvent {
	long annID;         // Kennung der zu spielenden Ansage
	Language lang;      // Sprachkennzeichen
	Address for;        // Adresse des Endgeraetes, dem die Ansage 
			    // vorgespielt werden soll. Die Angabe von "" (leer)
			    // meint den Ausloeser des IN-Rufs. 
	}

event AnnReqVarEvent : AnnReqEvent {
	string param1;      // Uebergabe von max. 3 Strings als
	string param2;      // variable Anteile einer Ansage
	string param3;
	}

event ConnectReqEvent : CallRelatedEvent {
	Address dest;
	}

event ChargeEvent : CallRelatedEvent {
	short tariff;
	short units;
	ChargeType type;
	string account;
	short amount;
        }

event SetTriggerReqEvent : CallRelatedEvent {
	DP point;
	ID service;
	}

event UnsetTriggerReqEvent : CallRelatedEvent {
	DP point;
	ID service;
	}

event CurrentStatusReqEvent : CallRelatedEvent {
	Address addr;
	}


// *** Events von der Adapter-Komponente ***

event InputEvent : CallRelatedEvent {
	string input;       // liefert Input  
        Address from;       
	}             

event AnnAckEvent : CallRelatedEvent {
        long annID;		// bestaetigt das Abspielen der
        Language lang;		// geforderten Ansage
        Address for;
        }

event ConfigDoneEvent : CallRelatedEvent {
                            // wird vom Konfigurator erzeugt, wenn der
                            // Dienst fertig konfiguriert ist;
        }

event CallStartEvent : CallRelatedEvent {
                            // ein (neuer) IN-Ruf ist eingegangen
        }
 
event ConnectedEvent : CallRelatedEvent {
	Address connected;
        Time time;               
	}

event DisconnectedEvent : CallRelatedEvent {
	Address disconnected;
        Time time;                 
	}

event HookOnEvent : CallRelatedEvent {
	Address addr;
	}

event HookOffEvent : CallRelatedEvent {
	Address addr;
	}

event NoAnswerEvent : CallRelatedEvent {
	Address destination;
	}

event BusyEvent : CallRelatedEvent {
	Address destination;
	}

event ForwardedEvent : CallRelatedEvent {
	Address destination;
        Address to;
	}

event SetTriggerAckEvent : CallRelatedEvent {
	boolean ok;
	DP point;
	}

event CollectedInformationEvent : CallRelatedEvent {
	}

event AnalysedInformationEvent : CallRelatedEvent {
	}

event AttemptAuthEvent : CallRelatedEvent {
	Address dev;
	}

event MidCallEvent : CallRelatedEvent {
	Address dev;
	}

event RouteSelectFailureEvent : CallRelatedEvent {
	}

event SvcEndEvent : CallRelatedEvent {
        Time time;          // Abbau aller beteiligten Komponenten +
        }                   // Eventbus, Vertrag und Kontextobjekt

event CurrentStatusEvent : CallRelatedEvent {
	Address addr;
	DeviceStatus status;
	}



// *** Events in beide Richtungen ***

event CallReleaseEvent : CallRelatedEvent {
	Time time;	// Der Ruf ist beendet, die Dienstinstanz
			// bleibt jedoch erhalten
	}

  

Sitzungsbezogene Eventtypen

include "types.hh"
include "event.evt"

event SessionRelatedEvent : Event {}

event StartEvent : SessionRelatedEvent {
	Time time;
	ID serviceID;		// z.B. fuer globale Statistiken der 
	ID subscriberID;	// IN-Plattform
	}
	
event AnnounceEvent : SessionRelatedEvent {
	long annID;                // Kennung der zu spielenden Ansage
 	}

event AnnounceVarEvent : AnnounceEvent {
        string param1;
        string param2;
        string param3;
        }

event AddressEvent : SessionRelatedEvent {
	Address dest;
	}

event ServiceErrorEvent : SessionRelatedEvent {
	Address originator;   //aus Context-Objekt
	ID serviceID; 
	ID subscriberID;
	Time time;
	short level;
	string reason;
	}	

event ValueEvent : SessionRelatedEvent {
	string val;
	}

event ObjRefEvent : SessionRelatedEvent {
	string objref;
	long key;
	}

  

Barbara Burkhard   (burkhard@informatik.hu-berlin.de)
Oliver Becker   (obecker@informatik.hu-berlin.de)
Christian Priebe   (priebe@informatik.hu-berlin.de)
Last modified: Monday, 16-Aug-1999 09:57:02 CEST

Background Image: Copyright © 1997 DiP - Thomas Lindström