--- a/GDBSessionRecorder.st Mon Jun 23 09:45:16 2014 +0100
+++ b/GDBSessionRecorder.st Tue Jun 24 00:55:57 2014 +0100
@@ -1,56 +1,63 @@
"{ Package: 'jv:libgdbs' }"
Object subclass:#GDBSessionRecorder
- instanceVariableNames:'record commandBuffer responseBuffer'
+ instanceVariableNames:'record buffer'
classVariableNames:''
poolDictionaries:'GDBDebugFlags'
category:'GDB-Private-Simulator'
!
+!GDBSessionRecorder class methodsFor:'instance creation'!
+
+new
+ "return an initialized instance"
+
+ ^ self basicNew initialize.
+! !
+
+!GDBSessionRecorder methodsFor:'initialization'!
+
+initialize
+ "Invoked when a new instance is created."
+
+ "/ please change as required (and remove this comment)
+ record := GDBSessionRecord new.
+ buffer := (String new: 100) writeStream.
+ "/ responseBuffer := nil.
+
+ "/ super initialize. -- commented since inherited method does nothing
+
+ "Modified: / 24-06-2014 / 00:10:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!GDBSessionRecorder methodsFor:'recording'!
recordCommand: command
- commandBuffer := WriteStream new.
- commandBuffer nextPutAll: command.
+ record >>> command
"Created: / 22-06-2014 / 21:39:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:36:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
recordResponse: aString
- responseBuffer isNil ifTrue:[
- responseBuffer := CharacterWriteStream new.
- ].
- responseBuffer nextPutAll: aString
+ buffer nextPutAll: aString
"Created: / 22-06-2014 / 21:56:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:10:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
recordResponseChar: aCharacter
- responseBuffer isNil ifTrue:[
- responseBuffer := String new writeStream.
- ].
- responseBuffer nextPut: aCharacter
+ buffer nextPut: aCharacter
"Created: / 22-06-2014 / 21:42:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 23-06-2014 / 09:23:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:10:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
recordResponseEnd
- | cmd resp |
-
- record isNil ifTrue:[
- record := OrderedCollection new writeStream.
- ].
-
- commandBuffer notNil ifTrue:[
- cmd := commandBuffer contents.
- commandBuffer := nil.
- ].
- resp := responseBuffer contents.
- responseBuffer := nil.
- record nextPut: cmd -> resp.
+ record <<< buffer contents.
+ buffer reset.
"Created: / 22-06-2014 / 21:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 23-06-2014 / 09:24:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:36:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !