home *** CD-ROM | disk | FTP | other *** search
- INTERFACE (* PortSigO *)
-
- (*
- objektorientierte Variante
- *)
-
-
- TYPE
- CARDINAL = WORD;
-
- TYPE
- PortFLAG = ( f_P0, f_P1, f_P2, f_P3, f_P4, f_P5, f_P6, f_P7);
- SigPORT = SET OF PortFLAG; (* intern, nur weg. priv. hier *)
- ChangeREC = RECORD (* intern, nur weg. priv. hier *)
- CASE typ : BOOLEAN OF
- FALSE : (p : CARDINAL);
- TRUE : (s : SigPORT);
- END;
-
- TYPE PortSIGNAL = OBJECT
-
- CONSTRUCTOR init( portadr : CARDINAL; owner : PortFLAG);
- (* portadr : z.B. COM-Port + 3 *)
- (* owner : eigenes Flag *)
-
- FUNCTION SignalReceived : BOOLEAN;
- (* TRUE : Signal ist gesetzt *)
- (* Wenn portadr mit 0 initialisiert, dann hier Default: TRUE *)
-
- PROCEDURE ClearOwnSignal;
- (* Erhalt des eigenen Signals wird hierdurch bestätigt *)
-
- PROCEDURE WaitForSignalAndClear;
- (* Wartet, bis Signal erhalten; löscht gleichzeitig. *)
- (* Einsatz macht ClearOwnSignal und SignalReceived *)
- (* überflüssig. *)
-
- PROCEDURE SendSignalTo( process : PortFLAG);
- (* Sendet ein Signal an den Prozeß mit dem Flag process *)
-
- PRIVATE
- adr : CARDINAL;
- flag : PortFLAG;
- w : ChangeREC;
- END;
-
- (*
- END PortSigO.
- *)