GDBPTY.st
author Jan Vrany <jan.vrany@labware.com>
Mon, 04 Sep 2023 14:00:57 +0100
changeset 314 4a2ef5a087f0
parent 294 7c84fcc868e2
permissions -rw-r--r--
Add MI parser test This commit add test to parse real-world frament which failed to Pharo properly at some point. It is encoded here as bytearray to make sure all the characters are preserved exactly as they were.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
     1
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
     2
jv:libgdbs - GNU Debugger Interface Library
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
272
cdd1c9ad00de Change class categories to facilitate Pharo port
Jan Vrany <jan.vrany@labware.com>
parents: 267
diff changeset
     4
Copyright (C) 2022-2023 LabWare
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
     5
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
     6
Permission is hereby granted, free of charge, to any person obtaining a copy
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
     7
of this software and associated documentation files (the 'Software'), to deal
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
     8
in the Software without restriction, including without limitation the rights
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
     9
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    10
copies of the Software, and to permit persons to whom the Software is
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    11
furnished to do so, subject to the following conditions:
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    12
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    13
The above copyright notice and this permission notice shall be included in all
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    14
copies or substantial portions of the Software.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    15
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    16
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    17
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    18
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    19
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    20
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    21
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    22
SOFTWARE.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    23
"
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"{ Package: 'jv:libgdbs' }"
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
78
c24e7d8bc881 BUpdated build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    26
"{ NameSpace: Smalltalk }"
c24e7d8bc881 BUpdated build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    27
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
Object subclass:#GDBPTY
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    29
	instanceVariableNames:'name masterReadStream masterWriteStream slaveReadStream
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    30
		slaveWriteStream'
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
	classVariableNames:''
79
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    32
	poolDictionaries:'TTYConstants'
272
cdd1c9ad00de Change class categories to facilitate Pharo port
Jan Vrany <jan.vrany@labware.com>
parents: 267
diff changeset
    33
	category:'GDB-Internal'
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    36
!GDBPTY class methodsFor:'documentation'!
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    37
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    38
copyright
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    39
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    40
jv:libgdbs - GNU Debugger Interface Library
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    41
Copyright (C) 2015-now Jan Vrany
272
cdd1c9ad00de Change class categories to facilitate Pharo port
Jan Vrany <jan.vrany@labware.com>
parents: 267
diff changeset
    42
Copyright (C) 2022-2023 LabWare
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    43
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    44
Permission is hereby granted, free of charge, to any person obtaining a copy
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    45
of this software and associated documentation files (the 'Software'), to deal
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    46
in the Software without restriction, including without limitation the rights
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    47
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    48
copies of the Software, and to permit persons to whom the Software is
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    49
furnished to do so, subject to the following conditions:
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    50
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    51
The above copyright notice and this permission notice shall be included in all
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    52
copies or substantial portions of the Software.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    53
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    54
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    55
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    56
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    57
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    58
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    59
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    60
SOFTWARE.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    61
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 79
diff changeset
    62
! !
79
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    63
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
!GDBPTY class methodsFor:'instance creation'!
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    66
name: name masterReadStream: masterRS masterWriteStream: masterWS slaveReadStream: slaveRS slaveWriteStream: slaveWS
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    67
    ^ self basicNew initializeWithName: name masterReadStream: masterRS masterWriteStream: masterWS slaveReadStream: slaveRS slaveWriteStream: slaveWS
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    69
    "Created: / 02-08-2023 / 13:10:57 / Jan Vrany <jan.vrany@labware.com>"
293
d1422e1ee1bd Introduce `GDBPortlib` to facilitate porting to other dialects
Jan Vrany <jan.vrany@labware.com>
parents: 272
diff changeset
    70
!
d1422e1ee1bd Introduce `GDBPortlib` to facilitate porting to other dialects
Jan Vrany <jan.vrany@labware.com>
parents: 272
diff changeset
    71
d1422e1ee1bd Introduce `GDBPortlib` to facilitate porting to other dialects
Jan Vrany <jan.vrany@labware.com>
parents: 272
diff changeset
    72
new
d1422e1ee1bd Introduce `GDBPortlib` to facilitate porting to other dialects
Jan Vrany <jan.vrany@labware.com>
parents: 272
diff changeset
    73
    self shouldNotImplement. "Use `GDBPortlib current newPTY`"
95
f417138e9c48 Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    74
f417138e9c48 Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
    75
    "Modified: / 11-01-2018 / 22:59:14 / jv"
293
d1422e1ee1bd Introduce `GDBPortlib` to facilitate porting to other dialects
Jan Vrany <jan.vrany@labware.com>
parents: 272
diff changeset
    76
    "Modified: / 24-07-2023 / 22:43:06 / Jan Vrany <jan.vrany@labware.com>"
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
! !
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
!GDBPTY methodsFor:'accessing'!
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    81
masterReadStream
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    82
    "Return stream to read from PTY's master"
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    83
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    84
    ^ masterReadStream
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    85
!
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    86
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    87
masterWriteStream
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    88
    "Return stream to write to PTY's master"
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    89
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    90
    ^ masterWriteStream
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
!
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
name
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    ^ name
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
!
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    97
slaveReadStream
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    98
    "Return stream to read from PTY's slave"
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
    99
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   100
    ^ slaveReadStream
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   101
!
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   102
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   103
slaveWriteStream
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   104
    "Return stream to write to PTY's slave"
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   105
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   106
    ^ slaveWriteStream
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
! !
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
!GDBPTY methodsFor:'initialization & release'!
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   111
initializeWithName: nameArg masterReadStream: masterRS masterWriteStream: masterWS slaveReadStream: slaveRS slaveWriteStream: slaveWS
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   112
    self assert: masterRS fileDescriptor = masterWS fileDescriptor.
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   113
    self assert: slaveRS fileDescriptor = slaveWS fileDescriptor.
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   114
293
d1422e1ee1bd Introduce `GDBPortlib` to facilitate porting to other dialects
Jan Vrany <jan.vrany@labware.com>
parents: 272
diff changeset
   115
    name := nameArg.
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   116
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   117
    masterReadStream := masterRS.
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   118
    masterWriteStream := masterWS.
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   120
    slaveReadStream := slaveRS.
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   121
    slaveWriteStream := slaveWS.
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   122
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   123
    "Created: / 02-08-2023 / 13:10:23 / Jan Vrany <jan.vrany@labware.com>"
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
!
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
release
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
    name := nil.
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   128
    masterReadStream notNil ifTrue:[ 
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   129
        masterReadStream close.
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   130
        masterReadStream := nil.
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   131
        masterWriteStream := nil.
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    ].
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   133
    slaveReadStream notNil ifTrue:[ 
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   134
        slaveReadStream close.
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   135
        slaveReadStream := nil.
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   136
        slaveWriteStream := nil.
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
    ].
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
    "Created: / 09-06-2014 / 18:25:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   140
    "Modified: / 02-08-2023 / 13:29:06 / Jan Vrany <jan.vrany@labware.com>"
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
! !
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
79
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   143
!GDBPTY methodsFor:'printing & storing'!
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   144
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   145
printOn:aStream
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   146
    "append a printed representation of the receiver to the argument, aStream"
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   147
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   148
    super printOn:aStream.
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   149
    aStream nextPutAll:'('.
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   150
    name printOn:aStream.
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   151
    aStream nextPutAll:')'.
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   152
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   153
    "Modified: / 31-05-2017 / 20:13:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   154
! !
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   155
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   156
!GDBPTY methodsFor:'setup'!
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   157
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   158
setLocalEcho: aBoolean
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   159
     self masterReadStream setLocalEcho: aBoolean
79
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   160
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   161
    "Created: / 31-05-2017 / 20:19:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   162
    "Modified: / 02-08-2023 / 13:05:45 / Jan Vrany <jan.vrany@labware.com>"
79
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   163
!
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   164
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   165
setOutputCRLF: aBoolean
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   166
    self masterReadStream setOutputCRLF: aBoolean
79
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   167
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   168
    "Created: / 31-05-2017 / 20:20:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
294
7c84fcc868e2 Compatiblity: refactor `GDBPTY` to allow separate stream objects for reading and writing
Jan Vrany <jan.vrany@labware.com>
parents: 293
diff changeset
   169
    "Modified: / 02-08-2023 / 13:05:30 / Jan Vrany <jan.vrany@labware.com>"
79
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   170
! !
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   171
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   172
!GDBPTY class methodsFor:'documentation'!
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   173
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   174
version_HG
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   175
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   176
    ^ '$Changeset: <not expanded> $'
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   177
! !
303c4edc75ad `GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   178