GDBMemoryChangedEvent.st
author Jan Vrany <jan.vrany@labware.com>
Thu, 18 Nov 2021 23:48:40 +0000
changeset 252 33477ae8320e
parent 246 645c66ca431c
child 259 651864c2aa29
permissions -rw-r--r--
Emit `=memory-changed` event after setting memory via MI ...so clients get properly informed.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
246
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     1
"
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     2
COPYRIGHT (c) 2021 LabWare
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     3
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     4
jv:libgdbs - GNU Debugger Interface Library
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     5
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     6
This library is free software; you can redistribute it and/or
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     8
License as published by the Free Software Foundation; either
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     9
version 2.1 of the License. 
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    10
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    11
This library is distributed in the hope that it will be useful,
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    14
Lesser General Public License for more details.
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    15
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    17
License along with this library; if not, write to the Free Software
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    19
"
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    20
"{ Package: 'jv:libgdbs' }"
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    21
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    22
"{ NameSpace: Smalltalk }"
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    23
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    24
GDBNotificationEvent subclass:#GDBMemoryChangedEvent
252
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    25
	instanceVariableNames:'threadGroup group_id addr len'
246
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    26
	classVariableNames:''
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    27
	poolDictionaries:''
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    28
	category:'GDB-Core-Events'
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    29
!
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    30
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    31
!GDBMemoryChangedEvent class methodsFor:'documentation'!
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    32
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    33
copyright
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    34
"
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    35
COPYRIGHT (c) 2021 LabWare
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    36
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    37
jv:libgdbs - GNU Debugger Interface Library
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    38
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    39
This library is free software; you can redistribute it and/or
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    40
modify it under the terms of the GNU Lesser General Public
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    41
License as published by the Free Software Foundation; either
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    42
version 2.1 of the License. 
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    43
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    44
This library is distributed in the hope that it will be useful,
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    45
but WITHOUT ANY WARRANTY; without even the implied warranty of
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    46
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    47
Lesser General Public License for more details.
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    48
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    49
You should have received a copy of the GNU Lesser General Public
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    50
License along with this library; if not, write to the Free Software
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    51
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    52
"
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    53
! !
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    54
252
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    55
!GDBMemoryChangedEvent class methodsFor:'accessing - GDB value descriptors'!
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    56
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    57
description
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    58
    ^ (super description)
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    59
        define:#addr as:Integer;
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    60
        define:#len as:Integer;
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    61
        define:#'group-id' as:String;
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    62
        yourself
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    63
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    64
    "Created: / 18-11-2021 / 23:04:07 / Jan Vrany <jan.vrany@labware.com>"
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    65
! !
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    66
246
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    67
!GDBMemoryChangedEvent methodsFor:'accessing'!
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    68
252
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    69
addr
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    70
    ^ addr
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    71
!
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    72
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    73
len
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    74
    ^ len
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    75
!
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    76
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    77
threadGroup
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    78
    ^ threadGroup
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    79
!
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    80
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    81
threadGroupId
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    82
    ^ group_id
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    83
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    84
    "Created: / 18-11-2021 / 23:09:56 / Jan Vrany <jan.vrany@labware.com>"
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    85
!
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    86
246
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    87
type
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    88
	^  'memory-changed'
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    89
! !
645c66ca431c Add `GDBMemoryChangedEvent`
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    90
252
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    91
!GDBMemoryChangedEvent methodsFor:'initialization'!
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    92
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    93
setAddr: anInteger
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    94
    addr := anInteger
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    95
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    96
    "Created: / 18-11-2021 / 23:22:24 / Jan Vrany <jan.vrany@labware.com>"
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    97
!
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    98
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
    99
setLen: anInteger
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   100
    len := anInteger
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   101
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   102
    "Created: / 18-11-2021 / 23:22:30 / Jan Vrany <jan.vrany@labware.com>"
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   103
!
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   104
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   105
setThreadGroup: aGDBThreadGroup
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   106
    self assert: (group_id isNil or:[ group_id = aGDBThreadGroup id ]).
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   107
    threadGroup := aGDBThreadGroup.
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   108
    group_id := aGDBThreadGroup id.
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   109
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   110
    "Created: / 18-11-2021 / 23:08:32 / Jan Vrany <jan.vrany@labware.com>"
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   111
! !
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   112
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   113
!GDBMemoryChangedEvent class methodsFor:'documentation'!
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   114
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   115
version_HG
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   116
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   117
    ^ '$Changeset: <not expanded> $'
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   118
! !
33477ae8320e Emit `=memory-changed` event after setting memory via MI
Jan Vrany <jan.vrany@labware.com>
parents: 246
diff changeset
   119