application/VDBStartup.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 27 Feb 2015 16:50:43 +0100
changeset 37 f417fe8685c5
parent 18 0f44fe9848a0
child 43 c98aa29401f7
permissions -rw-r--r--
Initial support for variables
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:vdb/application' }"
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
     3
"{ NameSpace: Smalltalk }"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
     4
18
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
StandaloneStartup subclass:#VDBStartup
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'VDB-UI'
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!VDBStartup class methodsFor:'constants & defaults'!
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
applicationRegistryPath
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    "the key under which this application stores its process ID in the registry
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
     as a collection of path-components.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
     i.e. if #('foo' 'bar' 'baz') is returned here, the current applications ID will be stored
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
     in HKEY_CURRENT_USER\Software\foo\bar\baz\CurrentID.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
     (would also be used as a relative path for a temporary lock file under unix).
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
     Used to detect if another instance of this application is already running."
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    ^ #('vdb')
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    "Modified: / 21-09-2014 / 01:29:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
!
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
applicationUUID
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    "answer an application-specific unique uuid.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
     This is used as the name of some exclusive OS-resource, which is used to find out,
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
     if another instance of this application is already running.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
     Under win32, a mutex is used; under unix, an exclusive file in the tempDir could be used.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
     If redefined, please return a real UUID (i.e. UUID fromString:'.....') and not a string or
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
     similar possibly conflicting identifier.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
     You can paste a fresh worldwide unique id via the editor's more-misc-paste UUID menuFunction."
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    ^ UUID fromString:'57b09330-4126-11e4-a80f-606720e43e2c'
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    "Modified: / 21-09-2014 / 01:29:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
! !
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
!VDBStartup class methodsFor:'defaults'!
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
allowDebugOption
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    "enable/disable the --debug startup option.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
     Can be redefined in subclasses to enable it"
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    ^ true
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    "Created: / 08-09-2014 / 19:30:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
! !
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
!VDBStartup class methodsFor:'startup'!
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
main:argv
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    | gdb |
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    Smalltalk openDisplay.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    gdb := GDBDebugger new.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    VDBDebuggerApplication openFor: gdb.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    "Modified: / 21-09-2014 / 01:31:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
!
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
usage
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    Stderr nextPutLine:'usage: ',self applicationName,' [options...]'.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    Stderr nextPutLine:'  -h .................. output this message'.
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    Smalltalk isStandAloneApp ifTrue:[ Smalltalk exit:1 ].
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
! !
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
!VDBStartup class methodsFor:'documentation'!
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
version_HG
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    ^ '$Changeset: <not expanded> $'
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
! !
0f44fe9848a0 Added standalone startup class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78