aboutsummaryrefslogtreecommitdiffstats
path: root/Loader.st
blob: 1c24b9b43c6e8dc4e9698bbcc5785dc9b267a866 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
"
 (C) 2011 by Holger Hans Peter Freyther
 All Rights Reserved

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as
 published by the Free Software Foundation, either version 3 of the
 License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Affero General Public License for more details.

 You should have received a copy of the GNU Affero General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
"
"
I am helping to get things started on the first image resume
"

PackageLoader fileInPackage: #OsmoMSC.

Object subclass: Loader [
    <category: 'OsmoMSC-Loader'>
    <comment: 'I wait for the image to resume and then I start the
    MSC example application and put it into the OsmoMSC namespace.'>

    Loader class >> new [
        <category: 'creation'>

        ^ super new
            initialize;
            yourself.
    ]

    initialize [
        <category: 'creation'>
        ObjectMemory addDependent: self.
    ]

    update: aSymbol [
        <category: 'initialize'>

        aSymbol = #returnFromSnapshot ifTrue: [
            OsmoMSC at: #MSC put: OsmoMSC.MSCApplication startExample.
            ObjectMemory removeDependent: self.
        ].
    ]
]

Eval [
    | l | 
    l := Loader new.
    ObjectMemory snapshot: Smalltalk arguments first
]