home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 3 Comm / 03-Comm.zip / ASYNCH.ZIP / PMLNCNTR.CLS < prev    next >
Text File  |  1990-10-29  |  1KB  |  55 lines

  1.  
  2. PMStructure subclass: #PMLineControl
  3.   instanceVariableNames: ''
  4.   classVariableNames: ''
  5.   poolDictionaries: ''   !
  6.  
  7.  
  8. !PMLineControl class methods !
  9.    
  10. sizeInBytes
  11.         "Private - Answer the size of a PM bitmap info
  12.          header record."
  13.     ^4! !
  14.  
  15.  
  16.  
  17. !PMLineControl methods !
  18.  
  19. dataBits
  20.         "Answer the number of data bits."
  21.     ^self byteAtOffset: 0!
  22.  
  23. parity
  24.         "Answer parity as a Character:
  25.         $n - none $o - odd $e - even $m - mark $s - space."
  26.     ^#($n $o $e $m $s) at: ((self byteAtOffset: 1) + 1)!
  27.    
  28. setDataBits: anInteger
  29.         "Set the number of data bits to anInteger."
  30.     (anInteger < 5 or: [anInteger > 8])
  31.         ifTrue: [^self error: 'Data bits range from 5 to 8'].
  32.     self byteAtOffset: 0 put: anInteger!
  33.    
  34. setParity: aCharacter
  35.         "Set parity according to aCharacter:
  36.         $n - none $o - odd $e - even $m - mark $s - space."
  37.     | c |
  38.     c := aCharacter asLowerCase.
  39.     self byteAtOffset: 1
  40.         put: (#($n $o $e $m $s) findFirst: [:i | i = c]) - 1!
  41.   
  42. setStopBits: aNumber
  43.         "Set the number of stop bits."
  44.     self byteAtOffset: 2
  45.         put: (#(1 1.5 2) findFirst: [:i | i = aNumber]) - 1!
  46.  
  47. stopBits
  48.         "Answer the number of stop bits."
  49.     ^#(1 1.5 2) at: ((self byteAtOffset: 2) + 1)!
  50.   
  51. transmittingBreak
  52.         "Answer a boolean indicating whether a break character is
  53.         being sent."
  54.     ^(self byteAtOffset: 3) ~= 0! !
  55.