Implemented natives for TwoStackPlainSocketImpl
IPv6 not supported (BCC has no IPv6 support at all) so only IPv4 is
supported. As the layout of the object and native methods are sufficiently
similar to PlainSocketImpl, just dispatch to natives for is (i.e., call
natives for PlainSocketImpl)
"
COPYRIGHT (c) 1996-2011 by Claus Gittinger
New code and modifications done at SWING Research Group [1]:
COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
SWING Research Group, Czech Technical University in Prague
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
[1] Code written at SWING Research Group contains a signature
of one of the above copright owners. For exact set of such code,
see the differences between this version and version stx:libjava
as of 1.9.2010
"
"{ Package: 'stx:libjava' }"
JavaNativeMethodImpl_OpenJDK7 subclass:#JavaNativeMethodImpl_OracleJDK7
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'Languages-Java-Support-Java 7'
!
!JavaNativeMethodImpl_OracleJDK7 class methodsFor:'documentation'!
copyright
"
COPYRIGHT (c) 1996-2011 by Claus Gittinger
New code and modifications done at SWING Research Group [1]:
COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
SWING Research Group, Czech Technical University in Prague
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
[1] Code written at SWING Research Group contains a signature
of one of the above copright owners. For exact set of such code,
see the differences between this version and version stx:libjava
as of 1.9.2010
"
! !
!JavaNativeMethodImpl_OracleJDK7 class methodsFor:'native - com.sun.tools.jdi'!
_com_sun_tools_jdi_SharedMemoryTransportService_accept0: this _: a1 _: a2 _: a3 _: a4
<javanative: 'com/sun/tools/jdi/SharedMemoryTransportService' name: 'accept0(JJ)J'>
^ JavaVM unimplementedNativeMethodSignal raise
!
_com_sun_tools_jdi_SharedMemoryTransportService_attach0: this _: a1 _: a2 _: a3
<javanative: 'com/sun/tools/jdi/SharedMemoryTransportService' name: 'attach0(Ljava/lang/String;J)J'>
^ JavaVM unimplementedNativeMethodSignal raise
!
_com_sun_tools_jdi_SharedMemoryTransportService_initialize: this
<javanative: 'com/sun/tools/jdi/SharedMemoryTransportService' name: 'initialize()V'>
"Nothing to do"
"Modified: / 14-11-2013 / 14:27:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
_com_sun_tools_jdi_SharedMemoryTransportService_name: this _: a1 _: a2
<javanative: 'com/sun/tools/jdi/SharedMemoryTransportService' name: 'name(J)Ljava/lang/String;'>
^ JavaVM unimplementedNativeMethodSignal raise
!
_com_sun_tools_jdi_SharedMemoryTransportService_startListening0: this _: a1
<javanative: 'com/sun/tools/jdi/SharedMemoryTransportService' name: 'startListening0(Ljava/lang/String;)J'>
^ JavaVM unimplementedNativeMethodSignal raise
!
_com_sun_tools_jdi_SharedMemoryTransportService_stopListening0: this _: a1 _: a2
<javanative: 'com/sun/tools/jdi/SharedMemoryTransportService' name: 'stopListening0(J)V'>
^ JavaVM unimplementedNativeMethodSignal raise
! !
!JavaNativeMethodImpl_OracleJDK7 class methodsFor:'native - java.io'!
_java_io_FileInputStream_read0: this
<javanative: 'java/io/FileInputStream' name: 'read0()I'>
^ JavaVM unimplementedNativeMethodSignal raise
! !
!JavaNativeMethodImpl_OracleJDK7 class methodsFor:'native - java.net'!
_java_net_TwoStacksPlainSocketImpl_initProto: this
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'initProto()V'>
"/ Nothing to do here...
!
_java_net_TwoStacksPlainSocketImpl_socketAccept: this _: a1
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketAccept(Ljava/net/SocketImpl;)V'>
^ self _java_net_PlainSocketImpl_socketAccept: this _:a1
!
_java_net_TwoStacksPlainSocketImpl_socketAvailable: this
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketAvailable()I'>
^self _java_net_PlainSocketImpl_socketAvailable: this
!
_java_net_TwoStacksPlainSocketImpl_socketBind: this _: addr _: port _: boolean
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketBind(Ljava/net/InetAddress;IZ)V'>
| family |
family := (addr instVarNamed: #holder) instVarNamed: #family.
family == 2"IPv6" ifTrue:[
JavaVM throwSocketException: 'IPv6 protocol not supported'.
^self.
].
(this instVarNamed: #fd) isNil ifTrue:[
JavaVM throwSocketException: 'Socket closed'.
^self.
].
^self _java_net_PlainSocketImpl_socketBind: this _: addr _: port
!
_java_net_TwoStacksPlainSocketImpl_socketClose0: this _: a1
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketClose0(Z)V'>
self commonClose: this
!
_java_net_TwoStacksPlainSocketImpl_socketConnect: this _:jaddr _: port _: timeout
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketConnect(Ljava/net/InetAddress;II)V'>
self _java_net_PlainSocketImpl_socketConnect: this _:jaddr _: port _: timeout
!
_java_net_TwoStacksPlainSocketImpl_socketCreate: this _: a1
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketCreate(Z)V'>
self _java_net_PlainSocketImpl_socketCreate: this _: a1.
this instVarNamed: #fd1 put: nil.
!
_java_net_TwoStacksPlainSocketImpl_socketGetOption: this _: a1 _: a2
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketGetOption(ILjava/lang/Object;)I'>
^ self _java_net_PlainSocketImpl_socketGetOption: this _:a1 _: a2
!
_java_net_TwoStacksPlainSocketImpl_socketListen: this _: a1
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketListen(I)V'>
^self _java_net_PlainSocketImpl_socketListen: this _:a1
!
_java_net_TwoStacksPlainSocketImpl_socketNativeSetOption: this _: a1 _: a2 _: a3
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketNativeSetOption(IZLjava/lang/Object;)V'>
^self _java_net_PlainSocketImpl_socketSetOption: this _:a1 _: a2 _: a3
!
_java_net_TwoStacksPlainSocketImpl_socketSendUrgentData: this _: data
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketSendUrgentData(I)V'>
^ self _java_net_PlainSocketImpl_socketSendUrgentData: this _: data
!
_java_net_TwoStacksPlainSocketImpl_socketShutdown: this _: what
<javanative: 'java/net/TwoStacksPlainSocketImpl' name: 'socketShutdown(I)V'>
^ self _java_net_PlainSocketImpl_socketShutdown: this _: what
! !
!JavaNativeMethodImpl_OracleJDK7 class methodsFor:'native - sun.misc'!
_sun_misc_Unsafe_shouldBeInitialized: this _: a1
<javanative: 'sun/misc/Unsafe' name: 'shouldBeInitialized(Ljava/lang/Class;)Z'>
^ JavaVM unimplementedNativeMethodSignal raise
!
_sun_misc_VM_latestUserDefinedLoader: this
<javanative: 'sun/misc/VM' name: 'latestUserDefinedLoader()Ljava/lang/ClassLoader;'>
^ JavaVM unimplementedNativeMethodSignal raise
! !
!JavaNativeMethodImpl_OracleJDK7 class methodsFor:'documentation'!
version_CVS
^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethodImpl_SunJDK7.st,v 1.3 2013-09-06 00:41:25 vrany Exp $'
!
version_HG
^ '$Changeset: <not expanded> $'
! !