OpenVMSFileHandle.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 22 Sep 2015 16:28:42 +0100
branchjv
changeset 18759 c1217211909c
parent 17911 a99f15c5efa5
permissions -rw-r--r--
Changed identification strings to contain jv-branch ...to make explicit that this distribution is not the official one used by eXept and therefore that eXept is not to be blamed in case of any problem.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4762
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
OSFileHandle subclass:#OpenVMSFileHandle
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
	instanceVariableNames:''
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	classVariableNames:''
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	poolDictionaries:''
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	category:'OS-OpenVMS'
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
!
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!OpenVMSFileHandle primitiveDefinitions!
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
%{
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
#include <stdio.h>
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
%}
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
! !
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
!OpenVMSFileHandle methodsFor:'finalization'!
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
disposed
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
    "a file handle was garbage collected - close the underlying file"
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
%{
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
    FILE *f = (FILE *)(__externalAddressVal(self));
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
    if (f) {
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
        __externalAddressVal(self) = NULL;
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
        fclose(f);
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
    }
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
%}
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
! !
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
!OpenVMSFileHandle methodsFor:'release'!
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
close
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
    "close the file"
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
%{
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
    FILE *f = (FILE *)(__externalAddressVal(self));
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    if (f) {
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
        __externalAddressVal(self) = NULL;
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
        fclose(f);
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    }
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
%}.
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    Lobby unregister:self
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
! !
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
!OpenVMSFileHandle class methodsFor:'documentation'!
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
7c403263e1be initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
version
17892
d86c8bd5ece3 Merged with CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17883
diff changeset
    56
    ^ '$Header: /cvs/stx/stx/libbasic/OpenVMSFileHandle.st,v 1.1 1999/09/18 11:11:28 cg Exp $'
17846
24edc476ac18 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17845
diff changeset
    57
! !
17892
d86c8bd5ece3 Merged with CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17883
diff changeset
    58
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
    59
17911
a99f15c5efa5 Updated with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17910
diff changeset
    60