VDBUnixReplayServerConsoleApplication.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 21 Sep 2019 18:31:45 +0100
changeset 185 bb863cb24c1a
parent 164 364ebdd1d42c
child 241 9996050286c5
permissions -rw-r--r--
Do not try to raise transcript window if `Transcript` is not graphical ...but - for instance - a `StdOut` or `StdErr`.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
83
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
jv:vdb - Visual / VM Debugger
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"{ Package: 'jv:vdb' }"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
"{ NameSpace: Smalltalk }"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
VDBAbstractUnixConsoleApplication subclass:#VDBUnixReplayServerConsoleApplication
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
	instanceVariableNames:'rrHolder rr'
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	classVariableNames:''
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	poolDictionaries:''
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	category:'VDB-UI-Console-Unix'
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
!VDBUnixReplayServerConsoleApplication class methodsFor:'documentation'!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
copyright
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
jv:vdb - Visual / VM Debugger
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
Copyright (C) 2015-now Jan Vrany
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
! !
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!VDBUnixReplayServerConsoleApplication class methodsFor:'accessing'!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
115
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 83
diff changeset
    35
defaultWindowTitle
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 83
diff changeset
    36
    ^ self resources string: 'Replay Console'
83
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    "Created: / 26-07-2018 / 17:12:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
115
0dd989ce3ae7 Cleanup default window titles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 83
diff changeset
    39
    "Modified: / 03-10-2018 / 15:39:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
83
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
! !
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
!VDBUnixReplayServerConsoleApplication methodsFor:'accessing'!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
consoleInput
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    "superclass VDBAbstractConsoleApplication says that I am responsible to implement this method"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    ^ rr consoleInput
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    "Modified: / 26-07-2018 / 17:14:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
consoleOutput
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    "superclass VDBAbstractConsoleApplication says that I am responsible to implement this method"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    ^ rr consoleOutput
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    "Modified: / 26-07-2018 / 17:14:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
! !
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
!VDBUnixReplayServerConsoleApplication methodsFor:'acessing'!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
rr
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    ^ rr
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    "Created: / 26-07-2018 / 17:17:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
rr: aRR
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    self rrHolder value: aRR
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    "Created: / 26-07-2018 / 17:17:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
! !
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
!VDBUnixReplayServerConsoleApplication methodsFor:'aspects'!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
consoleView
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    consoleView isNil ifTrue:[ 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
        consoleView :=VT100TerminalView new.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
        consoleView foregroundColor: Color white
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
                    backgroundColor: Color black;
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
                    cursorForegroundColor: Color white
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
                          backgroundColor: Color white.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
        rr notNil ifTrue:[ 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
            consoleView inStream: self consoleInput.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
            consoleView outStream: self consoleOutput.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
            consoleView startReaderProcessWhenVisible.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
        ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    ^ consoleView
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
    "Created: / 26-07-2018 / 20:27:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
rrHolder
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    "return/create the 'debuggerHolder' value holder (automatically generated)"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
    rrHolder isNil ifTrue:[
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
        rrHolder := ValueHolder new.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
        rrHolder addDependent:self.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    ^ rrHolder
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    "Created: / 26-07-2018 / 17:17:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
rrHolder:aValueModel
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    "set the 'debuggerHolder' value holder (automatically generated)"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
    |oldValue newValue|
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
    rrHolder notNil ifTrue:[
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
        oldValue := rrHolder value.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
        rrHolder removeDependent:self.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
    rrHolder := aValueModel.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
    rrHolder notNil ifTrue:[
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
        rrHolder addDependent:self.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    newValue := rrHolder value.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
    oldValue ~~ newValue ifTrue:[
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
        self update:#value with:newValue from:rrHolder.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
    "Created: / 26-07-2018 / 17:18:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
! !
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
!VDBUnixReplayServerConsoleApplication methodsFor:'change & update'!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
update:something with:aParameter from:changedObject
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    "Invoked when an object that I depend upon sends a change notification."
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    changedObject == rrHolder ifTrue:[
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
        rrHolder value == rr ifFalse:[
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
            rr notNil ifTrue:[ 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
                self unsubscribe.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
            ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
            rr := rrHolder value.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
            rr notNil ifTrue:[ 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
                self subscribe.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
            ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
        ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
        ^ self.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
    super update:something with:aParameter from:changedObject
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    "Created: / 26-07-2018 / 17:19:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
! !
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
!VDBUnixReplayServerConsoleApplication methodsFor:'event handling'!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
onRRExitEvent: anRRTerminaedEvent
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
    consoleView notNil ifTrue:[
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
        | status info |
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
        status := anRRTerminaedEvent status.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
        consoleView cr.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
        (status success or:[status status == #signal and:[status code == UnixOperatingSystem sigTERM]]) ifTrue:[ 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
            info := resources string: '>> replay server terminated'
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
        ] ifFalse:[status isError ifTrue:[
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
            info := resources string: '>> replay server terminated (with status %1)' with: anRRTerminaedEvent status code.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
        ] ifFalse:[status status == #signal ifTrue:[ 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
            info := resources string: '>> replay server crashed (signal %1)' with: anRRTerminaedEvent status code.    
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
        ]]].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
        consoleView nextPutLine: (info asText allBold colorizeAllWith:Color red).
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
    "Created: / 31-07-2018 / 08:52:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
onRRStartEvent: anRRStartedEvent
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    "Created: / 31-07-2018 / 08:52:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
! !
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
!VDBUnixReplayServerConsoleApplication methodsFor:'initialization & release'!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
subscribe
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
    "Register for debugger events. To be overrided by subclasses"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
    
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
    super subscribe.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
    rr notNil ifTrue:[
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
        (rr announcer)
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
            when:RRStartEvent
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
                send:#onRRStartEvent:
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
                to:self;
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
            when:RRExitEvent
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
                send:#onRRExitEvent:
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
                to:self.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
        consoleView notNil ifTrue:[
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
            consoleView stopReaderProcess.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
            consoleView inStream:self consoleInput.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
            consoleView outStream:self consoleOutput.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
            consoleView startReaderProcessWhenVisible.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
        ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
    "Created: / 26-07-2018 / 17:19:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
    "Modified: / 31-07-2018 / 08:53:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
unsubscribe
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
    "Unsubscribe myself fo debugger events"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
    super unsubscribe.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
    rr notNil ifTrue:[ 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
        rr announcer unsubscribe: self. 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
    consoleView notNil ifTrue:[ 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
        consoleView stopReaderProcess.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
        consoleView inStream: nil.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
        consoleView outStream: nil.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
    "Created: / 26-07-2018 / 17:20:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
    "Modified: / 31-07-2018 / 08:38:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
! !
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
!VDBUnixReplayServerConsoleApplication methodsFor:'startup & release'!
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
closeRequest
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
    (rr notNil and:[ rr running ]) ifTrue:[ 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
        (Dialog confirm: (resources string: 'Replay Server is running. Stop server and close?')) ifFalse:[ 
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
            ^ self.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
        ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
        rr stop.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
    ].
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
    ^ super closeRequest.
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
    "Created: / 27-07-2018 / 07:49:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
! !
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
164
364ebdd1d42c Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   231
!VDBUnixReplayServerConsoleApplication class methodsFor:'documentation'!
364ebdd1d42c Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   232
364ebdd1d42c Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   233
version_HG
364ebdd1d42c Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   234
364ebdd1d42c Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   235
    ^ '$Changeset: <not expanded> $'
364ebdd1d42c Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   236
! !
364ebdd1d42c Generalize `VDBInstructionListView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   237