home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / OPipes.def < prev    next >
Text File  |  1994-05-25  |  1KB  |  46 lines

  1. |##########|
  2. |#MAGIC   #|CKOLFLJM
  3. |#PROJECT #|""
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x--x----xx-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|x----xxxxx-xx---
  9. |##########|
  10. DEFINITION MODULE OPipes;
  11.  
  12. FROM OStreams   IMPORT InStream,OutStream,EOF;
  13. FROM OThreads   IMPORT Semaphore,Signal;
  14.  
  15. TYPE
  16.   Pipe        = POINTER TO OBJECT OF InStream,OutStream; END;
  17.   StaticPipe  = POINTER TO OBJECT OF Pipe,Signal AS full,
  18.                                           Signal AS empty;
  19.                   buffer : CLASSPTR TO ARRAY OF CHAR;
  20.                   in,out : INTEGER;
  21.                   eof    : BOOLEAN;
  22.                   CONSTRUCTOR Create(size : INTEGER := 256);
  23.                   DESTRUCTOR Delete;
  24.                   METHOD PutEOF;
  25.                   METHOD ReadChar():CHAR;
  26.                   METHOD WriteChar(c : CHAR);
  27.                   METHOD Destruct;
  28.                 END;
  29.  
  30.   BuffPtr     = HIDDEN;
  31.   DynamicPipe = POINTER TO OBJECT OF Pipe,Signal AS empty;
  32.                   inbuffer,
  33.                   outbuffer : BuffPtr;
  34.                   in,out    : INTEGER;
  35.                   eof       : BOOLEAN;
  36.                   CONSTRUCTOR Create;
  37.                   DESTRUCTOR Delete;
  38.                   METHOD PutEOF;
  39.                   METHOD ReadChar():CHAR;
  40.                   METHOD WriteChar(c : CHAR);
  41.                   METHOD Destruct;
  42.                 END;
  43.  
  44. END OPipes.
  45.  
  46.