70 ErrorDuringFileInSignal isNil ifTrue:[ |
70 ErrorDuringFileInSignal isNil ifTrue:[ |
71 ErrorDuringFileInSignal := ErrorSignal newSignalMayProceed:true. |
71 ErrorDuringFileInSignal := ErrorSignal newSignalMayProceed:true. |
72 ErrorDuringFileInSignal nameClass:self message:#errorDuringFileInSignal. |
72 ErrorDuringFileInSignal nameClass:self message:#errorDuringFileInSignal. |
73 ErrorDuringFileInSignal notifierString:'error during fileIn'. |
73 ErrorDuringFileInSignal notifierString:'error during fileIn'. |
74 |
74 |
75 InvalidPositionErrorSignal := PositionErrorSignal newSignalMayProceed:true. |
75 "/ InvalidPositionErrorSignal := PositionErrorSignal newSignalMayProceed:true. |
76 InvalidPositionErrorSignal nameClass:self message:#invalidPositionErrorSignal. |
76 "/ InvalidPositionErrorSignal nameClass:self message:#invalidPositionErrorSignal. |
77 InvalidPositionErrorSignal notifierString:'invalid position'. |
77 InvalidPositionErrorSignal := PositionOutOfBoundsError. |
|
78 InvalidPositionErrorSignal notifierString:'position out of bounds: '. |
78 |
79 |
79 CurrentFileInDirectoryQuerySignal := QuerySignal new. |
80 CurrentFileInDirectoryQuerySignal := QuerySignal new. |
80 CurrentFileInDirectoryQuerySignal nameClass:self message:#currentFileInDirectoryQuerySignal. |
81 CurrentFileInDirectoryQuerySignal nameClass:self message:#currentFileInDirectoryQuerySignal. |
81 CurrentFileInDirectoryQuerySignal notifierString:'query for current directory when filing in'. |
82 CurrentFileInDirectoryQuerySignal notifierString:'query for current directory when filing in'. |
82 CurrentFileInDirectoryQuerySignal handlerBlock:[:ex | ex proceedWith:Filename currentDirectory]. |
83 CurrentFileInDirectoryQuerySignal handlerBlock:[:ex | ex proceedWith:Filename currentDirectory]. |
83 |
84 |
84 ZeroPosition := 1. |
85 ZeroPosition := 1. |
85 ] |
86 ] |
86 |
|
87 ! ! |
87 ! ! |
88 |
88 |
89 !PositionableStream class methodsFor:'instance creation'! |
89 !PositionableStream class methodsFor:'instance creation'! |
90 |
90 |
91 on:aCollection |
91 on:aCollection |
993 ^ InvalidPositionErrorSignal raiseRequestWith:nil |
993 ^ InvalidPositionErrorSignal raiseRequestWith:nil |
994 |
994 |
995 "Modified: / 26.7.1999 / 10:59:13 / stefan" |
995 "Modified: / 26.7.1999 / 10:59:13 / stefan" |
996 ! |
996 ! |
997 |
997 |
|
998 positionError:badPostition |
|
999 "{ Pragma: +optSpace }" |
|
1000 |
|
1001 "report an error when positioning past the end |
|
1002 or before the beginning." |
|
1003 |
|
1004 ^ InvalidPositionErrorSignal raiseRequestWith:badPostition |
|
1005 ! |
|
1006 |
998 with:aCollection |
1007 with:aCollection |
999 "setup for streaming to the end of aCollection" |
1008 "setup for streaming to the end of aCollection" |
1000 |
1009 |
1001 collection := aCollection. |
1010 collection := aCollection. |
1002 readLimit := aCollection size + 1. |
1011 readLimit := aCollection size + 1. |