summaryrefslogtreecommitdiff
path: root/libjava/gnu/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/java')
-rw-r--r--libjava/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.h48
-rw-r--r--libjava/gnu/java/awt/AWTUtilities$VisibleComponentList.h47
-rw-r--r--libjava/gnu/java/awt/AWTUtilities.h72
-rw-r--r--libjava/gnu/java/awt/BitMaskExtent.h36
-rw-r--r--libjava/gnu/java/awt/BitwiseXORComposite$GeneralContext.h52
-rw-r--r--libjava/gnu/java/awt/BitwiseXORComposite$IntContext.h48
-rw-r--r--libjava/gnu/java/awt/BitwiseXORComposite.h49
-rw-r--r--libjava/gnu/java/awt/Buffers.h49
-rw-r--r--libjava/gnu/java/awt/ClasspathGraphicsEnvironment.h45
-rw-r--r--libjava/gnu/java/awt/ClasspathToolkit.h74
-rw-r--r--libjava/gnu/java/awt/ComponentDataBlitOp.h55
-rw-r--r--libjava/gnu/java/awt/ComponentReshapeEvent.h43
-rw-r--r--libjava/gnu/java/awt/EmbeddedWindow.h39
-rw-r--r--libjava/gnu/java/awt/EventModifier.h36
-rw-r--r--libjava/gnu/java/awt/GradientPaintContext.h57
-rw-r--r--libjava/gnu/java/awt/LowPriorityEvent.h31
-rw-r--r--libjava/gnu/java/awt/color/CieXyzConverter.h41
-rw-r--r--libjava/gnu/java/awt/color/ClutProfileConverter.h57
-rw-r--r--libjava/gnu/java/awt/color/ColorLookUpTable.h73
-rw-r--r--libjava/gnu/java/awt/color/ColorSpaceConverter.h40
-rw-r--r--libjava/gnu/java/awt/color/GrayProfileConverter.h60
-rw-r--r--libjava/gnu/java/awt/color/GrayScaleConverter.h46
-rw-r--r--libjava/gnu/java/awt/color/LinearRGBConverter.h41
-rw-r--r--libjava/gnu/java/awt/color/ProfileHeader.h75
-rw-r--r--libjava/gnu/java/awt/color/PyccConverter.h41
-rw-r--r--libjava/gnu/java/awt/color/RgbProfileConverter.h64
-rw-r--r--libjava/gnu/java/awt/color/SrgbConverter.h43
-rw-r--r--libjava/gnu/java/awt/color/TagEntry.h53
-rw-r--r--libjava/gnu/java/awt/color/ToneReproductionCurve.h47
-rw-r--r--libjava/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.h66
-rw-r--r--libjava/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.h86
-rw-r--r--libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.h69
-rw-r--r--libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.h53
-rw-r--r--libjava/gnu/java/awt/font/FontDelegate.h75
-rw-r--r--libjava/gnu/java/awt/font/FontFactory.h46
-rw-r--r--libjava/gnu/java/awt/font/GNUGlyphVector.h101
-rw-r--r--libjava/gnu/java/awt/font/OpenTypeFontPeer$XFontMetrics.h61
-rw-r--r--libjava/gnu/java/awt/font/OpenTypeFontPeer$XLineMetrics.h73
-rw-r--r--libjava/gnu/java/awt/font/OpenTypeFontPeer.h96
-rw-r--r--libjava/gnu/java/awt/font/autofit/AutoHinter.h59
-rw-r--r--libjava/gnu/java/awt/font/autofit/AxisHints.h53
-rw-r--r--libjava/gnu/java/awt/font/autofit/Constants.h45
-rw-r--r--libjava/gnu/java/awt/font/autofit/Edge.h55
-rw-r--r--libjava/gnu/java/awt/font/autofit/GlyphHints.h89
-rw-r--r--libjava/gnu/java/awt/font/autofit/HintScaler.h49
-rw-r--r--libjava/gnu/java/awt/font/autofit/Latin.h113
-rw-r--r--libjava/gnu/java/awt/font/autofit/LatinAxis.h52
-rw-r--r--libjava/gnu/java/awt/font/autofit/LatinBlue.h48
-rw-r--r--libjava/gnu/java/awt/font/autofit/LatinMetrics.h49
-rw-r--r--libjava/gnu/java/awt/font/autofit/Script.h53
-rw-r--r--libjava/gnu/java/awt/font/autofit/ScriptMetrics.h43
-rw-r--r--libjava/gnu/java/awt/font/autofit/Segment.h69
-rw-r--r--libjava/gnu/java/awt/font/autofit/Utils.h60
-rw-r--r--libjava/gnu/java/awt/font/autofit/Width.h45
-rw-r--r--libjava/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.h42
-rw-r--r--libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type0.h66
-rw-r--r--libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type12.h53
-rw-r--r--libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type4.h60
-rw-r--r--libjava/gnu/java/awt/font/opentype/CharGlyphMap.h52
-rw-r--r--libjava/gnu/java/awt/font/opentype/GlyphNamer.h69
-rw-r--r--libjava/gnu/java/awt/font/opentype/Hinter.h45
-rw-r--r--libjava/gnu/java/awt/font/opentype/MacResourceFork$Resource.h58
-rw-r--r--libjava/gnu/java/awt/font/opentype/MacResourceFork.h55
-rw-r--r--libjava/gnu/java/awt/font/opentype/NameDecoder.h85
-rw-r--r--libjava/gnu/java/awt/font/opentype/OpenTypeFont.h128
-rw-r--r--libjava/gnu/java/awt/font/opentype/OpenTypeFontFactory.h49
-rw-r--r--libjava/gnu/java/awt/font/opentype/Scaler.h60
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/Fixed.h58
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h92
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.h54
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.h54
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator.h54
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.h66
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/Point.h99
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h76
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/VirtualMachine.h153
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/Zone.h92
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h68
-rw-r--r--libjava/gnu/java/awt/image/AsyncImage$AsyncImageSource.h61
-rw-r--r--libjava/gnu/java/awt/image/AsyncImage.h72
-rw-r--r--libjava/gnu/java/awt/image/ImageConverter.h82
-rw-r--r--libjava/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.h40
-rw-r--r--libjava/gnu/java/awt/image/ImageDecoder.h71
-rw-r--r--libjava/gnu/java/awt/image/XBMDecoder.h61
-rw-r--r--libjava/gnu/java/awt/java2d/AbstractGraphics2D.h226
-rw-r--r--libjava/gnu/java/awt/java2d/ActiveEdges.h52
-rw-r--r--libjava/gnu/java/awt/java2d/AlphaCompositeContext.h57
-rw-r--r--libjava/gnu/java/awt/java2d/CubicSegment.h56
-rw-r--r--libjava/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.h60
-rw-r--r--libjava/gnu/java/awt/java2d/ImagePaint.h61
-rw-r--r--libjava/gnu/java/awt/java2d/LineSegment.h54
-rw-r--r--libjava/gnu/java/awt/java2d/PixelCoverage$Bucket.h42
-rw-r--r--libjava/gnu/java/awt/java2d/PixelCoverage.h45
-rw-r--r--libjava/gnu/java/awt/java2d/Pixelizer.h36
-rw-r--r--libjava/gnu/java/awt/java2d/PolyEdge.h55
-rw-r--r--libjava/gnu/java/awt/java2d/PolyEdgeComparator.h39
-rw-r--r--libjava/gnu/java/awt/java2d/QuadSegment.h61
-rw-r--r--libjava/gnu/java/awt/java2d/RasterGraphics.h61
-rw-r--r--libjava/gnu/java/awt/java2d/Scanline.h42
-rw-r--r--libjava/gnu/java/awt/java2d/ScanlineConverter.h87
-rw-r--r--libjava/gnu/java/awt/java2d/ScanlineCoverage$Coverage.h46
-rw-r--r--libjava/gnu/java/awt/java2d/ScanlineCoverage$Iterator.h51
-rw-r--r--libjava/gnu/java/awt/java2d/ScanlineCoverage$Range.h55
-rw-r--r--libjava/gnu/java/awt/java2d/ScanlineCoverage.h67
-rw-r--r--libjava/gnu/java/awt/java2d/Segment.h65
-rw-r--r--libjava/gnu/java/awt/java2d/ShapeCache.h58
-rw-r--r--libjava/gnu/java/awt/java2d/ShapeWrapper.h63
-rw-r--r--libjava/gnu/java/awt/java2d/TextCacheKey.h57
-rw-r--r--libjava/gnu/java/awt/java2d/TexturePaintContext.h64
-rw-r--r--libjava/gnu/java/awt/peer/ClasspathDesktopPeer.h86
-rw-r--r--libjava/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.h40
-rw-r--r--libjava/gnu/java/awt/peer/ClasspathFontPeer.h126
-rw-r--r--libjava/gnu/java/awt/peer/EmbeddedWindowPeer.h161
-rw-r--r--libjava/gnu/java/awt/peer/GLightweightPeer.h141
-rw-r--r--libjava/gnu/java/awt/peer/GnomeDesktopPeer.h55
-rw-r--r--libjava/gnu/java/awt/peer/KDEDesktopPeer.h45
-rw-r--r--libjava/gnu/java/awt/peer/NativeEventLoopRunningEvent.h39
-rw-r--r--libjava/gnu/java/awt/peer/gtk/AsyncImage$Loader.h53
-rw-r--r--libjava/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.h60
-rw-r--r--libjava/gnu/java/awt/peer/gtk/AsyncImage.h71
-rw-r--r--libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h103
-rw-r--r--libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h279
-rw-r--r--libjava/gnu/java/awt/peer/gtk/CairoSurface.h108
-rw-r--r--libjava/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.h93
-rw-r--r--libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h152
-rw-r--r--libjava/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.h78
-rw-r--r--libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h122
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.h57
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.h61
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h147
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.h78
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h93
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.h89
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.h48
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.h70
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.h49
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.h44
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder.h115
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkRobotPeer.h70
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.h44
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.h103
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.h68
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkCanvasPeer.h49
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.h51
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkCheckboxPeer.h70
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkChoicePeer.h69
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkClipboard.h73
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkClipboardNotifier.h47
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.h57
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.h208
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.h64
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkCursor.h53
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.h48
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.h44
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.h80
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkFramePeer.h91
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.h72
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkImage.h113
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkImageConsumer.h70
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkLabelPeer.h64
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkListPeer.h80
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkMainThread.h53
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkMenuBarPeer.h57
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h52
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkMenuItemPeer.h57
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkMenuPeer.h66
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.h52
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkPanelPeer.h52
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.h54
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkScrollPanePeer.h62
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.h57
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkSelection.h94
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkTextAreaPeer.h89
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkTextFieldPeer.h80
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.h43
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkToolkit.h250
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkVolatileImage.h98
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h133
-rw-r--r--libjava/gnu/java/awt/peer/gtk/VolatileImageGraphics.h90
-rw-r--r--libjava/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.h59
-rw-r--r--libjava/gnu/java/awt/peer/headless/HeadlessToolkit.h192
-rw-r--r--libjava/gnu/java/awt/peer/qt/MainQtThread.h50
-rw-r--r--libjava/gnu/java/awt/peer/qt/NativeWrapper.h41
-rw-r--r--libjava/gnu/java/awt/peer/qt/QMatrix.h57
-rw-r--r--libjava/gnu/java/awt/peer/qt/QPainterPath.h64
-rw-r--r--libjava/gnu/java/awt/peer/qt/QPen.h50
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtAudioClip.h64
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtButtonPeer.h53
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtCanvasPeer.h52
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtCheckboxPeer.h60
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtChoicePeer.h57
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtComponentGraphics.h56
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.h50
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtComponentPeer.h197
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtContainerPeer.h61
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtDialogPeer.h56
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.h51
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtFileDialogPeer.h56
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtFontMetrics.h80
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtFontPeer.h89
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtFramePeer.h78
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtGraphics.h215
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtGraphicsEnvironment.h65
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtImage.h128
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtImageConsumer.h70
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtImageDirectGraphics.h76
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtImageGraphics.h59
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtLabelPeer.h52
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtListPeer.h75
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtMenuBarPeer.h61
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtMenuComponentPeer.h59
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtMenuItemPeer.h62
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtMenuPeer.h73
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtPanelPeer.h50
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtPopupMenuPeer.h53
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.h47
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtRepaintThread.h47
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtScreenDevice.h76
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.h76
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtScrollPanePeer.h61
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtScrollbarPeer.h56
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtTextAreaPeer.h79
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtTextFieldPeer.h79
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtToolkit.h207
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtVolatileImage$1.h44
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtVolatileImage.h117
-rw-r--r--libjava/gnu/java/awt/peer/qt/QtWindowPeer.h61
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.h80
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.h54
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingButtonPeer.h46
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingCanvasPeer.h45
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer$SwingCheckbox.h80
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer$SwingCheckboxListener.h56
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer.h49
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingComponent.h61
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingComponentPeer.h156
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingContainerPeer.h86
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingFramePeer.h78
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.h78
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingLabelPeer.h47
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingListPeer$SwingList.h78
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingListPeer.h79
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.h59
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer.h70
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.h54
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer.h63
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.h58
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingMenuPeer.h72
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingPanelPeer.h45
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$1.h51
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingScrollPane.h81
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.h72
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer.h78
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.h80
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer.h69
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingToolkit.h77
-rw-r--r--libjava/gnu/java/awt/peer/swing/SwingWindowPeer.h55
-rw-r--r--libjava/gnu/java/awt/print/JavaPrinterGraphics.h124
-rw-r--r--libjava/gnu/java/awt/print/JavaPrinterJob.h95
-rw-r--r--libjava/gnu/java/awt/print/PostScriptGraphics2D.h211
-rw-r--r--libjava/gnu/java/awt/print/SpooledDocument.h54
-rw-r--r--libjava/gnu/java/beans/BeanInfoEmbryo.h73
-rw-r--r--libjava/gnu/java/beans/DefaultExceptionListener.h34
-rw-r--r--libjava/gnu/java/beans/DoubleKey.h41
-rw-r--r--libjava/gnu/java/beans/DummyAppletContext.h62
-rw-r--r--libjava/gnu/java/beans/DummyAppletStub.h55
-rw-r--r--libjava/gnu/java/beans/ExplicitBeanInfo.h67
-rw-r--r--libjava/gnu/java/beans/IntrospectionIncubator.h71
-rw-r--r--libjava/gnu/java/beans/decoder/AbstractContext.h52
-rw-r--r--libjava/gnu/java/beans/decoder/AbstractCreatableObjectContext.h47
-rw-r--r--libjava/gnu/java/beans/decoder/AbstractElementHandler.h82
-rw-r--r--libjava/gnu/java/beans/decoder/AbstractObjectContext.h44
-rw-r--r--libjava/gnu/java/beans/decoder/ArrayContext.h47
-rw-r--r--libjava/gnu/java/beans/decoder/ArrayHandler.h59
-rw-r--r--libjava/gnu/java/beans/decoder/AssemblyException.h36
-rw-r--r--libjava/gnu/java/beans/decoder/BooleanHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/ByteHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/CharHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/ClassHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/ConstructorContext.h43
-rw-r--r--libjava/gnu/java/beans/decoder/Context.h45
-rw-r--r--libjava/gnu/java/beans/decoder/DecoderContext.h55
-rw-r--r--libjava/gnu/java/beans/decoder/DoubleHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/DummyContext.h46
-rw-r--r--libjava/gnu/java/beans/decoder/DummyHandler.h72
-rw-r--r--libjava/gnu/java/beans/decoder/ElementHandler.h66
-rw-r--r--libjava/gnu/java/beans/decoder/FloatHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/GrowableArrayContext.h50
-rw-r--r--libjava/gnu/java/beans/decoder/IndexContext.h50
-rw-r--r--libjava/gnu/java/beans/decoder/IntHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/JavaHandler.h65
-rw-r--r--libjava/gnu/java/beans/decoder/LongHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/MethodContext.h44
-rw-r--r--libjava/gnu/java/beans/decoder/MethodFinder.h44
-rw-r--r--libjava/gnu/java/beans/decoder/NullHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/ObjectContext.h43
-rw-r--r--libjava/gnu/java/beans/decoder/ObjectHandler.h57
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$Creator.h37
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.h43
-rw-r--r--libjava/gnu/java/beans/decoder/PersistenceParser.h84
-rw-r--r--libjava/gnu/java/beans/decoder/PropertyContext.h47
-rw-r--r--libjava/gnu/java/beans/decoder/ShortHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/SimpleHandler.h64
-rw-r--r--libjava/gnu/java/beans/decoder/StaticMethodContext.h45
-rw-r--r--libjava/gnu/java/beans/decoder/StringHandler.h39
-rw-r--r--libjava/gnu/java/beans/decoder/VoidHandler.h59
-rw-r--r--libjava/gnu/java/beans/editors/ColorEditor.h51
-rw-r--r--libjava/gnu/java/beans/editors/FontEditor.h37
-rw-r--r--libjava/gnu/java/beans/editors/NativeBooleanEditor.h42
-rw-r--r--libjava/gnu/java/beans/editors/NativeByteEditor.h37
-rw-r--r--libjava/gnu/java/beans/editors/NativeDoubleEditor.h37
-rw-r--r--libjava/gnu/java/beans/editors/NativeFloatEditor.h37
-rw-r--r--libjava/gnu/java/beans/editors/NativeIntEditor.h37
-rw-r--r--libjava/gnu/java/beans/editors/NativeLongEditor.h37
-rw-r--r--libjava/gnu/java/beans/editors/NativeShortEditor.h37
-rw-r--r--libjava/gnu/java/beans/editors/StringEditor.h37
-rw-r--r--libjava/gnu/java/beans/encoder/ArrayPersistenceDelegate.h51
-rw-r--r--libjava/gnu/java/beans/encoder/ClassPersistenceDelegate.h46
-rw-r--r--libjava/gnu/java/beans/encoder/CollectionPersistenceDelegate.h47
-rw-r--r--libjava/gnu/java/beans/encoder/Context.h43
-rw-r--r--libjava/gnu/java/beans/encoder/GenericScannerState.h66
-rw-r--r--libjava/gnu/java/beans/encoder/IgnoringScannerState.h53
-rw-r--r--libjava/gnu/java/beans/encoder/MapPersistenceDelegate.h47
-rw-r--r--libjava/gnu/java/beans/encoder/ObjectId.h46
-rw-r--r--libjava/gnu/java/beans/encoder/PrimitivePersistenceDelegate.h47
-rw-r--r--libjava/gnu/java/beans/encoder/ReportingScannerState.h53
-rw-r--r--libjava/gnu/java/beans/encoder/Root$RootElement.h39
-rw-r--r--libjava/gnu/java/beans/encoder/Root.h52
-rw-r--r--libjava/gnu/java/beans/encoder/ScanEngine.h85
-rw-r--r--libjava/gnu/java/beans/encoder/ScannerState.h94
-rw-r--r--libjava/gnu/java/beans/encoder/StAXWriter.h62
-rw-r--r--libjava/gnu/java/beans/encoder/Writer.h47
-rw-r--r--libjava/gnu/java/beans/encoder/elements/ArrayInstantiation.h44
-rw-r--r--libjava/gnu/java/beans/encoder/elements/Array_Get.h43
-rw-r--r--libjava/gnu/java/beans/encoder/elements/Array_Set.h43
-rw-r--r--libjava/gnu/java/beans/encoder/elements/ClassResolution.h44
-rw-r--r--libjava/gnu/java/beans/encoder/elements/Element.h55
-rw-r--r--libjava/gnu/java/beans/encoder/elements/List_Get.h40
-rw-r--r--libjava/gnu/java/beans/encoder/elements/List_Set.h40
-rw-r--r--libjava/gnu/java/beans/encoder/elements/MethodInvocation.h43
-rw-r--r--libjava/gnu/java/beans/encoder/elements/NullObject.h41
-rw-r--r--libjava/gnu/java/beans/encoder/elements/ObjectInstantiation.h43
-rw-r--r--libjava/gnu/java/beans/encoder/elements/ObjectReference.h44
-rw-r--r--libjava/gnu/java/beans/encoder/elements/PrimitiveInstantiation.h45
-rw-r--r--libjava/gnu/java/beans/encoder/elements/StaticFieldAccess.h44
-rw-r--r--libjava/gnu/java/beans/encoder/elements/StaticMethodInvocation.h44
-rw-r--r--libjava/gnu/java/beans/encoder/elements/StringReference.h44
-rw-r--r--libjava/gnu/java/io/ASN1ParsingException.h33
-rw-r--r--libjava/gnu/java/io/Base64InputStream.h50
-rw-r--r--libjava/gnu/java/io/ClassLoaderObjectInputStream.h36
-rw-r--r--libjava/gnu/java/io/NullOutputStream.h39
-rw-r--r--libjava/gnu/java/io/ObjectIdentityMap2Int.h53
-rw-r--r--libjava/gnu/java/io/ObjectIdentityWrapper.h36
-rw-r--r--libjava/gnu/java/io/PlatformHelper.h43
-rw-r--r--libjava/gnu/java/lang/ArrayHelper.h36
-rw-r--r--libjava/gnu/java/lang/CPStringBuilder.h100
-rw-r--r--libjava/gnu/java/lang/CharData.h45
-rw-r--r--libjava/gnu/java/lang/ClassHelper.h43
-rw-r--r--libjava/gnu/java/lang/InstrumentationImpl.h53
-rw-r--r--libjava/gnu/java/lang/MainThread.h50
-rw-r--r--libjava/gnu/java/lang/MainThread.java135
-rw-r--r--libjava/gnu/java/lang/VMCPStringBuilder.h39
-rw-r--r--libjava/gnu/java/lang/VMCPStringBuilder.java112
-rw-r--r--libjava/gnu/java/lang/VMInstrumentationImpl.h40
-rw-r--r--libjava/gnu/java/lang/VMInstrumentationImpl.java119
-rw-r--r--libjava/gnu/java/lang/management/BeanImpl.h69
-rw-r--r--libjava/gnu/java/lang/management/ClassLoadingMXBeanImpl.h40
-rw-r--r--libjava/gnu/java/lang/management/CompilationMXBeanImpl.h42
-rw-r--r--libjava/gnu/java/lang/management/GarbageCollectorMXBeanImpl.h37
-rw-r--r--libjava/gnu/java/lang/management/MemoryMXBeanImpl.h70
-rw-r--r--libjava/gnu/java/lang/management/MemoryManagerMXBeanImpl.h46
-rw-r--r--libjava/gnu/java/lang/management/MemoryPoolMXBeanImpl.h60
-rw-r--r--libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h40
-rw-r--r--libjava/gnu/java/lang/management/RuntimeMXBeanImpl.h58
-rw-r--r--libjava/gnu/java/lang/management/ThreadMXBeanImpl.h74
-rw-r--r--libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.h40
-rw-r--r--libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java89
-rw-r--r--libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.h37
-rw-r--r--libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.java66
-rw-r--r--libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.h38
-rw-r--r--libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java80
-rw-r--r--libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.h41
-rw-r--r--libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.java109
-rw-r--r--libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.h40
-rw-r--r--libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java95
-rw-r--r--libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.h51
-rw-r--r--libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java195
-rw-r--r--libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.h37
-rw-r--r--libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java68
-rw-r--r--libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.h43
-rw-r--r--libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.java109
-rw-r--r--libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h56
-rw-r--r--libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java236
-rw-r--r--libjava/gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc49
-rw-r--r--libjava/gnu/java/lang/management/natVMCompilationMXBeanImpl.cc11
-rw-r--r--libjava/gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc18
-rw-r--r--libjava/gnu/java/lang/management/natVMMemoryMXBeanImpl.cc47
-rw-r--r--libjava/gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc11
-rw-r--r--libjava/gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc111
-rw-r--r--libjava/gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc18
-rw-r--r--libjava/gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc39
-rw-r--r--libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc83
-rw-r--r--libjava/gnu/java/lang/natMainThread.cc65
-rw-r--r--libjava/gnu/java/lang/reflect/ClassSignatureParser.h45
-rw-r--r--libjava/gnu/java/lang/reflect/FieldSignatureParser.h39
-rw-r--r--libjava/gnu/java/lang/reflect/GenericArrayTypeImpl.h44
-rw-r--r--libjava/gnu/java/lang/reflect/GenericSignatureParser.h62
-rw-r--r--libjava/gnu/java/lang/reflect/MethodSignatureParser.h52
-rw-r--r--libjava/gnu/java/lang/reflect/ParameterizedTypeImpl.h52
-rw-r--r--libjava/gnu/java/lang/reflect/TypeImpl.h41
-rw-r--r--libjava/gnu/java/lang/reflect/TypeSignature.h44
-rw-r--r--libjava/gnu/java/lang/reflect/TypeVariableImpl.h50
-rw-r--r--libjava/gnu/java/lang/reflect/UnresolvedTypeVariable.h41
-rw-r--r--libjava/gnu/java/lang/reflect/WildcardTypeImpl.h48
-rw-r--r--libjava/gnu/java/locale/LocaleData.h37
-rw-r--r--libjava/gnu/java/locale/LocaleHelper.h38
-rw-r--r--libjava/gnu/java/math/Fixed.h44
-rw-r--r--libjava/gnu/java/math/GMP.h125
-rw-r--r--libjava/gnu/java/math/MPN.h57
-rw-r--r--libjava/gnu/java/net/CRLFInputStream.h47
-rw-r--r--libjava/gnu/java/net/CRLFOutputStream.h48
-rw-r--r--libjava/gnu/java/net/DefaultContentHandlerFactory.h46
-rw-r--r--libjava/gnu/java/net/DefaultProxySelector.h45
-rw-r--r--libjava/gnu/java/net/EmptyX509TrustManager.h47
-rw-r--r--libjava/gnu/java/net/GetLocalHostAction.h41
-rw-r--r--libjava/gnu/java/net/HeaderFieldHelper.h43
-rw-r--r--libjava/gnu/java/net/ImageHandler.h44
-rw-r--r--libjava/gnu/java/net/IndexListParser.h51
-rw-r--r--libjava/gnu/java/net/LineInputStream.h49
-rw-r--r--libjava/gnu/java/net/PlainDatagramSocketImpl.h93
-rw-r--r--libjava/gnu/java/net/PlainDatagramSocketImpl.java310
-rw-r--r--libjava/gnu/java/net/PlainSocketImpl$SocketInputStream.h43
-rw-r--r--libjava/gnu/java/net/PlainSocketImpl$SocketOutputStream.h42
-rw-r--r--libjava/gnu/java/net/PlainSocketImpl.h95
-rw-r--r--libjava/gnu/java/net/PlainSocketImpl.java478
-rw-r--r--libjava/gnu/java/net/URLParseError.h32
-rw-r--r--libjava/gnu/java/net/loader/FileResource.h49
-rw-r--r--libjava/gnu/java/net/loader/FileURLLoader.h52
-rw-r--r--libjava/gnu/java/net/loader/JarURLLoader.h60
-rw-r--r--libjava/gnu/java/net/loader/JarURLResource.h60
-rw-r--r--libjava/gnu/java/net/loader/Load_gcjlib$SoResource.h50
-rw-r--r--libjava/gnu/java/net/loader/Load_gcjlib.h58
-rw-r--r--libjava/gnu/java/net/loader/Load_gcjlib.java77
-rw-r--r--libjava/gnu/java/net/loader/RemoteResource.h52
-rw-r--r--libjava/gnu/java/net/loader/RemoteURLLoader.h50
-rw-r--r--libjava/gnu/java/net/loader/Resource.h62
-rw-r--r--libjava/gnu/java/net/loader/URLLoader.h63
-rw-r--r--libjava/gnu/java/net/loader/URLStreamHandlerCache.h48
-rw-r--r--libjava/gnu/java/net/local/LocalServerSocket.h68
-rw-r--r--libjava/gnu/java/net/local/LocalSocket.h100
-rw-r--r--libjava/gnu/java/net/local/LocalSocketAddress.h42
-rw-r--r--libjava/gnu/java/net/local/LocalSocketImpl$LocalInputStream.h52
-rw-r--r--libjava/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.h49
-rw-r--r--libjava/gnu/java/net/local/LocalSocketImpl.h86
-rw-r--r--libjava/gnu/java/net/local/LocalSocketImpl.java310
-rw-r--r--libjava/gnu/java/net/natPlainDatagramSocketImplNoNet.cc119
-rw-r--r--libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc858
-rw-r--r--libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc712
-rw-r--r--libjava/gnu/java/net/natPlainSocketImplNoNet.cc132
-rw-r--r--libjava/gnu/java/net/natPlainSocketImplPosix.cc868
-rw-r--r--libjava/gnu/java/net/natPlainSocketImplWin32.cc796
-rw-r--r--libjava/gnu/java/net/protocol/core/Connection.h64
-rw-r--r--libjava/gnu/java/net/protocol/core/Connection.java172
-rw-r--r--libjava/gnu/java/net/protocol/core/CoreInputStream.h60
-rw-r--r--libjava/gnu/java/net/protocol/core/CoreInputStream.java90
-rw-r--r--libjava/gnu/java/net/protocol/core/Handler.h49
-rw-r--r--libjava/gnu/java/net/protocol/core/Handler.java28
-rw-r--r--libjava/gnu/java/net/protocol/core/natCoreInputStream.cc51
-rw-r--r--libjava/gnu/java/net/protocol/file/Connection$StaticData.h48
-rw-r--r--libjava/gnu/java/net/protocol/file/Connection.h70
-rw-r--r--libjava/gnu/java/net/protocol/file/Handler.h49
-rw-r--r--libjava/gnu/java/net/protocol/ftp/ActiveModeDTP.h70
-rw-r--r--libjava/gnu/java/net/protocol/ftp/BlockInputStream.h52
-rw-r--r--libjava/gnu/java/net/protocol/ftp/BlockOutputStream.h50
-rw-r--r--libjava/gnu/java/net/protocol/ftp/CompressedInputStream.h59
-rw-r--r--libjava/gnu/java/net/protocol/ftp/CompressedOutputStream.h56
-rw-r--r--libjava/gnu/java/net/protocol/ftp/DTP.h43
-rw-r--r--libjava/gnu/java/net/protocol/ftp/DTPInputStream.h46
-rw-r--r--libjava/gnu/java/net/protocol/ftp/DTPOutputStream.h46
-rw-r--r--libjava/gnu/java/net/protocol/ftp/FTPConnection.h165
-rw-r--r--libjava/gnu/java/net/protocol/ftp/FTPException.h43
-rw-r--r--libjava/gnu/java/net/protocol/ftp/FTPResponse.h47
-rw-r--r--libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.h44
-rw-r--r--libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.h44
-rw-r--r--libjava/gnu/java/net/protocol/ftp/FTPURLConnection.h65
-rw-r--r--libjava/gnu/java/net/protocol/ftp/Handler.h50
-rw-r--r--libjava/gnu/java/net/protocol/ftp/PassiveModeDTP.h65
-rw-r--r--libjava/gnu/java/net/protocol/ftp/StreamInputStream.h45
-rw-r--r--libjava/gnu/java/net/protocol/ftp/StreamOutputStream.h45
-rw-r--r--libjava/gnu/java/net/protocol/gcjlib/Connection.h57
-rw-r--r--libjava/gnu/java/net/protocol/gcjlib/Connection.java83
-rw-r--r--libjava/gnu/java/net/protocol/gcjlib/Handler.h49
-rw-r--r--libjava/gnu/java/net/protocol/gcjlib/Handler.java24
-rw-r--r--libjava/gnu/java/net/protocol/http/Authenticator.h39
-rw-r--r--libjava/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.h47
-rw-r--r--libjava/gnu/java/net/protocol/http/ChunkedInputStream.h55
-rw-r--r--libjava/gnu/java/net/protocol/http/Cookie.h56
-rw-r--r--libjava/gnu/java/net/protocol/http/CookieManager.h42
-rw-r--r--libjava/gnu/java/net/protocol/http/Credentials.h44
-rw-r--r--libjava/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.h44
-rw-r--r--libjava/gnu/java/net/protocol/http/HTTPConnection$Pool.h50
-rw-r--r--libjava/gnu/java/net/protocol/http/HTTPConnection.h128
-rw-r--r--libjava/gnu/java/net/protocol/http/HTTPDateFormat.h62
-rw-r--r--libjava/gnu/java/net/protocol/http/HTTPURLConnection$1.h47
-rw-r--r--libjava/gnu/java/net/protocol/http/HTTPURLConnection.h115
-rw-r--r--libjava/gnu/java/net/protocol/http/Handler.h50
-rw-r--r--libjava/gnu/java/net/protocol/http/Headers$HeaderElement.h41
-rw-r--r--libjava/gnu/java/net/protocol/http/Headers.h62
-rw-r--r--libjava/gnu/java/net/protocol/http/LimitedLengthInputStream.h57
-rw-r--r--libjava/gnu/java/net/protocol/http/Request.h87
-rw-r--r--libjava/gnu/java/net/protocol/http/RequestBodyWriter.h42
-rw-r--r--libjava/gnu/java/net/protocol/http/Response.h61
-rw-r--r--libjava/gnu/java/net/protocol/http/ResponseHeaderHandler.h38
-rw-r--r--libjava/gnu/java/net/protocol/http/SimpleCookieManager.h48
-rw-r--r--libjava/gnu/java/net/protocol/https/Handler.h50
-rw-r--r--libjava/gnu/java/net/protocol/jar/Connection$JarFileCache.h50
-rw-r--r--libjava/gnu/java/net/protocol/jar/Connection.h62
-rw-r--r--libjava/gnu/java/net/protocol/jar/Handler.h54
-rw-r--r--libjava/gnu/java/nio/ChannelInputStream.h49
-rw-r--r--libjava/gnu/java/nio/ChannelOutputStream.h46
-rw-r--r--libjava/gnu/java/nio/ChannelReader.h59
-rw-r--r--libjava/gnu/java/nio/ChannelWriter.h61
-rw-r--r--libjava/gnu/java/nio/DatagramChannelImpl.h78
-rw-r--r--libjava/gnu/java/nio/DatagramChannelImpl.java302
-rw-r--r--libjava/gnu/java/nio/DatagramChannelSelectionKey.h47
-rw-r--r--libjava/gnu/java/nio/DatagramChannelSelectionKey.java59
-rw-r--r--libjava/gnu/java/nio/FileLockImpl.h44
-rw-r--r--libjava/gnu/java/nio/FileLockImpl.java104
-rw-r--r--libjava/gnu/java/nio/InputStreamChannel.h46
-rw-r--r--libjava/gnu/java/nio/NIOConstants.h33
-rw-r--r--libjava/gnu/java/nio/NIODatagramSocket.h53
-rw-r--r--libjava/gnu/java/nio/NIOServerSocket.h58
-rw-r--r--libjava/gnu/java/nio/NIOServerSocket.java80
-rw-r--r--libjava/gnu/java/nio/NIOSocket.h57
-rw-r--r--libjava/gnu/java/nio/NIOSocket.java77
-rw-r--r--libjava/gnu/java/nio/OutputStreamChannel.h46
-rw-r--r--libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h61
-rw-r--r--libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h61
-rw-r--r--libjava/gnu/java/nio/PipeImpl.h55
-rw-r--r--libjava/gnu/java/nio/PipeImpl.java178
-rw-r--r--libjava/gnu/java/nio/SelectionKeyImpl.h59
-rw-r--r--libjava/gnu/java/nio/SelectorImpl.h76
-rw-r--r--libjava/gnu/java/nio/SelectorProviderImpl.h54
-rw-r--r--libjava/gnu/java/nio/SelectorProviderImpl.java84
-rw-r--r--libjava/gnu/java/nio/ServerSocketChannelImpl.h64
-rw-r--r--libjava/gnu/java/nio/ServerSocketChannelImpl.java129
-rw-r--r--libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h47
-rw-r--r--libjava/gnu/java/nio/ServerSocketChannelSelectionKey.java56
-rw-r--r--libjava/gnu/java/nio/SocketChannelImpl.h82
-rw-r--r--libjava/gnu/java/nio/SocketChannelImpl.java357
-rw-r--r--libjava/gnu/java/nio/SocketChannelSelectionKey.h47
-rw-r--r--libjava/gnu/java/nio/SocketChannelSelectionKey.java58
-rw-r--r--libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h38
-rw-r--r--libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java69
-rw-r--r--libjava/gnu/java/nio/VMChannel.h77
-rw-r--r--libjava/gnu/java/nio/VMChannel.java197
-rw-r--r--libjava/gnu/java/nio/VMChannelOwner.h33
-rw-r--r--libjava/gnu/java/nio/VMPipe.h48
-rw-r--r--libjava/gnu/java/nio/VMPipe.java64
-rw-r--r--libjava/gnu/java/nio/VMSelector.h37
-rw-r--r--libjava/gnu/java/nio/VMSelector.java59
-rw-r--r--libjava/gnu/java/nio/channels/FileChannelImpl.h118
-rw-r--r--libjava/gnu/java/nio/channels/FileChannelImpl.java544
-rw-r--r--libjava/gnu/java/nio/channels/natFileChannelEcos.cc192
-rw-r--r--libjava/gnu/java/nio/channels/natFileChannelPosix.cc557
-rw-r--r--libjava/gnu/java/nio/channels/natFileChannelWin32.cc466
-rw-r--r--libjava/gnu/java/nio/charset/ByteCharset$1.h42
-rw-r--r--libjava/gnu/java/nio/charset/ByteCharset$2.h42
-rw-r--r--libjava/gnu/java/nio/charset/ByteCharset$Decoder.h59
-rw-r--r--libjava/gnu/java/nio/charset/ByteCharset$Encoder.h62
-rw-r--r--libjava/gnu/java/nio/charset/ByteCharset.h60
-rw-r--r--libjava/gnu/java/nio/charset/ByteDecodeLoopHelper.h56
-rw-r--r--libjava/gnu/java/nio/charset/ByteEncodeLoopHelper.h56
-rw-r--r--libjava/gnu/java/nio/charset/Cp424.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp437.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp737.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp775.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp850.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp852.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp855.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp857.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp860.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp861.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp862.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp863.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp864.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp865.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp866.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp869.h40
-rw-r--r--libjava/gnu/java/nio/charset/Cp874.h40
-rw-r--r--libjava/gnu/java/nio/charset/EncodingHelper.h53
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_1$1.h39
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_1$2.h39
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h54
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h57
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_1.h51
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_13.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_15.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_2.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_3.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_4.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_5.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_6.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_7.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_8.h40
-rw-r--r--libjava/gnu/java/nio/charset/ISO_8859_9.h40
-rw-r--r--libjava/gnu/java/nio/charset/KOI_8.h40
-rw-r--r--libjava/gnu/java/nio/charset/MS874.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacCentralEurope.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacCroatian.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacCyrillic.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacDingbat.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacGreek.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacIceland.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacRoman.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacRomania.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacSymbol.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacThai.h40
-rw-r--r--libjava/gnu/java/nio/charset/MacTurkish.h40
-rw-r--r--libjava/gnu/java/nio/charset/Provider$1.h39
-rw-r--r--libjava/gnu/java/nio/charset/Provider.h60
-rw-r--r--libjava/gnu/java/nio/charset/US_ASCII$1.h39
-rw-r--r--libjava/gnu/java/nio/charset/US_ASCII$2.h39
-rw-r--r--libjava/gnu/java/nio/charset/US_ASCII$Decoder.h54
-rw-r--r--libjava/gnu/java/nio/charset/US_ASCII$Encoder.h57
-rw-r--r--libjava/gnu/java/nio/charset/US_ASCII.h51
-rw-r--r--libjava/gnu/java/nio/charset/UTF_16.h51
-rw-r--r--libjava/gnu/java/nio/charset/UTF_16BE.h51
-rw-r--r--libjava/gnu/java/nio/charset/UTF_16Decoder.h63
-rw-r--r--libjava/gnu/java/nio/charset/UTF_16Encoder.h61
-rw-r--r--libjava/gnu/java/nio/charset/UTF_16LE.h51
-rw-r--r--libjava/gnu/java/nio/charset/UTF_8$Decoder.h53
-rw-r--r--libjava/gnu/java/nio/charset/UTF_8$Encoder.h51
-rw-r--r--libjava/gnu/java/nio/charset/UTF_8.h51
-rw-r--r--libjava/gnu/java/nio/charset/UnicodeLittle.h51
-rw-r--r--libjava/gnu/java/nio/charset/Windows1250.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1251.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1252.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1253.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1254.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1255.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1256.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1257.h40
-rw-r--r--libjava/gnu/java/nio/charset/Windows1258.h40
-rw-r--r--libjava/gnu/java/nio/natNIOServerSocket.cc24
-rw-r--r--libjava/gnu/java/nio/natVMChannel.cc46
-rw-r--r--libjava/gnu/java/nio/natVMPipeEcos.cc27
-rw-r--r--libjava/gnu/java/nio/natVMPipePosix.cc41
-rw-r--r--libjava/gnu/java/nio/natVMPipeWin32.cc40
-rw-r--r--libjava/gnu/java/nio/natVMSelectorEcos.cc25
-rw-r--r--libjava/gnu/java/nio/natVMSelectorPosix.cc127
-rw-r--r--libjava/gnu/java/nio/natVMSelectorWin32.cc93
-rw-r--r--libjava/gnu/java/rmi/RMIMarshalledObjectInputStream.h39
-rw-r--r--libjava/gnu/java/rmi/RMIMarshalledObjectOutputStream.h43
-rw-r--r--libjava/gnu/java/rmi/activation/ActivationSystemTransient.h80
-rw-r--r--libjava/gnu/java/rmi/activation/BidiTable.h54
-rw-r--r--libjava/gnu/java/rmi/activation/DefaultActivationGroup.h58
-rw-r--r--libjava/gnu/java/rmi/activation/DefaultActivationSystem.h52
-rw-r--r--libjava/gnu/java/rmi/dgc/DGCImpl$RefProtector.h54
-rw-r--r--libjava/gnu/java/rmi/dgc/DGCImpl.h59
-rw-r--r--libjava/gnu/java/rmi/dgc/DGCImpl_Skel.h55
-rw-r--r--libjava/gnu/java/rmi/dgc/DGCImpl_Stub.h65
-rw-r--r--libjava/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.h41
-rw-r--r--libjava/gnu/java/rmi/dgc/LeaseRenewingTask.h60
-rw-r--r--libjava/gnu/java/rmi/registry/RegistryImpl.h61
-rw-r--r--libjava/gnu/java/rmi/registry/RegistryImpl_Skel.h55
-rw-r--r--libjava/gnu/java/rmi/registry/RegistryImpl_Stub.h66
-rw-r--r--libjava/gnu/java/rmi/server/ActivatableRef.h65
-rw-r--r--libjava/gnu/java/rmi/server/ActivatableServerRef.h67
-rw-r--r--libjava/gnu/java/rmi/server/CombinedClassLoader.h51
-rw-r--r--libjava/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.h44
-rw-r--r--libjava/gnu/java/rmi/server/ConnectionRunnerPool.h53
-rw-r--r--libjava/gnu/java/rmi/server/ProtocolConstants.h49
-rw-r--r--libjava/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.h45
-rw-r--r--libjava/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.h50
-rw-r--r--libjava/gnu/java/rmi/server/RMIClassLoaderImpl.h65
-rw-r--r--libjava/gnu/java/rmi/server/RMIDefaultSocketFactory.h45
-rw-r--r--libjava/gnu/java/rmi/server/RMIHashes.h37
-rw-r--r--libjava/gnu/java/rmi/server/RMIIncomingThread.h40
-rw-r--r--libjava/gnu/java/rmi/server/RMIObjectInputStream.h43
-rw-r--r--libjava/gnu/java/rmi/server/RMIObjectOutputStream.h42
-rw-r--r--libjava/gnu/java/rmi/server/RMIVoidValue.h37
-rw-r--r--libjava/gnu/java/rmi/server/TripleKey.h44
-rw-r--r--libjava/gnu/java/rmi/server/UnicastConnection.h67
-rw-r--r--libjava/gnu/java/rmi/server/UnicastConnectionManager$1.h37
-rw-r--r--libjava/gnu/java/rmi/server/UnicastConnectionManager.h94
-rw-r--r--libjava/gnu/java/rmi/server/UnicastRef.h91
-rw-r--r--libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.h64
-rw-r--r--libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.h59
-rw-r--r--libjava/gnu/java/rmi/server/UnicastRemoteCall.h81
-rw-r--r--libjava/gnu/java/rmi/server/UnicastRemoteStub.h47
-rw-r--r--libjava/gnu/java/rmi/server/UnicastServer.h74
-rw-r--r--libjava/gnu/java/rmi/server/UnicastServerRef.h80
-rw-r--r--libjava/gnu/java/security/Configuration.h32
-rw-r--r--libjava/gnu/java/security/Engine.h49
-rw-r--r--libjava/gnu/java/security/OID.h64
-rw-r--r--libjava/gnu/java/security/PolicyFile$1.h40
-rw-r--r--libjava/gnu/java/security/PolicyFile.h67
-rw-r--r--libjava/gnu/java/security/Properties$1.h38
-rw-r--r--libjava/gnu/java/security/Properties.h60
-rw-r--r--libjava/gnu/java/security/Registry.h187
-rw-r--r--libjava/gnu/java/security/Requires.h35
-rw-r--r--libjava/gnu/java/security/action/GetPropertyAction.h45
-rw-r--r--libjava/gnu/java/security/action/GetSecurityPropertyAction.h45
-rw-r--r--libjava/gnu/java/security/action/SetAccessibleAction.h41
-rw-r--r--libjava/gnu/java/security/ber/BER.h36
-rw-r--r--libjava/gnu/java/security/ber/BEREncodingException.h36
-rw-r--r--libjava/gnu/java/security/ber/BERReader.h45
-rw-r--r--libjava/gnu/java/security/ber/BERValue.h49
-rw-r--r--libjava/gnu/java/security/der/BitString.h58
-rw-r--r--libjava/gnu/java/security/der/DER.h65
-rw-r--r--libjava/gnu/java/security/der/DEREncodingException.h36
-rw-r--r--libjava/gnu/java/security/der/DERReader.h56
-rw-r--r--libjava/gnu/java/security/der/DERValue.h56
-rw-r--r--libjava/gnu/java/security/der/DERWriter.h64
-rw-r--r--libjava/gnu/java/security/hash/BaseHash.h59
-rw-r--r--libjava/gnu/java/security/hash/HashFactory.h38
-rw-r--r--libjava/gnu/java/security/hash/Haval.h86
-rw-r--r--libjava/gnu/java/security/hash/IMessageDigest.h46
-rw-r--r--libjava/gnu/java/security/hash/MD2.h60
-rw-r--r--libjava/gnu/java/security/hash/MD4.h63
-rw-r--r--libjava/gnu/java/security/hash/MD5.h57
-rw-r--r--libjava/gnu/java/security/hash/RipeMD128.h62
-rw-r--r--libjava/gnu/java/security/hash/RipeMD160.h63
-rw-r--r--libjava/gnu/java/security/hash/Sha160.h61
-rw-r--r--libjava/gnu/java/security/hash/Sha256.h65
-rw-r--r--libjava/gnu/java/security/hash/Sha384.h65
-rw-r--r--libjava/gnu/java/security/hash/Sha512.h65
-rw-r--r--libjava/gnu/java/security/hash/Tiger.h63
-rw-r--r--libjava/gnu/java/security/hash/Whirlpool.h113
-rw-r--r--libjava/gnu/java/security/jce/hash/HavalSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/MD2Spi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/MD4Spi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/MD5Spi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/MessageDigestAdapter.h57
-rw-r--r--libjava/gnu/java/security/jce/hash/RipeMD128Spi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/RipeMD160Spi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/Sha160Spi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/Sha256Spi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/Sha384Spi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/Sha512Spi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/TigerSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/hash/WhirlpoolSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/HavalRandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/MD2RandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/MD4RandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/MD5RandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/RipeMD128RandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/RipeMD160RandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/SecureRandomAdapter.h57
-rw-r--r--libjava/gnu/java/security/jce/prng/Sha160RandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/Sha256RandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/Sha384RandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/Sha512RandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/TigerRandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/VMSecureRandom.h43
-rw-r--r--libjava/gnu/java/security/jce/prng/VMSecureRandom.java78
-rw-r--r--libjava/gnu/java/security/jce/prng/WhirlpoolRandomSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/prng/natVMSecureRandomPosix.cc54
-rwxr-xr-xlibjava/gnu/java/security/jce/prng/natVMSecureRandomWin32.cc33
-rw-r--r--libjava/gnu/java/security/jce/sig/DSSKeyFactory.h57
-rw-r--r--libjava/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.h57
-rw-r--r--libjava/gnu/java/security/jce/sig/DSSParameters.h67
-rw-r--r--libjava/gnu/java/security/jce/sig/DSSParametersGenerator.h68
-rw-r--r--libjava/gnu/java/security/jce/sig/DSSRawSignatureSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/sig/EncodedKeyFactory.h106
-rw-r--r--libjava/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h61
-rw-r--r--libjava/gnu/java/security/jce/sig/MD2withRSA.h38
-rw-r--r--libjava/gnu/java/security/jce/sig/MD5withRSA.h38
-rw-r--r--libjava/gnu/java/security/jce/sig/RSAKeyFactory.h57
-rw-r--r--libjava/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.h51
-rw-r--r--libjava/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.h38
-rw-r--r--libjava/gnu/java/security/jce/sig/SHA160withDSS.h38
-rw-r--r--libjava/gnu/java/security/jce/sig/SHA160withRSA.h38
-rw-r--r--libjava/gnu/java/security/jce/sig/SHA256withRSA.h38
-rw-r--r--libjava/gnu/java/security/jce/sig/SHA384withRSA.h38
-rw-r--r--libjava/gnu/java/security/jce/sig/SHA512withRSA.h38
-rw-r--r--libjava/gnu/java/security/jce/sig/SignatureAdapter.h78
-rw-r--r--libjava/gnu/java/security/key/IKeyPairCodec.h53
-rw-r--r--libjava/gnu/java/security/key/IKeyPairGenerator.h44
-rw-r--r--libjava/gnu/java/security/key/KeyPairCodecFactory.h59
-rw-r--r--libjava/gnu/java/security/key/KeyPairGeneratorFactory.h41
-rw-r--r--libjava/gnu/java/security/key/dss/DSSKey.h71
-rw-r--r--libjava/gnu/java/security/key/dss/DSSKeyPairGenerator.h98
-rw-r--r--libjava/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.h58
-rw-r--r--libjava/gnu/java/security/key/dss/DSSKeyPairRawCodec.h53
-rw-r--r--libjava/gnu/java/security/key/dss/DSSKeyPairX509Codec.h57
-rw-r--r--libjava/gnu/java/security/key/dss/DSSPrivateKey.h57
-rw-r--r--libjava/gnu/java/security/key/dss/DSSPublicKey.h57
-rw-r--r--libjava/gnu/java/security/key/dss/FIPS186.h78
-rw-r--r--libjava/gnu/java/security/key/rsa/GnuRSAKey.h66
-rw-r--r--libjava/gnu/java/security/key/rsa/GnuRSAPrivateKey.h68
-rw-r--r--libjava/gnu/java/security/key/rsa/GnuRSAPublicKey.h55
-rw-r--r--libjava/gnu/java/security/key/rsa/RSAKeyPairGenerator.h79
-rw-r--r--libjava/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.h58
-rw-r--r--libjava/gnu/java/security/key/rsa/RSAKeyPairRawCodec.h53
-rw-r--r--libjava/gnu/java/security/key/rsa/RSAKeyPairX509Codec.h58
-rw-r--r--libjava/gnu/java/security/pkcs/PKCS7Data.h43
-rw-r--r--libjava/gnu/java/security/pkcs/PKCS7SignedData.h81
-rw-r--r--libjava/gnu/java/security/pkcs/SignerInfo.h87
-rw-r--r--libjava/gnu/java/security/prng/BasePRNG.h59
-rw-r--r--libjava/gnu/java/security/prng/EntropySource.h38
-rw-r--r--libjava/gnu/java/security/prng/IRandom.h44
-rw-r--r--libjava/gnu/java/security/prng/LimitReachedException.h36
-rw-r--r--libjava/gnu/java/security/prng/MDGenerator.h51
-rw-r--r--libjava/gnu/java/security/prng/PRNGFactory.h39
-rw-r--r--libjava/gnu/java/security/prng/RandomEvent.h45
-rw-r--r--libjava/gnu/java/security/prng/RandomEventListener.h36
-rw-r--r--libjava/gnu/java/security/provider/CollectionCertStoreImpl.h52
-rw-r--r--libjava/gnu/java/security/provider/DefaultPolicy.h49
-rw-r--r--libjava/gnu/java/security/provider/Gnu$1.h41
-rw-r--r--libjava/gnu/java/security/provider/Gnu.h35
-rw-r--r--libjava/gnu/java/security/provider/PKIXCertPathValidatorImpl.h67
-rw-r--r--libjava/gnu/java/security/provider/X509CertificateFactory.h68
-rw-r--r--libjava/gnu/java/security/sig/BaseSignature.h86
-rw-r--r--libjava/gnu/java/security/sig/ISignature.h47
-rw-r--r--libjava/gnu/java/security/sig/ISignatureCodec.h40
-rw-r--r--libjava/gnu/java/security/sig/SignatureCodecFactory.h45
-rw-r--r--libjava/gnu/java/security/sig/SignatureFactory.h41
-rw-r--r--libjava/gnu/java/security/sig/dss/DSSSignature.h80
-rw-r--r--libjava/gnu/java/security/sig/dss/DSSSignatureRawCodec.h43
-rw-r--r--libjava/gnu/java/security/sig/dss/DSSSignatureX509Codec.h43
-rw-r--r--libjava/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.h70
-rw-r--r--libjava/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.h58
-rw-r--r--libjava/gnu/java/security/sig/rsa/EMSA_PSS.h54
-rw-r--r--libjava/gnu/java/security/sig/rsa/RSA.h74
-rw-r--r--libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.h65
-rw-r--r--libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.h43
-rw-r--r--libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.h43
-rw-r--r--libjava/gnu/java/security/sig/rsa/RSAPSSSignature.h68
-rw-r--r--libjava/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.h43
-rw-r--r--libjava/gnu/java/security/sig/rsa/RSASignatureFactory.h46
-rw-r--r--libjava/gnu/java/security/util/ByteArray.h44
-rw-r--r--libjava/gnu/java/security/util/ByteBufferOutputStream.h54
-rw-r--r--libjava/gnu/java/security/util/DerUtil.h41
-rw-r--r--libjava/gnu/java/security/util/ExpirableObject$Destroyer.h43
-rw-r--r--libjava/gnu/java/security/util/ExpirableObject.h48
-rw-r--r--libjava/gnu/java/security/util/FormatUtil.h38
-rw-r--r--libjava/gnu/java/security/util/IntegerUtil$1.h37
-rw-r--r--libjava/gnu/java/security/util/IntegerUtil.h41
-rw-r--r--libjava/gnu/java/security/util/PRNG.h47
-rw-r--r--libjava/gnu/java/security/util/Prime.h44
-rw-r--r--libjava/gnu/java/security/util/Sequence.h45
-rw-r--r--libjava/gnu/java/security/util/SimpleList.h48
-rw-r--r--libjava/gnu/java/security/util/Util.h72
-rw-r--r--libjava/gnu/java/security/x509/GnuPKIExtension.h47
-rw-r--r--libjava/gnu/java/security/x509/PolicyNodeImpl.h73
-rw-r--r--libjava/gnu/java/security/x509/Util.h46
-rw-r--r--libjava/gnu/java/security/x509/X500DistinguishedName.h90
-rw-r--r--libjava/gnu/java/security/x509/X509CRL.h124
-rw-r--r--libjava/gnu/java/security/x509/X509CRLEntry.h75
-rw-r--r--libjava/gnu/java/security/x509/X509CRLSelectorImpl.h57
-rw-r--r--libjava/gnu/java/security/x509/X509CertPath.h57
-rw-r--r--libjava/gnu/java/security/x509/X509CertSelectorImpl.h62
-rw-r--r--libjava/gnu/java/security/x509/X509Certificate.h141
-rw-r--r--libjava/gnu/java/security/x509/ext/AuthorityKeyIdentifier.h59
-rw-r--r--libjava/gnu/java/security/x509/ext/BasicConstraints.h51
-rw-r--r--libjava/gnu/java/security/x509/ext/CRLNumber.h56
-rw-r--r--libjava/gnu/java/security/x509/ext/CertificatePolicies.h52
-rw-r--r--libjava/gnu/java/security/x509/ext/ExtendedKeyUsage.h47
-rw-r--r--libjava/gnu/java/security/x509/ext/Extension$Value.h50
-rw-r--r--libjava/gnu/java/security/x509/ext/Extension.h64
-rw-r--r--libjava/gnu/java/security/x509/ext/GeneralName$Kind.h57
-rw-r--r--libjava/gnu/java/security/x509/ext/GeneralName.h55
-rw-r--r--libjava/gnu/java/security/x509/ext/GeneralNames.h45
-rw-r--r--libjava/gnu/java/security/x509/ext/GeneralSubtree.h50
-rw-r--r--libjava/gnu/java/security/x509/ext/IssuerAlternativeNames.h48
-rw-r--r--libjava/gnu/java/security/x509/ext/KeyUsage.h60
-rw-r--r--libjava/gnu/java/security/x509/ext/NameConstraints.h49
-rw-r--r--libjava/gnu/java/security/x509/ext/PolicyConstraint.h49
-rw-r--r--libjava/gnu/java/security/x509/ext/PolicyMappings.h47
-rw-r--r--libjava/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.h49
-rw-r--r--libjava/gnu/java/security/x509/ext/ReasonCode.h45
-rw-r--r--libjava/gnu/java/security/x509/ext/SubjectAlternativeNames.h48
-rw-r--r--libjava/gnu/java/security/x509/ext/SubjectKeyIdentifier.h47
-rw-r--r--libjava/gnu/java/text/AttributedFormatBuffer.h74
-rw-r--r--libjava/gnu/java/text/BaseBreakIterator.h49
-rw-r--r--libjava/gnu/java/text/CharacterBreakIterator.h56
-rw-r--r--libjava/gnu/java/text/FormatBuffer.h50
-rw-r--r--libjava/gnu/java/text/FormatCharacterIterator.h77
-rw-r--r--libjava/gnu/java/text/LineBreakIterator.h41
-rw-r--r--libjava/gnu/java/text/SentenceBreakIterator.h44
-rw-r--r--libjava/gnu/java/text/StringFormatBuffer.h58
-rw-r--r--libjava/gnu/java/text/WordBreakIterator.h41
-rw-r--r--libjava/gnu/java/util/Base64.h42
-rw-r--r--libjava/gnu/java/util/DoubleEnumeration.h40
-rw-r--r--libjava/gnu/java/util/EmptyEnumeration.h38
-rw-r--r--libjava/gnu/java/util/LRUCache.h37
-rw-r--r--libjava/gnu/java/util/WeakIdentityHashMap$1.h47
-rw-r--r--libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.h44
-rw-r--r--libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket.h39
-rw-r--r--libjava/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.h40
-rw-r--r--libjava/gnu/java/util/WeakIdentityHashMap.h82
-rw-r--r--libjava/gnu/java/util/ZoneInfo.h70
-rw-r--r--libjava/gnu/java/util/jar/JarUtils.h70
-rw-r--r--libjava/gnu/java/util/prefs/FileBasedFactory.h41
-rw-r--r--libjava/gnu/java/util/prefs/FileBasedPreferences$1.h41
-rw-r--r--libjava/gnu/java/util/prefs/FileBasedPreferences.h58
-rw-r--r--libjava/gnu/java/util/prefs/GConfBasedFactory.h41
-rw-r--r--libjava/gnu/java/util/prefs/GConfBasedPreferences.h81
-rw-r--r--libjava/gnu/java/util/prefs/MemoryBasedFactory.h41
-rw-r--r--libjava/gnu/java/util/prefs/MemoryBasedPreferences.h52
-rw-r--r--libjava/gnu/java/util/prefs/NodeReader.h50
-rw-r--r--libjava/gnu/java/util/prefs/NodeWriter.h53
-rw-r--r--libjava/gnu/java/util/prefs/gconf/GConfNativePeer.h64
-rw-r--r--libjava/gnu/java/util/regex/BacktrackStack$Backtrack.h43
-rw-r--r--libjava/gnu/java/util/regex/BacktrackStack.h50
-rw-r--r--libjava/gnu/java/util/regex/CharIndexed.h48
-rw-r--r--libjava/gnu/java/util/regex/CharIndexedCharArray.h38
-rw-r--r--libjava/gnu/java/util/regex/CharIndexedCharSequence.h57
-rw-r--r--libjava/gnu/java/util/regex/CharIndexedInputStream.h64
-rw-r--r--libjava/gnu/java/util/regex/CharIndexedString.h36
-rw-r--r--libjava/gnu/java/util/regex/CharIndexedStringBuffer.h36
-rw-r--r--libjava/gnu/java/util/regex/RE$CharExpression.h42
-rw-r--r--libjava/gnu/java/util/regex/RE$CharUnit.h39
-rw-r--r--libjava/gnu/java/util/regex/RE$IntPair.h39
-rw-r--r--libjava/gnu/java/util/regex/RE$NamedProperty.h40
-rw-r--r--libjava/gnu/java/util/regex/RE$ParseCharClassResult.h41
-rw-r--r--libjava/gnu/java/util/regex/RE.h150
-rw-r--r--libjava/gnu/java/util/regex/REException.h57
-rw-r--r--libjava/gnu/java/util/regex/REFilterInputStream.h51
-rw-r--r--libjava/gnu/java/util/regex/REMatch.h68
-rw-r--r--libjava/gnu/java/util/regex/REMatchEnumeration.h59
-rw-r--r--libjava/gnu/java/util/regex/RESyntax.h101
-rw-r--r--libjava/gnu/java/util/regex/REToken.h75
-rw-r--r--libjava/gnu/java/util/regex/RETokenAny.h52
-rw-r--r--libjava/gnu/java/util/regex/RETokenBackRef.h47
-rw-r--r--libjava/gnu/java/util/regex/RETokenChar.h60
-rw-r--r--libjava/gnu/java/util/regex/RETokenEnd.h54
-rw-r--r--libjava/gnu/java/util/regex/RETokenEndOfPreviousMatch.h47
-rw-r--r--libjava/gnu/java/util/regex/RETokenEndSub.h47
-rw-r--r--libjava/gnu/java/util/regex/RETokenIndependent.h48
-rw-r--r--libjava/gnu/java/util/regex/RETokenLookAhead.h48
-rw-r--r--libjava/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.h47
-rw-r--r--libjava/gnu/java/util/regex/RETokenLookBehind.h48
-rw-r--r--libjava/gnu/java/util/regex/RETokenNamedProperty$1.h41
-rw-r--r--libjava/gnu/java/util/regex/RETokenNamedProperty$Handler.h39
-rw-r--r--libjava/gnu/java/util/regex/RETokenNamedProperty$JavaCategoryHandler.h39
-rw-r--r--libjava/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.h40
-rw-r--r--libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.h39
-rw-r--r--libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.h41
-rw-r--r--libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.h39
-rw-r--r--libjava/gnu/java/util/regex/RETokenNamedProperty.h68
-rw-r--r--libjava/gnu/java/util/regex/RETokenOneOf.h66
-rw-r--r--libjava/gnu/java/util/regex/RETokenPOSIX.h68
-rw-r--r--libjava/gnu/java/util/regex/RETokenRange.h53
-rw-r--r--libjava/gnu/java/util/regex/RETokenRepeated$DoablesFinder.h48
-rw-r--r--libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControl.h38
-rw-r--r--libjava/gnu/java/util/regex/RETokenRepeated$StackedInfo.h44
-rw-r--r--libjava/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.h46
-rw-r--r--libjava/gnu/java/util/regex/RETokenRepeated.h79
-rw-r--r--libjava/gnu/java/util/regex/RETokenStart.h51
-rw-r--r--libjava/gnu/java/util/regex/RETokenWordBoundary.h53
-rw-r--r--libjava/gnu/java/util/regex/UncheckedRE.h38
968 files changed, 62877 insertions, 0 deletions
diff --git a/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.h b/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.h
new file mode 100644
index 000000000..27344b59b
--- /dev/null
+++ b/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_AWTUtilities$VisibleComponentList$VisibleComponentIterator__
+#define __gnu_java_awt_AWTUtilities$VisibleComponentList$VisibleComponentIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTUtilities$VisibleComponentList;
+ class AWTUtilities$VisibleComponentList$VisibleComponentIterator;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::AWTUtilities$VisibleComponentList$VisibleComponentIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AWTUtilities$VisibleComponentList$VisibleComponentIterator(::gnu::java::awt::AWTUtilities$VisibleComponentList *, jint);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual jboolean hasPrevious();
+ virtual ::java::lang::Object * previous();
+ virtual jint nextIndex();
+ virtual jint previousIndex();
+ virtual void remove();
+ virtual void set(::java::lang::Object *);
+ virtual void add(::java::lang::Object *);
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index;
+ jint listIndex;
+ ::gnu::java::awt::AWTUtilities$VisibleComponentList * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_AWTUtilities$VisibleComponentList$VisibleComponentIterator__
diff --git a/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList.h b/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList.h
new file mode 100644
index 000000000..53a5eb340
--- /dev/null
+++ b/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_AWTUtilities$VisibleComponentList__
+#define __gnu_java_awt_AWTUtilities$VisibleComponentList__
+
+#pragma interface
+
+#include <java/util/AbstractSequentialList.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTUtilities$VisibleComponentList;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ }
+ }
+}
+
+class gnu::java::awt::AWTUtilities$VisibleComponentList : public ::java::util::AbstractSequentialList
+{
+
+public: // actually package-private
+ AWTUtilities$VisibleComponentList(JArray< ::java::awt::Component * > *);
+public:
+ virtual ::java::util::ListIterator * listIterator(jint);
+ virtual jint size();
+public: // actually package-private
+ JArray< ::java::awt::Component * > * __attribute__((aligned(__alignof__( ::java::util::AbstractSequentialList)))) components;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_AWTUtilities$VisibleComponentList__
diff --git a/libjava/gnu/java/awt/AWTUtilities.h b/libjava/gnu/java/awt/AWTUtilities.h
new file mode 100644
index 000000000..70b5111cd
--- /dev/null
+++ b/libjava/gnu/java/awt/AWTUtilities.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_AWTUtilities__
+#define __gnu_java_awt_AWTUtilities__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTUtilities;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ class Container;
+ class Font;
+ class FontMetrics;
+ class Insets;
+ class Point;
+ class Rectangle;
+ class Window;
+ namespace event
+ {
+ class MouseEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::AWTUtilities : public ::java::lang::Object
+{
+
+public:
+ AWTUtilities();
+ static ::java::util::List * getVisibleChildren(::java::awt::Container *);
+ static ::java::awt::Rectangle * calculateInsetArea(::java::awt::Rectangle *, ::java::awt::Insets *, ::java::awt::Rectangle *);
+ static ::java::awt::Rectangle * getLocalBounds(::java::awt::Component *);
+ static ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ static ::java::awt::Container * getAncestorNamed(::java::lang::String *, ::java::awt::Component *);
+ static ::java::awt::Container * getAncestorOfClass(::java::lang::Class *, ::java::awt::Component *);
+ static ::java::awt::Window * windowForComponent(::java::awt::Component *);
+ static ::java::awt::Component * getRoot(::java::awt::Component *);
+ static jboolean isDescendingFrom(::java::awt::Component *, ::java::awt::Component *);
+ static ::java::awt::Component * getDeepestComponentAt(::java::awt::Component *, jint, jint);
+ static void convertPointToScreen(::java::awt::Point *, ::java::awt::Component *);
+ static void convertPointFromScreen(::java::awt::Point *, ::java::awt::Component *);
+ static ::java::awt::Point * convertPoint(::java::awt::Component *, jint, jint, ::java::awt::Component *);
+ static ::java::awt::Rectangle * convertRectangle(::java::awt::Component *, ::java::awt::Rectangle *, ::java::awt::Component *);
+ static ::java::awt::event::MouseEvent * convertMouseEvent(::java::awt::Component *, ::java::awt::event::MouseEvent *, ::java::awt::Component *);
+ static void invokeLater(::java::lang::Runnable *);
+ static void invokeAndWait(::java::lang::Runnable *);
+ static jboolean isEventDispatchThread();
+ static jboolean isValidKey(jint);
+public: // actually package-private
+ static ::java::util::WeakHashMap * visibleChildrenCache;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_AWTUtilities__
diff --git a/libjava/gnu/java/awt/BitMaskExtent.h b/libjava/gnu/java/awt/BitMaskExtent.h
new file mode 100644
index 000000000..5d3fd6372
--- /dev/null
+++ b/libjava/gnu/java/awt/BitMaskExtent.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_BitMaskExtent__
+#define __gnu_java_awt_BitMaskExtent__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class BitMaskExtent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::BitMaskExtent : public ::java::lang::Object
+{
+
+public:
+ BitMaskExtent();
+ void setMask(jlong);
+ jlong toMask();
+ jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) leastSignificantBit;
+ jbyte bitWidth;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_BitMaskExtent__
diff --git a/libjava/gnu/java/awt/BitwiseXORComposite$GeneralContext.h b/libjava/gnu/java/awt/BitwiseXORComposite$GeneralContext.h
new file mode 100644
index 000000000..d67d1409d
--- /dev/null
+++ b/libjava/gnu/java/awt/BitwiseXORComposite$GeneralContext.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_BitwiseXORComposite$GeneralContext__
+#define __gnu_java_awt_BitwiseXORComposite$GeneralContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class BitwiseXORComposite$GeneralContext;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ namespace image
+ {
+ class ColorModel;
+ class Raster;
+ class WritableRaster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::BitwiseXORComposite$GeneralContext : public ::java::lang::Object
+{
+
+public:
+ BitwiseXORComposite$GeneralContext(::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *, ::java::awt::Color *);
+ virtual void compose(::java::awt::image::Raster *, ::java::awt::image::Raster *, ::java::awt::image::WritableRaster *);
+ virtual void dispose();
+public: // actually package-private
+ ::java::awt::image::ColorModel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) srcColorModel;
+ ::java::awt::image::ColorModel * dstColorModel;
+ ::java::awt::Color * xorColor;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_BitwiseXORComposite$GeneralContext__
diff --git a/libjava/gnu/java/awt/BitwiseXORComposite$IntContext.h b/libjava/gnu/java/awt/BitwiseXORComposite$IntContext.h
new file mode 100644
index 000000000..25d67e74a
--- /dev/null
+++ b/libjava/gnu/java/awt/BitwiseXORComposite$IntContext.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_BitwiseXORComposite$IntContext__
+#define __gnu_java_awt_BitwiseXORComposite$IntContext__
+
+#pragma interface
+
+#include <gnu/java/awt/BitwiseXORComposite$GeneralContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class BitwiseXORComposite$IntContext;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class RenderingHints;
+ namespace image
+ {
+ class ColorModel;
+ class Raster;
+ class WritableRaster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::BitwiseXORComposite$IntContext : public ::gnu::java::awt::BitwiseXORComposite$GeneralContext
+{
+
+public:
+ BitwiseXORComposite$IntContext(::java::awt::image::ColorModel *, ::java::awt::Color *);
+ virtual void compose(::java::awt::image::Raster *, ::java::awt::image::Raster *, ::java::awt::image::WritableRaster *);
+ static jboolean isSupported(::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *, ::java::awt::RenderingHints *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_BitwiseXORComposite$IntContext__
diff --git a/libjava/gnu/java/awt/BitwiseXORComposite.h b/libjava/gnu/java/awt/BitwiseXORComposite.h
new file mode 100644
index 000000000..2dd89d6e5
--- /dev/null
+++ b/libjava/gnu/java/awt/BitwiseXORComposite.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_BitwiseXORComposite__
+#define __gnu_java_awt_BitwiseXORComposite__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class BitwiseXORComposite;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class CompositeContext;
+ class RenderingHints;
+ namespace image
+ {
+ class ColorModel;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::BitwiseXORComposite : public ::java::lang::Object
+{
+
+public:
+ BitwiseXORComposite(::java::awt::Color *);
+ virtual ::java::awt::CompositeContext * createContext(::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *, ::java::awt::RenderingHints *);
+public: // actually protected
+ ::java::awt::Color * __attribute__((aligned(__alignof__( ::java::lang::Object)))) xorColor;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_BitwiseXORComposite__
diff --git a/libjava/gnu/java/awt/Buffers.h b/libjava/gnu/java/awt/Buffers.h
new file mode 100644
index 000000000..9456b130e
--- /dev/null
+++ b/libjava/gnu/java/awt/Buffers.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_Buffers__
+#define __gnu_java_awt_Buffers__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class Buffers;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class DataBuffer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::Buffers : public ::java::lang::Object
+{
+
+public:
+ Buffers();
+ static ::java::awt::image::DataBuffer * createBuffer(jint, ::java::lang::Object *, jint);
+ static ::java::awt::image::DataBuffer * createBuffer(jint, jint);
+ static ::java::awt::image::DataBuffer * createBuffer(jint, jint, jint);
+ static ::java::awt::image::DataBuffer * createBufferFromData(jint, ::java::lang::Object *, jint);
+ static ::java::lang::Object * getData(::java::awt::image::DataBuffer *);
+ static ::java::lang::Object * getData(::java::awt::image::DataBuffer *, jint, ::java::lang::Object *, jint, jint);
+ static jint smallestAppropriateTransferType(jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_Buffers__
diff --git a/libjava/gnu/java/awt/ClasspathGraphicsEnvironment.h b/libjava/gnu/java/awt/ClasspathGraphicsEnvironment.h
new file mode 100644
index 000000000..4f3c2abf4
--- /dev/null
+++ b/libjava/gnu/java/awt/ClasspathGraphicsEnvironment.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_ClasspathGraphicsEnvironment__
+#define __gnu_java_awt_ClasspathGraphicsEnvironment__
+
+#pragma interface
+
+#include <java/awt/GraphicsEnvironment.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class ClasspathGraphicsEnvironment;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ColorModel;
+ class SampleModel;
+ class WritableRaster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::ClasspathGraphicsEnvironment : public ::java::awt::GraphicsEnvironment
+{
+
+public:
+ ClasspathGraphicsEnvironment();
+ virtual ::java::awt::image::WritableRaster * createRaster(::java::awt::image::ColorModel *, ::java::awt::image::SampleModel *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_ClasspathGraphicsEnvironment__
diff --git a/libjava/gnu/java/awt/ClasspathToolkit.h b/libjava/gnu/java/awt/ClasspathToolkit.h
new file mode 100644
index 000000000..565b92463
--- /dev/null
+++ b/libjava/gnu/java/awt/ClasspathToolkit.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_ClasspathToolkit__
+#define __gnu_java_awt_ClasspathToolkit__
+
+#pragma interface
+
+#include <java/awt/Toolkit.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class ClasspathToolkit;
+ class EmbeddedWindow;
+ namespace peer
+ {
+ class ClasspathFontPeer;
+ class EmbeddedWindowPeer;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Desktop;
+ class Font;
+ class GraphicsDevice;
+ class GraphicsEnvironment;
+ namespace peer
+ {
+ class DesktopPeer;
+ class RobotPeer;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace imageio
+ {
+ namespace spi
+ {
+ class IIORegistry;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::ClasspathToolkit : public ::java::awt::Toolkit
+{
+
+public:
+ ClasspathToolkit();
+ virtual ::java::awt::GraphicsEnvironment * getLocalGraphicsEnvironment() = 0;
+ virtual ::gnu::java::awt::peer::ClasspathFontPeer * getClasspathFontPeer(::java::lang::String *, ::java::util::Map *) = 0;
+ virtual ::java::awt::Font * getFont(::java::lang::String *, ::java::util::Map *);
+ virtual ::java::awt::Font * createFont(jint, ::java::io::InputStream *) = 0;
+ virtual ::java::awt::peer::RobotPeer * createRobot(::java::awt::GraphicsDevice *) = 0;
+ virtual ::gnu::java::awt::peer::EmbeddedWindowPeer * createEmbeddedWindow(::gnu::java::awt::EmbeddedWindow *) = 0;
+ virtual void registerImageIOSpis(::javax::imageio::spi::IIORegistry *);
+ virtual jint getMouseNumberOfButtons();
+public: // actually protected
+ virtual ::java::awt::peer::DesktopPeer * createDesktopPeer(::java::awt::Desktop *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_ClasspathToolkit__
diff --git a/libjava/gnu/java/awt/ComponentDataBlitOp.h b/libjava/gnu/java/awt/ComponentDataBlitOp.h
new file mode 100644
index 000000000..0db1e0579
--- /dev/null
+++ b/libjava/gnu/java/awt/ComponentDataBlitOp.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_ComponentDataBlitOp__
+#define __gnu_java_awt_ComponentDataBlitOp__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class ComponentDataBlitOp;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class RenderingHints;
+ namespace geom
+ {
+ class Point2D;
+ class Rectangle2D;
+ }
+ namespace image
+ {
+ class Raster;
+ class WritableRaster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::ComponentDataBlitOp : public ::java::lang::Object
+{
+
+public:
+ ComponentDataBlitOp();
+ virtual ::java::awt::image::WritableRaster * filter(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *);
+ virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::Raster *);
+ virtual ::java::awt::image::WritableRaster * createCompatibleDestRaster(::java::awt::image::Raster *);
+ virtual ::java::awt::geom::Point2D * getPoint2D(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *);
+ virtual ::java::awt::RenderingHints * getRenderingHints();
+ static ::gnu::java::awt::ComponentDataBlitOp * INSTANCE;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_ComponentDataBlitOp__
diff --git a/libjava/gnu/java/awt/ComponentReshapeEvent.h b/libjava/gnu/java/awt/ComponentReshapeEvent.h
new file mode 100644
index 000000000..bfd6f8309
--- /dev/null
+++ b/libjava/gnu/java/awt/ComponentReshapeEvent.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_ComponentReshapeEvent__
+#define __gnu_java_awt_ComponentReshapeEvent__
+
+#pragma interface
+
+#include <java/awt/AWTEvent.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class ComponentReshapeEvent;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ }
+ }
+}
+
+class gnu::java::awt::ComponentReshapeEvent : public ::java::awt::AWTEvent
+{
+
+public:
+ ComponentReshapeEvent(::java::awt::Component *, jint, jint, jint, jint);
+ jint __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) x;
+ jint y;
+ jint width;
+ jint height;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_ComponentReshapeEvent__
diff --git a/libjava/gnu/java/awt/EmbeddedWindow.h b/libjava/gnu/java/awt/EmbeddedWindow.h
new file mode 100644
index 000000000..5a251bfd3
--- /dev/null
+++ b/libjava/gnu/java/awt/EmbeddedWindow.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_EmbeddedWindow__
+#define __gnu_java_awt_EmbeddedWindow__
+
+#pragma interface
+
+#include <java/awt/Frame.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class EmbeddedWindow;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::EmbeddedWindow : public ::java::awt::Frame
+{
+
+public:
+ EmbeddedWindow();
+ EmbeddedWindow(jlong);
+ virtual void addNotify();
+ virtual void setHandle(jlong);
+ virtual jlong getHandle();
+private:
+ jlong __attribute__((aligned(__alignof__( ::java::awt::Frame)))) handle;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_EmbeddedWindow__
diff --git a/libjava/gnu/java/awt/EventModifier.h b/libjava/gnu/java/awt/EventModifier.h
new file mode 100644
index 000000000..b6c21935f
--- /dev/null
+++ b/libjava/gnu/java/awt/EventModifier.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_EventModifier__
+#define __gnu_java_awt_EventModifier__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class EventModifier;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::EventModifier : public ::java::lang::Object
+{
+
+ EventModifier();
+public:
+ static jint extend(jint);
+ static jint revert(jint);
+ static const jint OLD_MASK = 63;
+ static const jint NEW_MASK = 16320;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_EventModifier__
diff --git a/libjava/gnu/java/awt/GradientPaintContext.h b/libjava/gnu/java/awt/GradientPaintContext.h
new file mode 100644
index 000000000..a3aacbb6a
--- /dev/null
+++ b/libjava/gnu/java/awt/GradientPaintContext.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_GradientPaintContext__
+#define __gnu_java_awt_GradientPaintContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class GradientPaintContext;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ namespace image
+ {
+ class ColorModel;
+ class Raster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::GradientPaintContext : public ::java::lang::Object
+{
+
+public:
+ GradientPaintContext(jfloat, jfloat, ::java::awt::Color *, jfloat, jfloat, ::java::awt::Color *, jboolean);
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual ::java::awt::image::Raster * getRaster(jint, jint, jint, jint);
+ virtual void dispose();
+private:
+ jfloat __attribute__((aligned(__alignof__( ::java::lang::Object)))) x1;
+ jfloat y1;
+ ::java::awt::Color * c1;
+ jfloat x2;
+ jfloat y2;
+ ::java::awt::Color * c2;
+ jboolean cyclic;
+ jdouble length;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_GradientPaintContext__
diff --git a/libjava/gnu/java/awt/LowPriorityEvent.h b/libjava/gnu/java/awt/LowPriorityEvent.h
new file mode 100644
index 000000000..edec5345d
--- /dev/null
+++ b/libjava/gnu/java/awt/LowPriorityEvent.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_LowPriorityEvent__
+#define __gnu_java_awt_LowPriorityEvent__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class LowPriorityEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::LowPriorityEvent : public ::java::lang::Object
+{
+
+public:
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_awt_LowPriorityEvent__
diff --git a/libjava/gnu/java/awt/color/CieXyzConverter.h b/libjava/gnu/java/awt/color/CieXyzConverter.h
new file mode 100644
index 000000000..95419637f
--- /dev/null
+++ b/libjava/gnu/java/awt/color/CieXyzConverter.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_CieXyzConverter__
+#define __gnu_java_awt_color_CieXyzConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class CieXyzConverter;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::CieXyzConverter : public ::java::lang::Object
+{
+
+public:
+ CieXyzConverter();
+ virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * toRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromRGB(JArray< jfloat > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_CieXyzConverter__
diff --git a/libjava/gnu/java/awt/color/ClutProfileConverter.h b/libjava/gnu/java/awt/color/ClutProfileConverter.h
new file mode 100644
index 000000000..0b8ba5c8e
--- /dev/null
+++ b/libjava/gnu/java/awt/color/ClutProfileConverter.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_ClutProfileConverter__
+#define __gnu_java_awt_color_ClutProfileConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ClutProfileConverter;
+ class ColorLookUpTable;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ICC_Profile;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::ClutProfileConverter : public ::java::lang::Object
+{
+
+public:
+ ClutProfileConverter(::java::awt::color::ICC_Profile *);
+ virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * toRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromRGB(JArray< jfloat > *);
+private:
+ ::gnu::java::awt::color::ColorLookUpTable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) toPCS;
+ ::gnu::java::awt::color::ColorLookUpTable * fromPCS;
+ jint nChannels;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_ClutProfileConverter__
diff --git a/libjava/gnu/java/awt/color/ColorLookUpTable.h b/libjava/gnu/java/awt/color/ColorLookUpTable.h
new file mode 100644
index 000000000..b61fc84f5
--- /dev/null
+++ b/libjava/gnu/java/awt/color/ColorLookUpTable.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_ColorLookUpTable__
+#define __gnu_java_awt_color_ColorLookUpTable__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ColorLookUpTable;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ICC_Profile;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::ColorLookUpTable : public ::java::lang::Object
+{
+
+public:
+ ColorLookUpTable(::java::awt::color::ICC_Profile *, jint);
+private:
+ void readClut16(JArray< jbyte > *);
+ void readClut8(JArray< jbyte > *);
+public: // actually package-private
+ virtual JArray< jfloat > * lookup(JArray< jfloat > *);
+private:
+ JArray< jfloat > * LabtoXYZ(JArray< jfloat > *);
+ JArray< jfloat > * XYZtoLab(JArray< jfloat > *);
+ static JArray< jfloat > * D50;
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nIn;
+ jint nOut;
+ jint nInTableEntries;
+ jint nOutTableEntries;
+ jint gridpoints;
+ jint nClut;
+ JArray< JArray< jdouble > * > * inTable;
+ JArray< JArray< jshort > * > * outTable;
+ JArray< jdouble > * clut;
+ JArray< JArray< jfloat > * > * inMatrix;
+ jboolean useMatrix;
+ JArray< jint > * multiplier;
+ JArray< jint > * offsets;
+ jboolean inputLab;
+ jboolean outputLab;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_ColorLookUpTable__
diff --git a/libjava/gnu/java/awt/color/ColorSpaceConverter.h b/libjava/gnu/java/awt/color/ColorSpaceConverter.h
new file mode 100644
index 000000000..cc3b19ff4
--- /dev/null
+++ b/libjava/gnu/java/awt/color/ColorSpaceConverter.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_ColorSpaceConverter__
+#define __gnu_java_awt_color_ColorSpaceConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ColorSpaceConverter;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::ColorSpaceConverter : public ::java::lang::Object
+{
+
+public:
+ virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *) = 0;
+ virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *) = 0;
+ virtual JArray< jfloat > * toRGB(JArray< jfloat > *) = 0;
+ virtual JArray< jfloat > * fromRGB(JArray< jfloat > *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_awt_color_ColorSpaceConverter__
diff --git a/libjava/gnu/java/awt/color/GrayProfileConverter.h b/libjava/gnu/java/awt/color/GrayProfileConverter.h
new file mode 100644
index 000000000..b79d2b743
--- /dev/null
+++ b/libjava/gnu/java/awt/color/GrayProfileConverter.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_GrayProfileConverter__
+#define __gnu_java_awt_color_GrayProfileConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ColorLookUpTable;
+ class GrayProfileConverter;
+ class GrayScaleConverter;
+ class ToneReproductionCurve;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ICC_ProfileGray;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::GrayProfileConverter : public ::java::lang::Object
+{
+
+public:
+ GrayProfileConverter(::java::awt::color::ICC_ProfileGray *);
+ virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * toRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *);
+private:
+ ::gnu::java::awt::color::GrayScaleConverter * __attribute__((aligned(__alignof__( ::java::lang::Object)))) gc;
+ ::gnu::java::awt::color::ToneReproductionCurve * trc;
+ ::gnu::java::awt::color::ColorLookUpTable * toPCS;
+ ::gnu::java::awt::color::ColorLookUpTable * fromPCS;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_GrayProfileConverter__
diff --git a/libjava/gnu/java/awt/color/GrayScaleConverter.h b/libjava/gnu/java/awt/color/GrayScaleConverter.h
new file mode 100644
index 000000000..bcd8d2606
--- /dev/null
+++ b/libjava/gnu/java/awt/color/GrayScaleConverter.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_GrayScaleConverter__
+#define __gnu_java_awt_color_GrayScaleConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class GrayScaleConverter;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::GrayScaleConverter : public ::java::lang::Object
+{
+
+public:
+ GrayScaleConverter();
+ virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * toRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromRGB(JArray< jfloat > *);
+public: // actually package-private
+ JArray< jdouble > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) coeff;
+private:
+ static JArray< jfloat > * D50;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_GrayScaleConverter__
diff --git a/libjava/gnu/java/awt/color/LinearRGBConverter.h b/libjava/gnu/java/awt/color/LinearRGBConverter.h
new file mode 100644
index 000000000..bff63b791
--- /dev/null
+++ b/libjava/gnu/java/awt/color/LinearRGBConverter.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_LinearRGBConverter__
+#define __gnu_java_awt_color_LinearRGBConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class LinearRGBConverter;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::LinearRGBConverter : public ::java::lang::Object
+{
+
+public:
+ LinearRGBConverter();
+ virtual JArray< jfloat > * toRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_LinearRGBConverter__
diff --git a/libjava/gnu/java/awt/color/ProfileHeader.h b/libjava/gnu/java/awt/color/ProfileHeader.h
new file mode 100644
index 000000000..744dc7829
--- /dev/null
+++ b/libjava/gnu/java/awt/color/ProfileHeader.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_ProfileHeader__
+#define __gnu_java_awt_color_ProfileHeader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ProfileHeader;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::ProfileHeader : public ::java::lang::Object
+{
+
+public:
+ ProfileHeader();
+ ProfileHeader(JArray< jbyte > *);
+ virtual void verifyHeader(jint);
+ virtual JArray< jbyte > * getData(jint);
+ virtual jint getSize();
+ virtual void setSize(jint);
+ virtual jint getMajorVersion();
+ virtual jint getMinorVersion();
+ virtual jint getProfileClass();
+ virtual void setProfileClass(jint);
+ virtual jint getColorSpace();
+ virtual jint getProfileColorSpace();
+ virtual void setColorSpace(jint);
+ virtual void setProfileColorSpace(jint);
+private:
+ static const jint icMagicNumber = 1633907568;
+ static JArray< jint > * csTypeMap;
+public:
+ static const jint HEADERSIZE = 128;
+private:
+ static JArray< jint > * classMap;
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) size;
+ jint cmmId;
+ jint majorVersion;
+ jint minorVersion;
+ jint profileClass;
+ jint colorSpace;
+ jint profileColorSpace;
+ JArray< jbyte > * timestamp;
+ jint platform;
+ jint flags;
+ jint magic;
+ jint manufacturerSig;
+ jint modelSig;
+ JArray< jbyte > * attributes;
+ jint intent;
+ JArray< jbyte > * illuminant;
+ jint creatorSig;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_ProfileHeader__
diff --git a/libjava/gnu/java/awt/color/PyccConverter.h b/libjava/gnu/java/awt/color/PyccConverter.h
new file mode 100644
index 000000000..ef9caebca
--- /dev/null
+++ b/libjava/gnu/java/awt/color/PyccConverter.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_PyccConverter__
+#define __gnu_java_awt_color_PyccConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class PyccConverter;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::PyccConverter : public ::java::lang::Object
+{
+
+public:
+ PyccConverter();
+ virtual JArray< jfloat > * toRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_PyccConverter__
diff --git a/libjava/gnu/java/awt/color/RgbProfileConverter.h b/libjava/gnu/java/awt/color/RgbProfileConverter.h
new file mode 100644
index 000000000..2998894b1
--- /dev/null
+++ b/libjava/gnu/java/awt/color/RgbProfileConverter.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_RgbProfileConverter__
+#define __gnu_java_awt_color_RgbProfileConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ColorLookUpTable;
+ class RgbProfileConverter;
+ class ToneReproductionCurve;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ICC_ProfileRGB;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::RgbProfileConverter : public ::java::lang::Object
+{
+
+public:
+ RgbProfileConverter(::java::awt::color::ICC_ProfileRGB *);
+ virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * toRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromRGB(JArray< jfloat > *);
+private:
+ JArray< JArray< jfloat > * > * invertMatrix(JArray< JArray< jfloat > * > *);
+ JArray< JArray< jfloat > * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) matrix;
+ JArray< JArray< jfloat > * > * inv_matrix;
+ ::gnu::java::awt::color::ToneReproductionCurve * rTRC;
+ ::gnu::java::awt::color::ToneReproductionCurve * gTRC;
+ ::gnu::java::awt::color::ToneReproductionCurve * bTRC;
+ ::gnu::java::awt::color::ColorLookUpTable * toPCS;
+ ::gnu::java::awt::color::ColorLookUpTable * fromPCS;
+ static JArray< jfloat > * D50;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_RgbProfileConverter__
diff --git a/libjava/gnu/java/awt/color/SrgbConverter.h b/libjava/gnu/java/awt/color/SrgbConverter.h
new file mode 100644
index 000000000..2debe6804
--- /dev/null
+++ b/libjava/gnu/java/awt/color/SrgbConverter.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_SrgbConverter__
+#define __gnu_java_awt_color_SrgbConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class SrgbConverter;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::SrgbConverter : public ::java::lang::Object
+{
+
+public:
+ SrgbConverter();
+ virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *);
+ virtual JArray< jfloat > * toRGB(JArray< jfloat > *);
+ virtual JArray< jfloat > * fromRGB(JArray< jfloat > *);
+ static JArray< jfloat > * XYZtoRGB(JArray< jfloat > *);
+ static JArray< jfloat > * RGBtoXYZ(JArray< jfloat > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_SrgbConverter__
diff --git a/libjava/gnu/java/awt/color/TagEntry.h b/libjava/gnu/java/awt/color/TagEntry.h
new file mode 100644
index 000000000..a464b32e6
--- /dev/null
+++ b/libjava/gnu/java/awt/color/TagEntry.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_TagEntry__
+#define __gnu_java_awt_color_TagEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class TagEntry;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::TagEntry : public ::java::lang::Object
+{
+
+public:
+ TagEntry(jint, jint, jint, JArray< jbyte > *);
+ TagEntry(jint, JArray< jbyte > *);
+ virtual JArray< jbyte > * getData();
+ virtual ::java::lang::String * hashKey();
+ virtual ::java::lang::String * toString();
+ virtual jint getSignature();
+ virtual jint getSize();
+ virtual jint getOffset();
+ virtual void setOffset(jint);
+ static ::java::lang::String * tagHashKey(jint);
+ static const jint entrySize = 12;
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) signature;
+ jint size;
+ jint offset;
+ JArray< jbyte > * data;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_TagEntry__
diff --git a/libjava/gnu/java/awt/color/ToneReproductionCurve.h b/libjava/gnu/java/awt/color/ToneReproductionCurve.h
new file mode 100644
index 000000000..7c0edecb4
--- /dev/null
+++ b/libjava/gnu/java/awt/color/ToneReproductionCurve.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_color_ToneReproductionCurve__
+#define __gnu_java_awt_color_ToneReproductionCurve__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace color
+ {
+ class ToneReproductionCurve;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::color::ToneReproductionCurve : public ::java::lang::Object
+{
+
+public:
+ ToneReproductionCurve(jfloat);
+ ToneReproductionCurve(JArray< jfloat > *);
+ ToneReproductionCurve(JArray< jshort > *);
+ virtual jfloat lookup(jfloat);
+ virtual jfloat reverseLookup(jfloat);
+ virtual void setupReverseTrc();
+private:
+ JArray< jfloat > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) trc;
+ jfloat gamma;
+ JArray< jfloat > * reverseTrc;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_color_ToneReproductionCurve__
diff --git a/libjava/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.h b/libjava/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.h
new file mode 100644
index 000000000..13cf4aace
--- /dev/null
+++ b/libjava/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_dnd_GtkMouseDragGestureRecognizer__
+#define __gnu_java_awt_dnd_GtkMouseDragGestureRecognizer__
+
+#pragma interface
+
+#include <java/awt/dnd/MouseDragGestureRecognizer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace dnd
+ {
+ class GtkMouseDragGestureRecognizer;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ namespace dnd
+ {
+ class DragGestureListener;
+ class DragSource;
+ }
+ namespace event
+ {
+ class MouseEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::dnd::GtkMouseDragGestureRecognizer : public ::java::awt::dnd::MouseDragGestureRecognizer
+{
+
+public:
+ GtkMouseDragGestureRecognizer(::java::awt::dnd::DragSource *);
+ GtkMouseDragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *);
+ GtkMouseDragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *, jint);
+ GtkMouseDragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *, jint, ::java::awt::dnd::DragGestureListener *);
+ virtual void registerListeners();
+ virtual void unregisterListeners();
+ virtual void mouseClicked(::java::awt::event::MouseEvent *);
+ virtual void mousePressed(::java::awt::event::MouseEvent *);
+ virtual void mouseReleased(::java::awt::event::MouseEvent *);
+ virtual void mouseEntered(::java::awt::event::MouseEvent *);
+ virtual void mouseExited(::java::awt::event::MouseEvent *);
+ virtual void mouseDragged(::java::awt::event::MouseEvent *);
+ virtual void mouseMoved(::java::awt::event::MouseEvent *);
+private:
+ jint getDropActionFromEvent(::java::awt::event::MouseEvent *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_dnd_GtkMouseDragGestureRecognizer__
diff --git a/libjava/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.h b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.h
new file mode 100644
index 000000000..a53f91664
--- /dev/null
+++ b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.h
@@ -0,0 +1,86 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer__
+#define __gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkGenericPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace dnd
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkDragSourceContextPeer;
+ class GtkDropTargetContextPeer;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ class Cursor;
+ class Image;
+ class Point;
+ namespace dnd
+ {
+ class DragGestureEvent;
+ class DragSourceContext;
+ }
+ namespace peer
+ {
+ class ComponentPeer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::dnd::peer::gtk::GtkDragSourceContextPeer : public ::gnu::java::awt::peer::gtk::GtkGenericPeer
+{
+
+public: // actually package-private
+ virtual void nativeStartDrag(::java::awt::Image *, jint, jint, jint, ::java::lang::String *);
+ virtual void connectSignals(::java::awt::peer::ComponentPeer *);
+ virtual void create(::java::awt::peer::ComponentPeer *);
+ virtual void nativeSetCursor(jint);
+ virtual void setTarget(::gnu::java::awt::dnd::peer::gtk::GtkDropTargetContextPeer *);
+public:
+ GtkDragSourceContextPeer(::java::awt::dnd::DragGestureEvent *);
+public: // actually package-private
+ virtual ::java::awt::peer::ComponentPeer * getComponentPeer(::java::awt::Component *);
+public:
+ virtual void startDrag(::java::awt::dnd::DragSourceContext *, ::java::awt::Cursor *, ::java::awt::Image *, ::java::awt::Point *);
+ virtual ::java::awt::Cursor * getCursor();
+ virtual void setCursor(::java::awt::Cursor *);
+ virtual void transferablesFlavorsChanged();
+ virtual void dragEnter(jint, jint);
+ virtual void dragExit(jint, jint, jint);
+ virtual void dragDropEnd(jint, jboolean, jint, jint);
+ virtual void dragMouseMoved(jint, jint);
+ virtual void dragOver(jint, jint);
+ virtual void dragActionChanged(jint, jint);
+private:
+ ::java::awt::peer::ComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkGenericPeer)))) peer;
+ ::java::awt::Cursor * cursor;
+ ::java::awt::dnd::DragSourceContext * context;
+public:
+ static ::java::awt::Component * target;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer__
diff --git a/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.h b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.h
new file mode 100644
index 000000000..2ddfeb536
--- /dev/null
+++ b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_dnd_peer_gtk_GtkDropTargetContextPeer__
+#define __gnu_java_awt_dnd_peer_gtk_GtkDropTargetContextPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkGenericPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace dnd
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkDropTargetContextPeer;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace datatransfer
+ {
+ class DataFlavor;
+ class Transferable;
+ }
+ namespace dnd
+ {
+ class DropTarget;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::dnd::peer::gtk::GtkDropTargetContextPeer : public ::gnu::java::awt::peer::gtk::GtkGenericPeer
+{
+
+public:
+ GtkDropTargetContextPeer(::java::lang::Object *);
+ virtual void setTargetActions(jint);
+ virtual jint getTargetActions();
+ virtual ::java::awt::dnd::DropTarget * getDropTarget();
+ virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors();
+ virtual ::java::awt::datatransfer::Transferable * getTransferable();
+ virtual jboolean isTransferableJVMLocal();
+ virtual void acceptDrag(jint);
+ virtual void rejectDrag();
+ virtual void acceptDrop(jint);
+ virtual void rejectDrop();
+ virtual void dropComplete(jboolean);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_dnd_peer_gtk_GtkDropTargetContextPeer__
diff --git a/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.h b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.h
new file mode 100644
index 000000000..a5797f252
--- /dev/null
+++ b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_dnd_peer_gtk_GtkDropTargetPeer__
+#define __gnu_java_awt_dnd_peer_gtk_GtkDropTargetPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkGenericPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace dnd
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkDropTargetPeer;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace dnd
+ {
+ class DropTarget;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::dnd::peer::gtk::GtkDropTargetPeer : public ::gnu::java::awt::peer::gtk::GtkGenericPeer
+{
+
+public:
+ GtkDropTargetPeer();
+ virtual void addDropTarget(::java::awt::dnd::DropTarget *);
+ virtual void removeDropTarget(::java::awt::dnd::DropTarget *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_dnd_peer_gtk_GtkDropTargetPeer__
diff --git a/libjava/gnu/java/awt/font/FontDelegate.h b/libjava/gnu/java/awt/font/FontDelegate.h
new file mode 100644
index 000000000..add915545
--- /dev/null
+++ b/libjava/gnu/java/awt/font/FontDelegate.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_FontDelegate__
+#define __gnu_java_awt_font_FontDelegate__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ class FontDelegate;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class GeneralPath;
+ class Point2D;
+ }
+ }
+ namespace text
+ {
+ class CharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::font::FontDelegate : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::String * getFullName(::java::util::Locale *) = 0;
+ virtual ::java::lang::String * getFamilyName(::java::util::Locale *) = 0;
+ virtual ::java::lang::String * getSubFamilyName(::java::util::Locale *) = 0;
+ virtual ::java::lang::String * getPostScriptName() = 0;
+ virtual jint getNumGlyphs() = 0;
+ virtual jint getGlyphIndex(jint) = 0;
+ virtual jint getMissingGlyphCode() = 0;
+ virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *) = 0;
+ virtual void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *) = 0;
+ virtual ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jint) = 0;
+ virtual ::java::lang::String * getGlyphName(jint) = 0;
+ virtual jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0;
+ virtual jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0;
+ static const jint FLAG_FITTED = 1;
+ static const jint FLAG_NO_HINT_HORIZONTAL = 2;
+ static const jint FLAG_NO_HINT_VERTICAL = 4;
+ static const jint FLAG_NO_HINT_EDGE_POINTS = 8;
+ static const jint FLAG_NO_HINT_STRONG_POINTS = 16;
+ static const jint FLAG_NO_HINT_WEAK_POINTS = 32;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_awt_font_FontDelegate__
diff --git a/libjava/gnu/java/awt/font/FontFactory.h b/libjava/gnu/java/awt/font/FontFactory.h
new file mode 100644
index 000000000..660ca2209
--- /dev/null
+++ b/libjava/gnu/java/awt/font/FontFactory.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_FontFactory__
+#define __gnu_java_awt_font_FontFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ class FontDelegate;
+ class FontFactory;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::FontFactory : public ::java::lang::Object
+{
+
+ FontFactory();
+public:
+ static JArray< ::gnu::java::awt::font::FontDelegate * > * createFonts(::java::nio::ByteBuffer *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_FontFactory__
diff --git a/libjava/gnu/java/awt/font/GNUGlyphVector.h b/libjava/gnu/java/awt/font/GNUGlyphVector.h
new file mode 100644
index 000000000..a3f54bf8e
--- /dev/null
+++ b/libjava/gnu/java/awt/font/GNUGlyphVector.h
@@ -0,0 +1,101 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_GNUGlyphVector__
+#define __gnu_java_awt_font_GNUGlyphVector__
+
+#pragma interface
+
+#include <java/awt/font/GlyphVector.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ class FontDelegate;
+ class GNUGlyphVector;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class Shape;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphJustificationInfo;
+ class GlyphMetrics;
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class Point2D;
+ class Rectangle2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::GNUGlyphVector : public ::java::awt::font::GlyphVector
+{
+
+public:
+ GNUGlyphVector(::gnu::java::awt::font::FontDelegate *, ::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jint > *);
+ virtual ::java::awt::Font * getFont();
+ virtual ::java::awt::font::FontRenderContext * getFontRenderContext();
+ virtual void performDefaultLayout();
+ virtual jint getNumGlyphs();
+ virtual jint getGlyphCode(jint);
+ virtual JArray< jint > * getGlyphCodes(jint, jint, JArray< jint > *);
+ virtual ::java::awt::geom::Rectangle2D * getLogicalBounds();
+ virtual ::java::awt::geom::Rectangle2D * getVisualBounds();
+ virtual ::java::awt::Shape * getOutline();
+ virtual ::java::awt::Shape * getOutline(jfloat, jfloat);
+ virtual ::java::awt::Shape * getOutline(jfloat, jfloat, jint);
+ virtual ::java::awt::Shape * getGlyphOutline(jint);
+ virtual ::java::awt::Shape * getGlyphOutline(jint, jint);
+ virtual ::java::awt::geom::Point2D * getGlyphPosition(jint);
+ virtual void setGlyphPosition(jint, ::java::awt::geom::Point2D *);
+ virtual ::java::awt::geom::AffineTransform * getGlyphTransform(jint);
+ virtual void setGlyphTransform(jint, ::java::awt::geom::AffineTransform *);
+ virtual jint getLayoutFlags();
+ virtual JArray< jfloat > * getGlyphPositions(jint, jint, JArray< jfloat > *);
+private:
+ jfloat getAscent();
+ jfloat getDescent();
+public:
+ virtual ::java::awt::Shape * getGlyphLogicalBounds(jint);
+ virtual ::java::awt::Shape * getGlyphVisualBounds(jint);
+ virtual ::java::awt::font::GlyphMetrics * getGlyphMetrics(jint);
+ virtual ::java::awt::font::GlyphJustificationInfo * getGlyphJustificationInfo(jint);
+ virtual jboolean equals(::java::awt::font::GlyphVector *);
+private:
+ void validate();
+ ::gnu::java::awt::font::FontDelegate * __attribute__((aligned(__alignof__( ::java::awt::font::GlyphVector)))) fontDelegate;
+ ::java::awt::Font * font;
+ ::java::awt::font::FontRenderContext * renderContext;
+ JArray< jint > * glyphs;
+ jfloat fontSize;
+ ::java::awt::geom::AffineTransform * transform;
+ jboolean valid;
+ JArray< jfloat > * pos;
+ JArray< ::java::awt::geom::AffineTransform * > * transforms;
+ jint layoutFlags;
+ ::java::awt::Shape * cleanOutline;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_GNUGlyphVector__
diff --git a/libjava/gnu/java/awt/font/OpenTypeFontPeer$XFontMetrics.h b/libjava/gnu/java/awt/font/OpenTypeFontPeer$XFontMetrics.h
new file mode 100644
index 000000000..3f0b4d28c
--- /dev/null
+++ b/libjava/gnu/java/awt/font/OpenTypeFontPeer$XFontMetrics.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_OpenTypeFontPeer$XFontMetrics__
+#define __gnu_java_awt_font_OpenTypeFontPeer$XFontMetrics__
+
+#pragma interface
+
+#include <java/awt/FontMetrics.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ class OpenTypeFontPeer;
+ class OpenTypeFontPeer$XFontMetrics;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ namespace geom
+ {
+ class Point2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::OpenTypeFontPeer$XFontMetrics : public ::java::awt::FontMetrics
+{
+
+public: // actually package-private
+ OpenTypeFontPeer$XFontMetrics(::gnu::java::awt::font::OpenTypeFontPeer *, ::java::awt::Font *);
+public:
+ virtual jint getAscent();
+ virtual jint getDescent();
+ virtual jint getHeight();
+ virtual jint charWidth(jchar);
+ virtual jint charsWidth(JArray< jchar > *, jint, jint);
+ virtual jint stringWidth(::java::lang::String *);
+private:
+ ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::java::awt::FontMetrics)))) cachedPoint;
+public: // actually package-private
+ ::gnu::java::awt::font::OpenTypeFontPeer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_OpenTypeFontPeer$XFontMetrics__
diff --git a/libjava/gnu/java/awt/font/OpenTypeFontPeer$XLineMetrics.h b/libjava/gnu/java/awt/font/OpenTypeFontPeer$XLineMetrics.h
new file mode 100644
index 000000000..1fec3c237
--- /dev/null
+++ b/libjava/gnu/java/awt/font/OpenTypeFontPeer$XLineMetrics.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_OpenTypeFontPeer$XLineMetrics__
+#define __gnu_java_awt_font_OpenTypeFontPeer$XLineMetrics__
+
+#pragma interface
+
+#include <java/awt/font/LineMetrics.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ class OpenTypeFontPeer;
+ class OpenTypeFontPeer$XLineMetrics;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphVector;
+ }
+ }
+ namespace text
+ {
+ class CharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::font::OpenTypeFontPeer$XLineMetrics : public ::java::awt::font::LineMetrics
+{
+
+public: // actually package-private
+ OpenTypeFontPeer$XLineMetrics(::gnu::java::awt::font::OpenTypeFontPeer *, ::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *);
+public:
+ virtual jfloat getAscent();
+ virtual jint getBaselineIndex();
+ virtual JArray< jfloat > * getBaselineOffsets();
+ virtual jfloat getDescent();
+ virtual jfloat getHeight();
+ virtual jfloat getLeading();
+ virtual jint getNumChars();
+ virtual jfloat getStrikethroughOffset();
+ virtual jfloat getStrikethroughThickness();
+ virtual jfloat getUnderlineOffset();
+ virtual jfloat getUnderlineThickness();
+private:
+ ::java::awt::Font * __attribute__((aligned(__alignof__( ::java::awt::font::LineMetrics)))) font;
+ ::java::awt::font::GlyphVector * glyphVector;
+ ::java::awt::font::FontRenderContext * fontRenderContext;
+public: // actually package-private
+ ::gnu::java::awt::font::OpenTypeFontPeer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_OpenTypeFontPeer$XLineMetrics__
diff --git a/libjava/gnu/java/awt/font/OpenTypeFontPeer.h b/libjava/gnu/java/awt/font/OpenTypeFontPeer.h
new file mode 100644
index 000000000..6129982b4
--- /dev/null
+++ b/libjava/gnu/java/awt/font/OpenTypeFontPeer.h
@@ -0,0 +1,96 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_OpenTypeFontPeer__
+#define __gnu_java_awt_font_OpenTypeFontPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/ClasspathFontPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ class FontDelegate;
+ class OpenTypeFontPeer;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class FontMetrics;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphVector;
+ class LineMetrics;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class Rectangle2D;
+ }
+ }
+ namespace text
+ {
+ class CharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::font::OpenTypeFontPeer : public ::gnu::java::awt::peer::ClasspathFontPeer
+{
+
+public:
+ OpenTypeFontPeer(::java::lang::String *, jint, jint);
+ OpenTypeFontPeer(::java::lang::String *, ::java::util::Map *);
+ virtual jboolean canDisplay(::java::awt::Font *, jint);
+ virtual jint canDisplayUpTo(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint);
+ virtual ::java::lang::String * getSubFamilyName(::java::awt::Font *, ::java::util::Locale *);
+ virtual ::java::lang::String * getPostScriptName(::java::awt::Font *);
+ virtual jint getNumGlyphs(::java::awt::Font *);
+ virtual jint getMissingGlyphCode(::java::awt::Font *);
+ virtual jbyte getBaselineFor(::java::awt::Font *, jchar);
+ virtual ::java::lang::String * getGlyphName(::java::awt::Font *, jint);
+ virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *);
+ virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jint > *);
+ virtual ::java::awt::font::GlyphVector * layoutGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jchar > *, jint, jint, jint);
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual jboolean hasUniformLineMetrics(::java::awt::Font *);
+ virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *);
+ virtual ::java::awt::geom::Rectangle2D * getMaxCharBounds(::java::awt::Font *, ::java::awt::font::FontRenderContext *);
+ static ::java::lang::String * encodeFont(::java::lang::String *, ::java::util::Map *);
+public: // actually package-private
+ static ::java::lang::String * encodeFont(::java::lang::String *, jint);
+ static ::java::lang::String * validName(::java::lang::String *);
+public:
+ static JArray< ::java::lang::String * > * getAvailableFontFamilyNames(::java::util::Locale *);
+private:
+ static ::java::util::Set * getFontNames();
+ ::java::lang::String * mapFontToFilename(::java::lang::String *);
+public: // actually package-private
+ static ::gnu::java::awt::font::FontDelegate * access$0(::gnu::java::awt::font::OpenTypeFontPeer *);
+ static ::java::awt::geom::AffineTransform * access$1();
+private:
+ static ::java::util::Properties * fontProperties;
+ static ::java::util::Set * availableFontNames;
+ static ::java::util::Map * fontToFileMap;
+ static ::java::awt::geom::AffineTransform * IDENDITY;
+ ::gnu::java::awt::font::FontDelegate * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::ClasspathFontPeer)))) fontDelegate;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_OpenTypeFontPeer__
diff --git a/libjava/gnu/java/awt/font/autofit/AutoHinter.h b/libjava/gnu/java/awt/font/autofit/AutoHinter.h
new file mode 100644
index 000000000..e11a394aa
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/AutoHinter.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_AutoHinter__
+#define __gnu_java_awt_font_autofit_AutoHinter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class AutoHinter;
+ class GlyphHints;
+ class HintScaler;
+ class Latin;
+ class LatinMetrics;
+ }
+ namespace opentype
+ {
+ class OpenTypeFont;
+ namespace truetype
+ {
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::AutoHinter : public ::java::lang::Object
+{
+
+public:
+ AutoHinter();
+ virtual void init(::gnu::java::awt::font::opentype::OpenTypeFont *);
+ virtual void applyHints(::gnu::java::awt::font::opentype::truetype::Zone *);
+ virtual void setFlags(jint);
+public: // actually package-private
+ ::gnu::java::awt::font::autofit::Latin * __attribute__((aligned(__alignof__( ::java::lang::Object)))) latinScript;
+ ::gnu::java::awt::font::autofit::LatinMetrics * metrics;
+ ::gnu::java::awt::font::autofit::GlyphHints * hints;
+ ::gnu::java::awt::font::autofit::HintScaler * scaler;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_AutoHinter__
diff --git a/libjava/gnu/java/awt/font/autofit/AxisHints.h b/libjava/gnu/java/awt/font/autofit/AxisHints.h
new file mode 100644
index 000000000..0d8b7eac1
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/AxisHints.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_AxisHints__
+#define __gnu_java_awt_font_autofit_AxisHints__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class AxisHints;
+ class Edge;
+ class Segment;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::AxisHints : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AxisHints();
+ virtual ::gnu::java::awt::font::autofit::Segment * newSegment();
+public:
+ virtual ::gnu::java::awt::font::autofit::Edge * newEdge(jint);
+public: // actually package-private
+ virtual jint getEdgeIndex(::gnu::java::awt::font::autofit::Edge *);
+ JArray< ::gnu::java::awt::font::autofit::Segment * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) segments;
+ jint majorDir;
+ jint numSegments;
+ jint numEdges;
+ JArray< ::gnu::java::awt::font::autofit::Edge * > * edges;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_AxisHints__
diff --git a/libjava/gnu/java/awt/font/autofit/Constants.h b/libjava/gnu/java/awt/font/autofit/Constants.h
new file mode 100644
index 000000000..60932a91d
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/Constants.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_Constants__
+#define __gnu_java_awt_font_autofit_Constants__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class Constants;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::Constants : public ::java::lang::Object
+{
+
+public:
+ static const jint DIMENSION_HORZ = 0;
+ static const jint DIMENSION_VERT = 1;
+ static const jint DIMENSION_MAX = 2;
+ static const jint DIR_NONE = 0;
+ static const jint DIR_RIGHT = 1;
+ static const jint DIR_LEFT = -1;
+ static const jint DIR_UP = 2;
+ static const jint DIR_DOWN = -2;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_awt_font_autofit_Constants__
diff --git a/libjava/gnu/java/awt/font/autofit/Edge.h b/libjava/gnu/java/awt/font/autofit/Edge.h
new file mode 100644
index 000000000..f456c3618
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/Edge.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_Edge__
+#define __gnu_java_awt_font_autofit_Edge__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class Edge;
+ class Segment;
+ class Width;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::Edge : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Edge();
+public:
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) fpos;
+ ::gnu::java::awt::font::autofit::Segment * first;
+ ::gnu::java::awt::font::autofit::Segment * last;
+ jint opos;
+ ::gnu::java::awt::font::autofit::Edge * link;
+ ::gnu::java::awt::font::autofit::Edge * serif;
+ jint flags;
+ jint dir;
+ ::gnu::java::awt::font::autofit::Width * blueEdge;
+ jint pos;
+ jint scale;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_Edge__
diff --git a/libjava/gnu/java/awt/font/autofit/GlyphHints.h b/libjava/gnu/java/awt/font/autofit/GlyphHints.h
new file mode 100644
index 000000000..27ce96390
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/GlyphHints.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_GlyphHints__
+#define __gnu_java_awt_font_autofit_GlyphHints__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class AxisHints;
+ class GlyphHints;
+ class ScriptMetrics;
+ }
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class Point;
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::GlyphHints : public ::java::lang::Object
+{
+
+public: // actually package-private
+ GlyphHints();
+ virtual void rescale(::gnu::java::awt::font::autofit::ScriptMetrics *);
+ virtual void reload(::gnu::java::awt::font::opentype::truetype::Zone *);
+private:
+ void setWeakPoint(::gnu::java::awt::font::opentype::truetype::Point *);
+ void computeInflectionPoints();
+public: // actually package-private
+ virtual jboolean doHorizontal();
+ virtual jboolean doVertical();
+ virtual void alignWeakPoints(jint);
+private:
+ void iupShift(jint, jint, jint);
+ void iupInterp(jint, jint, jint, jint);
+public: // actually package-private
+ virtual void alignStrongPoints(jint);
+private:
+ void storePoint(::gnu::java::awt::font::opentype::truetype::Point *, jint, jint, jshort);
+public: // actually package-private
+ virtual void alignEdgePoints(jint);
+private:
+ jint getPointIndex(::gnu::java::awt::font::opentype::truetype::Point *);
+public:
+ virtual jboolean doAlignEdgePoints();
+ virtual jboolean doAlignStrongPoints();
+ virtual jboolean doAlignWeakPoints();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xScale;
+ jint xDelta;
+ jint yScale;
+ jint yDelta;
+ JArray< ::gnu::java::awt::font::autofit::AxisHints * > * axis;
+ JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * points;
+ jint numPoints;
+ jint maxPoints;
+ JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * contours;
+ jint numContours;
+ jint maxContours;
+ ::gnu::java::awt::font::autofit::ScriptMetrics * metrics;
+ jint flags;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_GlyphHints__
diff --git a/libjava/gnu/java/awt/font/autofit/HintScaler.h b/libjava/gnu/java/awt/font/autofit/HintScaler.h
new file mode 100644
index 000000000..b494fe451
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/HintScaler.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_HintScaler__
+#define __gnu_java_awt_font_autofit_HintScaler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class HintScaler;
+ }
+ namespace opentype
+ {
+ class OpenTypeFont;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::HintScaler : public ::java::lang::Object
+{
+
+public: // actually package-private
+ HintScaler();
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xScale;
+ jint xDelta;
+ jint yScale;
+ jint yDelta;
+ ::gnu::java::awt::font::opentype::OpenTypeFont * face;
+ jint renderMode;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_HintScaler__
diff --git a/libjava/gnu/java/awt/font/autofit/Latin.h b/libjava/gnu/java/awt/font/autofit/Latin.h
new file mode 100644
index 000000000..7afa24ca8
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/Latin.h
@@ -0,0 +1,113 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_Latin__
+#define __gnu_java_awt_font_autofit_Latin__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class Edge;
+ class GlyphHints;
+ class HintScaler;
+ class Latin;
+ class LatinMetrics;
+ class ScriptMetrics;
+ class Width;
+ }
+ namespace opentype
+ {
+ class OpenTypeFont;
+ namespace truetype
+ {
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::Latin : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Latin();
+public:
+ virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::autofit::ScriptMetrics *);
+private:
+ void hintEdges(::gnu::java::awt::font::autofit::GlyphHints *, jint);
+ void alignSerifEdge(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::Edge *, ::gnu::java::awt::font::autofit::Edge *);
+ jint computeStemWidth(::gnu::java::awt::font::autofit::GlyphHints *, jint, jint, jint, jint);
+ jboolean doMono(::gnu::java::awt::font::autofit::GlyphHints *);
+ jint snapWidth(JArray< ::gnu::java::awt::font::autofit::Width * > *, jint, jint);
+ jint doneWidth(jint, jint);
+ jboolean doVertSnap(::gnu::java::awt::font::autofit::GlyphHints *);
+ jboolean doHorzSnap(::gnu::java::awt::font::autofit::GlyphHints *);
+ jboolean doStemAdjust(::gnu::java::awt::font::autofit::GlyphHints *);
+ void alignLinkedEdge(::gnu::java::awt::font::autofit::GlyphHints *, jint, ::gnu::java::awt::font::autofit::Edge *, ::gnu::java::awt::font::autofit::Edge *);
+public:
+ virtual void doneMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *);
+ virtual void initHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *);
+ virtual void initMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *);
+ virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::autofit::HintScaler *);
+private:
+ void scaleMetricsDim(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::autofit::HintScaler *, jint);
+ void initWidths(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *, jchar);
+public: // actually package-private
+ virtual void linkSegments(::gnu::java::awt::font::autofit::GlyphHints *, jint);
+private:
+ void initBlues(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *);
+ jint constant(::gnu::java::awt::font::autofit::LatinMetrics *, jint);
+ void computeSegments(::gnu::java::awt::font::autofit::GlyphHints *, jint);
+ jboolean isTopBlue(jint);
+ void detectFeatures(::gnu::java::awt::font::autofit::GlyphHints *, jint);
+ void computeEdges(::gnu::java::awt::font::autofit::GlyphHints *, jint);
+ void computeBlueEdges(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::LatinMetrics *);
+public: // actually package-private
+ static const jint MAX_WIDTHS = 16;
+private:
+ static const jint MAX_TEST_CHARS = 12;
+ static const jint CAPITAL_TOP = 0;
+ static const jint CAPITAL_BOTTOM = 1;
+ static const jint SMALL_F_TOP = 2;
+ static const jint SMALL_TOP = 3;
+ static const jint SMALL_BOTTOM = 4;
+ static const jint SMALL_MINOR = 5;
+public: // actually package-private
+ static const jint BLUE_MAX = 6;
+private:
+ static JArray< ::java::lang::String * > * TEST_CHARS;
+ static ::java::awt::geom::AffineTransform * IDENTITY;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_Latin__
diff --git a/libjava/gnu/java/awt/font/autofit/LatinAxis.h b/libjava/gnu/java/awt/font/autofit/LatinAxis.h
new file mode 100644
index 000000000..8c56e5a10
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/LatinAxis.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_LatinAxis__
+#define __gnu_java_awt_font_autofit_LatinAxis__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class LatinAxis;
+ class LatinBlue;
+ class Width;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::LatinAxis : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LatinAxis();
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) scale;
+ jint delta;
+ jint widthCount;
+ JArray< ::gnu::java::awt::font::autofit::Width * > * widths;
+ jint edgeDistanceTreshold;
+ JArray< ::gnu::java::awt::font::autofit::LatinBlue * > * blues;
+ jint blueCount;
+ jint orgDelta;
+ jint orgScale;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_LatinAxis__
diff --git a/libjava/gnu/java/awt/font/autofit/LatinBlue.h b/libjava/gnu/java/awt/font/autofit/LatinBlue.h
new file mode 100644
index 000000000..b8a6a39a7
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/LatinBlue.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_LatinBlue__
+#define __gnu_java_awt_font_autofit_LatinBlue__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class LatinBlue;
+ class Width;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::LatinBlue : public ::java::lang::Object
+{
+
+public:
+ LatinBlue();
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ static const jint FLAG_BLUE_ACTIVE = 1;
+ static const jint FLAG_TOP = 2;
+ static const jint FLAG_ADJUSTMENT = 4;
+ ::gnu::java::awt::font::autofit::Width * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ref;
+ ::gnu::java::awt::font::autofit::Width * shoot;
+ jint flags;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_LatinBlue__
diff --git a/libjava/gnu/java/awt/font/autofit/LatinMetrics.h b/libjava/gnu/java/awt/font/autofit/LatinMetrics.h
new file mode 100644
index 000000000..18a21db4b
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/LatinMetrics.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_LatinMetrics__
+#define __gnu_java_awt_font_autofit_LatinMetrics__
+
+#pragma interface
+
+#include <gnu/java/awt/font/autofit/ScriptMetrics.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class LatinAxis;
+ class LatinMetrics;
+ }
+ namespace opentype
+ {
+ class OpenTypeFont;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::LatinMetrics : public ::gnu::java::awt::font::autofit::ScriptMetrics
+{
+
+public: // actually package-private
+ LatinMetrics();
+ LatinMetrics(::gnu::java::awt::font::opentype::OpenTypeFont *);
+ JArray< ::gnu::java::awt::font::autofit::LatinAxis * > * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::autofit::ScriptMetrics)))) axis;
+ jint unitsPerEm;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_LatinMetrics__
diff --git a/libjava/gnu/java/awt/font/autofit/Script.h b/libjava/gnu/java/awt/font/autofit/Script.h
new file mode 100644
index 000000000..6455af524
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/Script.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_Script__
+#define __gnu_java_awt_font_autofit_Script__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class GlyphHints;
+ class HintScaler;
+ class Script;
+ class ScriptMetrics;
+ }
+ namespace opentype
+ {
+ class OpenTypeFont;
+ namespace truetype
+ {
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::Script : public ::java::lang::Object
+{
+
+public:
+ virtual void initMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *) = 0;
+ virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::autofit::HintScaler *) = 0;
+ virtual void doneMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *) = 0;
+ virtual void initHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *) = 0;
+ virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::autofit::ScriptMetrics *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_awt_font_autofit_Script__
diff --git a/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h b/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h
new file mode 100644
index 000000000..c58575b35
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_ScriptMetrics__
+#define __gnu_java_awt_font_autofit_ScriptMetrics__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class HintScaler;
+ class Script;
+ class ScriptMetrics;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::ScriptMetrics : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ScriptMetrics();
+ ::gnu::java::awt::font::autofit::Script * __attribute__((aligned(__alignof__( ::java::lang::Object)))) script;
+ ::gnu::java::awt::font::autofit::HintScaler * scaler;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_ScriptMetrics__
diff --git a/libjava/gnu/java/awt/font/autofit/Segment.h b/libjava/gnu/java/awt/font/autofit/Segment.h
new file mode 100644
index 000000000..d3c1d72d7
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/Segment.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_Segment__
+#define __gnu_java_awt_font_autofit_Segment__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class Edge;
+ class Segment;
+ }
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class Point;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::Segment : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Segment();
+public:
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ static const jint FLAG_EDGE_NORMAL = 0;
+ static const jint FLAG_EDGE_ROUND = 1;
+ static const jint FLAG_EDGE_SERIF = 2;
+ static const jint FLAG_EDGE_DONE = 4;
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) dir;
+ jint flags;
+ ::gnu::java::awt::font::autofit::Segment * link;
+ ::gnu::java::awt::font::autofit::Segment * serif;
+ jint numLinked;
+ jint pos;
+ ::gnu::java::awt::font::opentype::truetype::Point * first;
+ ::gnu::java::awt::font::opentype::truetype::Point * last;
+ ::gnu::java::awt::font::opentype::truetype::Point * contour;
+ jint minPos;
+ jint maxPos;
+ jint score;
+ jint len;
+ ::gnu::java::awt::font::autofit::Segment * edgeNext;
+ ::gnu::java::awt::font::autofit::Edge * edge;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_Segment__
diff --git a/libjava/gnu/java/awt/font/autofit/Utils.h b/libjava/gnu/java/awt/font/autofit/Utils.h
new file mode 100644
index 000000000..12fb2f542
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/Utils.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_Utils__
+#define __gnu_java_awt_font_autofit_Utils__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class Utils;
+ class Width;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::Utils : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Utils();
+ static jint computeDirection(jint, jint);
+public:
+ static jint atan(jint, jint);
+ static jint angleDiff(jint, jint);
+public: // actually package-private
+ static void sort(jint, JArray< jint > *);
+ static void sort(jint, JArray< ::gnu::java::awt::font::autofit::Width * > *);
+ static jint pixRound(jint);
+ static jint pixFloor(jint);
+public:
+ static jint mulDiv(jint, jint, jint);
+private:
+ static const jint ATAN_BITS = 8;
+ static JArray< jbyte > * ATAN;
+ static const jint ANGLE_PI = 256;
+ static const jint ANGLE_PI2 = 128;
+ static const jint ANGLE_PI4 = 64;
+ static const jint ANGLE_2PI = 512;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_Utils__
diff --git a/libjava/gnu/java/awt/font/autofit/Width.h b/libjava/gnu/java/awt/font/autofit/Width.h
new file mode 100644
index 000000000..d107e50b2
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/Width.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_Width__
+#define __gnu_java_awt_font_autofit_Width__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class Width;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::Width : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Width(jint);
+public:
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) org;
+ jint cur;
+ jint fit;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_Width__
diff --git a/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.h b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.h
new file mode 100644
index 000000000..a5f784d7a
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_CharGlyphMap$Dummy__
+#define __gnu_java_awt_font_opentype_CharGlyphMap$Dummy__
+
+#pragma interface
+
+#include <gnu/java/awt/font/opentype/CharGlyphMap.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class CharGlyphMap$Dummy;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::CharGlyphMap$Dummy : public ::gnu::java::awt::font::opentype::CharGlyphMap
+{
+
+ CharGlyphMap$Dummy();
+public:
+ jint getGlyph(jint);
+public: // actually package-private
+ CharGlyphMap$Dummy(::gnu::java::awt::font::opentype::CharGlyphMap$Dummy *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_CharGlyphMap$Dummy__
diff --git a/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type0.h b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type0.h
new file mode 100644
index 000000000..0b5a45f9d
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type0.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_CharGlyphMap$Type0__
+#define __gnu_java_awt_font_opentype_CharGlyphMap$Type0__
+
+#pragma interface
+
+#include <gnu/java/awt/font/opentype/CharGlyphMap.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class CharGlyphMap$Type0;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::CharGlyphMap$Type0 : public ::gnu::java::awt::font::opentype::CharGlyphMap
+{
+
+public:
+ CharGlyphMap$Type0(::java::nio::ByteBuffer *);
+private:
+ void readSingleTable(::java::nio::ByteBuffer *, jint, jint, jint);
+public:
+ jint getGlyph(jint);
+private:
+ static ::java::lang::String * getUpper129(jint, jint, jint);
+ JArray< jchar > * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::CharGlyphMap)))) glyphToUCS2;
+ static ::java::lang::String * UPPER_ARABIC;
+ static ::java::lang::String * UPPER_EAST_EUROPEAN_ROMAN;
+ static ::java::lang::String * UPPER_CROATIAN;
+ static ::java::lang::String * UPPER_CYRILLIC;
+ static ::java::lang::String * UPPER_FARSI;
+ static ::java::lang::String * UPPER_GREEK;
+ static ::java::lang::String * UPPER_HEBREW;
+ static ::java::lang::String * UPPER_ICELANDIC;
+ static ::java::lang::String * UPPER_ROMAN;
+ static ::java::lang::String * UPPER_ROMANIAN;
+ static ::java::lang::String * UPPER_TURKISH;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_CharGlyphMap$Type0__
diff --git a/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type12.h b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type12.h
new file mode 100644
index 000000000..d1250fcbe
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type12.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_CharGlyphMap$Type12__
+#define __gnu_java_awt_font_opentype_CharGlyphMap$Type12__
+
+#pragma interface
+
+#include <gnu/java/awt/font/opentype/CharGlyphMap.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class CharGlyphMap$Type12;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class IntBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::CharGlyphMap$Type12 : public ::gnu::java::awt::font::opentype::CharGlyphMap
+{
+
+public: // actually package-private
+ static jboolean isSupported(jint, jint);
+ CharGlyphMap$Type12(::java::nio::ByteBuffer *, jint, jint);
+public:
+ jint getGlyph(jint);
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::CharGlyphMap)))) numGroups;
+ ::java::nio::IntBuffer * data;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_CharGlyphMap$Type12__
diff --git a/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type4.h b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type4.h
new file mode 100644
index 000000000..300920036
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type4.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_CharGlyphMap$Type4__
+#define __gnu_java_awt_font_opentype_CharGlyphMap$Type4__
+
+#pragma interface
+
+#include <gnu/java/awt/font/opentype/CharGlyphMap.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class CharGlyphMap$Type4;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ class ShortBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::CharGlyphMap$Type4 : public ::gnu::java::awt::font::opentype::CharGlyphMap
+{
+
+public: // actually package-private
+ static jboolean isSupported(jint, jint, jint);
+ static ::gnu::java::awt::font::opentype::CharGlyphMap$Type4 * readTable(::java::nio::ByteBuffer *, jint, jint);
+private:
+ CharGlyphMap$Type4(jint, ::java::nio::CharBuffer *, ::java::nio::CharBuffer *, ::java::nio::ShortBuffer *, ::java::nio::CharBuffer *);
+public:
+ jint getGlyph(jint);
+private:
+ jint find(jchar);
+ ::java::nio::CharBuffer * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::CharGlyphMap)))) lastChar;
+ ::java::nio::CharBuffer * firstChar;
+ ::java::nio::ShortBuffer * idDelta;
+ ::java::nio::CharBuffer * rangeID;
+ jint numSegments;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_CharGlyphMap$Type4__
diff --git a/libjava/gnu/java/awt/font/opentype/CharGlyphMap.h b/libjava/gnu/java/awt/font/opentype/CharGlyphMap.h
new file mode 100644
index 000000000..d5baafb72
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/CharGlyphMap.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_CharGlyphMap__
+#define __gnu_java_awt_font_opentype_CharGlyphMap__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class CharGlyphMap;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::CharGlyphMap : public ::java::lang::Object
+{
+
+public:
+ CharGlyphMap();
+ virtual jint getGlyph(jint) = 0;
+ static ::gnu::java::awt::font::opentype::CharGlyphMap * forTable(::java::nio::ByteBuffer *);
+private:
+ static const jint PLATFORM_UNICODE = 0;
+ static const jint PLATFORM_MACINTOSH = 1;
+ static const jint PLATFORM_MICROSOFT = 3;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_CharGlyphMap__
diff --git a/libjava/gnu/java/awt/font/opentype/GlyphNamer.h b/libjava/gnu/java/awt/font/opentype/GlyphNamer.h
new file mode 100644
index 000000000..55e47902f
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/GlyphNamer.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_GlyphNamer__
+#define __gnu_java_awt_font_opentype_GlyphNamer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class GlyphNamer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ class IntBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::GlyphNamer : public ::java::lang::Object
+{
+
+ GlyphNamer(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
+public:
+ static ::gnu::java::awt::font::opentype::GlyphNamer * forTables(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
+public: // actually package-private
+ ::java::lang::String * getGlyphName(jint);
+private:
+ void readZapf(jint);
+ void readPost();
+ static ::java::lang::String * getAGLFNName(jchar);
+ static ::java::lang::String * getGlyphName(JArray< jchar > *);
+ ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) postTable;
+ ::java::nio::ByteBuffer * zapfTable;
+ ::java::nio::IntBuffer * zapfOffsets;
+ jint zapfExtraInfo;
+ jint postFormat;
+ JArray< ::java::lang::String * > * glyphNames;
+ ::java::nio::CharBuffer * glyphCharacterCodes;
+ static JArray< ::java::lang::String * > * STANDARD_POSTSCRIPT_GLYPH_NAMES;
+ static ::java::lang::String * AGLFN_GLYPHS;
+ static ::java::lang::String * AGLFN_NAME_OFFSET;
+ static ::java::lang::String * AGLFN_NAMES;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_GlyphNamer__
diff --git a/libjava/gnu/java/awt/font/opentype/Hinter.h b/libjava/gnu/java/awt/font/opentype/Hinter.h
new file mode 100644
index 000000000..29992b70a
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/Hinter.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_Hinter__
+#define __gnu_java_awt_font_opentype_Hinter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class Hinter;
+ class OpenTypeFont;
+ namespace truetype
+ {
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::Hinter : public ::java::lang::Object
+{
+
+public:
+ virtual void init(::gnu::java::awt::font::opentype::OpenTypeFont *) = 0;
+ virtual void applyHints(::gnu::java::awt::font::opentype::truetype::Zone *) = 0;
+ virtual void setFlags(jint) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_awt_font_opentype_Hinter__
diff --git a/libjava/gnu/java/awt/font/opentype/MacResourceFork$Resource.h b/libjava/gnu/java/awt/font/opentype/MacResourceFork$Resource.h
new file mode 100644
index 000000000..d6ba83634
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/MacResourceFork$Resource.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_MacResourceFork$Resource__
+#define __gnu_java_awt_font_opentype_MacResourceFork$Resource__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class MacResourceFork$Resource;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::MacResourceFork$Resource : public ::java::lang::Object
+{
+
+ MacResourceFork$Resource(::java::nio::ByteBuffer *, jint, jshort, jint, jint);
+public:
+ jint getType();
+ jshort getID();
+ ::java::nio::ByteBuffer * getContent();
+ jint getLength();
+public: // actually package-private
+ MacResourceFork$Resource(::java::nio::ByteBuffer *, jint, jshort, jint, jint, ::gnu::java::awt::font::opentype::MacResourceFork$Resource *);
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type;
+ jshort id;
+ jbyte attribute;
+ jint nameOffset;
+ jint dataOffset;
+ ::java::nio::ByteBuffer * buf;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_MacResourceFork$Resource__
diff --git a/libjava/gnu/java/awt/font/opentype/MacResourceFork.h b/libjava/gnu/java/awt/font/opentype/MacResourceFork.h
new file mode 100644
index 000000000..76ad0a653
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/MacResourceFork.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_MacResourceFork__
+#define __gnu_java_awt_font_opentype_MacResourceFork__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class MacResourceFork;
+ class MacResourceFork$Resource;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::MacResourceFork : public ::java::lang::Object
+{
+
+public:
+ MacResourceFork(::java::nio::ByteBuffer *);
+ JArray< ::gnu::java::awt::font::opentype::MacResourceFork$Resource * > * getResources(jint);
+ ::gnu::java::awt::font::opentype::MacResourceFork$Resource * getResource(jint, jshort);
+public: // actually package-private
+ JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) types;
+ JArray< JArray< ::gnu::java::awt::font::opentype::MacResourceFork$Resource * > * > * resources;
+ ::java::nio::ByteBuffer * buf;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_MacResourceFork__
diff --git a/libjava/gnu/java/awt/font/opentype/NameDecoder.h b/libjava/gnu/java/awt/font/opentype/NameDecoder.h
new file mode 100644
index 000000000..a33ffa3ed
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/NameDecoder.h
@@ -0,0 +1,85 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_NameDecoder__
+#define __gnu_java_awt_font_opentype_NameDecoder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class NameDecoder;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::NameDecoder : public ::java::lang::Object
+{
+
+public:
+ NameDecoder();
+ static ::java::lang::String * getName(::java::nio::ByteBuffer *, jint, ::java::util::Locale *);
+private:
+ static jint getMacLanguageCode(::java::util::Locale *);
+ static jint getMicrosoftLanguageCode(::java::util::Locale *);
+ static jint findLanguageCode(::java::lang::String *, ::java::lang::String *);
+ static ::java::lang::String * decodeName(jint, jint, jint, ::java::nio::ByteBuffer *, jint, jint);
+ static ::java::lang::String * decodeName(::java::lang::String *, ::java::nio::ByteBuffer *, jint, jint);
+ static ::java::util::Locale * getMacLocale(jint);
+ static ::java::util::Locale * getWindowsLocale(jint);
+ static ::java::lang::String * getMacCharsetName(jint);
+ static ::java::lang::String * getMicrosoftCharsetName(jint);
+public:
+ static ::java::util::Locale * getLocale(jint, jint, jint);
+ static ::java::lang::String * getCharsetName(jint, jint, jint);
+ static const jint NAME_COPYRIGHT = 0;
+ static const jint NAME_FAMILY = 1;
+ static const jint NAME_SUBFAMILY = 2;
+ static const jint NAME_UNIQUE = 3;
+ static const jint NAME_FULL = 4;
+ static const jint NAME_VERSION = 5;
+ static const jint NAME_POSTSCRIPT = 6;
+ static const jint NAME_TRADEMARK = 7;
+ static const jint NAME_MANUFACTURER = 8;
+ static const jint NAME_DESIGNER = 9;
+ static const jint NAME_DESCRIPTION = 10;
+ static const jint NAME_VENDOR_URL = 11;
+ static const jint NAME_DESIGNER_URL = 12;
+ static const jint NAME_LICENSE = 13;
+ static const jint NAME_LICENSE_URL = 14;
+ static const jint NAME_PREFERRED_FAMILY = 16;
+ static const jint NAME_PREFERRED_SUBFAMILY = 17;
+ static const jint NAME_FULL_MACCOMPATIBLE = 18;
+ static const jint NAME_SAMPLE_TEXT = 19;
+ static const jint NAME_POSTSCRIPT_CID = 20;
+private:
+ static const jint PLATFORM_MACINTOSH = 1;
+ static const jint PLATFORM_MICROSOFT = 3;
+ static ::java::lang::String * macLanguageCodes;
+ static ::java::lang::String * microsoftLanguageCodes;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_NameDecoder__
diff --git a/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h b/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h
new file mode 100644
index 000000000..3fec583d7
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h
@@ -0,0 +1,128 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_OpenTypeFont__
+#define __gnu_java_awt_font_opentype_OpenTypeFont__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class CharGlyphMap;
+ class GlyphNamer;
+ class Hinter;
+ class OpenTypeFont;
+ class Scaler;
+ namespace truetype
+ {
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class GeneralPath;
+ class Point2D;
+ }
+ }
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ namespace text
+ {
+ class CharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::OpenTypeFont : public ::java::lang::Object
+{
+
+public: // actually package-private
+ OpenTypeFont(::java::nio::ByteBuffer *, jint);
+private:
+ jint getTableIndex(jint);
+public:
+ ::java::lang::String * getFamilyName(::java::util::Locale *);
+ ::java::lang::String * getSubFamilyName(::java::util::Locale *);
+ ::java::lang::String * getFullName(::java::util::Locale *);
+ ::java::lang::String * getPostScriptName();
+ jint getNumGlyphs();
+ jint getMissingGlyphCode();
+private:
+ ::java::lang::String * getName(jint, ::java::util::Locale *);
+public:
+ jint getVersion();
+ ::java::nio::ByteBuffer * getFontTable(jint);
+ jint getFontTableSize(jint);
+private:
+ ::gnu::java::awt::font::opentype::CharGlyphMap * getCharGlyphMap();
+public:
+ jint getGlyph(jint);
+ ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *);
+ jint getGlyphIndex(jint);
+ void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *);
+ ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jint);
+ ::gnu::java::awt::font::opentype::truetype::Zone * getRawGlyphOutline(jint, ::java::awt::geom::AffineTransform *);
+ ::java::lang::String * getGlyphName(jint);
+ jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean);
+ jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean);
+public: // actually package-private
+ static ::java::lang::String * tagToString(jint);
+private:
+ void checkHinter(jint);
+public: // actually package-private
+ static const jint TAG_OTTO = 1330926671;
+ static const jint TAG_SFNT = 1936092788;
+ static const jint TAG_TRUE = 1953658213;
+ static const jint TAG_TTCF = 1953784678;
+ static const jint TAG_ZAPF = 1516335206;
+ ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buf;
+ jint numGlyphs;
+ JArray< jint > * tableTag;
+ JArray< jint > * tableStart;
+ JArray< jint > * tableLength;
+private:
+ jint version;
+public:
+ jint unitsPerEm;
+private:
+ jfloat emsPerUnit;
+ ::gnu::java::awt::font::opentype::Scaler * scaler;
+ ::gnu::java::awt::font::opentype::CharGlyphMap * cmap;
+ ::gnu::java::awt::font::opentype::GlyphNamer * glyphNamer;
+ ::gnu::java::awt::font::opentype::Hinter * hinter;
+ ::java::nio::ByteBuffer * nameTable;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_OpenTypeFont__
diff --git a/libjava/gnu/java/awt/font/opentype/OpenTypeFontFactory.h b/libjava/gnu/java/awt/font/opentype/OpenTypeFontFactory.h
new file mode 100644
index 000000000..d3562506d
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/OpenTypeFontFactory.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_OpenTypeFontFactory__
+#define __gnu_java_awt_font_opentype_OpenTypeFontFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ class FontDelegate;
+ namespace opentype
+ {
+ class OpenTypeFontFactory;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::OpenTypeFontFactory : public ::java::lang::Object
+{
+
+ OpenTypeFontFactory();
+public:
+ static JArray< ::gnu::java::awt::font::FontDelegate * > * createFonts(::java::nio::ByteBuffer *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_OpenTypeFontFactory__
diff --git a/libjava/gnu/java/awt/font/opentype/Scaler.h b/libjava/gnu/java/awt/font/opentype/Scaler.h
new file mode 100644
index 000000000..6d229d709
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/Scaler.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_Scaler__
+#define __gnu_java_awt_font_opentype_Scaler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class Hinter;
+ class Scaler;
+ namespace truetype
+ {
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class AffineTransform;
+ class GeneralPath;
+ class Point2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::Scaler : public ::java::lang::Object
+{
+
+public:
+ Scaler();
+ virtual ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, ::gnu::java::awt::font::opentype::Hinter *, jint) = 0;
+ virtual void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *) = 0;
+ virtual jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0;
+ virtual jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0;
+ virtual ::gnu::java::awt::font::opentype::truetype::Zone * getRawOutline(jint, ::java::awt::geom::AffineTransform *) = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_Scaler__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h b/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h
new file mode 100644
index 000000000..9427f135a
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_Fixed__
+#define __gnu_java_awt_font_opentype_truetype_Fixed__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class Fixed;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::Fixed : public ::java::lang::Object
+{
+
+ Fixed();
+public:
+ static jint mul(jint, jint);
+ static jint mul16(jint, jint);
+ static jint div(jint, jint);
+ static jint div16(jint, jint);
+ static jint ceil(jint);
+ static jint floor(jint);
+ static jint vectorLength(jint, jint);
+ static jint intValue(jint);
+ static jfloat floatValue(jint);
+ static jfloat floatValue16(jint);
+ static jdouble doubleValue(jint);
+ static jint valueOf(jfloat);
+ static jint valueOf(jdouble);
+ static jint valueOf16(jdouble);
+ static ::java::lang::String * toString(jint);
+ static ::java::lang::String * toString(jint, jint);
+ static const jint ONE = 64;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_Fixed__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h
new file mode 100644
index 000000000..f0582d347
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h
@@ -0,0 +1,92 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_GlyphLoader__
+#define __gnu_java_awt_font_opentype_truetype_GlyphLoader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class Hinter;
+ namespace truetype
+ {
+ class GlyphLoader;
+ class GlyphLocator;
+ class GlyphMeasurer;
+ class VirtualMachine;
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ }
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::GlyphLoader : public ::java::lang::Object
+{
+
+public: // actually package-private
+ GlyphLoader(::gnu::java::awt::font::opentype::truetype::GlyphLocator *, ::gnu::java::awt::font::opentype::truetype::VirtualMachine *, jint, jint, jint, ::gnu::java::awt::font::opentype::truetype::GlyphMeasurer *);
+public:
+ void loadGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::opentype::Hinter *);
+ void loadGlyph(jint, ::java::awt::geom::AffineTransform *, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::opentype::Hinter *);
+private:
+ void loadSubGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint, ::gnu::java::awt::font::opentype::Hinter *);
+ void loadSimpleGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, jint, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint, ::gnu::java::awt::font::opentype::Hinter *);
+ void loadCompoundGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint, ::gnu::java::awt::font::opentype::Hinter *);
+ jdouble getDouble214(::java::nio::ByteBuffer *);
+ void loadFlags(jint, ::java::nio::ByteBuffer *);
+ void loadCoordinates(jint, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *);
+ void setPhantomPoints(jint, jint, ::gnu::java::awt::font::opentype::truetype::Zone *);
+ ::gnu::java::awt::font::opentype::truetype::GlyphLocator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) glyphLocator;
+ ::gnu::java::awt::font::opentype::truetype::GlyphMeasurer * glyphMeasurer;
+ ::gnu::java::awt::font::opentype::truetype::VirtualMachine * vm;
+ jint unitsPerEm;
+ JArray< jint > * contourEndPoints;
+ JArray< jbyte > * pointFlags;
+ static const jshort ARGS_ARE_WORDS = 1;
+ static const jshort ARGS_ARE_XY_VALUES = 2;
+ static const jshort ROUND_XY_TO_GRID = 4;
+ static const jshort WE_HAVE_A_SCALE = 8;
+ static const jshort MORE_COMPONENTS = 32;
+ static const jshort WE_HAVE_AN_X_AND_Y_SCALE = 64;
+ static const jshort WE_HAVE_A_TWO_BY_TWO = 128;
+ static const jshort WE_HAVE_INSTRUCTIONS = 256;
+ static const jshort USE_MY_METRICS = 512;
+ static const jshort OVERLAP_COMPOUND = 1024;
+ static const jshort SCALED_COMPONENT_OFFSET = 2048;
+ static const jshort UNSCALED_COMPONENT_OFFSET = 4096;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_GlyphLoader__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.h
new file mode 100644
index 000000000..1e06f6953
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_GlyphLocator$FourByte__
+#define __gnu_java_awt_font_opentype_truetype_GlyphLocator$FourByte__
+
+#pragma interface
+
+#include <gnu/java/awt/font/opentype/truetype/GlyphLocator.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class GlyphLocator$FourByte;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class IntBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::GlyphLocator$FourByte : public ::gnu::java::awt::font::opentype::truetype::GlyphLocator
+{
+
+public: // actually package-private
+ GlyphLocator$FourByte(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
+public:
+ ::java::nio::ByteBuffer * getGlyphData(jint);
+public: // actually package-private
+ ::java::nio::IntBuffer * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::truetype::GlyphLocator)))) indexToLoc;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_GlyphLocator$FourByte__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.h
new file mode 100644
index 000000000..7489c5e4e
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_GlyphLocator$TwoByte__
+#define __gnu_java_awt_font_opentype_truetype_GlyphLocator$TwoByte__
+
+#pragma interface
+
+#include <gnu/java/awt/font/opentype/truetype/GlyphLocator.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class GlyphLocator$TwoByte;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::GlyphLocator$TwoByte : public ::gnu::java::awt::font::opentype::truetype::GlyphLocator
+{
+
+public: // actually package-private
+ GlyphLocator$TwoByte(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
+public:
+ ::java::nio::ByteBuffer * getGlyphData(jint);
+public: // actually package-private
+ ::java::nio::CharBuffer * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::truetype::GlyphLocator)))) indexToLoc;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_GlyphLocator$TwoByte__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator.h
new file mode 100644
index 000000000..aa93b65be
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_GlyphLocator__
+#define __gnu_java_awt_font_opentype_truetype_GlyphLocator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class GlyphLocator;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::GlyphLocator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ GlyphLocator();
+public:
+ static ::gnu::java::awt::font::opentype::truetype::GlyphLocator * forTable(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
+ virtual ::java::nio::ByteBuffer * getGlyphData(jint) = 0;
+public: // actually protected
+ ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) glyfTable;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_GlyphLocator__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.h
new file mode 100644
index 000000000..558584d4f
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_GlyphMeasurer__
+#define __gnu_java_awt_font_opentype_truetype_GlyphMeasurer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class GlyphMeasurer;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class ShortBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::GlyphMeasurer : public ::java::lang::Object
+{
+
+public: // actually package-private
+ GlyphMeasurer(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
+public:
+ jint getAscent(jboolean);
+ jint getDescent(jboolean);
+ jint getLineGap(jboolean);
+ jint getAdvanceWidth(jint, jboolean);
+ jint getAdvanceHeight(jint, jboolean);
+private:
+ ::java::nio::ShortBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) horizontalGlyphMetrics;
+ ::java::nio::ShortBuffer * verticalGlyphMetrics;
+ jint numLongHorizontalMetricsEntries;
+ jint numLongVerticalMetricsEntries;
+ jint horizontalAscent;
+ jint verticalAscent;
+ jint horizontalDescent;
+ jint verticalDescent;
+ jint horizontalLineGap;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_GlyphMeasurer__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Point.h b/libjava/gnu/java/awt/font/opentype/truetype/Point.h
new file mode 100644
index 000000000..a993ca023
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/Point.h
@@ -0,0 +1,99 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_Point__
+#define __gnu_java_awt_font_opentype_truetype_Point__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class Point;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::Point : public ::java::lang::Object
+{
+
+public:
+ Point();
+ virtual ::gnu::java::awt::font::opentype::truetype::Point * getNext();
+ virtual void setNext(::gnu::java::awt::font::opentype::truetype::Point *);
+ virtual ::gnu::java::awt::font::opentype::truetype::Point * getPrev();
+ virtual void setPrev(::gnu::java::awt::font::opentype::truetype::Point *);
+ virtual jint getOrigX();
+ virtual void setOrigX(jint);
+ virtual jint getOrigY();
+ virtual void setOrigY(jint);
+ virtual jint getInDir();
+ virtual void setInDir(jint);
+ virtual jint getOutDir();
+ virtual void setOutDir(jint);
+ virtual jshort getFlags();
+ virtual void setFlags(jshort);
+ virtual void addFlags(jshort);
+ virtual jboolean isControlPoint();
+ virtual jint getU();
+ virtual void setU(jint);
+ virtual jint getV();
+ virtual void setV(jint);
+ virtual ::java::lang::String * toString();
+ virtual jint getX();
+ virtual void setX(jint);
+ virtual jint getY();
+ virtual void setY(jint);
+ virtual jint getScaledX();
+ virtual void setScaledX(jint);
+ virtual jint getScaledY();
+ virtual void setScaledY(jint);
+ static const jshort FLAG_TOUCHED_X = 1;
+ static const jshort FLAG_TOUCHED_Y = 2;
+ static const jshort FLAG_ON_CURVE = 4;
+ static const jshort FLAG_CONTOUR_END = 8;
+ static const jshort FLAG_WEAK_INTERPOLATION = 16;
+ static const jshort FLAG_INFLECTION = 32;
+ static const jshort FLAG_DONE_X = 64;
+ static const jshort FLAG_DONE_Y = 128;
+ static const jint DIR_RIGHT = 1;
+ static const jint DIR_LEFT = -1;
+ static const jint DIR_UP = 2;
+ static const jint DIR_DOWN = -2;
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) origX;
+ jint origY;
+ jint scaledX;
+ jint scaledY;
+ jint x;
+ jint y;
+ jint u;
+ jint v;
+ jshort flags;
+private:
+ ::gnu::java::awt::font::opentype::truetype::Point * prev;
+ ::gnu::java::awt::font::opentype::truetype::Point * next;
+public: // actually package-private
+ jint inDir;
+ jint outDir;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_Point__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h b/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h
new file mode 100644
index 000000000..fadc996cc
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_TrueTypeScaler__
+#define __gnu_java_awt_font_opentype_truetype_TrueTypeScaler__
+
+#pragma interface
+
+#include <gnu/java/awt/font/opentype/Scaler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class Hinter;
+ namespace truetype
+ {
+ class GlyphLoader;
+ class GlyphMeasurer;
+ class TrueTypeScaler;
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class AffineTransform;
+ class GeneralPath;
+ class Point2D;
+ }
+ }
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::TrueTypeScaler : public ::gnu::java::awt::font::opentype::Scaler
+{
+
+public:
+ TrueTypeScaler(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
+ ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, ::gnu::java::awt::font::opentype::Hinter *, jint);
+ ::gnu::java::awt::font::opentype::truetype::Zone * getRawOutline(jint, ::java::awt::geom::AffineTransform *);
+ void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *);
+private:
+ jfloat scaleFromFUnits(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean);
+public:
+ jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean);
+ jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean);
+private:
+ ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::Scaler)))) glyfTable;
+ ::gnu::java::awt::font::opentype::truetype::GlyphLoader * glyphLoader;
+ ::gnu::java::awt::font::opentype::truetype::GlyphMeasurer * glyphMeasurer;
+ ::gnu::java::awt::font::opentype::truetype::Zone * glyphZone;
+ jint unitsPerEm;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_TrueTypeScaler__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/VirtualMachine.h b/libjava/gnu/java/awt/font/opentype/truetype/VirtualMachine.h
new file mode 100644
index 000000000..6193a6d4c
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/VirtualMachine.h
@@ -0,0 +1,153 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_VirtualMachine__
+#define __gnu_java_awt_font_opentype_truetype_VirtualMachine__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class VirtualMachine;
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ }
+ namespace nio
+ {
+ class ByteBuffer;
+ class ShortBuffer;
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::VirtualMachine : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VirtualMachine(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
+private:
+ void resetGraphicsState();
+ void reloadControlValueTable();
+ jint funitsToPixels(jint);
+public:
+ virtual jboolean setup(jdouble, ::java::awt::geom::AffineTransform *, jboolean);
+private:
+ void execute(::java::nio::ByteBuffer *, jint);
+ void dumpInstruction(::java::nio::ByteBuffer *);
+ static jchar getNibble(jint, jint);
+ static ::java::lang::String * getHex(jbyte);
+ static ::java::lang::String * getHex(jshort);
+ static void skipAfter(::java::nio::ByteBuffer *, jint, jint, jint, jint, jboolean);
+ static jint getInstructionLength(jint);
+ jboolean executeInstruction(::java::nio::ByteBuffer *);
+ void setRoundingMode(jint, jint);
+ void deltaC(JArray< jint > *, jint, jint, jint);
+ ::gnu::java::awt::font::opentype::truetype::Zone * getZone(jint);
+ jint getProjection(jint, jint);
+ jint getDualProjection(jint, jint);
+ jint getProjection(::gnu::java::awt::font::opentype::truetype::Zone *, jint);
+ jint getOriginalProjection(::gnu::java::awt::font::opentype::truetype::Zone *, jint);
+ void handleISECT(jint, jint, jint, jint, jint);
+ static jint muldiv(jint, jint, jint);
+ jint getFreeDotProj();
+ void movePoint(::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint);
+ void dumpVectors();
+ void handleIP();
+ void handleMDAP(jint, jboolean);
+ void handleMIAP(jint, jint, jboolean);
+ void handleMIRP(jint, jint, jint);
+ jint round(jint, jint);
+ static jint nround(jint, jint);
+ jboolean isRotated();
+ jboolean isStretched();
+ jint getPixelsPerEM();
+ void setProjectionVector(jshort, jshort);
+ void setFreedomVector(jshort, jshort);
+ void setDualVector(jshort, jshort);
+ jint applyCTM_x(jint, jint);
+ jint applyCTM_y(jint, jint);
+ static const jboolean PATENTED_HINTING = 0;
+ static const jboolean TRACE_EXECUTION = 0;
+ static const jshort ONE_214 = 16384;
+ JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) storage;
+ JArray< jint > * stack;
+ jint maxStackElements;
+ jint sp;
+ JArray< ::java::nio::ByteBuffer * > * fdefBuffer;
+ JArray< jint > * fdefEntryPoint;
+ ::java::nio::ShortBuffer * controlValueTable;
+ JArray< jint > * cvt;
+ jint engineCompensation;
+ ::java::nio::ByteBuffer * fontProgram;
+ ::java::nio::ByteBuffer * preProgram;
+ jint numTwilightPoints;
+ jint pointSize;
+ ::java::awt::geom::AffineTransform * deviceTransform;
+ jint scaleX;
+ jint scaleY;
+ jint shearX;
+ jint shearY;
+ jboolean antialiased;
+ jint cvtCutIn;
+ jint deltaBase;
+ jint deltaShift;
+ jshort freeX;
+ jshort freeY;
+ jint loop;
+ jint minimumDistance;
+ jshort projX;
+ jshort projY;
+ jshort dualX;
+ jshort dualY;
+ jint rp0;
+ jint rp1;
+ jint rp2;
+ jboolean scanControl;
+ jint scanType;
+ jint singleWidthValue;
+ ::gnu::java::awt::font::opentype::truetype::Zone * zp0;
+ ::gnu::java::awt::font::opentype::truetype::Zone * zp1;
+ ::gnu::java::awt::font::opentype::truetype::Zone * zp2;
+ ::gnu::java::awt::font::opentype::truetype::Zone * twilightZone;
+ ::gnu::java::awt::font::opentype::truetype::Zone * glyphZone;
+ jboolean executeGlyphInstructions;
+ jboolean ignoreCVTProgram;
+ jint roundPeriod;
+ jint roundPhase;
+ jint roundThreshold;
+ jint cachedPixelsPerEM;
+ jint unitsPerEm;
+ static JArray< ::java::lang::String * > * INST_NAME;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_VirtualMachine__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Zone.h b/libjava/gnu/java/awt/font/opentype/truetype/Zone.h
new file mode 100644
index 000000000..e5647898e
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/Zone.h
@@ -0,0 +1,92 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_Zone__
+#define __gnu_java_awt_font_opentype_truetype_Zone__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class Point;
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class AffineTransform;
+ class GeneralPath;
+ class PathIterator;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::Zone : public ::java::lang::Object
+{
+
+public:
+ Zone(jint);
+ jint getCapacity();
+ jint getSize();
+ jint getX(jint);
+ jint getX(jint, jint);
+ void setX(jint, jint, jboolean);
+ void setY(jint, jint, jboolean);
+ jint getY(jint);
+ jint getY(jint, jint);
+ jint getOriginalX(jint);
+ jint getOriginalY(jint);
+ void setOriginalX(jint, jint);
+ void setOriginalY(jint, jint);
+ void setNumPoints(jint);
+ jboolean isOnCurve(jint);
+ void setOnCurve(jint, jboolean);
+ jboolean isContourEnd(jint);
+ void setContourEnd(jint, jboolean);
+public: // actually package-private
+ void transform(jdouble, ::java::awt::geom::AffineTransform *, jint, jint, jint);
+ void combineWithSubGlyph(::gnu::java::awt::font::opentype::truetype::Zone *, jint);
+private:
+ void dump();
+public:
+ ::java::awt::geom::PathIterator * getPathIterator(jint);
+ ::java::awt::geom::GeneralPath * getPath(jint);
+ jint getNumContours();
+ jint getContourEnd(jint);
+ JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * getPoints();
+private:
+ JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) points;
+ jint numPoints;
+public:
+ jdouble scaleX;
+ jdouble scaleY;
+ jdouble shearX;
+ jdouble shearY;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_Zone__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h b/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h
new file mode 100644
index 000000000..5e64ba875
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_ZonePathIterator__
+#define __gnu_java_awt_font_opentype_truetype_ZonePathIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class Zone;
+ class ZonePathIterator;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::ZonePathIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ZonePathIterator(::gnu::java::awt::font::opentype::truetype::Zone *, jint);
+public:
+ jint getWindingRule();
+ jboolean isDone();
+ void next();
+private:
+ jint getSuccessor(jint);
+public:
+ jint currentSegment(JArray< jfloat > *);
+ jint currentSegment(JArray< jdouble > *);
+private:
+ jint getSegment(jint, JArray< jfloat > *);
+ jint getStartSegment(jint, JArray< jfloat > *);
+ static const jint EMIT_SEGMENT = 0;
+ static const jint EMIT_CLOSE = 1;
+ static const jint EMIT_MOVETO = 2;
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) state;
+ ::gnu::java::awt::font::opentype::truetype::Zone * zone;
+ jint numPoints;
+ jint curPoint;
+ jint contourStart;
+ jint type;
+public: // actually package-private
+ JArray< jfloat > * floats;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_ZonePathIterator__
diff --git a/libjava/gnu/java/awt/image/AsyncImage$AsyncImageSource.h b/libjava/gnu/java/awt/image/AsyncImage$AsyncImageSource.h
new file mode 100644
index 000000000..ecd73a56b
--- /dev/null
+++ b/libjava/gnu/java/awt/image/AsyncImage$AsyncImageSource.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_image_AsyncImage$AsyncImageSource__
+#define __gnu_java_awt_image_AsyncImage$AsyncImageSource__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class AsyncImage;
+ class AsyncImage$AsyncImageSource;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ImageConsumer;
+ class ImageProducer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::image::AsyncImage$AsyncImageSource : public ::java::lang::Object
+{
+
+ AsyncImage$AsyncImageSource(::gnu::java::awt::image::AsyncImage *);
+public:
+ virtual void addConsumer(::java::awt::image::ImageConsumer *);
+ virtual jboolean isConsumer(::java::awt::image::ImageConsumer *);
+ virtual void removeConsumer(::java::awt::image::ImageConsumer *);
+ virtual void requestTopDownLeftRightResend(::java::awt::image::ImageConsumer *);
+ virtual void startProduction(::java::awt::image::ImageConsumer *);
+private:
+ ::java::awt::image::ImageProducer * getRealSource();
+public: // actually package-private
+ AsyncImage$AsyncImageSource(::gnu::java::awt::image::AsyncImage *, ::gnu::java::awt::image::AsyncImage$AsyncImageSource *);
+private:
+ ::java::awt::image::ImageProducer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) realSource;
+public: // actually package-private
+ ::gnu::java::awt::image::AsyncImage * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_image_AsyncImage$AsyncImageSource__
diff --git a/libjava/gnu/java/awt/image/AsyncImage.h b/libjava/gnu/java/awt/image/AsyncImage.h
new file mode 100644
index 000000000..7c1a73179
--- /dev/null
+++ b/libjava/gnu/java/awt/image/AsyncImage.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_image_AsyncImage__
+#define __gnu_java_awt_image_AsyncImage__
+
+#pragma interface
+
+#include <java/awt/Image.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class AsyncImage;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Graphics;
+ class Image;
+ namespace image
+ {
+ class ImageObserver;
+ class ImageProducer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::image::AsyncImage : public ::java::awt::Image
+{
+
+public: // actually package-private
+ AsyncImage();
+public:
+ virtual void flush();
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual jboolean isComplete();
+ virtual jint getHeight(::java::awt::image::ImageObserver *);
+ virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *);
+ virtual ::java::awt::image::ImageProducer * getSource();
+ virtual jint getWidth(::java::awt::image::ImageObserver *);
+ virtual void addObserver(::java::awt::image::ImageObserver *);
+ virtual jboolean prepareImage(jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jint checkImage(jint, jint, ::java::awt::image::ImageObserver *);
+ virtual ::java::awt::Image * getRealImage();
+ virtual void setRealImage(::java::awt::Image *);
+ virtual void notifyObservers(jint, jint, jint, jint, jint);
+ virtual void waitForImage(::java::awt::image::ImageObserver *);
+public: // actually package-private
+ static ::java::awt::Image * access$0(::gnu::java::awt::image::AsyncImage *);
+private:
+ ::java::awt::Image * volatile __attribute__((aligned(__alignof__( ::java::awt::Image)))) realImage;
+public: // actually package-private
+ ::java::util::HashSet * observers;
+private:
+ jboolean volatile complete;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_image_AsyncImage__
diff --git a/libjava/gnu/java/awt/image/ImageConverter.h b/libjava/gnu/java/awt/image/ImageConverter.h
new file mode 100644
index 000000000..8df255f69
--- /dev/null
+++ b/libjava/gnu/java/awt/image/ImageConverter.h
@@ -0,0 +1,82 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_image_ImageConverter__
+#define __gnu_java_awt_image_ImageConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class AsyncImage;
+ class ImageConverter;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Image;
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class IndexColorModel;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::image::ImageConverter : public ::java::lang::Object
+{
+
+public:
+ ImageConverter();
+ virtual void setDimensions(jint, jint);
+ virtual void setProperties(::java::util::Hashtable *);
+ virtual void setColorModel(::java::awt::image::ColorModel *);
+ virtual void setHints(jint);
+ virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint);
+ virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint);
+private:
+ ::java::awt::image::ColorModel * setupColorModel(::java::awt::image::ColorModel *);
+ void createImage();
+ jint transferPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint, jint);
+ jint transferPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint, jint);
+ jint convertPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint, jint);
+ jint convertPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint, jint);
+ jint convertIndexColorModelToSRGB(jint, jint, jint, jint, ::java::awt::image::IndexColorModel *, JArray< jbyte > *, jint, jint, jint);
+ jint convertIndexColorModelToSRGB(jint, jint, jint, jint, ::java::awt::image::IndexColorModel *, JArray< jint > *, jint, jint, jint);
+ jint updateTransparency(jint, jint);
+public:
+ virtual void imageComplete(jint);
+ virtual void setTargetColorModel(::java::awt::image::ColorModel *);
+ virtual ::java::awt::Image * getImage();
+ static ::java::lang::String * IMAGE_TRANSPARENCY_PROPERTY;
+ static ::java::lang::String * IMAGE_PROPERTIES_PROPERTY;
+private:
+ ::gnu::java::awt::image::AsyncImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) image;
+ ::java::awt::image::BufferedImage * bImage;
+ ::java::util::Hashtable * imageProperties;
+ jint width;
+ jint height;
+ ::java::awt::image::ColorModel * colorModel;
+ ::java::awt::image::ColorModel * targetColorModel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_image_ImageConverter__
diff --git a/libjava/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.h b/libjava/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.h
new file mode 100644
index 000000000..611ead3b1
--- /dev/null
+++ b/libjava/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_image_ImageDecoder$DataInputStreamWrapper__
+#define __gnu_java_awt_image_ImageDecoder$DataInputStreamWrapper__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ImageDecoder$DataInputStreamWrapper;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::image::ImageDecoder$DataInputStreamWrapper : public ::java::io::InputStream
+{
+
+public: // actually package-private
+ ImageDecoder$DataInputStreamWrapper(::java::io::DataInput *);
+public:
+ virtual jint read();
+private:
+ ::java::io::DataInput * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) datainput;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_image_ImageDecoder$DataInputStreamWrapper__
diff --git a/libjava/gnu/java/awt/image/ImageDecoder.h b/libjava/gnu/java/awt/image/ImageDecoder.h
new file mode 100644
index 000000000..69af2a54e
--- /dev/null
+++ b/libjava/gnu/java/awt/image/ImageDecoder.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_image_ImageDecoder__
+#define __gnu_java_awt_image_ImageDecoder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ImageDecoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ImageConsumer;
+ }
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::awt::image::ImageDecoder : public ::java::lang::Object
+{
+
+public:
+ ImageDecoder(::java::lang::String *);
+ ImageDecoder(::java::net::URL *);
+ ImageDecoder(::java::io::InputStream *);
+ ImageDecoder(::java::io::DataInput *);
+ ImageDecoder(JArray< jbyte > *, jint, jint);
+ virtual void addConsumer(::java::awt::image::ImageConsumer *);
+ virtual jboolean isConsumer(::java::awt::image::ImageConsumer *);
+ virtual void removeConsumer(::java::awt::image::ImageConsumer *);
+ virtual void startProduction(::java::awt::image::ImageConsumer *);
+ virtual void requestTopDownLeftRightResend(::java::awt::image::ImageConsumer *);
+ virtual void produce(::java::util::Vector *, ::java::io::InputStream *) = 0;
+public: // actually package-private
+ ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) consumers;
+ ::java::lang::String * filename;
+ ::java::net::URL * url;
+ JArray< jbyte > * data;
+ jint offset;
+ jint length;
+ ::java::io::InputStream * input;
+ ::java::io::DataInput * datainput;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_image_ImageDecoder__
diff --git a/libjava/gnu/java/awt/image/XBMDecoder.h b/libjava/gnu/java/awt/image/XBMDecoder.h
new file mode 100644
index 000000000..0d33850d1
--- /dev/null
+++ b/libjava/gnu/java/awt/image/XBMDecoder.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_image_XBMDecoder__
+#define __gnu_java_awt_image_XBMDecoder__
+
+#pragma interface
+
+#include <gnu/java/awt/image/ImageDecoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class XBMDecoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ColorModel;
+ }
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::awt::image::XBMDecoder : public ::gnu::java::awt::image::ImageDecoder
+{
+
+public:
+ XBMDecoder(::java::lang::String *);
+ XBMDecoder(::java::net::URL *);
+ virtual void produce(::java::util::Vector *, ::java::io::InputStream *);
+ static JArray< jint > * getScanline(::java::io::Reader *, jint);
+public: // actually package-private
+ ::java::io::BufferedReader * __attribute__((aligned(__alignof__( ::gnu::java::awt::image::ImageDecoder)))) reader;
+ static ::java::awt::image::ColorModel * cm;
+ static const jint black = -16777216;
+ static const jint transparent = 0;
+ static JArray< jint > * masktable;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_image_XBMDecoder__
diff --git a/libjava/gnu/java/awt/java2d/AbstractGraphics2D.h b/libjava/gnu/java/awt/java2d/AbstractGraphics2D.h
new file mode 100644
index 000000000..8effd32a5
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/AbstractGraphics2D.h
@@ -0,0 +1,226 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_AbstractGraphics2D__
+#define __gnu_java_awt_java2d_AbstractGraphics2D__
+
+#pragma interface
+
+#include <java/awt/Graphics2D.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class AbstractGraphics2D;
+ class ScanlineConverter;
+ class ScanlineCoverage;
+ class ShapeCache;
+ class TextCacheKey;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class BasicStroke;
+ class Color;
+ class Composite;
+ class Font;
+ class FontMetrics;
+ class Graphics;
+ class Image;
+ class Paint;
+ class PaintContext;
+ class Rectangle;
+ class RenderingHints;
+ class RenderingHints$Key;
+ class Shape;
+ class Stroke;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class BufferedImageOp;
+ class ColorModel;
+ class ImageObserver;
+ class Raster;
+ class RenderedImage;
+ class WritableRaster;
+ namespace renderable
+ {
+ class RenderableImage;
+ }
+ }
+ }
+ namespace text
+ {
+ class AttributedCharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::java2d::AbstractGraphics2D : public ::java::awt::Graphics2D
+{
+
+public: // actually protected
+ AbstractGraphics2D();
+public:
+ virtual void draw(::java::awt::Shape *);
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *);
+private:
+ jboolean drawImageImpl(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *, ::java::awt::Rectangle *);
+public:
+ virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint);
+ virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *);
+private:
+ void drawRenderedImageImpl(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *, ::java::awt::Rectangle *);
+public:
+ virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *);
+private:
+ void drawRenderableImageImpl(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *, ::java::awt::Rectangle *);
+public:
+ virtual void drawString(::java::lang::String *, jint, jint);
+ virtual void drawString(::java::lang::String *, jfloat, jfloat);
+ virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint);
+ virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat);
+ virtual void fill(::java::awt::Shape *);
+ virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean);
+ virtual void setComposite(::java::awt::Composite *);
+ virtual void setPaint(::java::awt::Paint *);
+ virtual void setStroke(::java::awt::Stroke *);
+ virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *);
+ virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *);
+ virtual void setRenderingHints(::java::util::Map *);
+ virtual void addRenderingHints(::java::util::Map *);
+ virtual ::java::awt::RenderingHints * getRenderingHints();
+ virtual void translate(jint, jint);
+ virtual void translate(jdouble, jdouble);
+ virtual void rotate(jdouble);
+ virtual void rotate(jdouble, jdouble, jdouble);
+ virtual void scale(jdouble, jdouble);
+ virtual void shear(jdouble, jdouble);
+ virtual void transform(::java::awt::geom::AffineTransform *);
+ virtual void setTransform(::java::awt::geom::AffineTransform *);
+ virtual ::java::awt::geom::AffineTransform * getTransform();
+ virtual ::java::awt::Paint * getPaint();
+ virtual ::java::awt::Composite * getComposite();
+ virtual void setBackground(::java::awt::Color *);
+ virtual ::java::awt::Color * getBackground();
+ virtual ::java::awt::Stroke * getStroke();
+ virtual void clip(::java::awt::Shape *);
+ virtual ::java::awt::font::FontRenderContext * getFontRenderContext();
+ virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat);
+ virtual ::java::awt::Graphics * create();
+public: // actually protected
+ virtual ::java::lang::Object * clone();
+public:
+ virtual ::java::awt::Color * getColor();
+ virtual void setColor(::java::awt::Color *);
+ virtual void setPaintMode();
+ virtual void setXORMode(::java::awt::Color *);
+ virtual ::java::awt::Font * getFont();
+ virtual void setFont(::java::awt::Font *);
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual ::java::awt::Rectangle * getClipBounds();
+ virtual void clipRect(jint, jint, jint, jint);
+ virtual void setClip(jint, jint, jint, jint);
+ virtual ::java::awt::Shape * getClip();
+ virtual void setClip(::java::awt::Shape *);
+ virtual void copyArea(jint, jint, jint, jint, jint, jint);
+ virtual void drawLine(jint, jint, jint, jint);
+ virtual void drawRect(jint, jint, jint, jint);
+ virtual void fillRect(jint, jint, jint, jint);
+ virtual void clearRect(jint, jint, jint, jint);
+ virtual void drawRoundRect(jint, jint, jint, jint, jint, jint);
+ virtual void fillRoundRect(jint, jint, jint, jint, jint, jint);
+ virtual void drawOval(jint, jint, jint, jint);
+ virtual void fillOval(jint, jint, jint, jint);
+ virtual void drawArc(jint, jint, jint, jint, jint, jint);
+ virtual void fillArc(jint, jint, jint, jint, jint, jint);
+ virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint);
+ virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint);
+ virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual void dispose();
+public: // actually protected
+ virtual void fillShape(::java::awt::Shape *, jboolean);
+ virtual ::java::awt::image::ColorModel * getColorModel() = 0;
+ virtual ::java::awt::Rectangle * getDeviceBounds() = 0;
+ virtual void rawDrawLine(jint, jint, jint, jint);
+ virtual void rawDrawRect(jint, jint, jint, jint);
+ virtual void rawClearRect(jint, jint, jint, jint);
+ virtual void rawFillRect(jint, jint, jint, jint);
+ virtual jboolean rawDrawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void rawCopyArea(jint, jint, jint, jint, jint, jint);
+private:
+ void copyAreaImpl(jint, jint, jint, jint, jint, jint);
+public:
+ virtual void renderScanline(jint, ::gnu::java::awt::java2d::ScanlineCoverage *);
+public: // actually protected
+ virtual void init();
+ virtual ::java::awt::image::WritableRaster * getDestinationRaster();
+ virtual void updateRaster(::java::awt::image::Raster *, jint, jint, jint, jint);
+private:
+ void updateOptimization();
+ static ::java::awt::Rectangle * computeIntersection(jint, jint, jint, jint, ::java::awt::Rectangle *);
+ void updateClip(::java::awt::geom::AffineTransform *);
+ ::gnu::java::awt::java2d::ScanlineConverter * getScanlineConverter();
+ void freeScanlineConverter(::gnu::java::awt::java2d::ScanlineConverter *);
+ ::java::awt::PaintContext * getPaintContext();
+public:
+ static ::java::awt::Image * prepareImage(::java::awt::Image *, jint, jint);
+public: // actually protected
+ static ::java::util::WeakHashMap * imageCache;
+private:
+ static jboolean DEFAULT_TEXT_AA;
+ static ::java::awt::Font * FONT;
+ static const jint GV_CACHE_SIZE = 50;
+ static ::gnu::java::awt::java2d::ShapeCache * shapeCache;
+ static ::java::util::LinkedList * scanlineConverters;
+ static ::java::util::Map * gvCache;
+ static ::gnu::java::awt::java2d::TextCacheKey * searchTextKey;
+public: // actually protected
+ ::java::awt::geom::AffineTransform * __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) transform__;
+private:
+ ::java::awt::Paint * paint;
+ ::java::awt::PaintContext * paintContext;
+ ::java::awt::Color * background;
+ ::java::awt::Color * foreground;
+ jboolean isForegroundColorNull;
+ ::java::awt::Font * font;
+ ::java::awt::Composite * composite;
+ ::java::awt::Stroke * stroke;
+ ::java::awt::Shape * clip__;
+ ::java::awt::RenderingHints * renderingHints;
+ ::java::awt::image::WritableRaster * destinationRaster;
+ jboolean isOptimized;
+ static ::java::awt::BasicStroke * STANDARD_STROKE;
+ static ::java::util::HashMap * STANDARD_HINTS;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_AbstractGraphics2D__
diff --git a/libjava/gnu/java/awt/java2d/ActiveEdges.h b/libjava/gnu/java/awt/java2d/ActiveEdges.h
new file mode 100644
index 000000000..9310460b9
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/ActiveEdges.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_ActiveEdges__
+#define __gnu_java_awt_java2d_ActiveEdges__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class ActiveEdges;
+ class PolyEdge;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::ActiveEdges : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ActiveEdges();
+ void clear();
+ void add(::gnu::java::awt::java2d::PolyEdge *);
+ void intersectSortAndPack(jint, jint);
+ jint getNumActiveEdges();
+ ::gnu::java::awt::java2d::PolyEdge * getActiveEdge(jint);
+ void remove(jint);
+public:
+ ::java::lang::String * toString();
+private:
+ JArray< ::gnu::java::awt::java2d::PolyEdge * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) activeEdges;
+ jint numActiveEdges;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_ActiveEdges__
diff --git a/libjava/gnu/java/awt/java2d/AlphaCompositeContext.h b/libjava/gnu/java/awt/java2d/AlphaCompositeContext.h
new file mode 100644
index 000000000..9c591a4d9
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/AlphaCompositeContext.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_AlphaCompositeContext__
+#define __gnu_java_awt_java2d_AlphaCompositeContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class AlphaCompositeContext;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class AlphaComposite;
+ namespace image
+ {
+ class ColorModel;
+ class Raster;
+ class WritableRaster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::AlphaCompositeContext : public ::java::lang::Object
+{
+
+public:
+ AlphaCompositeContext(::java::awt::AlphaComposite *, ::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *);
+ virtual void dispose();
+ virtual void compose(::java::awt::image::Raster *, ::java::awt::image::Raster *, ::java::awt::image::WritableRaster *);
+private:
+ ::java::awt::AlphaComposite * __attribute__((aligned(__alignof__( ::java::lang::Object)))) composite;
+ ::java::awt::image::ColorModel * srcColorModel;
+ ::java::awt::image::ColorModel * dstColorModel;
+ jfloat fs;
+ jfloat fd;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_AlphaCompositeContext__
diff --git a/libjava/gnu/java/awt/java2d/CubicSegment.h b/libjava/gnu/java/awt/java2d/CubicSegment.h
new file mode 100644
index 000000000..c7ef3b29c
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/CubicSegment.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_CubicSegment__
+#define __gnu_java_awt_java2d_CubicSegment__
+
+#pragma interface
+
+#include <gnu/java/awt/java2d/Segment.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class CubicSegment;
+ class Segment;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class Point2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::CubicSegment : public ::gnu::java::awt::java2d::Segment
+{
+
+public:
+ CubicSegment(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble);
+ CubicSegment(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *);
+ virtual ::java::lang::Object * clone();
+ virtual JArray< ::gnu::java::awt::java2d::Segment * > * getDisplacedSegments(jdouble);
+ virtual void reverse();
+ virtual JArray< jdouble > * cp1();
+ virtual JArray< jdouble > * cp2();
+ ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::gnu::java::awt::java2d::Segment)))) cp1__;
+ ::java::awt::geom::Point2D * cp2__;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_CubicSegment__
diff --git a/libjava/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.h b/libjava/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.h
new file mode 100644
index 000000000..b0a1d087d
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_ImagePaint$ImagePaintContext__
+#define __gnu_java_awt_java2d_ImagePaint$ImagePaintContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class ImagePaint;
+ class ImagePaint$ImagePaintContext;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ColorModel;
+ class Raster;
+ class WritableRaster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::ImagePaint$ImagePaintContext : public ::java::lang::Object
+{
+
+ ImagePaint$ImagePaintContext(::gnu::java::awt::java2d::ImagePaint *);
+public:
+ virtual void dispose();
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual ::java::awt::image::Raster * getRaster(jint, jint, jint, jint);
+private:
+ void ensureRasterSize(jint, jint);
+public: // actually package-private
+ ImagePaint$ImagePaintContext(::gnu::java::awt::java2d::ImagePaint *, ::gnu::java::awt::java2d::ImagePaint$ImagePaintContext *);
+private:
+ ::java::awt::image::WritableRaster * __attribute__((aligned(__alignof__( ::java::lang::Object)))) target;
+public: // actually package-private
+ ::gnu::java::awt::java2d::ImagePaint * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_ImagePaint$ImagePaintContext__
diff --git a/libjava/gnu/java/awt/java2d/ImagePaint.h b/libjava/gnu/java/awt/java2d/ImagePaint.h
new file mode 100644
index 000000000..e9e2ea251
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/ImagePaint.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_ImagePaint__
+#define __gnu_java_awt_java2d_ImagePaint__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class ImagePaint;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class PaintContext;
+ class Rectangle;
+ class RenderingHints;
+ namespace geom
+ {
+ class AffineTransform;
+ class Rectangle2D;
+ }
+ namespace image
+ {
+ class ColorModel;
+ class RenderedImage;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::ImagePaint : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ImagePaint(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *);
+public:
+ virtual ::java::awt::PaintContext * createContext(::java::awt::image::ColorModel *, ::java::awt::Rectangle *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *, ::java::awt::RenderingHints *);
+ virtual jint getTransparency();
+public: // actually package-private
+ ::java::awt::image::RenderedImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) image;
+ ::java::awt::geom::AffineTransform * transform;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_ImagePaint__
diff --git a/libjava/gnu/java/awt/java2d/LineSegment.h b/libjava/gnu/java/awt/java2d/LineSegment.h
new file mode 100644
index 000000000..50f51e04b
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/LineSegment.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_LineSegment__
+#define __gnu_java_awt_java2d_LineSegment__
+
+#pragma interface
+
+#include <gnu/java/awt/java2d/Segment.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class LineSegment;
+ class Segment;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class Point2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::LineSegment : public ::gnu::java::awt::java2d::Segment
+{
+
+public:
+ LineSegment(jdouble, jdouble, jdouble, jdouble);
+ LineSegment(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *);
+ virtual ::java::lang::Object * clone();
+ virtual JArray< ::gnu::java::awt::java2d::Segment * > * getDisplacedSegments(jdouble);
+ virtual void reverse();
+ virtual JArray< jdouble > * cp1();
+ virtual JArray< jdouble > * cp2();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_LineSegment__
diff --git a/libjava/gnu/java/awt/java2d/PixelCoverage$Bucket.h b/libjava/gnu/java/awt/java2d/PixelCoverage$Bucket.h
new file mode 100644
index 000000000..07b6ac072
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/PixelCoverage$Bucket.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_PixelCoverage$Bucket__
+#define __gnu_java_awt_java2d_PixelCoverage$Bucket__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class PixelCoverage$Bucket;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::PixelCoverage$Bucket : public ::java::lang::Object
+{
+
+ PixelCoverage$Bucket();
+public: // actually package-private
+ PixelCoverage$Bucket(::gnu::java::awt::java2d::PixelCoverage$Bucket *);
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xPos;
+ jint xCov;
+ jint yCov;
+ ::gnu::java::awt::java2d::PixelCoverage$Bucket * next;
+ ::gnu::java::awt::java2d::PixelCoverage$Bucket * prev;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_PixelCoverage$Bucket__
diff --git a/libjava/gnu/java/awt/java2d/PixelCoverage.h b/libjava/gnu/java/awt/java2d/PixelCoverage.h
new file mode 100644
index 000000000..75a505760
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/PixelCoverage.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_PixelCoverage__
+#define __gnu_java_awt_java2d_PixelCoverage__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class PixelCoverage;
+ class PixelCoverage$Bucket;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::PixelCoverage : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PixelCoverage();
+ void rewind();
+ void clear();
+ void add(jint, jint, jint);
+private:
+ ::gnu::java::awt::java2d::PixelCoverage$Bucket * findOrInsert(jint);
+ ::gnu::java::awt::java2d::PixelCoverage$Bucket * __attribute__((aligned(__alignof__( ::java::lang::Object)))) head;
+ ::gnu::java::awt::java2d::PixelCoverage$Bucket * current;
+ ::gnu::java::awt::java2d::PixelCoverage$Bucket * last;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_PixelCoverage__
diff --git a/libjava/gnu/java/awt/java2d/Pixelizer.h b/libjava/gnu/java/awt/java2d/Pixelizer.h
new file mode 100644
index 000000000..469019ad8
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/Pixelizer.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_Pixelizer__
+#define __gnu_java_awt_java2d_Pixelizer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class Pixelizer;
+ class ScanlineCoverage;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::Pixelizer : public ::java::lang::Object
+{
+
+public:
+ virtual void renderScanline(jint, ::gnu::java::awt::java2d::ScanlineCoverage *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_awt_java2d_Pixelizer__
diff --git a/libjava/gnu/java/awt/java2d/PolyEdge.h b/libjava/gnu/java/awt/java2d/PolyEdge.h
new file mode 100644
index 000000000..e51a868ca
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/PolyEdge.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_PolyEdge__
+#define __gnu_java_awt_java2d_PolyEdge__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class PolyEdge;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::PolyEdge : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PolyEdge();
+ PolyEdge(jint, jint, jint, jint, jint, jboolean);
+ void init(jint, jint, jint, jint, jint, jboolean);
+public:
+ jint compareTo(::java::lang::Object *);
+public: // actually package-private
+ void intersect(jint, jint);
+public:
+ ::java::lang::String * toString();
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) x0;
+ jint y0;
+ jint x1;
+ jint y1;
+private:
+ jint slope;
+public: // actually package-private
+ jint xIntersection;
+ jboolean isClip;
+ ::gnu::java::awt::java2d::PolyEdge * poolNext;
+ ::gnu::java::awt::java2d::PolyEdge * scanlineNext;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_PolyEdge__
diff --git a/libjava/gnu/java/awt/java2d/PolyEdgeComparator.h b/libjava/gnu/java/awt/java2d/PolyEdgeComparator.h
new file mode 100644
index 000000000..b27bdaf90
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/PolyEdgeComparator.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_PolyEdgeComparator__
+#define __gnu_java_awt_java2d_PolyEdgeComparator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class PolyEdgeComparator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::PolyEdgeComparator : public ::java::lang::Object
+{
+
+public:
+ PolyEdgeComparator();
+ virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) y;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_PolyEdgeComparator__
diff --git a/libjava/gnu/java/awt/java2d/QuadSegment.h b/libjava/gnu/java/awt/java2d/QuadSegment.h
new file mode 100644
index 000000000..107524153
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/QuadSegment.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_QuadSegment__
+#define __gnu_java_awt_java2d_QuadSegment__
+
+#pragma interface
+
+#include <gnu/java/awt/java2d/Segment.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class QuadSegment;
+ class Segment;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class Point2D;
+ class QuadCurve2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::QuadSegment : public ::gnu::java::awt::java2d::Segment
+{
+
+public:
+ QuadSegment(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble);
+ QuadSegment(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *);
+ QuadSegment(::java::awt::geom::QuadCurve2D *);
+ virtual ::java::lang::Object * clone();
+ virtual JArray< ::gnu::java::awt::java2d::Segment * > * getDisplacedSegments(jdouble);
+private:
+ ::gnu::java::awt::java2d::QuadSegment * offsetSubdivided(::java::awt::geom::QuadCurve2D *, jboolean);
+ ::java::awt::geom::Point2D * lineIntersection(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jboolean);
+public:
+ virtual void reverse();
+ virtual JArray< jdouble > * cp1();
+ virtual JArray< jdouble > * cp2();
+ ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::gnu::java::awt::java2d::Segment)))) cp;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_QuadSegment__
diff --git a/libjava/gnu/java/awt/java2d/RasterGraphics.h b/libjava/gnu/java/awt/java2d/RasterGraphics.h
new file mode 100644
index 000000000..37baf269c
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/RasterGraphics.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_RasterGraphics__
+#define __gnu_java_awt_java2d_RasterGraphics__
+
+#pragma interface
+
+#include <gnu/java/awt/java2d/AbstractGraphics2D.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class RasterGraphics;
+ class ScanlineCoverage;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class GraphicsConfiguration;
+ class Rectangle;
+ namespace image
+ {
+ class ColorModel;
+ class WritableRaster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::RasterGraphics : public ::gnu::java::awt::java2d::AbstractGraphics2D
+{
+
+public:
+ RasterGraphics(::java::awt::image::WritableRaster *, ::java::awt::image::ColorModel *);
+ virtual void renderScanline(jint, ::gnu::java::awt::java2d::ScanlineCoverage *);
+public: // actually protected
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual ::java::awt::image::WritableRaster * getDestinationRaster();
+public:
+ virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration();
+public: // actually protected
+ virtual ::java::awt::Rectangle * getDeviceBounds();
+private:
+ ::java::awt::image::WritableRaster * __attribute__((aligned(__alignof__( ::gnu::java::awt::java2d::AbstractGraphics2D)))) raster;
+ ::java::awt::image::ColorModel * colorModel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_RasterGraphics__
diff --git a/libjava/gnu/java/awt/java2d/Scanline.h b/libjava/gnu/java/awt/java2d/Scanline.h
new file mode 100644
index 000000000..ce2be0e97
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/Scanline.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_Scanline__
+#define __gnu_java_awt_java2d_Scanline__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class PolyEdge;
+ class Scanline;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::Scanline : public ::java::lang::Object
+{
+
+public: // actually package-private
+ virtual void clear();
+ Scanline();
+ virtual void addEdge(::gnu::java::awt::java2d::PolyEdge *);
+ virtual ::gnu::java::awt::java2d::PolyEdge * getEdges();
+private:
+ ::gnu::java::awt::java2d::PolyEdge * __attribute__((aligned(__alignof__( ::java::lang::Object)))) edges;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_Scanline__
diff --git a/libjava/gnu/java/awt/java2d/ScanlineConverter.h b/libjava/gnu/java/awt/java2d/ScanlineConverter.h
new file mode 100644
index 000000000..b2da8ffdc
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/ScanlineConverter.h
@@ -0,0 +1,87 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_ScanlineConverter__
+#define __gnu_java_awt_java2d_ScanlineConverter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class ActiveEdges;
+ class Pixelizer;
+ class PolyEdge;
+ class Scanline;
+ class ScanlineConverter;
+ class ScanlineCoverage;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class RenderingHints;
+ class Shape;
+ namespace geom
+ {
+ class AffineTransform;
+ class PathIterator;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::ScanlineConverter : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ScanlineConverter();
+public:
+ void renderShape(::gnu::java::awt::java2d::Pixelizer *, ::java::awt::Shape *, ::java::awt::Shape *, ::java::awt::geom::AffineTransform *, jint, jint, ::java::awt::RenderingHints *);
+private:
+ void clear();
+ void doScanline(::gnu::java::awt::java2d::Pixelizer *, jint, jboolean, jboolean);
+ void setResolution(jint, jint);
+ void setUpperBounds(jint);
+ void addShape(::java::awt::geom::PathIterator *, jboolean);
+ void addEdge(::gnu::java::awt::java2d::PolyEdge *);
+ jint fit(jint);
+ jint scanlineIndex(jint);
+ void edgePoolAdd(jint, jint, jint, jint, jboolean);
+ static jint FIXED_DIGITS;
+ static jint ONE;
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) numScanlines;
+ JArray< ::gnu::java::awt::java2d::Scanline * > * scanlines;
+ jint upperBounds;
+ jint resolution;
+ jint yResolution;
+ jint halfStep;
+ JArray< jfloat > * coords;
+ ::gnu::java::awt::java2d::ActiveEdges * activeEdges;
+ ::gnu::java::awt::java2d::PolyEdge * edgePool;
+ ::gnu::java::awt::java2d::PolyEdge * edgePoolLast;
+ jint minY;
+ jint maxY;
+ jint minX;
+ jint maxX;
+ ::gnu::java::awt::java2d::ScanlineCoverage * scanlineCoverage;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_ScanlineConverter__
diff --git a/libjava/gnu/java/awt/java2d/ScanlineCoverage$Coverage.h b/libjava/gnu/java/awt/java2d/ScanlineCoverage$Coverage.h
new file mode 100644
index 000000000..0f1a5b788
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/ScanlineCoverage$Coverage.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_ScanlineCoverage$Coverage__
+#define __gnu_java_awt_java2d_ScanlineCoverage$Coverage__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class ScanlineCoverage$Coverage;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::ScanlineCoverage$Coverage : public ::java::lang::Object
+{
+
+ ScanlineCoverage$Coverage();
+public:
+ jint getXPos();
+ jint getCoverageDelta();
+ ::java::lang::String * toString();
+ ::java::lang::String * list();
+public: // actually package-private
+ ScanlineCoverage$Coverage(::gnu::java::awt::java2d::ScanlineCoverage$Coverage *);
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xPos;
+ jint covDelta;
+ jint pixelCoverage;
+ ::gnu::java::awt::java2d::ScanlineCoverage$Coverage * next;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_ScanlineCoverage$Coverage__
diff --git a/libjava/gnu/java/awt/java2d/ScanlineCoverage$Iterator.h b/libjava/gnu/java/awt/java2d/ScanlineCoverage$Iterator.h
new file mode 100644
index 000000000..2ea741ea4
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/ScanlineCoverage$Iterator.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_ScanlineCoverage$Iterator__
+#define __gnu_java_awt_java2d_ScanlineCoverage$Iterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class ScanlineCoverage;
+ class ScanlineCoverage$Coverage;
+ class ScanlineCoverage$Iterator;
+ class ScanlineCoverage$Range;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::ScanlineCoverage$Iterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ScanlineCoverage$Iterator(::gnu::java::awt::java2d::ScanlineCoverage *);
+public:
+ ::gnu::java::awt::java2d::ScanlineCoverage$Range * next();
+ jboolean hasNext();
+public: // actually package-private
+ void reset();
+private:
+ ::gnu::java::awt::java2d::ScanlineCoverage$Range * __attribute__((aligned(__alignof__( ::java::lang::Object)))) range;
+ ::gnu::java::awt::java2d::ScanlineCoverage$Coverage * currentItem;
+ jint currentCoverage;
+ jboolean handledPixelCoverage;
+public: // actually package-private
+ ::gnu::java::awt::java2d::ScanlineCoverage * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_ScanlineCoverage$Iterator__
diff --git a/libjava/gnu/java/awt/java2d/ScanlineCoverage$Range.h b/libjava/gnu/java/awt/java2d/ScanlineCoverage$Range.h
new file mode 100644
index 000000000..5f6ccd622
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/ScanlineCoverage$Range.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_ScanlineCoverage$Range__
+#define __gnu_java_awt_java2d_ScanlineCoverage$Range__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class ScanlineCoverage$Range;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::ScanlineCoverage$Range : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ScanlineCoverage$Range();
+ void setXPos(jint);
+public:
+ jint getXPos();
+public: // actually package-private
+ void setLength(jint);
+public:
+ jint getLength();
+ jint getXPosEnd();
+public: // actually package-private
+ void setCoverage(jint);
+public:
+ jint getCoverage();
+ ::java::lang::String * toString();
+public: // actually package-private
+ static jint access$0(::gnu::java::awt::java2d::ScanlineCoverage$Range *);
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xPos;
+ jint length;
+ jint coverage;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_ScanlineCoverage$Range__
diff --git a/libjava/gnu/java/awt/java2d/ScanlineCoverage.h b/libjava/gnu/java/awt/java2d/ScanlineCoverage.h
new file mode 100644
index 000000000..46d9ae899
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/ScanlineCoverage.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_ScanlineCoverage__
+#define __gnu_java_awt_java2d_ScanlineCoverage__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class ScanlineCoverage;
+ class ScanlineCoverage$Coverage;
+ class ScanlineCoverage$Iterator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::ScanlineCoverage : public ::java::lang::Object
+{
+
+public:
+ ScanlineCoverage();
+ void rewind();
+ void clear();
+ void add(jint, jint, jint);
+ jint getMaxCoverage();
+public: // actually package-private
+ void setMaxCoverage(jint);
+public:
+ jint getMaxX();
+ jint getMinX();
+private:
+ ::gnu::java::awt::java2d::ScanlineCoverage$Coverage * findOrInsert(jint);
+public:
+ ::gnu::java::awt::java2d::ScanlineCoverage$Iterator * iterate();
+ jboolean isEmpty();
+public: // actually package-private
+ static ::gnu::java::awt::java2d::ScanlineCoverage$Coverage * access$0(::gnu::java::awt::java2d::ScanlineCoverage *);
+ static ::gnu::java::awt::java2d::ScanlineCoverage$Coverage * access$1(::gnu::java::awt::java2d::ScanlineCoverage *);
+private:
+ ::gnu::java::awt::java2d::ScanlineCoverage$Coverage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) head;
+ ::gnu::java::awt::java2d::ScanlineCoverage$Coverage * current;
+ ::gnu::java::awt::java2d::ScanlineCoverage$Coverage * currentPrev;
+ ::gnu::java::awt::java2d::ScanlineCoverage$Coverage * last;
+ ::gnu::java::awt::java2d::ScanlineCoverage$Coverage * lastPrev;
+ jint minX;
+ jint maxX;
+ jint maxCoverage;
+ ::gnu::java::awt::java2d::ScanlineCoverage$Iterator * iterator;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_ScanlineCoverage__
diff --git a/libjava/gnu/java/awt/java2d/Segment.h b/libjava/gnu/java/awt/java2d/Segment.h
new file mode 100644
index 000000000..3e771bbbc
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/Segment.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_Segment__
+#define __gnu_java_awt_java2d_Segment__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class Segment;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class Point2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::Segment : public ::java::lang::Object
+{
+
+public:
+ Segment();
+ virtual void add(::gnu::java::awt::java2d::Segment *);
+ virtual void reverseAll();
+ virtual ::java::lang::String * toString();
+public: // actually protected
+ virtual JArray< jdouble > * normal(jdouble, jdouble, jdouble, jdouble);
+public:
+ virtual void reverse() = 0;
+ virtual JArray< ::gnu::java::awt::java2d::Segment * > * getDisplacedSegments(jdouble) = 0;
+ virtual JArray< jdouble > * cp1() = 0;
+ virtual JArray< jdouble > * cp2() = 0;
+ ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::java::lang::Object)))) P1;
+ ::java::awt::geom::Point2D * P2;
+ ::gnu::java::awt::java2d::Segment * first;
+ ::gnu::java::awt::java2d::Segment * next;
+ ::gnu::java::awt::java2d::Segment * last;
+public: // actually protected
+ jdouble radius;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_Segment__
diff --git a/libjava/gnu/java/awt/java2d/ShapeCache.h b/libjava/gnu/java/awt/java2d/ShapeCache.h
new file mode 100644
index 000000000..1ae8ffdac
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/ShapeCache.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_ShapeCache__
+#define __gnu_java_awt_java2d_ShapeCache__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class ShapeCache;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Polygon;
+ class Rectangle;
+ namespace geom
+ {
+ class Arc2D;
+ class Ellipse2D;
+ class GeneralPath;
+ class Line2D;
+ class RoundRectangle2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::ShapeCache : public ::java::lang::Object
+{
+
+public:
+ ShapeCache();
+ ::java::awt::geom::Line2D * __attribute__((aligned(__alignof__( ::java::lang::Object)))) line;
+ ::java::awt::Rectangle * rect;
+ ::java::awt::geom::RoundRectangle2D * roundRect;
+ ::java::awt::geom::Ellipse2D * ellipse;
+ ::java::awt::geom::Arc2D * arc;
+ ::java::awt::Polygon * polygon;
+ ::java::awt::geom::GeneralPath * polyline;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_ShapeCache__
diff --git a/libjava/gnu/java/awt/java2d/ShapeWrapper.h b/libjava/gnu/java/awt/java2d/ShapeWrapper.h
new file mode 100644
index 000000000..62c9b357e
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/ShapeWrapper.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_ShapeWrapper__
+#define __gnu_java_awt_java2d_ShapeWrapper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class ShapeWrapper;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Rectangle;
+ class Shape;
+ namespace geom
+ {
+ class AffineTransform;
+ class PathIterator;
+ class Point2D;
+ class Rectangle2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::ShapeWrapper : public ::java::lang::Object
+{
+
+public:
+ ShapeWrapper(::java::awt::Shape *);
+ virtual jboolean contains(jdouble, jdouble);
+ virtual jboolean contains(::java::awt::geom::Point2D *);
+ virtual jboolean contains(jdouble, jdouble, jdouble, jdouble);
+ virtual jboolean contains(::java::awt::geom::Rectangle2D *);
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual ::java::awt::geom::Rectangle2D * getBounds2D();
+ virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *);
+ virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *, jdouble);
+ virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble);
+ virtual jboolean intersects(::java::awt::geom::Rectangle2D *);
+private:
+ ::java::awt::Shape * __attribute__((aligned(__alignof__( ::java::lang::Object)))) shape;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_ShapeWrapper__
diff --git a/libjava/gnu/java/awt/java2d/TextCacheKey.h b/libjava/gnu/java/awt/java2d/TextCacheKey.h
new file mode 100644
index 000000000..9904a6a3e
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/TextCacheKey.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_TextCacheKey__
+#define __gnu_java_awt_java2d_TextCacheKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class TextCacheKey;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ namespace font
+ {
+ class FontRenderContext;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::TextCacheKey : public ::java::lang::Object
+{
+
+public:
+ TextCacheKey();
+ TextCacheKey(::java::lang::String *, ::java::awt::Font *, ::java::awt::font::FontRenderContext *);
+ virtual void setString(::java::lang::String *);
+ virtual void setFontRenderContext(::java::awt::font::FontRenderContext *);
+ virtual void setFont(::java::awt::Font *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) string;
+ ::java::awt::font::FontRenderContext * fontRenderContext;
+ ::java::awt::Font * font;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_TextCacheKey__
diff --git a/libjava/gnu/java/awt/java2d/TexturePaintContext.h b/libjava/gnu/java/awt/java2d/TexturePaintContext.h
new file mode 100644
index 000000000..5074e62c1
--- /dev/null
+++ b/libjava/gnu/java/awt/java2d/TexturePaintContext.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_java2d_TexturePaintContext__
+#define __gnu_java_awt_java2d_TexturePaintContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace java2d
+ {
+ class TexturePaintContext;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Rectangle;
+ class TexturePaint;
+ namespace geom
+ {
+ class AffineTransform;
+ class Rectangle2D;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class Raster;
+ class WritableRaster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::java2d::TexturePaintContext : public ::java::lang::Object
+{
+
+public:
+ TexturePaintContext(::java::awt::TexturePaint *, ::java::awt::Rectangle *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *);
+ virtual void dispose();
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual ::java::awt::image::Raster * getRaster(jint, jint, jint, jint);
+private:
+ void ensureRasterSize(jint, jint);
+ ::java::awt::image::BufferedImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) image;
+ ::java::awt::image::WritableRaster * paintRaster;
+ ::java::awt::geom::AffineTransform * transform;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_java2d_TexturePaintContext__
diff --git a/libjava/gnu/java/awt/peer/ClasspathDesktopPeer.h b/libjava/gnu/java/awt/peer/ClasspathDesktopPeer.h
new file mode 100644
index 000000000..543393329
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/ClasspathDesktopPeer.h
@@ -0,0 +1,86 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_ClasspathDesktopPeer__
+#define __gnu_java_awt_peer_ClasspathDesktopPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ class ClasspathDesktopPeer;
+ class GnomeDesktopPeer;
+ class KDEDesktopPeer;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Desktop$Action;
+ namespace peer
+ {
+ class DesktopPeer;
+ }
+ }
+ namespace net
+ {
+ class URI;
+ }
+ }
+}
+
+class gnu::java::awt::peer::ClasspathDesktopPeer : public ::java::lang::Object
+{
+
+public: // actually protected
+ ClasspathDesktopPeer();
+public:
+ virtual jboolean isSupported(::java::awt::Desktop$Action *);
+ virtual void browse(::java::net::URI *);
+ virtual void edit(::java::io::File *);
+ virtual void mail(::java::net::URI *);
+ virtual void mail();
+ virtual void open(::java::io::File *);
+ virtual void print(::java::io::File *);
+public: // actually protected
+ virtual ::java::lang::String * getCommand(::java::lang::String *);
+ virtual void checkPermissions();
+ virtual void checkPermissions(::java::io::File *, jboolean);
+ virtual void checkPrintPermissions(::java::io::File *);
+ virtual jboolean supportCommand(::java::lang::String *);
+public:
+ static ::java::awt::peer::DesktopPeer * getDesktop();
+public: // actually package-private
+ static JArray< jint > * $SWITCH_TABLE$java$awt$Desktop$Action();
+public: // actually protected
+ static ::java::lang::String * _DEFAULT_BROWSER;
+ static ::java::lang::String * _BROWSE;
+ static ::java::lang::String * _MAIL;
+ static ::java::lang::String * _EDIT;
+ static ::java::lang::String * _PRINT;
+ static ::java::lang::String * _OPEN;
+ static ::gnu::java::awt::peer::KDEDesktopPeer * kde;
+ static ::gnu::java::awt::peer::GnomeDesktopPeer * gnome;
+ static ::gnu::java::awt::peer::ClasspathDesktopPeer * classpath;
+ ::java::util::prefs::Preferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prefs;
+private:
+ static JArray< jint > * $SWITCH_TABLE$java$awt$Desktop$Action__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_ClasspathDesktopPeer__
diff --git a/libjava/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.h b/libjava/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.h
new file mode 100644
index 000000000..744566261
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_ClasspathFontPeer$LRUCache__
+#define __gnu_java_awt_peer_ClasspathFontPeer$LRUCache__
+
+#pragma interface
+
+#include <java/util/LinkedHashMap.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ class ClasspathFontPeer$LRUCache;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::ClasspathFontPeer$LRUCache : public ::java::util::LinkedHashMap
+{
+
+public:
+ ClasspathFontPeer$LRUCache(jint);
+public: // actually protected
+ virtual jboolean removeEldestEntry(::java::util::Map$Entry *);
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::util::LinkedHashMap)))) max_entries;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_ClasspathFontPeer$LRUCache__
diff --git a/libjava/gnu/java/awt/peer/ClasspathFontPeer.h b/libjava/gnu/java/awt/peer/ClasspathFontPeer.h
new file mode 100644
index 000000000..18ab58c68
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/ClasspathFontPeer.h
@@ -0,0 +1,126 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_ClasspathFontPeer__
+#define __gnu_java_awt_peer_ClasspathFontPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class ClasspathToolkit;
+ namespace peer
+ {
+ class ClasspathFontPeer;
+ class ClasspathFontPeer$LRUCache;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class FontMetrics;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphVector;
+ class LineMetrics;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class Rectangle2D;
+ }
+ }
+ namespace text
+ {
+ class AttributedCharacterIterator$Attribute;
+ class CharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::peer::ClasspathFontPeer : public ::java::lang::Object
+{
+
+public: // actually protected
+ static ::gnu::java::awt::ClasspathToolkit * tk();
+ static jboolean isLogicalFontName(::java::lang::String *);
+ static ::java::lang::String * logicalFontNameToFaceName(::java::lang::String *);
+ static ::java::lang::String * faceNameToFamilyName(::java::lang::String *);
+public:
+ static void copyStyleToAttrs(jint, ::java::util::Map *);
+public: // actually protected
+ static void copyFamilyToAttrs(::java::lang::String *, ::java::util::Map *);
+public:
+ static void copySizeToAttrs(jfloat, ::java::util::Map *);
+public: // actually protected
+ static void copyTransformToAttrs(::java::awt::geom::AffineTransform *, ::java::util::Map *);
+ virtual void setStandardAttributes(::java::lang::String *, ::java::lang::String *, jint, jfloat, ::java::awt::geom::AffineTransform *);
+ virtual void setStandardAttributes(::java::lang::String *, ::java::util::Map *);
+ virtual void getStandardAttributes(::java::util::Map *);
+public:
+ ClasspathFontPeer(::java::lang::String *, ::java::util::Map *);
+ ClasspathFontPeer(::java::lang::String *, jint, jint);
+ virtual ::java::lang::String * getName(::java::awt::Font *);
+ virtual ::java::lang::String * getFamily(::java::awt::Font *);
+ virtual ::java::lang::String * getFamily(::java::awt::Font *, ::java::util::Locale *);
+ virtual ::java::lang::String * getFontName(::java::awt::Font *);
+ virtual ::java::lang::String * getFontName(::java::awt::Font *, ::java::util::Locale *);
+ virtual jfloat getSize(::java::awt::Font *);
+ virtual jboolean isPlain(::java::awt::Font *);
+ virtual jboolean isBold(::java::awt::Font *);
+ virtual jboolean isItalic(::java::awt::Font *);
+ virtual ::java::awt::Font * deriveFont(::java::awt::Font *, jint, jfloat);
+ virtual ::java::awt::Font * deriveFont(::java::awt::Font *, jfloat);
+ virtual ::java::awt::Font * deriveFont(::java::awt::Font *, jint);
+ virtual ::java::awt::Font * deriveFont(::java::awt::Font *, jint, ::java::awt::geom::AffineTransform *);
+ virtual ::java::awt::Font * deriveFont(::java::awt::Font *, ::java::awt::geom::AffineTransform *);
+ virtual ::java::awt::Font * deriveFont(::java::awt::Font *, ::java::util::Map *);
+ virtual ::java::util::Map * getAttributes(::java::awt::Font *);
+ virtual JArray< ::java::text::AttributedCharacterIterator$Attribute * > * getAvailableAttributes(::java::awt::Font *);
+ virtual ::java::awt::geom::AffineTransform * getTransform(::java::awt::Font *);
+ virtual jboolean isTransformed(::java::awt::Font *);
+ virtual jfloat getItalicAngle(::java::awt::Font *);
+ virtual jint getStyle(::java::awt::Font *);
+ virtual jboolean canDisplay(::java::awt::Font *, jint) = 0;
+ virtual jint canDisplayUpTo(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint) = 0;
+ virtual ::java::lang::String * getSubFamilyName(::java::awt::Font *, ::java::util::Locale *) = 0;
+ virtual ::java::lang::String * getPostScriptName(::java::awt::Font *) = 0;
+ virtual jint getNumGlyphs(::java::awt::Font *) = 0;
+ virtual jint getMissingGlyphCode(::java::awt::Font *) = 0;
+ virtual jbyte getBaselineFor(::java::awt::Font *, jchar) = 0;
+ virtual ::java::lang::String * getGlyphName(::java::awt::Font *, jint) = 0;
+ virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *) = 0;
+ virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jint > *) = 0;
+ virtual ::java::awt::font::GlyphVector * layoutGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jchar > *, jint, jint, jint) = 0;
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0;
+ virtual jboolean hasUniformLineMetrics(::java::awt::Font *) = 0;
+ virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *) = 0;
+ virtual ::java::awt::geom::Rectangle2D * getMaxCharBounds(::java::awt::Font *, ::java::awt::font::FontRenderContext *) = 0;
+public: // actually protected
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) logicalName;
+ ::java::lang::String * familyName;
+ ::java::lang::String * faceName;
+ jint style;
+ jfloat size;
+ ::java::awt::geom::AffineTransform * transform;
+private:
+ static ::gnu::java::awt::peer::ClasspathFontPeer$LRUCache * transCache;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_ClasspathFontPeer__
diff --git a/libjava/gnu/java/awt/peer/EmbeddedWindowPeer.h b/libjava/gnu/java/awt/peer/EmbeddedWindowPeer.h
new file mode 100644
index 000000000..89b4c8b06
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/EmbeddedWindowPeer.h
@@ -0,0 +1,161 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_EmbeddedWindowPeer__
+#define __gnu_java_awt_peer_EmbeddedWindowPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ class EmbeddedWindowPeer;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTEvent;
+ class BufferCapabilities;
+ class BufferCapabilities$FlipContents;
+ class Color;
+ class Component;
+ class Cursor;
+ class Dialog;
+ class Dimension;
+ class Font;
+ class FontMetrics;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Insets;
+ class MenuBar;
+ class Point;
+ class Rectangle;
+ class Toolkit;
+ namespace event
+ {
+ class PaintEvent;
+ }
+ namespace image
+ {
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ class VolatileImage;
+ }
+ namespace peer
+ {
+ class ContainerPeer;
+ }
+ }
+ }
+ namespace sun
+ {
+ namespace awt
+ {
+ class CausedFocusEvent$Cause;
+ }
+ }
+}
+
+class gnu::java::awt::peer::EmbeddedWindowPeer : public ::java::lang::Object
+{
+
+public:
+ virtual void embed(jlong) = 0;
+ virtual void setIconImage(::java::awt::Image *) = 0;
+ virtual void setMenuBar(::java::awt::MenuBar *) = 0;
+ virtual void setResizable(jboolean) = 0;
+ virtual void setTitle(::java::lang::String *) = 0;
+ virtual jint getState() = 0;
+ virtual void setState(jint) = 0;
+ virtual void setMaximizedBounds(::java::awt::Rectangle *) = 0;
+ virtual jboolean isRestackSupported() = 0;
+ virtual void setBoundsPrivate(jint, jint, jint, jint) = 0;
+ virtual ::java::awt::Rectangle * getBoundsPrivate() = 0;
+ virtual void toBack() = 0;
+ virtual void toFront() = 0;
+ virtual void updateAlwaysOnTop() = 0;
+ virtual jboolean requestWindowFocus() = 0;
+ virtual void setAlwaysOnTop(jboolean) = 0;
+ virtual void updateFocusableWindowState() = 0;
+ virtual void setModalBlocked(::java::awt::Dialog *, jboolean) = 0;
+ virtual void updateMinimumSize() = 0;
+ virtual void updateIconImages() = 0;
+ virtual ::java::awt::Insets * insets() = 0;
+ virtual ::java::awt::Insets * getInsets() = 0;
+ virtual void beginValidate() = 0;
+ virtual void endValidate() = 0;
+ virtual void beginLayout() = 0;
+ virtual void endLayout() = 0;
+ virtual jboolean isPaintPending() = 0;
+ virtual void cancelPendingPaint(jint, jint, jint, jint) = 0;
+ virtual void restack() = 0;
+ virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0;
+ virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0;
+ virtual ::java::awt::Image * createImage(jint, jint) = 0;
+ virtual void disable() = 0;
+ virtual void dispose() = 0;
+ virtual void enable() = 0;
+ virtual ::java::awt::image::ColorModel * getColorModel() = 0;
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0;
+ virtual ::java::awt::Graphics * getGraphics() = 0;
+ virtual ::java::awt::Point * getLocationOnScreen() = 0;
+ virtual ::java::awt::Dimension * getMinimumSize() = 0;
+ virtual ::java::awt::Dimension * getPreferredSize() = 0;
+ virtual ::java::awt::Toolkit * getToolkit() = 0;
+ virtual void handleEvent(::java::awt::AWTEvent *) = 0;
+ virtual void hide() = 0;
+ virtual jboolean isFocusTraversable() = 0;
+ virtual jboolean isFocusable() = 0;
+ virtual ::java::awt::Dimension * minimumSize() = 0;
+ virtual ::java::awt::Dimension * preferredSize() = 0;
+ virtual void paint(::java::awt::Graphics *) = 0;
+ virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0;
+ virtual void print(::java::awt::Graphics *) = 0;
+ virtual void repaint(jlong, jint, jint, jint, jint) = 0;
+ virtual void requestFocus() = 0;
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0;
+ virtual void reshape(jint, jint, jint, jint) = 0;
+ virtual void setBackground(::java::awt::Color *) = 0;
+ virtual void setBounds(jint, jint, jint, jint) = 0;
+ virtual void setCursor(::java::awt::Cursor *) = 0;
+ virtual void setEnabled(jboolean) = 0;
+ virtual void setFont(::java::awt::Font *) = 0;
+ virtual void setForeground(::java::awt::Color *) = 0;
+ virtual void setVisible(jboolean) = 0;
+ virtual void show() = 0;
+ virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0;
+ virtual void setEventMask(jlong) = 0;
+ virtual jboolean isObscured() = 0;
+ virtual jboolean canDetermineObscurity() = 0;
+ virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0;
+ virtual void updateCursorImmediately() = 0;
+ virtual jboolean handlesWheelScrolling() = 0;
+ virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0;
+ virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0;
+ virtual ::java::awt::Image * getBackBuffer() = 0;
+ virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0;
+ virtual void destroyBuffers() = 0;
+ virtual ::java::awt::Rectangle * getBounds() = 0;
+ virtual void reparent(::java::awt::peer::ContainerPeer *) = 0;
+ virtual void setBounds(jint, jint, jint, jint, jint) = 0;
+ virtual jboolean isReparentSupported() = 0;
+ virtual void layout() = 0;
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong, ::sun::awt::CausedFocusEvent$Cause *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_awt_peer_EmbeddedWindowPeer__
diff --git a/libjava/gnu/java/awt/peer/GLightweightPeer.h b/libjava/gnu/java/awt/peer/GLightweightPeer.h
new file mode 100644
index 000000000..ecf0b4653
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/GLightweightPeer.h
@@ -0,0 +1,141 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_GLightweightPeer__
+#define __gnu_java_awt_peer_GLightweightPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ class GLightweightPeer;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTEvent;
+ class BufferCapabilities;
+ class BufferCapabilities$FlipContents;
+ class Color;
+ class Component;
+ class Cursor;
+ class Dimension;
+ class Font;
+ class FontMetrics;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Insets;
+ class Point;
+ class Rectangle;
+ class Toolkit;
+ namespace event
+ {
+ class PaintEvent;
+ }
+ namespace image
+ {
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ class VolatileImage;
+ }
+ namespace peer
+ {
+ class ContainerPeer;
+ }
+ }
+ }
+ namespace sun
+ {
+ namespace awt
+ {
+ class CausedFocusEvent$Cause;
+ }
+ }
+}
+
+class gnu::java::awt::peer::GLightweightPeer : public ::java::lang::Object
+{
+
+public:
+ GLightweightPeer();
+ virtual ::java::awt::Insets * insets();
+ virtual ::java::awt::Insets * getInsets();
+ virtual void beginValidate();
+ virtual void endValidate();
+ virtual void beginLayout();
+ virtual void endLayout();
+ virtual jboolean isPaintPending();
+ virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *);
+ virtual ::java::awt::Image * createImage(jint, jint);
+ virtual void disable();
+ virtual void dispose();
+ virtual void enable();
+ virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration();
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual ::java::awt::Dimension * getMinimumSize();
+ virtual ::java::awt::Dimension * getPreferredSize();
+ virtual ::java::awt::Toolkit * getToolkit();
+ virtual void handleEvent(::java::awt::AWTEvent *);
+ virtual void hide();
+ virtual jboolean isFocusable();
+ virtual jboolean isFocusTraversable();
+ virtual ::java::awt::Dimension * minimumSize();
+ virtual ::java::awt::Dimension * preferredSize();
+ virtual void paint(::java::awt::Graphics *);
+ virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void print(::java::awt::Graphics *);
+ virtual void repaint(jlong, jint, jint, jint, jint);
+ virtual void requestFocus();
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong);
+ virtual void reshape(jint, jint, jint, jint);
+ virtual void setBackground(::java::awt::Color *);
+ virtual void setBounds(jint, jint, jint, jint);
+ virtual void setCursor(::java::awt::Cursor *);
+ virtual void setEnabled(jboolean);
+ virtual void setEventMask(jlong);
+ virtual void setFont(::java::awt::Font *);
+ virtual void setForeground(::java::awt::Color *);
+ virtual void setVisible(jboolean);
+ virtual void show();
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual jboolean isObscured();
+ virtual jboolean canDetermineObscurity();
+ virtual void coalescePaintEvent(::java::awt::event::PaintEvent *);
+ virtual void updateCursorImmediately();
+ virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint);
+ virtual jboolean handlesWheelScrolling();
+ virtual void createBuffers(jint, ::java::awt::BufferCapabilities *);
+ virtual ::java::awt::Image * getBackBuffer();
+ virtual void flip(::java::awt::BufferCapabilities$FlipContents *);
+ virtual void destroyBuffers();
+ virtual jboolean isRestackSupported();
+ virtual void cancelPendingPaint(jint, jint, jint, jint);
+ virtual void restack();
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual void reparent(::java::awt::peer::ContainerPeer *);
+ virtual void setBounds(jint, jint, jint, jint, jint);
+ virtual jboolean isReparentSupported();
+ virtual void layout();
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong, ::sun::awt::CausedFocusEvent$Cause *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_GLightweightPeer__
diff --git a/libjava/gnu/java/awt/peer/GnomeDesktopPeer.h b/libjava/gnu/java/awt/peer/GnomeDesktopPeer.h
new file mode 100644
index 000000000..7621bd150
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/GnomeDesktopPeer.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_GnomeDesktopPeer__
+#define __gnu_java_awt_peer_GnomeDesktopPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/ClasspathDesktopPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ class GnomeDesktopPeer;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URI;
+ }
+ }
+}
+
+class gnu::java::awt::peer::GnomeDesktopPeer : public ::gnu::java::awt::peer::ClasspathDesktopPeer
+{
+
+public:
+ GnomeDesktopPeer();
+public: // actually protected
+ virtual ::java::lang::String * getCommand(::java::lang::String *);
+public:
+ virtual void browse(::java::net::URI *);
+public: // actually protected
+ virtual jboolean supportCommand(::java::lang::String *);
+public:
+ virtual void mail();
+public: // actually protected
+ virtual ::java::lang::String * execQuery(::java::lang::String *);
+private:
+ static ::java::lang::String * BROWSER_QUERY_GNOME;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_GnomeDesktopPeer__
diff --git a/libjava/gnu/java/awt/peer/KDEDesktopPeer.h b/libjava/gnu/java/awt/peer/KDEDesktopPeer.h
new file mode 100644
index 000000000..1d6448b6c
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/KDEDesktopPeer.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_KDEDesktopPeer__
+#define __gnu_java_awt_peer_KDEDesktopPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/ClasspathDesktopPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ class KDEDesktopPeer;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::KDEDesktopPeer : public ::gnu::java::awt::peer::ClasspathDesktopPeer
+{
+
+public:
+ KDEDesktopPeer();
+public: // actually protected
+ virtual ::java::lang::String * getCommand(::java::lang::String *);
+ virtual jboolean supportCommand(::java::lang::String *);
+public:
+ virtual void mail();
+public: // actually protected
+ virtual ::java::lang::String * execQuery(::java::lang::String *);
+private:
+ static ::java::lang::String * BROWSER_QUERY_GNOME;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_KDEDesktopPeer__
diff --git a/libjava/gnu/java/awt/peer/NativeEventLoopRunningEvent.h b/libjava/gnu/java/awt/peer/NativeEventLoopRunningEvent.h
new file mode 100644
index 000000000..48a10a74b
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/NativeEventLoopRunningEvent.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_NativeEventLoopRunningEvent__
+#define __gnu_java_awt_peer_NativeEventLoopRunningEvent__
+
+#pragma interface
+
+#include <java/awt/AWTEvent.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ class NativeEventLoopRunningEvent;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::NativeEventLoopRunningEvent : public ::java::awt::AWTEvent
+{
+
+public:
+ NativeEventLoopRunningEvent(::java::lang::Object *);
+ virtual jboolean isRunning();
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) running;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_NativeEventLoopRunningEvent__
diff --git a/libjava/gnu/java/awt/peer/gtk/AsyncImage$Loader.h b/libjava/gnu/java/awt/peer/gtk/AsyncImage$Loader.h
new file mode 100644
index 000000000..aa276f4e6
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/AsyncImage$Loader.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_AsyncImage$Loader__
+#define __gnu_java_awt_peer_gtk_AsyncImage$Loader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class AsyncImage;
+ class AsyncImage$Loader;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::AsyncImage$Loader : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AsyncImage$Loader(::gnu::java::awt::peer::gtk::AsyncImage *, ::java::net::URL *);
+public:
+ virtual void run();
+private:
+ ::java::net::URL * __attribute__((aligned(__alignof__( ::java::lang::Object)))) url;
+public: // actually package-private
+ ::gnu::java::awt::peer::gtk::AsyncImage * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_AsyncImage$Loader__
diff --git a/libjava/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.h b/libjava/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.h
new file mode 100644
index 000000000..86bfeae7a
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_AsyncImage$NullImageSource__
+#define __gnu_java_awt_peer_gtk_AsyncImage$NullImageSource__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class AsyncImage;
+ class AsyncImage$NullImageSource;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ImageConsumer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::AsyncImage$NullImageSource : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AsyncImage$NullImageSource(::gnu::java::awt::peer::gtk::AsyncImage *);
+public:
+ virtual void addConsumer(::java::awt::image::ImageConsumer *);
+ virtual jboolean isConsumer(::java::awt::image::ImageConsumer *);
+ virtual void removeConsumer(::java::awt::image::ImageConsumer *);
+ virtual void requestTopDownLeftRightResend(::java::awt::image::ImageConsumer *);
+ virtual void startProduction(::java::awt::image::ImageConsumer *);
+private:
+ ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) consumers;
+public: // actually package-private
+ ::gnu::java::awt::peer::gtk::AsyncImage * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_AsyncImage$NullImageSource__
diff --git a/libjava/gnu/java/awt/peer/gtk/AsyncImage.h b/libjava/gnu/java/awt/peer/gtk/AsyncImage.h
new file mode 100644
index 000000000..d1735ea4c
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/AsyncImage.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_AsyncImage__
+#define __gnu_java_awt_peer_gtk_AsyncImage__
+
+#pragma interface
+
+#include <java/awt/Image.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class AsyncImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Graphics;
+ class Image;
+ namespace image
+ {
+ class ImageObserver;
+ class ImageProducer;
+ }
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::AsyncImage : public ::java::awt::Image
+{
+
+public: // actually package-private
+ AsyncImage(::java::net::URL *);
+public:
+ virtual void flush();
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual jint getHeight(::java::awt::image::ImageObserver *);
+ virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *);
+ virtual ::java::awt::image::ImageProducer * getSource();
+ virtual jint getWidth(::java::awt::image::ImageObserver *);
+public: // actually package-private
+ virtual void addObserver(::java::awt::image::ImageObserver *);
+ static ::java::awt::Image * realImage(::java::awt::Image *, ::java::awt::image::ImageObserver *);
+ virtual void notifyObservers(jint);
+ virtual jint checkImage(::java::awt::image::ImageObserver *);
+ ::java::awt::Image * __attribute__((aligned(__alignof__( ::java::awt::Image)))) realImage__;
+ ::java::util::HashSet * observers;
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_AsyncImage__
diff --git a/libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h b/libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h
new file mode 100644
index 000000000..032eb270c
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h
@@ -0,0 +1,103 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_BufferedImageGraphics__
+#define __gnu_java_awt_peer_gtk_BufferedImageGraphics__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/CairoGraphics2D.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class BufferedImageGraphics;
+ class CairoSurface;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Shape;
+ namespace font
+ {
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class Rectangle2D;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class ImageObserver;
+ class RenderedImage;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::BufferedImageGraphics : public ::gnu::java::awt::peer::gtk::CairoGraphics2D
+{
+
+public:
+ BufferedImageGraphics(::java::awt::image::BufferedImage *);
+public: // actually package-private
+ BufferedImageGraphics(::gnu::java::awt::peer::gtk::BufferedImageGraphics *);
+private:
+ void updateBufferedImage(jint, jint, jint, jint);
+public:
+ virtual ::java::awt::Graphics * create();
+ virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration();
+public: // actually protected
+ virtual ::java::awt::geom::Rectangle2D * getRealBounds();
+public:
+ virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint);
+ virtual void draw(::java::awt::Shape *);
+ virtual void fill(::java::awt::Shape *);
+ virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *);
+public: // actually protected
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+public:
+ virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat);
+private:
+ jboolean drawComposite(::java::awt::geom::Rectangle2D *, ::java::awt::image::ImageObserver *);
+ void createBuffer();
+public: // actually protected
+ virtual ::java::awt::image::ColorModel * getNativeCM();
+ virtual ::java::awt::image::ColorModel * getBufferCM();
+private:
+ ::java::awt::image::BufferedImage * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::CairoGraphics2D)))) image;
+ ::java::awt::image::BufferedImage * buffer;
+ jint imageWidth;
+ jint imageHeight;
+public: // actually package-private
+ ::gnu::java::awt::peer::gtk::CairoSurface * surface;
+ static ::java::util::WeakHashMap * bufferedImages;
+private:
+ jlong cairo_t;
+ jboolean hasFastCM;
+ jboolean hasAlpha;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_BufferedImageGraphics__
diff --git a/libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h b/libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h
new file mode 100644
index 000000000..5d5ee497d
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h
@@ -0,0 +1,279 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_CairoGraphics2D__
+#define __gnu_java_awt_peer_gtk_CairoGraphics2D__
+
+#pragma interface
+
+#include <java/awt/Graphics2D.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class CairoGraphics2D;
+ class CairoSurface;
+ class GdkFontPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class BasicStroke;
+ class Color;
+ class Composite;
+ class CompositeContext;
+ class Font;
+ class FontMetrics;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Paint;
+ class Rectangle;
+ class RenderingHints;
+ class RenderingHints$Key;
+ class Shape;
+ class Stroke;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class PathIterator;
+ class Rectangle2D;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class BufferedImageOp;
+ class ColorModel;
+ class ImageObserver;
+ class Raster;
+ class RenderedImage;
+ namespace renderable
+ {
+ class RenderableImage;
+ }
+ }
+ }
+ namespace text
+ {
+ class AttributedCharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::CairoGraphics2D : public ::java::awt::Graphics2D
+{
+
+public:
+ CairoGraphics2D();
+ virtual void setup(jlong);
+ virtual void copy(::gnu::java::awt::peer::gtk::CairoGraphics2D *, jlong);
+ virtual void finalize();
+ virtual void dispose();
+public: // actually protected
+ virtual jlong init(jlong);
+public:
+ virtual ::java::awt::Graphics * create() = 0;
+ virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration() = 0;
+public: // actually protected
+ virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint) = 0;
+ virtual ::java::awt::geom::Rectangle2D * getRealBounds() = 0;
+public:
+ virtual void disposeNative(jlong);
+public: // actually protected
+ virtual void drawPixels(jlong, JArray< jint > *, jint, jint, jint, JArray< jdouble > *, jdouble, jint);
+ virtual void setGradient(jlong, jdouble, jdouble, jdouble, jdouble, jint, jint, jint, jint, jint, jint, jint, jint, jboolean);
+ virtual void setPaintPixels(jlong, JArray< jint > *, jint, jint, jint, jboolean, jint, jint);
+ virtual void cairoSetMatrix(jlong, JArray< jdouble > *);
+ virtual void cairoScale(jlong, jdouble, jdouble);
+ virtual void cairoSetOperator(jlong, jint);
+ virtual void cairoSetRGBAColor(jlong, jdouble, jdouble, jdouble, jdouble);
+ virtual void cairoSetFillRule(jlong, jint);
+ virtual void cairoSetLine(jlong, jdouble, jint, jint, jdouble);
+ virtual void cairoSetDash(jlong, JArray< jdouble > *, jint, jdouble);
+ virtual void cairoDrawGlyphVector(jlong, ::gnu::java::awt::peer::gtk::GdkFontPeer *, jfloat, jfloat, jint, JArray< jint > *, JArray< jfloat > *, JArray< jlong > *);
+ virtual void cairoSetFont(jlong, ::gnu::java::awt::peer::gtk::GdkFontPeer *);
+ virtual void cairoRectangle(jlong, jdouble, jdouble, jdouble, jdouble);
+ virtual void cairoArc(jlong, jdouble, jdouble, jdouble, jdouble, jdouble);
+ virtual void cairoSave(jlong);
+ virtual void cairoRestore(jlong);
+ virtual void cairoNewPath(jlong);
+ virtual void cairoClosePath(jlong);
+ virtual void cairoMoveTo(jlong, jdouble, jdouble);
+ virtual void cairoLineTo(jlong, jdouble, jdouble);
+ virtual void cairoCurveTo(jlong, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble);
+ virtual void cairoStroke(jlong);
+ virtual void cairoFill(jlong, jdouble);
+ virtual void cairoClip(jlong);
+ virtual void cairoResetClip(jlong);
+ virtual void cairoSetAntialias(jlong, jboolean);
+public:
+ virtual void setTransform(::java::awt::geom::AffineTransform *);
+private:
+ void setTransformImpl(::java::awt::geom::AffineTransform *);
+public:
+ virtual void transform(::java::awt::geom::AffineTransform *);
+ virtual void rotate(jdouble);
+ virtual void rotate(jdouble, jdouble, jdouble);
+ virtual void scale(jdouble, jdouble);
+ virtual void translate(jdouble, jdouble);
+ virtual void translate(jint, jint);
+ virtual void shear(jdouble, jdouble);
+ virtual void clip(::java::awt::Shape *);
+ virtual ::java::awt::Paint * getPaint();
+ virtual ::java::awt::geom::AffineTransform * getTransform();
+ virtual void setPaint(::java::awt::Paint *);
+public: // actually protected
+ virtual void setCustomPaint(::java::awt::Rectangle *);
+public:
+ virtual ::java::awt::Stroke * getStroke();
+ virtual void setStroke(::java::awt::Stroke *);
+public: // actually protected
+ virtual ::java::awt::Rectangle * findStrokedBounds(::java::awt::Shape *);
+public:
+ virtual void setPaintMode();
+ virtual void setXORMode(::java::awt::Color *);
+ virtual void setColor(::java::awt::Color *);
+public: // actually package-private
+ virtual void updateColor();
+public:
+ virtual ::java::awt::Color * getColor();
+ virtual void clipRect(jint, jint, jint, jint);
+ virtual ::java::awt::Shape * getClip();
+ virtual ::java::awt::Rectangle * getClipBounds();
+public: // actually protected
+ virtual ::java::awt::geom::Rectangle2D * getClipInDevSpace();
+public:
+ virtual void setClip(jint, jint, jint, jint);
+ virtual void setClip(::java::awt::Shape *);
+ virtual void setBackground(::java::awt::Color *);
+ virtual ::java::awt::Color * getBackground();
+ virtual ::java::awt::Composite * getComposite();
+ virtual void setComposite(::java::awt::Composite *);
+public: // actually protected
+ virtual ::java::awt::image::ColorModel * getNativeCM() = 0;
+ virtual ::java::awt::image::ColorModel * getBufferCM();
+public:
+ virtual void draw(::java::awt::Shape *);
+ virtual void fill(::java::awt::Shape *);
+private:
+ void createPath(::java::awt::Shape *, jboolean);
+public:
+ virtual void clearRect(jint, jint, jint, jint);
+ virtual void draw3DRect(jint, jint, jint, jint, jboolean);
+ virtual void drawArc(jint, jint, jint, jint, jint, jint);
+ virtual void drawLine(jint, jint, jint, jint);
+ virtual void drawRect(jint, jint, jint, jint);
+ virtual void fillArc(jint, jint, jint, jint, jint, jint);
+ virtual void fillRect(jint, jint, jint, jint);
+ virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint);
+ virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint);
+ virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint);
+ virtual void drawOval(jint, jint, jint, jint);
+ virtual void drawRoundRect(jint, jint, jint, jint, jint, jint);
+ virtual void fillOval(jint, jint, jint, jint);
+ virtual void fillRoundRect(jint, jint, jint, jint, jint, jint);
+ virtual void copyArea(jint, jint, jint, jint, jint, jint);
+ virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *);
+ virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *);
+ virtual void setRenderingHints(::java::util::Map *);
+ virtual void addRenderingHints(::java::util::Map *);
+ virtual ::java::awt::RenderingHints * getRenderingHints();
+private:
+ jint getInterpolation();
+ void setAntialias(jboolean);
+public: // actually protected
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+public:
+ virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *);
+ virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *);
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *);
+ virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+public: // actually protected
+ virtual void drawCairoSurface(::gnu::java::awt::peer::gtk::CairoSurface *, ::java::awt::geom::AffineTransform *, jdouble, jint);
+public:
+ virtual void drawString(::java::lang::String *, jfloat, jfloat);
+ virtual void drawString(::java::lang::String *, jint, jint);
+ virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint);
+ virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat);
+ virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat);
+ virtual ::java::awt::font::FontRenderContext * getFontRenderContext();
+ virtual ::java::awt::FontMetrics * getFontMetrics();
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual void setFont(::java::awt::Font *);
+ virtual ::java::awt::Font * getFont();
+ virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean);
+ virtual ::java::lang::String * toString();
+private:
+ jboolean drawRaster(::java::awt::image::ColorModel *, ::java::awt::image::Raster *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *);
+ jdouble shiftX(jdouble, jboolean);
+ jdouble shiftY(jdouble, jboolean);
+ void walkPath(::java::awt::geom::PathIterator *, jboolean);
+ ::java::util::Map * getDefaultHints();
+public:
+ static JArray< jint > * findSimpleIntegerArray(::java::awt::image::ColorModel *, ::java::awt::image::Raster *);
+private:
+ void updateClip(::java::awt::geom::AffineTransform *);
+ static ::java::awt::Rectangle * computeIntersection(jint, jint, jint, jint, ::java::awt::Rectangle *);
+public: // actually package-private
+ static ::java::awt::geom::Rectangle2D * getTransformedBounds(::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *);
+ jlong __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) nativePointer;
+ ::java::awt::Paint * paint;
+ jboolean customPaint;
+ ::java::awt::Stroke * stroke;
+ ::java::awt::Color * fg;
+ ::java::awt::Color * bg;
+ ::java::awt::Shape * clip__;
+ ::java::awt::geom::AffineTransform * transform__;
+ ::java::awt::Font * font;
+ ::java::awt::Composite * comp;
+ ::java::awt::CompositeContext * compCtx;
+private:
+ ::java::awt::RenderingHints * hints;
+ jboolean antialias;
+ jboolean ignoreAA;
+public: // actually protected
+ jboolean shiftDrawCalls;
+private:
+ jboolean firstClip;
+ ::java::awt::Shape * originalClip;
+ static ::java::awt::BasicStroke * draw3DRectStroke;
+public: // actually package-private
+ static ::java::awt::image::ColorModel * rgb32;
+ static ::java::awt::image::ColorModel * argb32;
+public:
+ static const jint INTERPOLATION_NEAREST = 0;
+ static const jint INTERPOLATION_BILINEAR = 1;
+ static const jint INTERPOLATION_BICUBIC = 5;
+ static const jint ALPHA_INTERPOLATION_SPEED = 2;
+ static const jint ALPHA_INTERPOLATION_QUALITY = 3;
+ static const jint ALPHA_INTERPOLATION_DEFAULT = 4;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_CairoGraphics2D__
diff --git a/libjava/gnu/java/awt/peer/gtk/CairoSurface.h b/libjava/gnu/java/awt/peer/gtk/CairoSurface.h
new file mode 100644
index 000000000..7e34ee923
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/CairoSurface.h
@@ -0,0 +1,108 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_CairoSurface__
+#define __gnu_java_awt_peer_gtk_CairoSurface__
+
+#pragma interface
+
+#include <java/awt/image/WritableRaster.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class CairoSurface;
+ class GtkImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Graphics2D;
+ class Point;
+ class Rectangle;
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class Raster;
+ class SampleModel;
+ class WritableRaster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::CairoSurface : public ::java::awt::image::WritableRaster
+{
+
+ void create(jint, jint, jint, JArray< jint > *);
+ void destroy(jlong, JArray< jint > *);
+public:
+ virtual void nativeDrawSurface(jlong, jlong, JArray< jdouble > *, jdouble, jint);
+public: // actually package-private
+ virtual void syncNativeToJava(jlong, JArray< jint > *);
+ virtual void syncJavaToNative(jlong, JArray< jint > *);
+ virtual jlong getFlippedBuffer(jlong);
+public:
+ CairoSurface(jint, jint);
+ CairoSurface(jint, jint, jint, jint);
+ CairoSurface(::java::awt::image::SampleModel *, ::gnu::java::awt::peer::gtk::CairoSurface *, ::java::awt::Rectangle *, ::java::awt::Point *);
+public: // actually package-private
+ CairoSurface(::gnu::java::awt::peer::gtk::GtkImage *);
+public:
+ virtual void dispose();
+public: // actually protected
+ virtual void finalize();
+public:
+ virtual ::gnu::java::awt::peer::gtk::GtkImage * getGtkImage();
+ virtual JArray< jint > * getData();
+ static ::java::awt::image::BufferedImage * getBufferedImage(jint, jint);
+ static ::java::awt::image::BufferedImage * getBufferedImage(::gnu::java::awt::peer::gtk::GtkImage *);
+ static ::java::awt::image::BufferedImage * getBufferedImage(::gnu::java::awt::peer::gtk::CairoSurface *);
+ virtual ::java::awt::Graphics2D * getGraphics();
+public: // actually package-private
+ virtual jlong nativeNewCairoContext(jlong);
+public:
+ virtual jlong newCairoContext();
+ virtual void copyAreaNative(jint, jint, jint, jint, jint, jint, jint);
+public: // actually package-private
+ virtual void copyAreaNative2(jlong, jint, jint, jint, jint, jint, jint, jint);
+public: // actually protected
+ static ::java::awt::image::SampleModel * createCairoSampleModel(jint, jint);
+public:
+ static jboolean isCompatibleColorModel(::java::awt::image::ColorModel *);
+ static jboolean isCompatibleSampleModel(::java::awt::image::SampleModel *);
+ virtual ::java::awt::image::Raster * createChild(jint, jint, jint, jint, jint, jint, JArray< jint > *);
+ virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster();
+ virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster(jint, jint, jint, jint);
+ virtual ::java::awt::image::Raster * createTranslatedChild(jint, jint);
+ virtual ::java::awt::image::WritableRaster * createWritableChild(jint, jint, jint, jint, jint, jint, JArray< jint > *);
+ virtual ::java::awt::image::WritableRaster * createWritableTranslatedChild(jint, jint);
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::awt::image::WritableRaster)))) width;
+ jint height;
+ jlong surfacePointer;
+ jboolean sharedBuffer;
+ static ::java::awt::image::ColorModel * cairoColorModel;
+ static ::java::awt::image::ColorModel * cairoCM_pre;
+ static ::java::awt::image::ColorModel * cairoCM_opaque;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_CairoSurface__
diff --git a/libjava/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.h b/libjava/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.h
new file mode 100644
index 000000000..938da7be0
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.h
@@ -0,0 +1,93 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_CairoSurfaceGraphics__
+#define __gnu_java_awt_peer_gtk_CairoSurfaceGraphics__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/CairoGraphics2D.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class CairoSurface;
+ class CairoSurfaceGraphics;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Shape;
+ namespace font
+ {
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class Rectangle2D;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class ImageObserver;
+ class RenderedImage;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::CairoSurfaceGraphics : public ::gnu::java::awt::peer::gtk::CairoGraphics2D
+{
+
+public:
+ CairoSurfaceGraphics(::gnu::java::awt::peer::gtk::CairoSurface *);
+private:
+ CairoSurfaceGraphics(::gnu::java::awt::peer::gtk::CairoSurfaceGraphics *);
+public:
+ virtual ::java::awt::Graphics * create();
+ virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration();
+public: // actually protected
+ virtual ::java::awt::geom::Rectangle2D * getRealBounds();
+public:
+ virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint);
+ virtual void draw(::java::awt::Shape *);
+ virtual void fill(::java::awt::Shape *);
+ virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *);
+public: // actually protected
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+public:
+ virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat);
+private:
+ jboolean drawComposite(::java::awt::geom::Rectangle2D *, ::java::awt::image::ImageObserver *);
+ void createBuffer();
+public: // actually protected
+ virtual ::java::awt::image::ColorModel * getNativeCM();
+ virtual ::java::awt::image::ColorModel * getBufferCM();
+ ::gnu::java::awt::peer::gtk::CairoSurface * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::CairoGraphics2D)))) surface;
+private:
+ ::java::awt::image::BufferedImage * buffer;
+ jlong cairo_t;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_CairoSurfaceGraphics__
diff --git a/libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h b/libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h
new file mode 100644
index 000000000..a9b70e73b
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h
@@ -0,0 +1,152 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_ComponentGraphics__
+#define __gnu_java_awt_peer_gtk_ComponentGraphics__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/CairoGraphics2D.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ class Pointer;
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class CairoSurface;
+ class ComponentGraphics;
+ class GtkComponentPeer;
+ class GtkImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Graphics;
+ class Graphics2D;
+ class GraphicsConfiguration;
+ class Image;
+ class Shape;
+ namespace font
+ {
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class Rectangle2D;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class ImageObserver;
+ class RenderedImage;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::ComponentGraphics : public ::gnu::java::awt::peer::gtk::CairoGraphics2D
+{
+
+public: // actually package-private
+ ComponentGraphics();
+private:
+ ComponentGraphics(::gnu::java::awt::peer::gtk::GtkComponentPeer *);
+ ComponentGraphics(::gnu::java::awt::peer::gtk::ComponentGraphics *);
+ jlong initState(::gnu::java::awt::peer::gtk::GtkComponentPeer *);
+ void lock();
+ void unlock();
+public: // actually protected
+ virtual jlong initFromVolatile(jlong);
+private:
+ void start_gdk_drawing();
+ void end_gdk_drawing();
+public:
+ static jboolean hasXRender();
+private:
+ static ::gnu::classpath::Pointer * nativeGrab(::gnu::java::awt::peer::gtk::GtkComponentPeer *);
+ void copyAreaNative(::gnu::java::awt::peer::gtk::GtkComponentPeer *, jint, jint, jint, jint, jint, jint);
+ void drawVolatile(::gnu::java::awt::peer::gtk::GtkComponentPeer *, jlong, jint, jint, jint, jint, jint, jint, jint, jint);
+public:
+ static ::gnu::java::awt::peer::gtk::GtkImage * grab(::gnu::java::awt::peer::gtk::GtkComponentPeer *);
+ static ::java::awt::Graphics2D * getComponentGraphics(::gnu::java::awt::peer::gtk::GtkComponentPeer *);
+ virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration();
+ virtual ::java::awt::Graphics * create();
+public: // actually protected
+ virtual ::java::awt::geom::Rectangle2D * getRealBounds();
+public:
+ virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint);
+ virtual void draw(::java::awt::Shape *);
+ virtual void fill(::java::awt::Shape *);
+ virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *);
+public: // actually protected
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+public:
+ virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+private:
+ jboolean drawComposite(::java::awt::geom::Rectangle2D *, ::java::awt::image::ImageObserver *);
+ void createBuffer();
+public: // actually protected
+ virtual ::java::awt::image::ColorModel * getNativeCM();
+ virtual jlong init(jlong);
+ virtual void drawPixels(jlong, JArray< jint > *, jint, jint, jint, JArray< jdouble > *, jdouble, jint);
+ virtual void setGradient(jlong, jdouble, jdouble, jdouble, jdouble, jint, jint, jint, jint, jint, jint, jint, jint, jboolean);
+ virtual void setPaintPixels(jlong, JArray< jint > *, jint, jint, jint, jboolean, jint, jint);
+ virtual void cairoSetMatrix(jlong, JArray< jdouble > *);
+ virtual void cairoScale(jlong, jdouble, jdouble);
+ virtual void cairoSetOperator(jlong, jint);
+ virtual void cairoSetRGBAColor(jlong, jdouble, jdouble, jdouble, jdouble);
+ virtual void cairoSetFillRule(jlong, jint);
+ virtual void cairoSetLine(jlong, jdouble, jint, jint, jdouble);
+ virtual void cairoSetDash(jlong, JArray< jdouble > *, jint, jdouble);
+ virtual void cairoRectangle(jlong, jdouble, jdouble, jdouble, jdouble);
+ virtual void cairoArc(jlong, jdouble, jdouble, jdouble, jdouble, jdouble);
+ virtual void cairoSave(jlong);
+ virtual void cairoRestore(jlong);
+ virtual void cairoNewPath(jlong);
+ virtual void cairoClosePath(jlong);
+ virtual void cairoMoveTo(jlong, jdouble, jdouble);
+ virtual void cairoLineTo(jlong, jdouble, jdouble);
+ virtual void cairoCurveTo(jlong, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble);
+ virtual void cairoStroke(jlong);
+ virtual void cairoFill(jlong, jdouble);
+ virtual void cairoClip(jlong);
+ virtual void cairoResetClip(jlong);
+ virtual void cairoSetAntialias(jlong, jboolean);
+ virtual void drawCairoSurface(::gnu::java::awt::peer::gtk::CairoSurface *, ::java::awt::geom::AffineTransform *, jdouble, jint);
+private:
+ static jboolean hasXRenderExtension;
+ ::gnu::java::awt::peer::gtk::GtkComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::CairoGraphics2D)))) component;
+public: // actually protected
+ jlong cairo_t;
+private:
+ ::java::awt::image::BufferedImage * buffer;
+ ::java::awt::image::BufferedImage * componentBuffer;
+ static ::java::lang::ThreadLocal * hasLock;
+ static ::java::lang::Integer * ONE;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_ComponentGraphics__
diff --git a/libjava/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.h b/libjava/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.h
new file mode 100644
index 000000000..7ba10f86f
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_ComponentGraphicsCopy__
+#define __gnu_java_awt_peer_gtk_ComponentGraphicsCopy__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/CairoSurfaceGraphics.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class ComponentGraphicsCopy;
+ class GtkComponentPeer;
+ class GtkImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Image;
+ class Shape;
+ namespace font
+ {
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ namespace image
+ {
+ class ImageObserver;
+ class RenderedImage;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::ComponentGraphicsCopy : public ::gnu::java::awt::peer::gtk::CairoSurfaceGraphics
+{
+
+public: // actually package-private
+ virtual void getPixbuf(::gnu::java::awt::peer::gtk::GtkComponentPeer *, ::gnu::java::awt::peer::gtk::GtkImage *);
+ virtual void copyPixbuf(::gnu::java::awt::peer::gtk::GtkComponentPeer *, ::gnu::java::awt::peer::gtk::GtkImage *, jint, jint, jint, jint);
+public:
+ ComponentGraphicsCopy(jint, jint, ::gnu::java::awt::peer::gtk::GtkComponentPeer *);
+ virtual void draw(::java::awt::Shape *);
+ virtual void fill(::java::awt::Shape *);
+ virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *);
+public: // actually protected
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+public:
+ virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat);
+private:
+ ::gnu::java::awt::peer::gtk::GtkComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::CairoSurfaceGraphics)))) component;
+ ::gnu::java::awt::peer::gtk::GtkImage * gtkimage;
+ jint width;
+ jint height;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_ComponentGraphicsCopy__
diff --git a/libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h b/libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h
new file mode 100644
index 000000000..3f7a62944
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h
@@ -0,0 +1,122 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_FreetypeGlyphVector__
+#define __gnu_java_awt_peer_gtk_FreetypeGlyphVector__
+
+#pragma interface
+
+#include <java/awt/font/GlyphVector.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class FreetypeGlyphVector;
+ class GdkFontPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class Shape;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphJustificationInfo;
+ class GlyphMetrics;
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class GeneralPath;
+ class Point2D;
+ class Rectangle2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::FreetypeGlyphVector : public ::java::awt::font::GlyphVector
+{
+
+ void dispose(JArray< jlong > *);
+ jlong getNativeFontPointer(jint);
+public:
+ FreetypeGlyphVector(::java::awt::Font *, ::java::lang::String *, ::java::awt::font::FontRenderContext *);
+ FreetypeGlyphVector(::java::awt::Font *, JArray< jchar > *, jint, jint, ::java::awt::font::FontRenderContext *, jint);
+ FreetypeGlyphVector(::java::awt::Font *, JArray< jint > *, ::java::awt::font::FontRenderContext *);
+private:
+ FreetypeGlyphVector(::gnu::java::awt::peer::gtk::FreetypeGlyphVector *);
+public:
+ virtual void finalize();
+private:
+ void getGlyphs();
+public:
+ virtual void getGlyphs(JArray< jint > *, JArray< jint > *, JArray< jlong > *);
+private:
+ void getKerning(jint, jint, jlong, JArray< jfloat > *);
+ JArray< jdouble > * getMetricsNative(jint, jlong);
+ ::java::awt::geom::GeneralPath * getGlyphOutlineNative(jint, jlong);
+public:
+ virtual ::java::lang::Object * clone();
+ virtual jboolean equals(::java::awt::font::GlyphVector *);
+ virtual ::java::awt::Font * getFont();
+ virtual ::java::awt::font::FontRenderContext * getFontRenderContext();
+ virtual void performDefaultLayout();
+ virtual jint getGlyphCode(jint);
+ virtual JArray< jint > * getGlyphCodes(jint, jint, JArray< jint > *);
+public: // actually protected
+ virtual JArray< jlong > * getGlyphFonts(jint, jint, JArray< jlong > *);
+public:
+ virtual ::java::awt::Shape * getGlyphLogicalBounds(jint);
+ virtual void setupGlyphMetrics();
+ virtual ::java::awt::font::GlyphMetrics * getGlyphMetrics(jint);
+ virtual ::java::awt::Shape * getGlyphOutline(jint);
+ virtual ::java::awt::geom::Point2D * getGlyphPosition(jint);
+ virtual JArray< jfloat > * getGlyphPositions(jint, jint, JArray< jfloat > *);
+ virtual ::java::awt::geom::AffineTransform * getGlyphTransform(jint);
+public: // actually protected
+ virtual jboolean hasTransforms();
+public:
+ virtual ::java::awt::Shape * getGlyphVisualBounds(jint);
+ virtual ::java::awt::geom::Rectangle2D * getLogicalBounds();
+ virtual jint getNumGlyphs();
+ virtual ::java::awt::Shape * getOutline();
+ virtual ::java::awt::font::GlyphJustificationInfo * getGlyphJustificationInfo(jint);
+ virtual ::java::awt::Shape * getOutline(jfloat, jfloat);
+ virtual ::java::awt::geom::Rectangle2D * getVisualBounds();
+ virtual void setGlyphPosition(jint, ::java::awt::geom::Point2D *);
+ virtual void setGlyphTransform(jint, ::java::awt::geom::AffineTransform *);
+private:
+ ::java::awt::Font * __attribute__((aligned(__alignof__( ::java::awt::font::GlyphVector)))) font;
+ ::gnu::java::awt::peer::gtk::GdkFontPeer * peer;
+ ::java::awt::geom::Rectangle2D * logicalBounds;
+ JArray< jfloat > * glyphPositions;
+ ::java::lang::String * s;
+ ::java::awt::font::FontRenderContext * frc;
+ jint nGlyphs;
+ JArray< jint > * glyphCodes;
+ JArray< jlong > * fontSet;
+ JArray< ::java::awt::geom::AffineTransform * > * glyphTransforms;
+ JArray< ::java::awt::font::GlyphMetrics * > * metricsCache;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_FreetypeGlyphVector__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.h b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.h
new file mode 100644
index 000000000..508a37d8d
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontLineMetrics__
+#define __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontLineMetrics__
+
+#pragma interface
+
+#include <java/awt/font/LineMetrics.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkFontPeer;
+ class GdkFontPeer$GdkFontLineMetrics;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkFontPeer$GdkFontLineMetrics : public ::java::awt::font::LineMetrics
+{
+
+public:
+ GdkFontPeer$GdkFontLineMetrics(::gnu::java::awt::peer::gtk::GdkFontPeer *, ::gnu::java::awt::peer::gtk::GdkFontPeer *, jint);
+ virtual jfloat getAscent();
+ virtual jint getBaselineIndex();
+ virtual JArray< jfloat > * getBaselineOffsets();
+ virtual jfloat getDescent();
+ virtual jfloat getHeight();
+ virtual jfloat getLeading();
+ virtual jint getNumChars();
+ virtual jfloat getStrikethroughOffset();
+ virtual jfloat getStrikethroughThickness();
+ virtual jfloat getUnderlineOffset();
+ virtual jfloat getUnderlineThickness();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::awt::font::LineMetrics)))) nchars;
+public: // actually package-private
+ ::gnu::java::awt::peer::gtk::GdkFontPeer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontLineMetrics__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.h b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.h
new file mode 100644
index 000000000..0c9961ba3
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontMetrics__
+#define __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontMetrics__
+
+#pragma interface
+
+#include <java/awt/FontMetrics.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkFontPeer;
+ class GdkFontPeer$GdkFontMetrics;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkFontPeer$GdkFontMetrics : public ::java::awt::FontMetrics
+{
+
+public:
+ GdkFontPeer$GdkFontMetrics(::gnu::java::awt::peer::gtk::GdkFontPeer *, ::java::awt::Font *);
+ virtual jint stringWidth(::java::lang::String *);
+ virtual jint charWidth(jchar);
+ virtual jint charsWidth(JArray< jchar > *, jint, jint);
+ virtual jint getHeight();
+ virtual jint getLeading();
+ virtual jint getAscent();
+ virtual jint getMaxAscent();
+ virtual jint getDescent();
+ virtual jint getMaxDescent();
+ virtual jint getMaxAdvance();
+public: // actually package-private
+ ::gnu::java::awt::peer::gtk::GdkFontPeer * __attribute__((aligned(__alignof__( ::java::awt::FontMetrics)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontMetrics__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h
new file mode 100644
index 000000000..ebfdd2c96
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h
@@ -0,0 +1,147 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkFontPeer__
+#define __gnu_java_awt_peer_gtk_GdkFontPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/ClasspathFontPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ class Pointer;
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkFontPeer;
+ class GdkFontPeer$GdkFontMetrics;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class FontMetrics;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphMetrics;
+ class GlyphVector;
+ class LineMetrics;
+ }
+ namespace geom
+ {
+ class Rectangle2D;
+ }
+ }
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ namespace text
+ {
+ class CharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkFontPeer : public ::gnu::java::awt::peer::ClasspathFontPeer
+{
+
+public: // actually package-private
+ static void initStaticState();
+private:
+ void initState();
+ void dispose();
+ void setFont(::java::lang::String *, jint, jint);
+public: // actually package-private
+ virtual void getFontMetrics(JArray< jdouble > *);
+ virtual void getTextMetrics(::java::lang::String *, JArray< jdouble > *);
+ virtual void releasePeerGraphicsResource();
+public: // actually protected
+ virtual void finalize();
+private:
+ ::java::lang::String * buildString(::java::text::CharacterIterator *);
+ ::java::lang::String * buildString(::java::text::CharacterIterator *, jint, jint);
+ ::java::lang::String * buildString(JArray< jchar > *, jint, jint);
+public:
+ GdkFontPeer(::java::lang::String *, jint);
+ GdkFontPeer(::java::lang::String *, jint, jint);
+ GdkFontPeer(::java::lang::String *, ::java::util::Map *);
+public: // actually package-private
+ static ::java::awt::Font * initFont(::java::awt::Font *);
+private:
+ void setupMetrics();
+public:
+ virtual ::java::lang::String * getSubFamilyName(::java::awt::Font *, ::java::util::Locale *);
+private:
+ JArray< jbyte > * getTrueTypeTable(jbyte, jbyte, jbyte, jbyte);
+public:
+ virtual ::java::lang::String * getPostScriptName(::java::awt::Font *);
+private:
+ ::java::lang::String * getName(jint, ::java::util::Locale *);
+public:
+ virtual jboolean canDisplay(::java::awt::Font *, jint);
+ virtual jint canDisplayUpTo(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint);
+ virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *);
+ virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jint > *);
+ virtual jbyte getBaselineFor(::java::awt::Font *, jchar);
+ virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *);
+ virtual ::java::awt::geom::Rectangle2D * getMaxCharBounds(::java::awt::Font *, ::java::awt::font::FontRenderContext *);
+ virtual jint getMissingGlyphCode(::java::awt::Font *);
+ virtual ::java::lang::String * getGlyphName(::java::awt::Font *, jint);
+ virtual jint getNumGlyphs(::java::awt::Font *);
+ virtual jboolean hasUniformLineMetrics(::java::awt::Font *);
+ virtual ::java::awt::font::GlyphVector * layoutGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jchar > *, jint, jint, jint);
+ virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::lang::String *, ::java::awt::font::FontRenderContext *);
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+public: // actually package-private
+ virtual ::java::awt::font::GlyphMetrics * getGlyphMetrics(jint);
+ virtual void putGlyphMetrics(jint, ::java::awt::font::GlyphMetrics *);
+ static ::java::awt::font::FontRenderContext * DEFAULT_CTX;
+ ::java::util::HashMap * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::ClasspathFontPeer)))) textLayoutCache;
+private:
+ jint native_state;
+ ::java::util::HashMap * metricsCache;
+ static const jint FONT_METRICS_ASCENT = 0;
+ static const jint FONT_METRICS_MAX_ASCENT = 1;
+ static const jint FONT_METRICS_DESCENT = 2;
+ static const jint FONT_METRICS_MAX_DESCENT = 3;
+ static const jint FONT_METRICS_MAX_ADVANCE = 4;
+ static const jint FONT_METRICS_HEIGHT = 5;
+ static const jint FONT_METRICS_UNDERLINE_OFFSET = 6;
+ static const jint FONT_METRICS_UNDERLINE_THICKNESS = 7;
+public: // actually package-private
+ jfloat ascent;
+ jfloat descent;
+ jfloat maxAscent;
+ jfloat maxDescent;
+ jfloat maxAdvance;
+ jfloat height;
+ jfloat underlineOffset;
+ jfloat underlineThickness;
+ ::gnu::java::awt::peer::gtk::GdkFontPeer$GdkFontMetrics * metrics;
+private:
+ ::java::nio::ByteBuffer * nameTable;
+ ::gnu::classpath::Pointer * nativeFont;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkFontPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.h b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.h
new file mode 100644
index 000000000..d36580f0f
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkGraphicsConfiguration__
+#define __gnu_java_awt_peer_gtk_GdkGraphicsConfiguration__
+
+#pragma interface
+
+#include <java/awt/GraphicsConfiguration.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkGraphicsConfiguration;
+ class GdkScreenGraphicsDevice;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class BufferCapabilities;
+ class GraphicsDevice;
+ class ImageCapabilities;
+ class Rectangle;
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class VolatileImage;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkGraphicsConfiguration : public ::java::awt::GraphicsConfiguration
+{
+
+public:
+ GdkGraphicsConfiguration(::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice *);
+ virtual ::java::awt::GraphicsDevice * getDevice();
+ virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint);
+ virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint, jint);
+ virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint);
+ virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, ::java::awt::ImageCapabilities *);
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual ::java::awt::image::ColorModel * getColorModel(jint);
+ virtual ::java::awt::geom::AffineTransform * getDefaultTransform();
+ virtual ::java::awt::geom::AffineTransform * getNormalizingTransform();
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual ::java::awt::BufferCapabilities * getBufferCapabilities();
+ virtual ::java::awt::ImageCapabilities * getImageCapabilities();
+ virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, jint);
+public: // actually package-private
+ ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * __attribute__((aligned(__alignof__( ::java::awt::GraphicsConfiguration)))) gdkScreenGraphicsDevice;
+ ::java::awt::image::ColorModel * opaqueColorModel;
+ ::java::awt::image::ColorModel * bitmaskColorModel;
+ ::java::awt::image::ColorModel * translucentColorModel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkGraphicsConfiguration__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h
new file mode 100644
index 000000000..978c2ec50
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h
@@ -0,0 +1,93 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkGraphicsEnvironment__
+#define __gnu_java_awt_peer_gtk_GdkGraphicsEnvironment__
+
+#pragma interface
+
+#include <gnu/java/awt/ClasspathGraphicsEnvironment.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ class Pointer;
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkGraphicsEnvironment;
+ class GdkScreenGraphicsDevice;
+ class GtkWindowPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class Graphics2D;
+ class GraphicsDevice;
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class SampleModel;
+ class WritableRaster;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkGraphicsEnvironment : public ::gnu::java::awt::ClasspathGraphicsEnvironment
+{
+
+ static void initIDs();
+public:
+ GdkGraphicsEnvironment();
+public: // actually package-private
+ virtual void nativeInitState();
+public:
+ virtual JArray< ::java::awt::GraphicsDevice * > * getScreenDevices();
+private:
+ JArray< ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * > * nativeGetScreenDevices();
+public:
+ virtual ::java::awt::GraphicsDevice * getDefaultScreenDevice();
+private:
+ ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * nativeGetDefaultScreenDevice();
+public:
+ virtual ::java::awt::Graphics2D * createGraphics(::java::awt::image::BufferedImage *);
+private:
+ jint nativeGetNumFontFamilies();
+ void nativeGetFontFamilies(JArray< ::java::lang::String * > *);
+public:
+ virtual JArray< ::java::awt::Font * > * getAllFonts();
+ virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames();
+ virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(::java::util::Locale *);
+public: // actually package-private
+ virtual JArray< jint > * getMouseCoordinates();
+ virtual jboolean isWindowUnderMouse(::gnu::java::awt::peer::gtk::GtkWindowPeer *);
+public:
+ virtual ::java::awt::image::WritableRaster * createRaster(::java::awt::image::ColorModel *, ::java::awt::image::SampleModel *);
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::awt::ClasspathGraphicsEnvironment)))) native_state;
+ ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * defaultDevice;
+ JArray< ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * > * devices;
+ ::gnu::classpath::Pointer * display;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkGraphicsEnvironment__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.h
new file mode 100644
index 000000000..197639f33
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReader__
+#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReader__
+
+#pragma interface
+
+#include <javax/imageio/ImageReader.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkPixbufDecoder;
+ class GdkPixbufDecoder$GdkPixbufReader;
+ class GdkPixbufDecoder$GdkPixbufReaderSpi;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace imageio
+ {
+ class ImageReadParam;
+ namespace metadata
+ {
+ class IIOMetadata;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReader : public ::javax::imageio::ImageReader
+{
+
+public:
+ GdkPixbufDecoder$GdkPixbufReader(::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReaderSpi *, ::java::lang::Object *);
+ GdkPixbufDecoder$GdkPixbufReader(::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReaderSpi *, ::java::lang::Object *, ::gnu::java::awt::peer::gtk::GdkPixbufDecoder *);
+ virtual void setDimensions(jint, jint);
+ virtual void setProperties(::java::util::Hashtable *);
+ virtual void setColorModel(::java::awt::image::ColorModel *);
+ virtual void setHints(jint);
+ virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint);
+ virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint);
+ virtual void imageComplete(jint);
+ virtual ::java::awt::image::BufferedImage * getBufferedImage();
+ virtual jint getNumImages(jboolean);
+ virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint);
+ virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata();
+ virtual ::java::util::Iterator * getImageTypes(jint);
+ virtual jint getHeight(jint);
+ virtual jint getWidth(jint);
+ virtual void setInput(::java::lang::Object *, jboolean, jboolean);
+ virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *);
+public: // actually package-private
+ ::gnu::java::awt::peer::gtk::GdkPixbufDecoder * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReader)))) dec;
+ ::java::awt::image::BufferedImage * bufferedImage;
+ ::java::awt::image::ColorModel * defaultModel;
+ jint width;
+ jint height;
+ ::java::lang::String * ext;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReader__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.h
new file mode 100644
index 000000000..118167103
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReaderSpi__
+#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReaderSpi__
+
+#pragma interface
+
+#include <javax/imageio/spi/ImageReaderSpi.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkPixbufDecoder$GdkPixbufReaderSpi;
+ }
+ }
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace imageio
+ {
+ class ImageReader;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReaderSpi : public ::javax::imageio::spi::ImageReaderSpi
+{
+
+public:
+ GdkPixbufDecoder$GdkPixbufReaderSpi();
+ virtual jboolean canDecodeInput(::java::lang::Object *);
+ virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *);
+ virtual ::java::lang::String * getDescription(::java::util::Locale *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReaderSpi__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.h
new file mode 100644
index 000000000..d88b2ae8a
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriter__
+#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriter__
+
+#pragma interface
+
+#include <javax/imageio/ImageWriter.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkPixbufDecoder$GdkPixbufWriter;
+ class GdkPixbufDecoder$GdkPixbufWriterSpi;
+ }
+ }
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace imageio
+ {
+ class IIOImage;
+ class ImageTypeSpecifier;
+ class ImageWriteParam;
+ namespace metadata
+ {
+ class IIOMetadata;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriter : public ::javax::imageio::ImageWriter
+{
+
+public:
+ GdkPixbufDecoder$GdkPixbufWriter(::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriterSpi *, ::java::lang::Object *);
+ virtual ::javax::imageio::metadata::IIOMetadata * convertImageMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *);
+ virtual ::javax::imageio::metadata::IIOMetadata * convertStreamMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageWriteParam *);
+ virtual ::javax::imageio::metadata::IIOMetadata * getDefaultImageMetadata(::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *);
+ virtual ::javax::imageio::metadata::IIOMetadata * getDefaultStreamMetadata(::javax::imageio::ImageWriteParam *);
+ virtual void write(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+private:
+ void write(JArray< jbyte > *);
+public:
+ virtual void run();
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::imageio::ImageWriter)))) ext;
+private:
+ static ::java::lang::Object * DATADONE;
+ ::java::util::ArrayList * data;
+ ::java::io::IOException * exception;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriter__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.h
new file mode 100644
index 000000000..d8ac5af3b
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriterSpi__
+#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriterSpi__
+
+#pragma interface
+
+#include <javax/imageio/spi/ImageWriterSpi.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkPixbufDecoder$GdkPixbufWriterSpi;
+ }
+ }
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace imageio
+ {
+ class ImageTypeSpecifier;
+ class ImageWriter;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriterSpi : public ::javax::imageio::spi::ImageWriterSpi
+{
+
+public:
+ GdkPixbufDecoder$GdkPixbufWriterSpi();
+ virtual jboolean canEncodeImage(::javax::imageio::ImageTypeSpecifier *);
+ virtual ::javax::imageio::ImageWriter * createWriterInstance(::java::lang::Object *);
+ virtual ::java::lang::String * getDescription(::java::util::Locale *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriterSpi__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.h
new file mode 100644
index 000000000..03316f539
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder$ImageFormatSpec__
+#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder$ImageFormatSpec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkPixbufDecoder$ImageFormatSpec;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkPixbufDecoder$ImageFormatSpec : public ::java::lang::Object
+{
+
+public:
+ GdkPixbufDecoder$ImageFormatSpec(::java::lang::String *, jboolean);
+ virtual void addMimeType(::java::lang::String *);
+ virtual void addExtension(::java::lang::String *);
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ jboolean writable;
+ ::java::util::ArrayList * mimeTypes;
+ ::java::util::ArrayList * extensions;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder$ImageFormatSpec__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder.h
new file mode 100644
index 000000000..1c5fa7939
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder.h
@@ -0,0 +1,115 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder__
+#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder__
+
+#pragma interface
+
+#include <gnu/java/awt/image/ImageDecoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ class Pointer;
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkPixbufDecoder;
+ class GdkPixbufDecoder$GdkPixbufReaderSpi;
+ class GdkPixbufDecoder$GdkPixbufWriter;
+ class GdkPixbufDecoder$GdkPixbufWriterSpi;
+ class GdkPixbufDecoder$ImageFormatSpec;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ColorModel;
+ }
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+ namespace javax
+ {
+ namespace imageio
+ {
+ namespace spi
+ {
+ class IIORegistry;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkPixbufDecoder : public ::gnu::java::awt::image::ImageDecoder
+{
+
+public: // actually package-private
+ static void initStaticState();
+ virtual void initState();
+ virtual void pumpBytes(JArray< jbyte > *, jint);
+ virtual void pumpDone();
+ virtual void finish(jboolean);
+ static void streamImage(JArray< jint > *, ::java::lang::String *, jint, jint, jboolean, ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriter *);
+public:
+ GdkPixbufDecoder(::java::io::DataInput *);
+ GdkPixbufDecoder(::java::io::InputStream *);
+ GdkPixbufDecoder(::java::lang::String *);
+ GdkPixbufDecoder(::java::net::URL *);
+ GdkPixbufDecoder(JArray< jbyte > *, jint, jint);
+public: // actually package-private
+ virtual void areaPrepared(jint, jint);
+ virtual void areaUpdated(jint, jint, jint, jint, JArray< jint > *, jint);
+public:
+ virtual void produce(::java::util::Vector *, ::java::io::InputStream *);
+ virtual void finalize();
+ static ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$ImageFormatSpec * registerFormat(::java::lang::String *, jboolean);
+public: // actually package-private
+ static JArray< ::java::lang::String * > * getFormatNames(jboolean);
+ static JArray< ::java::lang::String * > * getFormatExtensions(jboolean);
+ static JArray< ::java::lang::String * > * getFormatMimeTypes(jboolean);
+ static ::java::lang::String * findFormatName(::java::lang::Object *, jboolean);
+public:
+ static ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReaderSpi * getReaderSpi();
+ static ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriterSpi * getWriterSpi();
+ static void registerSpis(::javax::imageio::spi::IIORegistry *);
+public: // actually package-private
+ static ::java::lang::Object * pixbufLock;
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::awt::image::ImageDecoder)))) native_state;
+ jboolean needsClose;
+public: // actually package-private
+ ::java::util::Vector * curr;
+private:
+ ::gnu::classpath::Pointer * nativeDecoder;
+public: // actually package-private
+ static ::java::awt::image::ColorModel * cm;
+ static ::java::util::ArrayList * imageFormatSpecs;
+private:
+ static ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReaderSpi * readerSpi;
+ static ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriterSpi * writerSpi;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkRobotPeer.h b/libjava/gnu/java/awt/peer/gtk/GdkRobotPeer.h
new file mode 100644
index 000000000..24c6a853c
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkRobotPeer.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkRobotPeer__
+#define __gnu_java_awt_peer_gtk_GdkRobotPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkRobotPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class GraphicsDevice;
+ class Rectangle;
+ namespace image
+ {
+ class ColorModel;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkRobotPeer : public ::java::lang::Object
+{
+
+public:
+ GdkRobotPeer(::java::awt::GraphicsDevice *);
+public: // actually package-private
+ virtual jboolean initXTest();
+public:
+ virtual void mouseMove(jint, jint);
+ virtual void mousePress(jint);
+ virtual void mouseRelease(jint);
+ virtual void mouseWheel(jint);
+ virtual void keyPress(jint);
+ virtual void keyRelease(jint);
+public: // actually package-private
+ virtual JArray< jint > * nativeGetRGBPixels(jint, jint, jint, jint);
+public:
+ virtual jint getRGBPixel(jint, jint);
+ virtual JArray< jint > * getRGBPixels(::java::awt::Rectangle *);
+ virtual void dispose();
+public: // actually package-private
+ static ::java::awt::image::ColorModel * cm;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkRobotPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.h b/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.h
new file mode 100644
index 000000000..5c27e4c25
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice$X11DisplayMode__
+#define __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice$X11DisplayMode__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkScreenGraphicsDevice$X11DisplayMode;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice$X11DisplayMode : public ::java::lang::Object
+{
+
+public: // actually package-private
+ GdkScreenGraphicsDevice$X11DisplayMode(jint, jint, JArray< jshort > *);
+ JArray< jshort > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) rates;
+ jint width;
+ jint height;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice$X11DisplayMode__
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.h b/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.h
new file mode 100644
index 000000000..ff0362b99
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.h
@@ -0,0 +1,103 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice__
+#define __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice__
+
+#pragma interface
+
+#include <java/awt/GraphicsDevice.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ class Pointer;
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkGraphicsConfiguration;
+ class GdkGraphicsEnvironment;
+ class GdkScreenGraphicsDevice;
+ class GdkScreenGraphicsDevice$X11DisplayMode;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class DisplayMode;
+ class GraphicsConfiguration;
+ class Rectangle;
+ class Window;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice : public ::java::awt::GraphicsDevice
+{
+
+public: // actually package-private
+ static void initIDs();
+ GdkScreenGraphicsDevice(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *);
+ virtual void init();
+ virtual ::java::awt::DisplayMode * nativeGetFixedDisplayMode(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *);
+public:
+ virtual jint getType();
+ virtual ::java::lang::String * getIDstring();
+private:
+ ::java::lang::String * nativeGetIDString();
+public:
+ virtual JArray< ::java::awt::GraphicsConfiguration * > * getConfigurations();
+ virtual ::java::awt::GraphicsConfiguration * getDefaultConfiguration();
+ virtual ::java::awt::DisplayMode * getDisplayMode();
+public: // actually package-private
+ virtual jint nativeGetDisplayModeIndex(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *);
+ virtual jint nativeGetDisplayModeRate(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *);
+public:
+ virtual JArray< ::java::awt::DisplayMode * > * getDisplayModes();
+public: // actually package-private
+ virtual JArray< ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice$X11DisplayMode * > * nativeGetDisplayModes(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *);
+public:
+ virtual jboolean isFullScreenSupported();
+ virtual jboolean isDisplayChangeSupported();
+ virtual void setDisplayMode(::java::awt::DisplayMode *);
+public: // actually package-private
+ virtual void nativeSetDisplayMode(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *, jint, jshort);
+public:
+ virtual void setFullScreenWindow(::java::awt::Window *);
+ virtual ::java::awt::Window * getFullScreenWindow();
+public: // actually package-private
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual ::java::awt::Rectangle * nativeGetBounds();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::awt::GraphicsDevice)))) native_state;
+ ::java::awt::Window * fullscreenWindow;
+ jboolean oldWindowDecorationState;
+ ::java::awt::Rectangle * oldWindowBounds;
+ ::java::awt::Rectangle * bounds;
+ JArray< ::gnu::java::awt::peer::gtk::GdkGraphicsConfiguration * > * configurations;
+public: // actually package-private
+ ::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment * env;
+ ::java::lang::String * idString;
+ JArray< ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice$X11DisplayMode * > * displayModes;
+ ::java::awt::DisplayMode * fixedDisplayMode;
+private:
+ ::gnu::classpath::Pointer * screen;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.h
new file mode 100644
index 000000000..6abd26741
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkButtonPeer__
+#define __gnu_java_awt_peer_gtk_GtkButtonPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkComponentPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkButtonPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Button;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkButtonPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer
+{
+
+public: // actually package-private
+ virtual void create(::java::lang::String *);
+public:
+ virtual void connectSignals();
+public: // actually protected
+ virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint);
+public: // actually package-private
+ virtual void gtkSetLabel(::java::lang::String *);
+ virtual void gtkWidgetSetForeground(jint, jint, jint);
+ virtual void gtkWidgetSetBackground(jint, jint, jint);
+ virtual void gtkActivate();
+ virtual void gtkWidgetRequestFocus();
+ virtual void setNativeBounds(jint, jint, jint, jint);
+ virtual void gtkWidgetGetPreferredDimensions(JArray< jint > *);
+public:
+ GtkButtonPeer(::java::awt::Button *);
+public: // actually package-private
+ virtual void create();
+public:
+ virtual void setLabel(::java::lang::String *);
+public: // actually package-private
+ virtual void postActionEvent(jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkButtonPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkCanvasPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkCanvasPeer.h
new file mode 100644
index 000000000..3808c2fae
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkCanvasPeer.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkCanvasPeer__
+#define __gnu_java_awt_peer_gtk_GtkCanvasPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkCanvasPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Canvas;
+ class Dimension;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkCanvasPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer
+{
+
+public: // actually package-private
+ virtual void create();
+public:
+ GtkCanvasPeer(::java::awt::Canvas *);
+ virtual ::java::awt::Dimension * preferredSize();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkCanvasPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.h
new file mode 100644
index 000000000..2a2f4559c
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer__
+#define __gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkMenuItemPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkCheckboxMenuItemPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class CheckboxMenuItem;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkCheckboxMenuItemPeer : public ::gnu::java::awt::peer::gtk::GtkMenuItemPeer
+{
+
+public: // actually protected
+ virtual void create(::java::lang::String *);
+public:
+ GtkCheckboxMenuItemPeer(::java::awt::CheckboxMenuItem *);
+ virtual void setState(jboolean);
+public: // actually protected
+ virtual void postMenuActionEvent();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkCheckboxPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkCheckboxPeer.h
new file mode 100644
index 000000000..e97d21f9d
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkCheckboxPeer.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkCheckboxPeer__
+#define __gnu_java_awt_peer_gtk_GtkCheckboxPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkCheckboxPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Checkbox;
+ class CheckboxGroup;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkCheckboxPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer
+{
+
+public:
+ virtual void createCheckButton();
+ virtual void createRadioButton(jlong);
+ virtual void addToGroup(jlong);
+ virtual void removeFromGroup();
+ virtual void switchToGroup(jlong);
+ virtual void connectSignals();
+public: // actually protected
+ virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint);
+public: // actually package-private
+ virtual void gtkButtonSetLabel(::java::lang::String *);
+ virtual void gtkToggleButtonSetActive(jboolean);
+public:
+ GtkCheckboxPeer(::java::awt::Checkbox *);
+ virtual void create();
+ virtual void setState(jboolean);
+ virtual void setLabel(::java::lang::String *);
+ virtual void setCheckboxGroup(::java::awt::CheckboxGroup *);
+ virtual void postItemEvent(::java::lang::Object *, jboolean);
+ virtual void addToGroupMap(jlong);
+ virtual void dispose();
+ ::java::awt::CheckboxGroup * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkComponentPeer)))) current_group;
+private:
+ jboolean currentState;
+ static ::java::util::WeakHashMap * groupMap;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkCheckboxPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkChoicePeer.h b/libjava/gnu/java/awt/peer/gtk/GtkChoicePeer.h
new file mode 100644
index 000000000..632fb4063
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkChoicePeer.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkChoicePeer__
+#define __gnu_java_awt_peer_gtk_GtkChoicePeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkChoicePeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTEvent;
+ class Choice;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkChoicePeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer
+{
+
+public:
+ GtkChoicePeer(::java::awt::Choice *);
+public: // actually package-private
+ virtual void create();
+ virtual jint nativeGetSelected();
+ virtual void connectSignals();
+ virtual void selectNative(jint);
+ virtual void selectNativeUnlocked(jint);
+public:
+ virtual void add(::java::lang::String *, jint);
+public: // actually package-private
+ virtual void nativeRemove(jint);
+ virtual void nativeRemoveAll();
+public:
+ virtual void select(jint);
+ virtual void remove(jint);
+ virtual void removeAll();
+ virtual void addItem(::java::lang::String *, jint);
+public: // actually protected
+ virtual void postChoiceItemEvent(jint);
+public:
+ virtual void handleEvent(::java::awt::AWTEvent *);
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkComponentPeer)))) selected;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkChoicePeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkClipboard.h b/libjava/gnu/java/awt/peer/gtk/GtkClipboard.h
new file mode 100644
index 000000000..24b275a78
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkClipboard.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkClipboard__
+#define __gnu_java_awt_peer_gtk_GtkClipboard__
+
+#pragma interface
+
+#include <java/awt/datatransfer/Clipboard.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkClipboard;
+ class GtkImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace datatransfer
+ {
+ class ClipboardOwner;
+ class Transferable;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkClipboard : public ::java::awt::datatransfer::Clipboard
+{
+
+ GtkClipboard(::java::lang::String *);
+public: // actually package-private
+ static ::gnu::java::awt::peer::gtk::GtkClipboard * getClipboardInstance();
+ static ::gnu::java::awt::peer::gtk::GtkClipboard * getSelectionInstance();
+private:
+ void setSystemContents(jboolean);
+public:
+ virtual void setContents(::java::awt::datatransfer::Transferable *, ::java::awt::datatransfer::ClipboardOwner *);
+private:
+ void advertiseContent(JArray< ::java::lang::String * > *, jboolean, jboolean, jboolean);
+ ::java::lang::String * provideText();
+ ::gnu::java::awt::peer::gtk::GtkImage * provideImage();
+ JArray< ::java::lang::String * > * provideURIs();
+ JArray< jbyte > * provideContent(::java::lang::String *);
+ static jboolean initNativeState(::gnu::java::awt::peer::gtk::GtkClipboard *, ::gnu::java::awt::peer::gtk::GtkClipboard *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+public: // actually package-private
+ static ::gnu::java::awt::peer::gtk::GtkClipboard * clipboard;
+ static ::gnu::java::awt::peer::gtk::GtkClipboard * selection;
+ static ::java::lang::String * stringMimeType;
+ static ::java::lang::String * imageMimeType;
+ static ::java::lang::String * filesMimeType;
+ static jboolean canCache;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkClipboard__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkClipboardNotifier.h b/libjava/gnu/java/awt/peer/gtk/GtkClipboardNotifier.h
new file mode 100644
index 000000000..59d04d0f8
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkClipboardNotifier.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkClipboardNotifier__
+#define __gnu_java_awt_peer_gtk_GtkClipboardNotifier__
+
+#pragma interface
+
+#include <java/lang/Thread.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkClipboard;
+ class GtkClipboardNotifier;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkClipboardNotifier : public ::java::lang::Thread
+{
+
+ GtkClipboardNotifier();
+public: // actually package-private
+ static void announce(::gnu::java::awt::peer::gtk::GtkClipboard *);
+public:
+ virtual void run();
+private:
+ static jboolean announceClipboardChange;
+ static jboolean announcePrimaryChange;
+ static ::gnu::java::awt::peer::gtk::GtkClipboardNotifier * notifier;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkClipboardNotifier__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.h b/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.h
new file mode 100644
index 000000000..c556b5250
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkComponentPeer$RepaintTimerTask__
+#define __gnu_java_awt_peer_gtk_GtkComponentPeer$RepaintTimerTask__
+
+#pragma interface
+
+#include <java/util/TimerTask.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkComponentPeer$RepaintTimerTask;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkComponentPeer$RepaintTimerTask : public ::java::util::TimerTask
+{
+
+public: // actually package-private
+ GtkComponentPeer$RepaintTimerTask(::java::awt::Component *, jint, jint, jint, jint);
+public:
+ virtual void run();
+public: // actually package-private
+ static void schedule(jlong, jint, jint, jint, jint, ::java::awt::Component *);
+private:
+ static ::java::util::Timer * repaintTimer;
+ jint __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) x;
+ jint y;
+ jint width;
+ jint height;
+ ::java::awt::Component * awtComponent;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkComponentPeer$RepaintTimerTask__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.h
new file mode 100644
index 000000000..78c7127c8
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.h
@@ -0,0 +1,208 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkComponentPeer__
+#define __gnu_java_awt_peer_gtk_GtkComponentPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkGenericPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkComponentPeer;
+ class GtkImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTEvent;
+ class BufferCapabilities;
+ class BufferCapabilities$FlipContents;
+ class Color;
+ class Component;
+ class Cursor;
+ class Dimension;
+ class Font;
+ class FontMetrics;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Insets;
+ class Point;
+ class Rectangle;
+ class Toolkit;
+ class Window;
+ namespace event
+ {
+ class PaintEvent;
+ }
+ namespace image
+ {
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ class VolatileImage;
+ }
+ namespace peer
+ {
+ class ComponentPeer;
+ class ContainerPeer;
+ }
+ }
+ }
+ namespace sun
+ {
+ namespace awt
+ {
+ class CausedFocusEvent$Cause;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkComponentPeer : public ::gnu::java::awt::peer::gtk::GtkGenericPeer
+{
+
+public: // actually package-private
+ virtual jboolean isEnabled();
+ static jboolean modalHasGrab();
+ virtual JArray< jint > * gtkWidgetGetForeground();
+ virtual JArray< jint > * gtkWidgetGetBackground();
+ virtual void gtkWidgetGetDimensions(JArray< jint > *);
+ virtual void gtkWidgetGetPreferredDimensions(JArray< jint > *);
+ virtual void gtkWindowGetLocationOnScreen(JArray< jint > *);
+ virtual void gtkWindowGetLocationOnScreenUnlocked(JArray< jint > *);
+ virtual void gtkWidgetGetLocationOnScreen(JArray< jint > *);
+ virtual void gtkWidgetGetLocationOnScreenUnlocked(JArray< jint > *);
+ virtual void gtkWidgetSetCursor(jint, ::gnu::java::awt::peer::gtk::GtkImage *, jint, jint);
+ virtual void gtkWidgetSetCursorUnlocked(jint, ::gnu::java::awt::peer::gtk::GtkImage *, jint, jint);
+ virtual void gtkWidgetSetBackground(jint, jint, jint);
+ virtual void gtkWidgetSetForeground(jint, jint, jint);
+ virtual void gtkWidgetSetSensitive(jboolean);
+ virtual void gtkWidgetSetParent(::java::awt::peer::ComponentPeer *);
+ virtual void gtkWidgetRequestFocus();
+ virtual void gtkWidgetDispatchKeyEvent(jint, jlong, jint, jint, jint);
+ virtual jboolean gtkWidgetHasFocus();
+ virtual jboolean gtkWidgetCanFocus();
+ virtual void realize();
+ virtual void setNativeEventMask();
+ virtual void create();
+ virtual void connectSignals();
+public: // actually protected
+ GtkComponentPeer(::java::awt::Component *);
+public: // actually package-private
+ virtual void setParentAndBounds();
+ virtual void setParent();
+ virtual void setComponentBounds();
+ virtual void setVisibleAndEnabled();
+public:
+ virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *);
+ virtual ::java::awt::Image * createImage(jint, jint);
+ virtual void disable();
+ virtual void enable();
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual ::java::awt::Dimension * getMinimumSize();
+ virtual ::java::awt::Dimension * getPreferredSize();
+ virtual ::java::awt::Toolkit * getToolkit();
+ virtual void handleEvent(::java::awt::AWTEvent *);
+public: // actually protected
+ virtual void paintComponent(::java::awt::event::PaintEvent *);
+ virtual void updateComponent(::java::awt::event::PaintEvent *);
+public:
+ virtual jboolean isFocusTraversable();
+ virtual ::java::awt::Dimension * minimumSize();
+ virtual void paint(::java::awt::Graphics *);
+ virtual ::java::awt::Dimension * preferredSize();
+ virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void print(::java::awt::Graphics *);
+ virtual void repaint(jlong, jint, jint, jint, jint);
+ virtual void requestFocus();
+ virtual void reshape(jint, jint, jint, jint);
+ virtual void setBackground(::java::awt::Color *);
+public: // actually package-private
+ virtual void setNativeBounds(jint, jint, jint, jint);
+public:
+ virtual void setBounds(jint, jint, jint, jint);
+public: // actually package-private
+ virtual void setCursor();
+public:
+ virtual void setCursor(::java::awt::Cursor *);
+ virtual void setEnabled(jboolean);
+ virtual void setFont(::java::awt::Font *);
+ virtual void setForeground(::java::awt::Color *);
+ virtual ::java::awt::Color * getForeground();
+ virtual ::java::awt::Color * getBackground();
+ virtual void setVisibleNative(jboolean);
+ virtual void setVisibleNativeUnlocked(jboolean);
+ virtual void setVisible(jboolean);
+ virtual void hide();
+ virtual void show();
+public: // actually protected
+ virtual void postMouseEvent(jint, jlong, jint, jint, jint, jint, jboolean);
+ virtual void postMouseWheelEvent(jint, jlong, jint, jint, jint, jint, jboolean, jint, jint, jint);
+ virtual void postExposeEvent(jint, jint, jint, jint);
+ virtual void postKeyEvent(jint, jlong, jint, jint, jchar, jint);
+ virtual void postFocusEvent(jint, jboolean);
+ virtual void postItemEvent(::java::lang::Object *, jint);
+ virtual void postTextEvent();
+public:
+ virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration();
+ virtual void setEventMask(jlong);
+ virtual jboolean isFocusable();
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong);
+private:
+ ::java::awt::Window * getWindowFor(::java::awt::Component *);
+public: // actually protected
+ virtual jboolean isLightweightDescendant(::java::awt::Component *);
+public:
+ virtual jboolean isObscured();
+ virtual jboolean canDetermineObscurity();
+ virtual void coalescePaintEvent(::java::awt::event::PaintEvent *);
+ virtual void updateCursorImmediately();
+ virtual jboolean handlesWheelScrolling();
+ virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint);
+ virtual void createBuffers(jint, ::java::awt::BufferCapabilities *);
+ virtual ::java::awt::Image * getBackBuffer();
+ virtual void flip(::java::awt::BufferCapabilities$FlipContents *);
+ virtual void destroyBuffers();
+ virtual ::java::lang::String * toString();
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual void reparent(::java::awt::peer::ContainerPeer *);
+ virtual void setBounds(jint, jint, jint, jint, jint);
+ virtual jboolean isReparentSupported();
+ virtual void layout();
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong, ::sun::awt::CausedFocusEvent$Cause *);
+public: // actually package-private
+ ::java::awt::image::VolatileImage * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkGenericPeer)))) backBuffer;
+ ::java::awt::BufferCapabilities * caps;
+ ::java::awt::Component * awtComponent;
+ ::java::awt::Insets * insets;
+private:
+ ::java::awt::Rectangle * currentPaintArea;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkComponentPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.h
new file mode 100644
index 000000000..6097fc88c
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkContainerPeer__
+#define __gnu_java_awt_peer_gtk_GtkContainerPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkContainerPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Container;
+ class Font;
+ class Insets;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkContainerPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer
+{
+
+public:
+ GtkContainerPeer(::java::awt::Container *);
+ virtual void beginValidate();
+ virtual void endValidate();
+ virtual ::java::awt::Insets * getInsets();
+ virtual ::java::awt::Insets * insets();
+ virtual void setBounds(jint, jint, jint, jint);
+ virtual void setFont(::java::awt::Font *);
+ virtual void beginLayout();
+ virtual void endLayout();
+ virtual jboolean isPaintPending();
+ virtual void setBackground(::java::awt::Color *);
+ virtual jboolean isRestackSupported();
+ virtual void cancelPendingPaint(jint, jint, jint, jint);
+ virtual void restack();
+public: // actually package-private
+ ::java::awt::Container * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkComponentPeer)))) c;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkContainerPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkCursor.h b/libjava/gnu/java/awt/peer/gtk/GtkCursor.h
new file mode 100644
index 000000000..c0e637585
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkCursor.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkCursor__
+#define __gnu_java_awt_peer_gtk_GtkCursor__
+
+#pragma interface
+
+#include <java/awt/Cursor.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkCursor;
+ class GtkImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Image;
+ class Point;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkCursor : public ::java::awt::Cursor
+{
+
+public: // actually package-private
+ GtkCursor(::java::awt::Image *, ::java::awt::Point *, ::java::lang::String *);
+ virtual ::gnu::java::awt::peer::gtk::GtkImage * getGtkImage();
+ virtual ::java::awt::Point * getHotspot();
+private:
+ ::gnu::java::awt::peer::gtk::GtkImage * __attribute__((aligned(__alignof__( ::java::awt::Cursor)))) image;
+ ::java::awt::Point * hotspot;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkCursor__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.h
new file mode 100644
index 000000000..d143f4775
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkDialogPeer__
+#define __gnu_java_awt_peer_gtk_GtkDialogPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkWindowPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkDialogPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Dialog;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkDialogPeer : public ::gnu::java::awt::peer::gtk::GtkWindowPeer
+{
+
+public:
+ GtkDialogPeer(::java::awt::Dialog *);
+public: // actually package-private
+ virtual void create();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkDialogPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.h
new file mode 100644
index 000000000..6dea24e17
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer__
+#define __gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkFramePeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class EmbeddedWindow;
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkEmbeddedWindowPeer;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkEmbeddedWindowPeer : public ::gnu::java::awt::peer::gtk::GtkFramePeer
+{
+
+public: // actually package-private
+ virtual void create(jlong);
+ virtual void create();
+ virtual void construct(jlong);
+public:
+ virtual void embed(jlong);
+ GtkEmbeddedWindowPeer(::gnu::java::awt::EmbeddedWindow *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.h
new file mode 100644
index 000000000..7bf3529ce
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkFileDialogPeer__
+#define __gnu_java_awt_peer_gtk_GtkFileDialogPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkDialogPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkContainerPeer;
+ class GtkFileDialogPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class FileDialog;
+ namespace event
+ {
+ class PaintEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkFileDialogPeer : public ::gnu::java::awt::peer::gtk::GtkDialogPeer
+{
+
+public: // actually package-private
+ virtual void create(::gnu::java::awt::peer::gtk::GtkContainerPeer *, jint);
+ virtual void connectSignals();
+ virtual void nativeSetFile(::java::lang::String *);
+public:
+ virtual ::java::lang::String * nativeGetDirectory();
+ virtual void nativeSetDirectory(::java::lang::String *);
+public: // actually package-private
+ virtual void nativeSetFilenameFilter(::java::io::FilenameFilter *);
+public:
+ virtual void create();
+ GtkFileDialogPeer(::java::awt::FileDialog *);
+public: // actually package-private
+ virtual void setComponentBounds();
+public:
+ virtual void setFile(::java::lang::String *);
+ virtual void setDirectory(::java::lang::String *);
+ virtual void setFilenameFilter(::java::io::FilenameFilter *);
+public: // actually package-private
+ virtual jboolean filenameFilterCallback(::java::lang::String *);
+public: // actually protected
+ virtual void updateComponent(::java::awt::event::PaintEvent *);
+public: // actually package-private
+ virtual void gtkHideFileDialog();
+ virtual void gtkDisposeFileDialog();
+ virtual void gtkSetFilename(::java::lang::String *);
+ static ::java::lang::String * FS;
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkDialogPeer)))) currentFile;
+ ::java::lang::String * currentDirectory;
+ ::java::io::FilenameFilter * filter;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkFileDialogPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.h b/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.h
new file mode 100644
index 000000000..2c8ea0ee3
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.h
@@ -0,0 +1,91 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkFramePeer__
+#define __gnu_java_awt_peer_gtk_GtkFramePeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkWindowPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkFramePeer;
+ class GtkImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Frame;
+ class Image;
+ class MenuBar;
+ class Rectangle;
+ namespace peer
+ {
+ class MenuBarPeer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkFramePeer : public ::gnu::java::awt::peer::gtk::GtkWindowPeer
+{
+
+public: // actually package-private
+ virtual jint getMenuBarHeight(::java::awt::peer::MenuBarPeer *);
+ virtual void setMenuBarWidthUnlocked(::java::awt::peer::MenuBarPeer *, jint);
+ virtual void setMenuBarWidth(::java::awt::peer::MenuBarPeer *, jint);
+ virtual void setMenuBarPeer(::java::awt::peer::MenuBarPeer *);
+ virtual void removeMenuBarPeer();
+ virtual void gtkFixedSetVisible(jboolean);
+private:
+ void maximize();
+ void unmaximize();
+ void iconify();
+ void deiconify();
+public: // actually package-private
+ virtual jint getMenuBarHeight();
+public:
+ virtual void setMenuBar(::java::awt::MenuBar *);
+ virtual void setBounds(jint, jint, jint, jint);
+ virtual void setResizable(jboolean);
+public: // actually protected
+ virtual void postInsetsChangedEvent(jint, jint, jint, jint);
+public:
+ GtkFramePeer(::java::awt::Frame *);
+public: // actually package-private
+ virtual void create();
+ virtual void nativeSetIconImage(::gnu::java::awt::peer::gtk::GtkImage *);
+public:
+ virtual void setIconImage(::java::awt::Image *);
+public: // actually protected
+ virtual void postConfigureEvent(jint, jint, jint, jint);
+public:
+ virtual jint getState();
+ virtual void setState(jint);
+ virtual void setMaximizedBounds(::java::awt::Rectangle *);
+ virtual void setBoundsPrivate(jint, jint, jint, jint);
+ virtual jboolean requestWindowFocus();
+ virtual ::java::awt::Rectangle * getBoundsPrivate();
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkWindowPeer)))) menuBarHeight;
+ ::java::awt::peer::MenuBarPeer * menuBar;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkFramePeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.h
new file mode 100644
index 000000000..ffb135bac
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkGenericPeer__
+#define __gnu_java_awt_peer_gtk_GtkGenericPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ class Pointer;
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkGenericPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class EventQueue;
+ class Font;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkGenericPeer : public ::java::lang::Object
+{
+
+ static void initIDs();
+public:
+ virtual void dispose();
+public: // actually package-private
+ static ::java::awt::EventQueue * q();
+public: // actually protected
+ GtkGenericPeer(::java::lang::Object *);
+ virtual void postActionEvent(::java::lang::String *, jint);
+public: // actually package-private
+ static jint getUniqueInteger();
+public: // actually protected
+ virtual void gtkWidgetModifyFont(::java::awt::Font *);
+ virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint);
+public: // actually package-private
+ static void printCurrentThread();
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) native_state;
+private:
+ static jint next_native_state;
+public: // actually protected
+ ::java::lang::Object * awtWidget;
+private:
+ ::gnu::classpath::Pointer * widget;
+ ::gnu::classpath::Pointer * globalRef;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkGenericPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkImage.h b/libjava/gnu/java/awt/peer/gtk/GtkImage.h
new file mode 100644
index 000000000..4028d93f5
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkImage.h
@@ -0,0 +1,113 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkImage__
+#define __gnu_java_awt_peer_gtk_GtkImage__
+
+#pragma interface
+
+#include <java/awt/Image.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ class Pointer;
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Graphics;
+ class Image;
+ namespace image
+ {
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ }
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkImage : public ::java::awt::Image
+{
+
+ void initFromBuffer(jlong);
+public: // actually package-private
+ virtual JArray< jint > * getPixels();
+private:
+ void setPixels(JArray< jint > *);
+ jboolean loadPixbuf(::java::lang::String *);
+ jboolean loadImageFromData(JArray< jbyte > *);
+ void createPixbuf();
+ void freePixbuf();
+ void createScaledPixbuf(::gnu::java::awt::peer::gtk::GtkImage *, jint);
+public:
+ GtkImage(::java::awt::image::ImageProducer *);
+ GtkImage();
+ GtkImage(::java::lang::String *);
+ GtkImage(JArray< jbyte > *);
+ GtkImage(::java::net::URL *);
+private:
+ GtkImage(::gnu::java::awt::peer::gtk::GtkImage *, jint, jint, jint);
+public: // actually package-private
+ GtkImage(::gnu::classpath::Pointer *);
+ GtkImage(jint, jint, jlong);
+ static ::gnu::java::awt::peer::gtk::GtkImage * getErrorImage();
+private:
+ void createFromPixbuf();
+public:
+ virtual void setImage(jint, jint, JArray< jint > *, ::java::util::Hashtable *);
+ virtual jint getWidth(::java::awt::image::ImageObserver *);
+ virtual jint getHeight(::java::awt::image::ImageObserver *);
+ virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *);
+ virtual ::java::awt::image::ImageProducer * getSource();
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::Image * getScaledInstance(jint, jint, jint);
+ virtual void flush();
+ virtual void finalize();
+ virtual jint checkImage(::java::awt::image::ImageObserver *);
+private:
+ void deliver();
+ jboolean addObserver(::java::awt::image::ImageObserver *);
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::awt::Image)))) width;
+ jint height;
+ ::java::util::Hashtable * props;
+ jboolean isLoaded;
+ ::gnu::classpath::Pointer * pixbuf;
+ ::java::util::Vector * observers;
+ jboolean errorLoading;
+ ::java::awt::image::ImageProducer * source;
+ static ::java::awt::image::ColorModel * nativeModel;
+private:
+ static ::gnu::java::awt::peer::gtk::GtkImage * errorImage;
+public: // actually package-private
+ static ::java::lang::Object * pixbufLock;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkImage__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkImageConsumer.h b/libjava/gnu/java/awt/peer/gtk/GtkImageConsumer.h
new file mode 100644
index 000000000..aeccd061d
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkImageConsumer.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkImageConsumer__
+#define __gnu_java_awt_peer_gtk_GtkImageConsumer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkImage;
+ class GtkImageConsumer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ColorModel;
+ class ImageProducer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkImageConsumer : public ::java::lang::Object
+{
+
+public:
+ GtkImageConsumer(::gnu::java::awt::peer::gtk::GtkImage *, ::java::awt::image::ImageProducer *);
+ virtual void imageComplete(jint);
+ virtual void setColorModel(::java::awt::image::ColorModel *);
+ virtual void setDimensions(jint, jint);
+ virtual void setHints(jint);
+ virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint);
+ virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint);
+private:
+ JArray< jint > * convertPixels(JArray< jbyte > *);
+public:
+ virtual void setProperties(::java::util::Hashtable *);
+private:
+ ::gnu::java::awt::peer::gtk::GtkImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) target;
+ jint width;
+ jint height;
+ ::java::util::Hashtable * properties;
+ JArray< jint > * pixelCache;
+ ::java::awt::image::ImageProducer * source;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkImageConsumer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkLabelPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkLabelPeer.h
new file mode 100644
index 000000000..c80c6f47a
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkLabelPeer.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkLabelPeer__
+#define __gnu_java_awt_peer_gtk_GtkLabelPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkComponentPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkLabelPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Label;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkLabelPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer
+{
+
+public: // actually package-private
+ virtual void create(::java::lang::String *, jfloat);
+public: // actually protected
+ virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint);
+public: // actually package-private
+ virtual void nativeSetAlignment(jfloat);
+public:
+ virtual void setNativeText(::java::lang::String *);
+public: // actually package-private
+ virtual void setNativeBounds(jint, jint, jint, jint);
+ virtual void gtkWidgetGetPreferredDimensions(JArray< jint > *);
+ virtual void create();
+public:
+ virtual void setText(::java::lang::String *);
+ GtkLabelPeer(::java::awt::Label *);
+ virtual void setAlignment(jint);
+public: // actually package-private
+ virtual jfloat getGtkAlignment(jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkLabelPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkListPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkListPeer.h
new file mode 100644
index 000000000..8d8a7a0ac
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkListPeer.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkListPeer__
+#define __gnu_java_awt_peer_gtk_GtkListPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkComponentPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkListPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTEvent;
+ class Dimension;
+ class List;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkListPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer
+{
+
+public: // actually package-private
+ virtual void create();
+ virtual void create(jint);
+ virtual void connectSignals();
+public: // actually protected
+ virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint);
+public: // actually package-private
+ virtual void gtkWidgetRequestFocus();
+ virtual void getSize(jint, jint, JArray< jint > *);
+public:
+ GtkListPeer(::java::awt::List *);
+public: // actually package-private
+ virtual void append(JArray< ::java::lang::String * > *);
+public:
+ virtual void add(::java::lang::String *, jint);
+ virtual void addItem(::java::lang::String *, jint);
+ virtual void clear();
+ virtual void delItems(jint, jint);
+ virtual void deselect(jint);
+ virtual ::java::awt::Dimension * getMinimumSize(jint);
+ virtual ::java::awt::Dimension * getPreferredSize(jint);
+ virtual JArray< jint > * getSelectedIndexes();
+ virtual void makeVisible(jint);
+ virtual ::java::awt::Dimension * minimumSize(jint);
+ virtual ::java::awt::Dimension * preferredSize(jint);
+ virtual void removeAll();
+ virtual void select(jint);
+ virtual void setMultipleMode(jboolean);
+ virtual void setMultipleSelections(jboolean);
+ virtual void handleEvent(::java::awt::AWTEvent *);
+public: // actually protected
+ virtual void postItemEvent(jint, jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkListPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMainThread.h b/libjava/gnu/java/awt/peer/gtk/GtkMainThread.h
new file mode 100644
index 000000000..159ec7838
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkMainThread.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkMainThread__
+#define __gnu_java_awt_peer_gtk_GtkMainThread__
+
+#pragma interface
+
+#include <java/lang/Thread.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkMainThread;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkMainThread : public ::java::lang::Thread
+{
+
+ GtkMainThread();
+public:
+ virtual void run();
+private:
+ static void setRunning(jboolean);
+ static void startMainThread();
+ static void endMainThread();
+public:
+ static void createWindow();
+ static void destroyWindow();
+private:
+ static jint numberOfWindows;
+ static ::java::lang::Object * nWindowsLock;
+ static jboolean running;
+ static ::java::lang::Object * runningLock;
+public:
+ static ::gnu::java::awt::peer::gtk::GtkMainThread * mainThread;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkMainThread__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMenuBarPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkMenuBarPeer.h
new file mode 100644
index 000000000..916d6dd93
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkMenuBarPeer.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkMenuBarPeer__
+#define __gnu_java_awt_peer_gtk_GtkMenuBarPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkMenuBarPeer;
+ class GtkMenuPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Menu;
+ class MenuBar;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkMenuBarPeer : public ::gnu::java::awt::peer::gtk::GtkMenuComponentPeer
+{
+
+public: // actually protected
+ virtual void create();
+private:
+ void addMenu(::gnu::java::awt::peer::gtk::GtkMenuPeer *);
+public:
+ GtkMenuBarPeer(::java::awt::MenuBar *);
+ virtual void addHelpMenu(::java::awt::Menu *);
+ virtual void delMenu(jint);
+ virtual void addMenu(::java::awt::Menu *);
+private:
+ jboolean __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkMenuComponentPeer)))) hasHelpMenu;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkMenuBarPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h
new file mode 100644
index 000000000..500f5a94d
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkMenuComponentPeer__
+#define __gnu_java_awt_peer_gtk_GtkMenuComponentPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkGenericPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkMenuComponentPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class MenuComponent;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkMenuComponentPeer : public ::gnu::java::awt::peer::gtk::GtkGenericPeer
+{
+
+public: // actually protected
+ virtual void create() = 0;
+private:
+ void setFont();
+public:
+ GtkMenuComponentPeer(::java::awt::MenuComponent *);
+ virtual void dispose();
+ virtual void setFont(::java::awt::Font *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkMenuComponentPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMenuItemPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkMenuItemPeer.h
new file mode 100644
index 000000000..e84841cc3
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkMenuItemPeer.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkMenuItemPeer__
+#define __gnu_java_awt_peer_gtk_GtkMenuItemPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkMenuItemPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class MenuItem;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkMenuItemPeer : public ::gnu::java::awt::peer::gtk::GtkMenuComponentPeer
+{
+
+public: // actually protected
+ virtual void create(::java::lang::String *);
+ virtual void connectSignals();
+ virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint);
+ virtual void create();
+public:
+ GtkMenuItemPeer(::java::awt::MenuItem *);
+ virtual void disable();
+ virtual void enable();
+ virtual void setEnabled(jboolean);
+ virtual void setLabel(::java::lang::String *);
+public: // actually protected
+ virtual void postMenuActionEvent();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkMenuItemPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMenuPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkMenuPeer.h
new file mode 100644
index 000000000..1d1f84a90
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkMenuPeer.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkMenuPeer__
+#define __gnu_java_awt_peer_gtk_GtkMenuPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkMenuItemPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkGenericPeer;
+ class GtkMenuPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Menu;
+ class MenuItem;
+ class MenuShortcut;
+ namespace peer
+ {
+ class MenuItemPeer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkMenuPeer : public ::gnu::java::awt::peer::gtk::GtkMenuItemPeer
+{
+
+public: // actually protected
+ virtual void create(::java::lang::String *);
+private:
+ void addItem(::java::awt::peer::MenuItemPeer *, jint, jboolean);
+public: // actually package-private
+ virtual void setupAccelGroup(::gnu::java::awt::peer::gtk::GtkGenericPeer *);
+private:
+ void addTearOff();
+public: // actually protected
+ virtual void connectSignals();
+public:
+ GtkMenuPeer(::java::awt::Menu *);
+ virtual void addItem(::java::awt::MenuItem *);
+ virtual void addItem(::java::awt::peer::MenuItemPeer *, ::java::awt::MenuShortcut *);
+ virtual void delItem(jint);
+ virtual void addSeparator();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkMenuPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.h
new file mode 100644
index 000000000..8edc66349
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkMouseInfoPeer__
+#define __gnu_java_awt_peer_gtk_GtkMouseInfoPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GdkGraphicsEnvironment;
+ class GtkMouseInfoPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Point;
+ class Window;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkMouseInfoPeer : public ::java::lang::Object
+{
+
+public:
+ GtkMouseInfoPeer();
+ virtual jint fillPointWithCoords(::java::awt::Point *);
+ virtual jboolean isWindowUnderMouse(::java::awt::Window *);
+private:
+ static ::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment * gde;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkMouseInfoPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkPanelPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkPanelPeer.h
new file mode 100644
index 000000000..b4349ee5d
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkPanelPeer.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkPanelPeer__
+#define __gnu_java_awt_peer_gtk_GtkPanelPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkContainerPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkPanelPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTEvent;
+ class Panel;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkPanelPeer : public ::gnu::java::awt::peer::gtk::GtkContainerPeer
+{
+
+public: // actually package-private
+ virtual void create();
+public:
+ GtkPanelPeer(::java::awt::Panel *);
+ virtual void handleEvent(::java::awt::AWTEvent *);
+public: // actually package-private
+ virtual void connectSignals();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkPanelPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.h
new file mode 100644
index 000000000..f62b014d7
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkPopupMenuPeer__
+#define __gnu_java_awt_peer_gtk_GtkPopupMenuPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkMenuPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkGenericPeer;
+ class GtkPopupMenuPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ class Event;
+ class PopupMenu;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkPopupMenuPeer : public ::gnu::java::awt::peer::gtk::GtkMenuPeer
+{
+
+public:
+ GtkPopupMenuPeer(::java::awt::PopupMenu *);
+public: // actually package-private
+ virtual void setupAccelGroup(::gnu::java::awt::peer::gtk::GtkGenericPeer *);
+ virtual void show(jint, jint, jlong);
+public:
+ virtual void show(::java::awt::Component *, jint, jint);
+ virtual void show(::java::awt::Event *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkPopupMenuPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkScrollPanePeer.h b/libjava/gnu/java/awt/peer/gtk/GtkScrollPanePeer.h
new file mode 100644
index 000000000..051fd8334
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkScrollPanePeer.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkScrollPanePeer__
+#define __gnu_java_awt_peer_gtk_GtkScrollPanePeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkContainerPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkScrollPanePeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Adjustable;
+ class Dimension;
+ class ScrollPane;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkScrollPanePeer : public ::gnu::java::awt::peer::gtk::GtkContainerPeer
+{
+
+public: // actually package-private
+ virtual void create(jint, jint);
+ virtual void create();
+ virtual void gtkScrolledWindowSetHScrollIncrement(jint);
+ virtual void gtkScrolledWindowSetVScrollIncrement(jint);
+public:
+ GtkScrollPanePeer(::java::awt::ScrollPane *);
+public: // actually package-private
+ virtual void setPolicy(jint);
+public:
+ virtual void childResized(jint, jint);
+ virtual jint getHScrollbarHeight();
+ virtual jint getVScrollbarWidth();
+ virtual void setScrollPosition(jint, jint);
+ virtual ::java::awt::Dimension * getPreferredSize();
+ virtual void setUnitIncrement(::java::awt::Adjustable *, jint);
+ virtual void setValue(::java::awt::Adjustable *, jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkScrollPanePeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.h
new file mode 100644
index 000000000..3557d624a
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkScrollbarPeer__
+#define __gnu_java_awt_peer_gtk_GtkScrollbarPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkScrollbarPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Scrollbar;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkScrollbarPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer
+{
+
+public: // actually package-private
+ virtual void create();
+ virtual void create(jint, jint, jint, jint, jint, jint, jint);
+ virtual void connectSignals();
+public:
+ GtkScrollbarPeer(::java::awt::Scrollbar *);
+ virtual void setLineIncrement(jint);
+ virtual void setPageIncrement(jint);
+ virtual void setValues(jint, jint, jint, jint);
+private:
+ void setBarValues(jint, jint, jint, jint);
+public: // actually protected
+ virtual void postAdjustmentEvent(jint, jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkScrollbarPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkSelection.h b/libjava/gnu/java/awt/peer/gtk/GtkSelection.h
new file mode 100644
index 000000000..5ed45d00c
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkSelection.h
@@ -0,0 +1,94 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkSelection__
+#define __gnu_java_awt_peer_gtk_GtkSelection__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ class Pointer;
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkClipboard;
+ class GtkSelection;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Image;
+ namespace datatransfer
+ {
+ class DataFlavor;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkSelection : public ::java::lang::Object
+{
+
+public: // actually package-private
+ GtkSelection(::gnu::java::awt::peer::gtk::GtkClipboard *);
+public:
+ virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors();
+private:
+ void mimeTypesAvailable(JArray< ::java::lang::String * > *);
+public:
+ virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *);
+private:
+ ::java::lang::String * getText();
+ void textAvailable(::java::lang::String *);
+ ::java::awt::Image * getImage();
+ void imageAvailable(::gnu::classpath::Pointer *);
+ ::java::util::List * getURIs();
+ void urisAvailable(JArray< ::java::lang::String * > *);
+ JArray< jbyte > * getBytes(::java::lang::String *);
+ void bytesAvailable(JArray< jbyte > *);
+public:
+ virtual ::java::lang::Object * getTransferData(::java::awt::datatransfer::DataFlavor *);
+private:
+ void requestText(jboolean);
+ void requestImage(jboolean);
+ void requestURIs(jboolean);
+ void requestBytes(jboolean, ::java::lang::String *);
+ void requestMimeTypes(jboolean);
+ static ::java::lang::Object * requestLock;
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) clipboard;
+ jboolean requestInProgress;
+ jboolean mimeTypesDelivered;
+ JArray< ::java::awt::datatransfer::DataFlavor * > * dataFlavors;
+ jboolean textDelivered;
+ ::java::lang::String * text;
+ jboolean imageDelivered;
+ ::gnu::classpath::Pointer * imagePointer;
+ ::java::awt::Image * image;
+ jboolean urisDelivered;
+ ::java::util::List * uris;
+ jboolean bytesDelivered;
+ JArray< jbyte > * bytes;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkSelection__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkTextAreaPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkTextAreaPeer.h
new file mode 100644
index 000000000..5d4b14ee5
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkTextAreaPeer.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkTextAreaPeer__
+#define __gnu_java_awt_peer_gtk_GtkTextAreaPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkTextAreaPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Dimension;
+ class Rectangle;
+ class TextArea;
+ namespace im
+ {
+ class InputMethodRequests;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkTextAreaPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer
+{
+
+public: // actually package-private
+ virtual void create(jint, jint, jint);
+public: // actually protected
+ virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint);
+public: // actually package-private
+ virtual void gtkWidgetRequestFocus();
+public:
+ virtual void connectSignals();
+ virtual jint getCaretPosition();
+ virtual void setCaretPosition(jint);
+ virtual jint getSelectionStart();
+ virtual jint getSelectionEnd();
+ virtual ::java::lang::String * getText();
+ virtual void select(jint, jint);
+ virtual void setEditable(jboolean);
+ virtual void setText(::java::lang::String *);
+ virtual jint getIndexAtPoint(jint, jint);
+ virtual ::java::awt::Rectangle * getCharacterBounds(jint);
+ virtual jlong filterEvents(jlong);
+public: // actually package-private
+ virtual void create();
+public:
+ GtkTextAreaPeer(::java::awt::TextArea *);
+ virtual void insert(::java::lang::String *, jint);
+ virtual void replaceRange(::java::lang::String *, jint, jint);
+ virtual ::java::awt::Dimension * getMinimumSize(jint, jint);
+ virtual ::java::awt::Dimension * getPreferredSize(jint, jint);
+public: // actually package-private
+ virtual jint getHScrollbarHeight();
+ virtual jint getVScrollbarWidth();
+public:
+ virtual ::java::awt::Dimension * minimumSize(jint, jint);
+ virtual ::java::awt::Dimension * preferredSize(jint, jint);
+ virtual void replaceText(::java::lang::String *, jint, jint);
+ virtual void insertText(::java::lang::String *, jint);
+ virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests();
+private:
+ static jint DEFAULT_ROWS;
+ static jint DEFAULT_COLS;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkTextAreaPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkTextFieldPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkTextFieldPeer.h
new file mode 100644
index 000000000..ddcf366aa
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkTextFieldPeer.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkTextFieldPeer__
+#define __gnu_java_awt_peer_gtk_GtkTextFieldPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkTextFieldPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTEvent;
+ class Dimension;
+ class Rectangle;
+ class TextField;
+ namespace im
+ {
+ class InputMethodRequests;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkTextFieldPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer
+{
+
+public: // actually package-private
+ virtual void create(jint);
+ virtual void gtkWidgetSetBackground(jint, jint, jint);
+ virtual void gtkWidgetSetForeground(jint, jint, jint);
+public:
+ virtual void connectSignals();
+ virtual jint getCaretPosition();
+ virtual void setCaretPosition(jint);
+ virtual jint getSelectionStart();
+ virtual jint getSelectionEnd();
+ virtual ::java::lang::String * getText();
+ virtual void select(jint, jint);
+ virtual void setEditable(jboolean);
+ virtual void setText(::java::lang::String *);
+ virtual jint getIndexAtPoint(jint, jint);
+ virtual ::java::awt::Rectangle * getCharacterBounds(jint);
+ virtual jlong filterEvents(jlong);
+public: // actually package-private
+ virtual void create();
+ virtual jint gtkEntryGetBorderWidth();
+public:
+ GtkTextFieldPeer(::java::awt::TextField *);
+ virtual ::java::awt::Dimension * getMinimumSize(jint);
+ virtual ::java::awt::Dimension * getPreferredSize(jint);
+ virtual void setEchoChar(jchar);
+ virtual ::java::awt::Dimension * minimumSize(jint);
+ virtual ::java::awt::Dimension * preferredSize(jint);
+ virtual void setEchoCharacter(jchar);
+ virtual void handleEvent(::java::awt::AWTEvent *);
+ virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkTextFieldPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.h b/libjava/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.h
new file mode 100644
index 000000000..c8d404bd4
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkToolkit$LRUCache__
+#define __gnu_java_awt_peer_gtk_GtkToolkit$LRUCache__
+
+#pragma interface
+
+#include <java/util/LinkedHashMap.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkToolkit$LRUCache;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkToolkit$LRUCache : public ::java::util::LinkedHashMap
+{
+
+public:
+ GtkToolkit$LRUCache(jint);
+public: // actually protected
+ virtual jboolean removeEldestEntry(::java::util::Map$Entry *);
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::util::LinkedHashMap)))) max_entries;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkToolkit$LRUCache__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkToolkit.h b/libjava/gnu/java/awt/peer/gtk/GtkToolkit.h
new file mode 100644
index 000000000..c562e059e
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkToolkit.h
@@ -0,0 +1,250 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkToolkit__
+#define __gnu_java_awt_peer_gtk_GtkToolkit__
+
+#pragma interface
+
+#include <gnu/java/awt/ClasspathToolkit.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class EmbeddedWindow;
+ namespace peer
+ {
+ class ClasspathFontPeer;
+ class EmbeddedWindowPeer;
+ namespace gtk
+ {
+ class GtkComponentPeer;
+ class GtkToolkit;
+ class GtkToolkit$LRUCache;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Button;
+ class Canvas;
+ class Checkbox;
+ class CheckboxMenuItem;
+ class Choice;
+ class Component;
+ class Cursor;
+ class Dialog;
+ class Dialog$ModalExclusionType;
+ class Dialog$ModalityType;
+ class Dimension;
+ class EventQueue;
+ class FileDialog;
+ class Font;
+ class FontMetrics;
+ class Frame;
+ class GraphicsDevice;
+ class GraphicsEnvironment;
+ class Image;
+ class Label;
+ class List;
+ class Menu;
+ class MenuBar;
+ class MenuItem;
+ class Panel;
+ class Point;
+ class PopupMenu;
+ class PrintJob;
+ class Rectangle;
+ class ScrollPane;
+ class Scrollbar;
+ class TextArea;
+ class TextField;
+ class Window;
+ namespace datatransfer
+ {
+ class Clipboard;
+ }
+ namespace dnd
+ {
+ class DragGestureEvent;
+ class DragGestureListener;
+ class DragGestureRecognizer;
+ class DragSource;
+ namespace peer
+ {
+ class DragSourceContextPeer;
+ }
+ }
+ namespace im
+ {
+ class InputMethodHighlight;
+ }
+ namespace image
+ {
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ }
+ namespace peer
+ {
+ class ButtonPeer;
+ class CanvasPeer;
+ class CheckboxMenuItemPeer;
+ class CheckboxPeer;
+ class ChoicePeer;
+ class DialogPeer;
+ class FileDialogPeer;
+ class FontPeer;
+ class FramePeer;
+ class LabelPeer;
+ class ListPeer;
+ class MenuBarPeer;
+ class MenuItemPeer;
+ class MenuPeer;
+ class MouseInfoPeer;
+ class PanelPeer;
+ class PopupMenuPeer;
+ class RobotPeer;
+ class ScrollPanePeer;
+ class ScrollbarPeer;
+ class TextAreaPeer;
+ class TextFieldPeer;
+ class WindowPeer;
+ }
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+ namespace javax
+ {
+ namespace imageio
+ {
+ namespace spi
+ {
+ class IIORegistry;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkToolkit : public ::gnu::java::awt::ClasspathToolkit
+{
+
+public: // actually package-private
+ static void gtkInit(jint, ::java::lang::Object *);
+ static void gtkMain();
+ static void gtkQuit();
+private:
+ static void initIDs();
+public: // actually package-private
+ static void initializeGlobalIDs();
+public:
+ GtkToolkit();
+ virtual void beep();
+private:
+ void getScreenSizeDimensions(JArray< jint > *);
+public:
+ virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+public: // actually package-private
+ static ::java::awt::Image * imageOrError(::java::awt::Image *);
+public:
+ virtual ::java::awt::Image * createImage(::java::lang::String *);
+ virtual ::java::awt::Image * createImage(::java::net::URL *);
+ virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *);
+ virtual ::java::awt::Image * createImage(JArray< jbyte > *, jint, jint);
+ virtual ::java::awt::image::ImageProducer * createImageProducer(::java::net::URL *);
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual JArray< ::java::lang::String * > * getFontList();
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual ::java::awt::Image * getImage(::java::lang::String *);
+ virtual ::java::awt::Image * getImage(::java::net::URL *);
+ virtual ::java::awt::PrintJob * getPrintJob(::java::awt::Frame *, ::java::lang::String *, ::java::util::Properties *);
+ virtual jint getScreenResolution();
+ virtual ::java::awt::Dimension * getScreenSize();
+ virtual ::java::awt::datatransfer::Clipboard * getSystemClipboard();
+ virtual ::java::awt::datatransfer::Clipboard * getSystemSelection();
+ virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void sync();
+public: // actually protected
+ virtual void setComponentState(::java::awt::Component *, ::gnu::java::awt::peer::gtk::GtkComponentPeer *);
+ virtual ::java::awt::peer::ButtonPeer * createButton(::java::awt::Button *);
+ virtual ::java::awt::peer::CanvasPeer * createCanvas(::java::awt::Canvas *);
+ virtual ::java::awt::peer::CheckboxPeer * createCheckbox(::java::awt::Checkbox *);
+ virtual ::java::awt::peer::CheckboxMenuItemPeer * createCheckboxMenuItem(::java::awt::CheckboxMenuItem *);
+ virtual ::java::awt::peer::ChoicePeer * createChoice(::java::awt::Choice *);
+ virtual ::java::awt::peer::DialogPeer * createDialog(::java::awt::Dialog *);
+ virtual ::java::awt::peer::FileDialogPeer * createFileDialog(::java::awt::FileDialog *);
+ virtual ::java::awt::peer::FramePeer * createFrame(::java::awt::Frame *);
+ virtual ::java::awt::peer::LabelPeer * createLabel(::java::awt::Label *);
+ virtual ::java::awt::peer::ListPeer * createList(::java::awt::List *);
+ virtual ::java::awt::peer::MenuPeer * createMenu(::java::awt::Menu *);
+ virtual ::java::awt::peer::MenuBarPeer * createMenuBar(::java::awt::MenuBar *);
+ virtual ::java::awt::peer::MenuItemPeer * createMenuItem(::java::awt::MenuItem *);
+ virtual ::java::awt::peer::PanelPeer * createPanel(::java::awt::Panel *);
+ virtual ::java::awt::peer::PopupMenuPeer * createPopupMenu(::java::awt::PopupMenu *);
+ virtual ::java::awt::peer::ScrollPanePeer * createScrollPane(::java::awt::ScrollPane *);
+ virtual ::java::awt::peer::ScrollbarPeer * createScrollbar(::java::awt::Scrollbar *);
+ virtual ::java::awt::peer::TextAreaPeer * createTextArea(::java::awt::TextArea *);
+ virtual ::java::awt::peer::TextFieldPeer * createTextField(::java::awt::TextField *);
+ virtual ::java::awt::peer::WindowPeer * createWindow(::java::awt::Window *);
+public:
+ virtual ::gnu::java::awt::peer::EmbeddedWindowPeer * createEmbeddedWindow(::gnu::java::awt::EmbeddedWindow *);
+public: // actually protected
+ virtual ::java::awt::peer::FontPeer * getFontPeer(::java::lang::String *, jint);
+private:
+ ::java::awt::peer::FontPeer * getFontPeer(::java::lang::String *, jint, jint);
+public:
+ virtual ::gnu::java::awt::peer::ClasspathFontPeer * getClasspathFontPeer(::java::lang::String *, ::java::util::Map *);
+public: // actually protected
+ virtual ::java::awt::EventQueue * getSystemEventQueueImpl();
+public:
+ virtual ::java::awt::Cursor * createCustomCursor(::java::awt::Image *, ::java::awt::Point *, ::java::lang::String *);
+public: // actually protected
+ virtual void loadSystemColors(JArray< jint > *);
+public:
+ virtual ::java::awt::dnd::peer::DragSourceContextPeer * createDragSourceContextPeer(::java::awt::dnd::DragGestureEvent *);
+ virtual ::java::awt::dnd::DragGestureRecognizer * createDragGestureRecognizer(::java::lang::Class *, ::java::awt::dnd::DragSource *, ::java::awt::Component *, jint, ::java::awt::dnd::DragGestureListener *);
+ virtual ::java::util::Map * mapInputMethodHighlight(::java::awt::im::InputMethodHighlight *);
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual ::java::awt::GraphicsEnvironment * getLocalGraphicsEnvironment();
+ virtual ::java::awt::Font * createFont(jint, ::java::io::InputStream *);
+ virtual ::java::awt::peer::RobotPeer * createRobot(::java::awt::GraphicsDevice *);
+ virtual jboolean getLockingKeyState(jint);
+public: // actually protected
+ virtual jint getLockState(jint);
+public:
+ virtual void registerImageIOSpis(::javax::imageio::spi::IIORegistry *);
+public: // actually protected
+ virtual ::java::awt::peer::MouseInfoPeer * getMouseInfoPeer();
+public:
+ virtual jboolean isFrameStateSupported(jint);
+private:
+ void checkHeadless();
+public:
+ virtual jint getMouseNumberOfButtons();
+ virtual jboolean isModalExclusionTypeSupported(::java::awt::Dialog$ModalExclusionType *);
+ virtual jboolean isModalityTypeSupported(::java::awt::Dialog$ModalityType *);
+public: // actually package-private
+ static ::java::lang::Object * GTK_LOCK;
+private:
+ static ::java::awt::EventQueue * q;
+ static jboolean initializedGlobalIDs;
+ ::gnu::java::awt::peer::gtk::GtkToolkit$LRUCache * __attribute__((aligned(__alignof__( ::gnu::java::awt::ClasspathToolkit)))) fontCache;
+ ::gnu::java::awt::peer::gtk::GtkToolkit$LRUCache * imageCache;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkToolkit__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkVolatileImage.h b/libjava/gnu/java/awt/peer/gtk/GtkVolatileImage.h
new file mode 100644
index 000000000..308bc8e7d
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkVolatileImage.h
@@ -0,0 +1,98 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkVolatileImage__
+#define __gnu_java_awt_peer_gtk_GtkVolatileImage__
+
+#pragma interface
+
+#include <java/awt/image/VolatileImage.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkComponentPeer;
+ class GtkVolatileImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Graphics;
+ class Graphics2D;
+ class GraphicsConfiguration;
+ class ImageCapabilities;
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class ImageObserver;
+ class SampleModel;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkVolatileImage : public ::java::awt::image::VolatileImage
+{
+
+public: // actually package-private
+ virtual jlong init(::gnu::java::awt::peer::gtk::GtkComponentPeer *, jint, jint);
+ virtual void destroy(jlong);
+ virtual JArray< jint > * nativeGetPixels(jlong);
+public:
+ virtual JArray< jint > * getPixels();
+public: // actually package-private
+ virtual void nativeCopyArea(jlong, jint, jint, jint, jint, jint, jint);
+public:
+ virtual void copyArea(jint, jint, jint, jint, jint, jint);
+public: // actually package-private
+ virtual void nativeDrawVolatile(jlong, jlong, jint, jint, jint, jint);
+public:
+ virtual void drawVolatile(jlong, jint, jint, jint, jint);
+ GtkVolatileImage(::gnu::java::awt::peer::gtk::GtkComponentPeer *, jint, jint, ::java::awt::ImageCapabilities *);
+ GtkVolatileImage(jint, jint, ::java::awt::ImageCapabilities *);
+ GtkVolatileImage(jint, jint);
+ virtual void finalize();
+ virtual void dispose();
+ virtual ::java::awt::image::BufferedImage * getSnapshot();
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::Graphics2D * createGraphics();
+ virtual jint validate(::java::awt::GraphicsConfiguration *);
+ virtual jboolean contentsLost();
+ virtual ::java::awt::ImageCapabilities * getCapabilities();
+ virtual jint getWidth();
+ virtual jint getHeight();
+ virtual jint getWidth(::java::awt::image::ImageObserver *);
+ virtual jint getHeight(::java::awt::image::ImageObserver *);
+ virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *);
+public: // actually protected
+ static ::java::awt::image::SampleModel * createGdkSampleModel(jint, jint);
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::awt::image::VolatileImage)))) width;
+ jint height;
+private:
+ ::java::awt::ImageCapabilities * caps;
+public: // actually package-private
+ ::gnu::java::awt::peer::gtk::GtkComponentPeer * component;
+ static ::java::awt::image::ColorModel * gdkColorModel;
+ jlong nativePointer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkVolatileImage__
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h
new file mode 100644
index 000000000..a40f4168d
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h
@@ -0,0 +1,133 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_GtkWindowPeer__
+#define __gnu_java_awt_peer_gtk_GtkWindowPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/GtkContainerPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkWindowPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ class Dialog;
+ class Graphics;
+ class Point;
+ class Rectangle;
+ class Window;
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::GtkWindowPeer : public ::gnu::java::awt::peer::gtk::GtkContainerPeer
+{
+
+public: // actually package-private
+ virtual void gtkWindowSetTitle(::java::lang::String *);
+ virtual void gtkWindowSetResizable(jboolean);
+ virtual void gtkWindowSetModal(jboolean);
+ virtual void gtkWindowSetAlwaysOnTop(jboolean);
+ virtual jboolean gtkWindowHasFocus();
+ virtual void realize();
+public:
+ virtual void dispose();
+public: // actually package-private
+ virtual jint getX();
+ virtual jint getY();
+ virtual jint getWidth();
+ virtual jint getHeight();
+ virtual void create(jint, jboolean, ::gnu::java::awt::peer::gtk::GtkWindowPeer *);
+ virtual void create(jint, jboolean);
+ virtual void create();
+ virtual void setParent();
+ virtual void setVisibleAndEnabled();
+public:
+ virtual void setVisibleNative(jboolean);
+ virtual void setVisibleNativeUnlocked(jboolean);
+public: // actually package-private
+ virtual void connectSignals();
+public:
+ GtkWindowPeer(::java::awt::Window *);
+ virtual void toBack();
+ virtual void toFront();
+public: // actually package-private
+ virtual void nativeSetBounds(jint, jint, jint, jint);
+ virtual void nativeSetBoundsUnlocked(jint, jint, jint, jint);
+ virtual void nativeSetLocation(jint, jint);
+ virtual void nativeSetLocationUnlocked(jint, jint);
+public: // actually protected
+ virtual void setLocation(jint, jint);
+public:
+ virtual void setBounds(jint, jint, jint, jint);
+ virtual void setTitle(::java::lang::String *);
+public: // actually protected
+ virtual void setSize(jint, jint);
+public:
+ virtual void setResizable(jboolean);
+public: // actually protected
+ virtual void postInsetsChangedEvent(jint, jint, jint, jint);
+ virtual void postConfigureEvent(jint, jint, jint, jint);
+public:
+ virtual void show();
+public: // actually package-private
+ virtual void postWindowEvent(jint, ::java::awt::Window *, jint);
+public:
+ virtual void updateAlwaysOnTop();
+public: // actually protected
+ virtual void postExposeEvent(jint, jint, jint, jint);
+public:
+ virtual jboolean requestWindowFocus();
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong);
+ virtual ::java::awt::Graphics * getGraphics();
+public: // actually protected
+ virtual void postMouseEvent(jint, jlong, jint, jint, jint, jint, jboolean);
+public:
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual void updateIconImages();
+ virtual void updateMinimumSize();
+ virtual void setModalBlocked(::java::awt::Dialog *, jboolean);
+ virtual void updateFocusableWindowState();
+ virtual void setAlwaysOnTop(jboolean);
+public: // actually protected
+ static const jint GDK_WINDOW_TYPE_HINT_NORMAL = 0;
+ static const jint GDK_WINDOW_TYPE_HINT_DIALOG = 1;
+ static const jint GDK_WINDOW_TYPE_HINT_MENU = 2;
+ static const jint GDK_WINDOW_TYPE_HINT_TOOLBAR = 3;
+ static const jint GDK_WINDOW_TYPE_HINT_SPLASHSCREEN = 4;
+ static const jint GDK_WINDOW_TYPE_HINT_UTILITY = 5;
+ static const jint GDK_WINDOW_TYPE_HINT_DOCK = 6;
+ static const jint GDK_WINDOW_TYPE_HINT_DESKTOP = 7;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkContainerPeer)))) windowState;
+private:
+ jint x;
+ jint y;
+ jint width;
+ jint height;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_GtkWindowPeer__
diff --git a/libjava/gnu/java/awt/peer/gtk/VolatileImageGraphics.h b/libjava/gnu/java/awt/peer/gtk/VolatileImageGraphics.h
new file mode 100644
index 000000000..b7f0121d9
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/gtk/VolatileImageGraphics.h
@@ -0,0 +1,90 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_gtk_VolatileImageGraphics__
+#define __gnu_java_awt_peer_gtk_VolatileImageGraphics__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/gtk/ComponentGraphics.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace gtk
+ {
+ class GtkVolatileImage;
+ class VolatileImageGraphics;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Shape;
+ namespace font
+ {
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ class Rectangle2D;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class ImageObserver;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::gtk::VolatileImageGraphics : public ::gnu::java::awt::peer::gtk::ComponentGraphics
+{
+
+public:
+ VolatileImageGraphics(::gnu::java::awt::peer::gtk::GtkVolatileImage *);
+private:
+ VolatileImageGraphics(::gnu::java::awt::peer::gtk::VolatileImageGraphics *);
+public:
+ virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint);
+ virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration();
+ virtual ::java::awt::Graphics * create();
+ virtual void draw(::java::awt::Shape *);
+ virtual void fill(::java::awt::Shape *);
+ virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat);
+public: // actually protected
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+public:
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+public: // actually protected
+ virtual ::java::awt::geom::Rectangle2D * getRealBounds();
+private:
+ jboolean drawComposite(::java::awt::geom::Rectangle2D *, ::java::awt::image::ImageObserver *);
+ void createBuffer();
+public: // actually protected
+ virtual ::java::awt::image::ColorModel * getNativeCM();
+private:
+ ::gnu::java::awt::peer::gtk::GtkVolatileImage * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::ComponentGraphics)))) owner;
+ ::java::awt::image::BufferedImage * buffer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_gtk_VolatileImageGraphics__
diff --git a/libjava/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.h b/libjava/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.h
new file mode 100644
index 000000000..fc1b98df6
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_headless_HeadlessGraphicsEnvironment__
+#define __gnu_java_awt_peer_headless_HeadlessGraphicsEnvironment__
+
+#pragma interface
+
+#include <java/awt/GraphicsEnvironment.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace headless
+ {
+ class HeadlessGraphicsEnvironment;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class Graphics2D;
+ class GraphicsDevice;
+ namespace image
+ {
+ class BufferedImage;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::headless::HeadlessGraphicsEnvironment : public ::java::awt::GraphicsEnvironment
+{
+
+public:
+ HeadlessGraphicsEnvironment();
+ virtual ::java::awt::Graphics2D * createGraphics(::java::awt::image::BufferedImage *);
+ virtual JArray< ::java::awt::Font * > * getAllFonts();
+ virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames();
+ virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(::java::util::Locale *);
+ virtual ::java::awt::GraphicsDevice * getDefaultScreenDevice();
+ virtual JArray< ::java::awt::GraphicsDevice * > * getScreenDevices();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_headless_HeadlessGraphicsEnvironment__
diff --git a/libjava/gnu/java/awt/peer/headless/HeadlessToolkit.h b/libjava/gnu/java/awt/peer/headless/HeadlessToolkit.h
new file mode 100644
index 000000000..657b32333
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/headless/HeadlessToolkit.h
@@ -0,0 +1,192 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_headless_HeadlessToolkit__
+#define __gnu_java_awt_peer_headless_HeadlessToolkit__
+
+#pragma interface
+
+#include <gnu/java/awt/ClasspathToolkit.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class EmbeddedWindow;
+ namespace peer
+ {
+ class ClasspathFontPeer;
+ class EmbeddedWindowPeer;
+ namespace headless
+ {
+ class HeadlessGraphicsEnvironment;
+ class HeadlessToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Button;
+ class Canvas;
+ class Checkbox;
+ class CheckboxMenuItem;
+ class Choice;
+ class Dialog;
+ class Dialog$ModalExclusionType;
+ class Dialog$ModalityType;
+ class Dimension;
+ class EventQueue;
+ class FileDialog;
+ class Font;
+ class FontMetrics;
+ class Frame;
+ class GraphicsDevice;
+ class GraphicsEnvironment;
+ class Image;
+ class Label;
+ class List;
+ class Menu;
+ class MenuBar;
+ class MenuItem;
+ class Panel;
+ class PopupMenu;
+ class PrintJob;
+ class ScrollPane;
+ class Scrollbar;
+ class TextArea;
+ class TextField;
+ class Window;
+ namespace datatransfer
+ {
+ class Clipboard;
+ }
+ namespace dnd
+ {
+ class DragGestureEvent;
+ namespace peer
+ {
+ class DragSourceContextPeer;
+ }
+ }
+ namespace im
+ {
+ class InputMethodHighlight;
+ }
+ namespace image
+ {
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ }
+ namespace peer
+ {
+ class ButtonPeer;
+ class CanvasPeer;
+ class CheckboxMenuItemPeer;
+ class CheckboxPeer;
+ class ChoicePeer;
+ class DialogPeer;
+ class FileDialogPeer;
+ class FontPeer;
+ class FramePeer;
+ class LabelPeer;
+ class ListPeer;
+ class MenuBarPeer;
+ class MenuItemPeer;
+ class MenuPeer;
+ class PanelPeer;
+ class PopupMenuPeer;
+ class RobotPeer;
+ class ScrollPanePeer;
+ class ScrollbarPeer;
+ class TextAreaPeer;
+ class TextFieldPeer;
+ class WindowPeer;
+ }
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::awt::peer::headless::HeadlessToolkit : public ::gnu::java::awt::ClasspathToolkit
+{
+
+public:
+ HeadlessToolkit();
+ virtual void beep();
+ virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+public: // actually protected
+ virtual ::java::awt::peer::ButtonPeer * createButton(::java::awt::Button *);
+ virtual ::java::awt::peer::CanvasPeer * createCanvas(::java::awt::Canvas *);
+ virtual ::java::awt::peer::CheckboxPeer * createCheckbox(::java::awt::Checkbox *);
+ virtual ::java::awt::peer::CheckboxMenuItemPeer * createCheckboxMenuItem(::java::awt::CheckboxMenuItem *);
+ virtual ::java::awt::peer::ChoicePeer * createChoice(::java::awt::Choice *);
+ virtual ::java::awt::peer::DialogPeer * createDialog(::java::awt::Dialog *);
+public:
+ virtual ::java::awt::dnd::peer::DragSourceContextPeer * createDragSourceContextPeer(::java::awt::dnd::DragGestureEvent *);
+public: // actually protected
+ virtual ::java::awt::peer::FileDialogPeer * createFileDialog(::java::awt::FileDialog *);
+ virtual ::java::awt::peer::FramePeer * createFrame(::java::awt::Frame *);
+public:
+ virtual ::java::awt::Image * createImage(::java::lang::String *);
+ virtual ::java::awt::Image * createImage(::java::net::URL *);
+ virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *);
+ virtual ::java::awt::Image * createImage(JArray< jbyte > *, jint, jint);
+public: // actually protected
+ virtual ::java::awt::peer::LabelPeer * createLabel(::java::awt::Label *);
+ virtual ::java::awt::peer::ListPeer * createList(::java::awt::List *);
+ virtual ::java::awt::peer::MenuPeer * createMenu(::java::awt::Menu *);
+ virtual ::java::awt::peer::MenuBarPeer * createMenuBar(::java::awt::MenuBar *);
+ virtual ::java::awt::peer::MenuItemPeer * createMenuItem(::java::awt::MenuItem *);
+ virtual ::java::awt::peer::PanelPeer * createPanel(::java::awt::Panel *);
+ virtual ::java::awt::peer::PopupMenuPeer * createPopupMenu(::java::awt::PopupMenu *);
+ virtual ::java::awt::peer::ScrollPanePeer * createScrollPane(::java::awt::ScrollPane *);
+ virtual ::java::awt::peer::ScrollbarPeer * createScrollbar(::java::awt::Scrollbar *);
+ virtual ::java::awt::peer::TextAreaPeer * createTextArea(::java::awt::TextArea *);
+ virtual ::java::awt::peer::TextFieldPeer * createTextField(::java::awt::TextField *);
+ virtual ::java::awt::peer::WindowPeer * createWindow(::java::awt::Window *);
+public:
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual JArray< ::java::lang::String * > * getFontList();
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+public: // actually protected
+ virtual ::java::awt::peer::FontPeer * getFontPeer(::java::lang::String *, jint);
+public:
+ virtual ::java::awt::Image * getImage(::java::lang::String *);
+ virtual ::java::awt::Image * getImage(::java::net::URL *);
+ virtual ::java::awt::PrintJob * getPrintJob(::java::awt::Frame *, ::java::lang::String *, ::java::util::Properties *);
+ virtual jint getScreenResolution();
+ virtual ::java::awt::Dimension * getScreenSize();
+ virtual ::java::awt::datatransfer::Clipboard * getSystemClipboard();
+public: // actually protected
+ virtual ::java::awt::EventQueue * getSystemEventQueueImpl();
+public:
+ virtual ::java::util::Map * mapInputMethodHighlight(::java::awt::im::InputMethodHighlight *);
+ virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void sync();
+ virtual ::gnu::java::awt::peer::EmbeddedWindowPeer * createEmbeddedWindow(::gnu::java::awt::EmbeddedWindow *);
+ virtual ::java::awt::Font * createFont(jint, ::java::io::InputStream *);
+ virtual ::java::awt::peer::RobotPeer * createRobot(::java::awt::GraphicsDevice *);
+ virtual ::gnu::java::awt::peer::ClasspathFontPeer * getClasspathFontPeer(::java::lang::String *, ::java::util::Map *);
+ virtual ::java::awt::GraphicsEnvironment * getLocalGraphicsEnvironment();
+ virtual jboolean isModalExclusionTypeSupported(::java::awt::Dialog$ModalExclusionType *);
+ virtual jboolean isModalityTypeSupported(::java::awt::Dialog$ModalityType *);
+private:
+ ::gnu::java::awt::peer::headless::HeadlessGraphicsEnvironment * __attribute__((aligned(__alignof__( ::gnu::java::awt::ClasspathToolkit)))) graphicsEnv;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_headless_HeadlessToolkit__
diff --git a/libjava/gnu/java/awt/peer/qt/MainQtThread.h b/libjava/gnu/java/awt/peer/qt/MainQtThread.h
new file mode 100644
index 000000000..9d3b74635
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/MainQtThread.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_MainQtThread__
+#define __gnu_java_awt_peer_qt_MainQtThread__
+
+#pragma interface
+
+#include <java/lang/Thread.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class MainQtThread;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::MainQtThread : public ::java::lang::Thread
+{
+
+public:
+ MainQtThread(::java::lang::String *, jboolean);
+ virtual jboolean isRunning();
+ virtual jlong init(::java::lang::String *, jboolean);
+ virtual void exec(jlong);
+ virtual void run();
+public: // actually package-private
+ jlong __attribute__((aligned(__alignof__( ::java::lang::Thread)))) QApplicationPointer;
+ jlong mainThreadInterface;
+ ::java::lang::String * theme;
+private:
+ jboolean running;
+ jboolean doublebuffer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_MainQtThread__
diff --git a/libjava/gnu/java/awt/peer/qt/NativeWrapper.h b/libjava/gnu/java/awt/peer/qt/NativeWrapper.h
new file mode 100644
index 000000000..0bf62e0d3
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/NativeWrapper.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_NativeWrapper__
+#define __gnu_java_awt_peer_qt_NativeWrapper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class NativeWrapper;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::NativeWrapper : public ::java::lang::Object
+{
+
+public:
+ NativeWrapper();
+public: // actually protected
+ jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) nativeObject;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_NativeWrapper__
diff --git a/libjava/gnu/java/awt/peer/qt/QMatrix.h b/libjava/gnu/java/awt/peer/qt/QMatrix.h
new file mode 100644
index 000000000..7ff6bfbca
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QMatrix.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QMatrix__
+#define __gnu_java_awt_peer_qt_QMatrix__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/NativeWrapper.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QMatrix;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QMatrix : public ::gnu::java::awt::peer::qt::NativeWrapper
+{
+
+public:
+ QMatrix(::java::awt::geom::AffineTransform *);
+private:
+ void init(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble);
+ JArray< jdouble > * getMatrix();
+public:
+ virtual ::java::awt::geom::AffineTransform * getTransform();
+ virtual void dispose();
+ virtual void finalize();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QMatrix__
diff --git a/libjava/gnu/java/awt/peer/qt/QPainterPath.h b/libjava/gnu/java/awt/peer/qt/QPainterPath.h
new file mode 100644
index 000000000..ffc104ea6
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QPainterPath.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QPainterPath__
+#define __gnu_java_awt_peer_qt_QPainterPath__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/NativeWrapper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QPainterPath;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Shape;
+ namespace geom
+ {
+ class GeneralPath;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QPainterPath : public ::gnu::java::awt::peer::qt::NativeWrapper
+{
+
+public: // actually package-private
+ QPainterPath();
+public:
+ QPainterPath(::java::awt::Shape *);
+ QPainterPath(jdouble, jdouble, jdouble, jdouble);
+ QPainterPath(jdouble, jdouble, jdouble, jdouble, jboolean);
+ virtual ::java::awt::geom::GeneralPath * getPath();
+private:
+ void init(jint);
+ void moveTo(jdouble, jdouble);
+ void close();
+ void lineTo(jdouble, jdouble);
+ void quadTo(jdouble, jdouble, jdouble, jdouble);
+ void cubicTo(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble);
+public:
+ virtual void dispose();
+ virtual void finalize();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QPainterPath__
diff --git a/libjava/gnu/java/awt/peer/qt/QPen.h b/libjava/gnu/java/awt/peer/qt/QPen.h
new file mode 100644
index 000000000..973e24c31
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QPen.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QPen__
+#define __gnu_java_awt_peer_qt_QPen__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/NativeWrapper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QPen;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Stroke;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QPen : public ::gnu::java::awt::peer::qt::NativeWrapper
+{
+
+public:
+ QPen(::java::awt::Stroke *);
+private:
+ void init(jdouble, jint, jint, jdouble);
+public:
+ virtual void dispose();
+ virtual void finalize();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QPen__
diff --git a/libjava/gnu/java/awt/peer/qt/QtAudioClip.h b/libjava/gnu/java/awt/peer/qt/QtAudioClip.h
new file mode 100644
index 000000000..4e74b63a6
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtAudioClip.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtAudioClip__
+#define __gnu_java_awt_peer_qt_QtAudioClip__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/NativeWrapper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtAudioClip;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Toolkit;
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtAudioClip : public ::gnu::java::awt::peer::qt::NativeWrapper
+{
+
+public:
+ QtAudioClip(::java::lang::String *);
+ QtAudioClip(::java::net::URL *);
+private:
+ void loadClip(::java::lang::String *);
+ void play(jboolean);
+ jboolean isAvailable();
+ void checkForQt();
+public:
+ virtual void loop();
+ virtual void play();
+ virtual void stop();
+ virtual void dispose();
+ virtual void finalize();
+private:
+ static ::java::awt::Toolkit * t;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtAudioClip__
diff --git a/libjava/gnu/java/awt/peer/qt/QtButtonPeer.h b/libjava/gnu/java/awt/peer/qt/QtButtonPeer.h
new file mode 100644
index 000000000..5476a04ba
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtButtonPeer.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtButtonPeer__
+#define __gnu_java_awt_peer_qt_QtButtonPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtButtonPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Button;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtButtonPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer
+{
+
+public:
+ QtButtonPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Button *);
+ virtual void init();
+public: // actually protected
+ virtual void setup();
+public: // actually package-private
+ virtual void fireClick(jint);
+public:
+ virtual void setLabel(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtButtonPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtCanvasPeer.h b/libjava/gnu/java/awt/peer/qt/QtCanvasPeer.h
new file mode 100644
index 000000000..1d8be8c36
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtCanvasPeer.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtCanvasPeer__
+#define __gnu_java_awt_peer_qt_QtCanvasPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtCanvasPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Canvas;
+ class Dimension;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtCanvasPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer
+{
+
+public:
+ QtCanvasPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Canvas *);
+ virtual void init();
+public: // actually protected
+ virtual void setup();
+public:
+ virtual ::java::awt::Dimension * getPreferredSize();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtCanvasPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtCheckboxPeer.h b/libjava/gnu/java/awt/peer/qt/QtCheckboxPeer.h
new file mode 100644
index 000000000..f90ce36e3
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtCheckboxPeer.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtCheckboxPeer__
+#define __gnu_java_awt_peer_qt_QtCheckboxPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtCheckboxPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Checkbox;
+ class CheckboxGroup;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtCheckboxPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer
+{
+
+public:
+ QtCheckboxPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Checkbox *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+private:
+ void fireToggle(jboolean);
+public:
+ virtual void setCheckboxGroup(::java::awt::CheckboxGroup *);
+ virtual void setLabel(::java::lang::String *);
+ virtual void setState(jboolean);
+private:
+ ::java::awt::CheckboxGroup * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtComponentPeer)))) group;
+ static ::java::util::WeakHashMap * groupMap;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtCheckboxPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtChoicePeer.h b/libjava/gnu/java/awt/peer/qt/QtChoicePeer.h
new file mode 100644
index 000000000..46a12c255
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtChoicePeer.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtChoicePeer__
+#define __gnu_java_awt_peer_qt_QtChoicePeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtChoicePeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Choice;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtChoicePeer : public ::gnu::java::awt::peer::qt::QtComponentPeer
+{
+
+public:
+ QtChoicePeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Choice *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+private:
+ void fireChoice(jint);
+public:
+ virtual void add(::java::lang::String *, jint);
+ virtual void addItem(::java::lang::String *, jint);
+ virtual void remove(jint);
+ virtual void removeAll();
+ virtual void select(jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtChoicePeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtComponentGraphics.h b/libjava/gnu/java/awt/peer/qt/QtComponentGraphics.h
new file mode 100644
index 000000000..733247abf
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtComponentGraphics.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtComponentGraphics__
+#define __gnu_java_awt_peer_qt_QtComponentGraphics__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtGraphics.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtComponentGraphics;
+ class QtComponentPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Graphics;
+ class GraphicsConfiguration;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtComponentGraphics : public ::gnu::java::awt::peer::qt::QtGraphics
+{
+
+public:
+ QtComponentGraphics(jlong, ::gnu::java::awt::peer::qt::QtComponentPeer *, jint, jint, jint, jint);
+public: // actually package-private
+ QtComponentGraphics(::gnu::java::awt::peer::qt::QtComponentGraphics *);
+public:
+ virtual ::java::awt::Graphics * create();
+ virtual void copyArea(jint, jint, jint, jint, jint, jint);
+ virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration();
+private:
+ ::gnu::java::awt::peer::qt::QtComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtGraphics)))) peer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtComponentGraphics__
diff --git a/libjava/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.h b/libjava/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.h
new file mode 100644
index 000000000..90f962941
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtComponentPeer$RepaintTimerTask__
+#define __gnu_java_awt_peer_qt_QtComponentPeer$RepaintTimerTask__
+
+#pragma interface
+
+#include <java/util/TimerTask.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtComponentPeer;
+ class QtComponentPeer$RepaintTimerTask;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtComponentPeer$RepaintTimerTask : public ::java::util::TimerTask
+{
+
+public: // actually package-private
+ QtComponentPeer$RepaintTimerTask(::gnu::java::awt::peer::qt::QtComponentPeer *, ::gnu::java::awt::peer::qt::QtComponentPeer *, jint, jint, jint, jint);
+public:
+ virtual void run();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) x;
+ jint y;
+ jint w;
+ jint h;
+ ::gnu::java::awt::peer::qt::QtComponentPeer * peer;
+public: // actually package-private
+ ::gnu::java::awt::peer::qt::QtComponentPeer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtComponentPeer$RepaintTimerTask__
diff --git a/libjava/gnu/java/awt/peer/qt/QtComponentPeer.h b/libjava/gnu/java/awt/peer/qt/QtComponentPeer.h
new file mode 100644
index 000000000..4688b8e3f
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtComponentPeer.h
@@ -0,0 +1,197 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtComponentPeer__
+#define __gnu_java_awt_peer_qt_QtComponentPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/NativeWrapper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtComponentPeer;
+ class QtContainerPeer;
+ class QtFontPeer;
+ class QtImage;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTEvent;
+ class BufferCapabilities;
+ class BufferCapabilities$FlipContents;
+ class Color;
+ class Component;
+ class Cursor;
+ class Dimension;
+ class Font;
+ class FontMetrics;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Point;
+ class Rectangle;
+ class Toolkit;
+ namespace event
+ {
+ class PaintEvent;
+ }
+ namespace image
+ {
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ class VolatileImage;
+ }
+ namespace peer
+ {
+ class ContainerPeer;
+ }
+ }
+ }
+ namespace sun
+ {
+ namespace awt
+ {
+ class CausedFocusEvent$Cause;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtComponentPeer : public ::gnu::java::awt::peer::qt::NativeWrapper
+{
+
+public: // actually package-private
+ QtComponentPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *);
+public: // actually protected
+ virtual void callInit();
+ virtual void init();
+ virtual void setup();
+public: // actually package-private
+ virtual void QtUpdate();
+ virtual void QtUpdateArea(jint, jint, jint, jint);
+private:
+ void disposeNative();
+ void setGround(jint, jint, jint, jboolean);
+ void setBoundsNative(jint, jint, jint, jint);
+ void setCursor(jint);
+ ::java::awt::Color * getNativeBackground();
+ void setFontNative(::gnu::java::awt::peer::qt::QtFontPeer *);
+ jint whichScreen();
+ void reparentNative(::gnu::java::awt::peer::qt::QtContainerPeer *);
+ void getLocationOnScreenNative(::java::awt::Point *);
+ jboolean drawableComponent();
+public: // actually package-private
+ virtual void updateBounds();
+ virtual void updateBackBuffer(jint, jint);
+public: // actually protected
+ virtual void closeEvent();
+ virtual void enterEvent(jint, jint, jint, jint);
+ virtual void focusInEvent();
+ virtual void focusOutEvent();
+ virtual void keyPressEvent(jint, jint, jint, jint);
+ virtual void keyReleaseEvent(jint, jint, jint, jint);
+ virtual void leaveEvent(jint, jint, jint, jint);
+ virtual void mouseDoubleClickEvent(jint, jint, jint, jint);
+ virtual void mouseMoveEvent(jint, jint, jint, jint);
+ virtual void mousePressEvent(jint, jint, jint, jint);
+ virtual void mouseReleaseEvent(jint, jint, jint, jint);
+ virtual void moveEvent(jint, jint, jint, jint);
+ virtual void resizeEvent(jint, jint, jint, jint);
+ virtual void showEvent();
+ virtual void hideEvent();
+public:
+ virtual void setEventMask(jlong);
+ virtual jboolean canDetermineObscurity();
+ virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void createBuffers(jint, ::java::awt::BufferCapabilities *);
+ virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *);
+ virtual ::java::awt::Image * createImage(jint, jint);
+ virtual void coalescePaintEvent(::java::awt::event::PaintEvent *);
+ virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint);
+ virtual void destroyBuffers();
+ virtual void disable();
+ virtual void dispose();
+ virtual void enable();
+ virtual void finalize();
+ virtual void flip(::java::awt::BufferCapabilities$FlipContents *);
+ virtual ::java::awt::Image * getBackBuffer();
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration();
+ virtual ::java::awt::Point * getLocationOnScreen();
+private:
+ void getSizeNative(::java::awt::Dimension *, jboolean);
+ ::java::awt::Dimension * getSize(jboolean);
+public:
+ virtual ::java::awt::Dimension * getMinimumSize();
+ virtual ::java::awt::Dimension * getPreferredSize();
+ virtual ::java::awt::Toolkit * getToolkit();
+ virtual jboolean handlesWheelScrolling();
+ virtual void hide();
+ virtual jboolean isFocusable();
+ virtual jboolean isFocusTraversable();
+ virtual jboolean isObscured();
+ virtual ::java::awt::Dimension * minimumSize();
+ virtual ::java::awt::Dimension * preferredSize();
+ virtual void requestFocus();
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong);
+ virtual void reshape(jint, jint, jint, jint);
+ virtual void setBackground(::java::awt::Color *);
+ virtual void setBounds(jint, jint, jint, jint);
+ virtual void setCursor(::java::awt::Cursor *);
+ virtual void setEnabled(jboolean);
+ virtual void setFont(::java::awt::Font *);
+ virtual void setForeground(::java::awt::Color *);
+ virtual void setVisible(jboolean);
+ virtual void show();
+ virtual void handleEvent(::java::awt::AWTEvent *);
+ virtual void paint(::java::awt::Graphics *);
+ virtual void paintBackBuffer();
+ virtual void paintBackBuffer(jint, jint, jint, jint);
+ virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void print(::java::awt::Graphics *);
+ virtual void repaint(jlong, jint, jint, jint, jint);
+ virtual void updateCursorImmediately();
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual void reparent(::java::awt::peer::ContainerPeer *);
+ virtual void setBounds(jint, jint, jint, jint, jint);
+ virtual jboolean isReparentSupported();
+ virtual void layout();
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong, ::sun::awt::CausedFocusEvent$Cause *);
+public: // actually protected
+ static const jint POPUP_TRIGGER = 3;
+ ::gnu::java::awt::peer::qt::QtToolkit * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::NativeWrapper)))) toolkit;
+public: // actually package-private
+ ::java::awt::Component * owner;
+private:
+ jlong eventMask;
+ jboolean hasMotionListeners;
+public: // actually protected
+ ::gnu::java::awt::peer::qt::QtImage * backBuffer;
+ jlong qtApp;
+private:
+ jboolean settingUp;
+ jboolean ignoreResize;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtComponentPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtContainerPeer.h b/libjava/gnu/java/awt/peer/qt/QtContainerPeer.h
new file mode 100644
index 000000000..f9e60b3cc
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtContainerPeer.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtContainerPeer__
+#define __gnu_java_awt_peer_qt_QtContainerPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtContainerPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ class Insets;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtContainerPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer
+{
+
+public:
+ QtContainerPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+public:
+ virtual void beginLayout();
+ virtual void beginValidate();
+ virtual void endLayout();
+ virtual void endValidate();
+ virtual ::java::awt::Insets * getInsets();
+ virtual ::java::awt::Insets * insets();
+ virtual jboolean isPaintPending();
+ virtual jboolean isRestackSupported();
+ virtual void cancelPendingPaint(jint, jint, jint, jint);
+ virtual void restack();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtContainerPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtDialogPeer.h b/libjava/gnu/java/awt/peer/qt/QtDialogPeer.h
new file mode 100644
index 000000000..483aa8e51
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtDialogPeer.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtDialogPeer__
+#define __gnu_java_awt_peer_qt_QtDialogPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtWindowPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtDialogPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Dialog;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtDialogPeer : public ::gnu::java::awt::peer::qt::QtWindowPeer
+{
+
+public:
+ QtDialogPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Dialog *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+public: // actually package-private
+ virtual void setModal(jboolean);
+private:
+ void setBoundsNative(jint, jint, jint, jint, jboolean);
+public:
+ virtual void setResizable(jboolean);
+ virtual void setBounds(jint, jint, jint, jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtDialogPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.h b/libjava/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.h
new file mode 100644
index 000000000..5ee942d6f
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__
+#define __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtFramePeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtEmbeddedWindowPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtEmbeddedWindowPeer : public ::gnu::java::awt::peer::qt::QtFramePeer
+{
+
+public:
+ QtEmbeddedWindowPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+public:
+ virtual void embed(jlong);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtFileDialogPeer.h b/libjava/gnu/java/awt/peer/qt/QtFileDialogPeer.h
new file mode 100644
index 000000000..a87e72f1b
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtFileDialogPeer.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtFileDialogPeer__
+#define __gnu_java_awt_peer_qt_QtFileDialogPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtDialogPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtFileDialogPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class FileDialog;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtFileDialogPeer : public ::gnu::java::awt::peer::qt::QtDialogPeer
+{
+
+public:
+ QtFileDialogPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::FileDialog *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+private:
+ void setMode(jint);
+ void fileDialogDone(::java::lang::String *, ::java::lang::String *);
+public:
+ virtual void setFile(::java::lang::String *);
+ virtual void setDirectory(::java::lang::String *);
+ virtual void setFilenameFilter(::java::io::FilenameFilter *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtFileDialogPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtFontMetrics.h b/libjava/gnu/java/awt/peer/qt/QtFontMetrics.h
new file mode 100644
index 000000000..fcb30d235
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtFontMetrics.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtFontMetrics__
+#define __gnu_java_awt_peer_qt_QtFontMetrics__
+
+#pragma interface
+
+#include <java/awt/FontMetrics.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtFontMetrics;
+ class QtFontPeer;
+ class QtGraphics;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class Graphics;
+ namespace geom
+ {
+ class Rectangle2D;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtFontMetrics : public ::java::awt::FontMetrics
+{
+
+public:
+ QtFontMetrics(::java::awt::Font *);
+ QtFontMetrics(::java::awt::Font *, ::java::awt::Graphics *);
+public: // actually package-private
+ QtFontMetrics(::gnu::java::awt::peer::qt::QtFontPeer *, ::java::awt::Graphics *);
+public:
+ QtFontMetrics(::gnu::java::awt::peer::qt::QtFontPeer *);
+private:
+ void init(::gnu::java::awt::peer::qt::QtFontPeer *);
+ void initGraphics(::gnu::java::awt::peer::qt::QtFontPeer *, ::gnu::java::awt::peer::qt::QtGraphics *);
+ void dispose();
+public: // actually package-private
+ virtual ::java::awt::geom::Rectangle2D * getStringBounds(::java::lang::String *);
+ virtual jboolean canDisplay(jint);
+public:
+ virtual jint getAscent();
+ virtual jint getDescent();
+ virtual jint getHeight();
+ virtual jint getLeading();
+ virtual jint getMaxAdvance();
+ virtual jint charWidth(jchar);
+ virtual jint charsWidth(JArray< jchar > *, jint, jint);
+ virtual jint stringWidth(::java::lang::String *);
+ virtual ::java::awt::geom::Rectangle2D * getStringBounds(::java::lang::String *, ::java::awt::Graphics *);
+private:
+ jlong __attribute__((aligned(__alignof__( ::java::awt::FontMetrics)))) nativeObject;
+ ::gnu::java::awt::peer::qt::QtFontPeer * peer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtFontMetrics__
diff --git a/libjava/gnu/java/awt/peer/qt/QtFontPeer.h b/libjava/gnu/java/awt/peer/qt/QtFontPeer.h
new file mode 100644
index 000000000..0daebcc13
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtFontPeer.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtFontPeer__
+#define __gnu_java_awt_peer_qt_QtFontPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/ClasspathFontPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtFontMetrics;
+ class QtFontPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class FontMetrics;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphVector;
+ class LineMetrics;
+ }
+ namespace geom
+ {
+ class Rectangle2D;
+ }
+ }
+ namespace text
+ {
+ class CharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtFontPeer : public ::gnu::java::awt::peer::ClasspathFontPeer
+{
+
+public:
+ QtFontPeer(::java::lang::String *, jint);
+ QtFontPeer(::java::lang::String *, jint, jint);
+ QtFontPeer(::java::lang::String *, ::java::util::Map *);
+ virtual void init();
+private:
+ void create(::java::lang::String *, jint, jint);
+public:
+ virtual void dispose();
+ virtual jboolean canDisplay(::java::awt::Font *, jint);
+ virtual jint canDisplayUpTo(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint);
+ virtual ::java::lang::String * getSubFamilyName(::java::awt::Font *, ::java::util::Locale *);
+ virtual ::java::lang::String * getPostScriptName(::java::awt::Font *);
+ virtual jint getNumGlyphs(::java::awt::Font *);
+ virtual jint getMissingGlyphCode(::java::awt::Font *);
+ virtual jbyte getBaselineFor(::java::awt::Font *, jchar);
+ virtual ::java::lang::String * getGlyphName(::java::awt::Font *, jint);
+ virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *);
+ virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jint > *);
+ virtual ::java::awt::font::GlyphVector * layoutGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jchar > *, jint, jint, jint);
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual jboolean hasUniformLineMetrics(::java::awt::Font *);
+ virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *);
+ virtual ::java::awt::geom::Rectangle2D * getMaxCharBounds(::java::awt::Font *, ::java::awt::font::FontRenderContext *);
+private:
+ jlong __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::ClasspathFontPeer)))) nativeObject;
+ ::gnu::java::awt::peer::qt::QtFontMetrics * metrics;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtFontPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtFramePeer.h b/libjava/gnu/java/awt/peer/qt/QtFramePeer.h
new file mode 100644
index 000000000..a89557c60
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtFramePeer.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtFramePeer__
+#define __gnu_java_awt_peer_qt_QtFramePeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtWindowPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtFramePeer;
+ class QtImage;
+ class QtMenuBarPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ class Image;
+ class Insets;
+ class MenuBar;
+ class Rectangle;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtFramePeer : public ::gnu::java::awt::peer::qt::QtWindowPeer
+{
+
+public:
+ QtFramePeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+private:
+ void setIcon(::gnu::java::awt::peer::qt::QtImage *);
+ void setMaximizedBounds(jint, jint);
+ void setMenu(::gnu::java::awt::peer::qt::QtMenuBarPeer *);
+ jint menuBarHeight();
+public:
+ virtual void destroy();
+ virtual jint getState();
+ virtual ::java::awt::Insets * getInsets();
+ virtual void setIconImage(::java::awt::Image *);
+ virtual void setMaximizedBounds(::java::awt::Rectangle *);
+ virtual void setMenuBar(::java::awt::MenuBar *);
+ virtual void setResizable(jboolean);
+ virtual void setState(jint);
+ virtual void setBoundsPrivate(jint, jint, jint, jint);
+ virtual void updateAlwaysOnTop();
+ virtual jboolean requestWindowFocus();
+ virtual ::java::awt::Rectangle * getBoundsPrivate();
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtWindowPeer)))) theState;
+public: // actually package-private
+ jlong frameObject;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtFramePeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtGraphics.h b/libjava/gnu/java/awt/peer/qt/QtGraphics.h
new file mode 100644
index 000000000..710248b0a
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtGraphics.h
@@ -0,0 +1,215 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtGraphics__
+#define __gnu_java_awt_peer_qt_QtGraphics__
+
+#pragma interface
+
+#include <java/awt/Graphics2D.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QMatrix;
+ class QPainterPath;
+ class QPen;
+ class QtFontPeer;
+ class QtGraphics;
+ class QtImage;
+ class QtVolatileImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Composite;
+ class Font;
+ class FontMetrics;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Paint;
+ class Rectangle;
+ class RenderingHints;
+ class RenderingHints$Key;
+ class Shape;
+ class Stroke;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class BufferedImageOp;
+ class ImageObserver;
+ class RenderedImage;
+ namespace renderable
+ {
+ class RenderableImage;
+ }
+ }
+ }
+ namespace text
+ {
+ class AttributedCharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtGraphics : public ::java::awt::Graphics2D
+{
+
+public: // actually package-private
+ QtGraphics();
+ QtGraphics(::gnu::java::awt::peer::qt::QtGraphics *);
+public: // actually protected
+ virtual void setup();
+public:
+ virtual void delete$();
+ virtual void dispose();
+private:
+ void resetClip();
+public: // actually protected
+ virtual void initImage(::gnu::java::awt::peer::qt::QtImage *);
+ virtual void initVolatileImage(::gnu::java::awt::peer::qt::QtVolatileImage *);
+private:
+ void cloneNativeContext(::gnu::java::awt::peer::qt::QtGraphics *);
+ void setColor(jint, jint, jint, jint);
+ void drawNative(::gnu::java::awt::peer::qt::QPainterPath *);
+ void fillNative(::gnu::java::awt::peer::qt::QPainterPath *);
+ void setClipNative(::gnu::java::awt::peer::qt::QPainterPath *);
+ void setClipRectNative(jint, jint, jint, jint);
+ void intersectClipNative(::gnu::java::awt::peer::qt::QPainterPath *);
+ void intersectClipRectNative(jint, jint, jint, jint);
+ void setQtTransform(::gnu::java::awt::peer::qt::QMatrix *);
+ void setNativeStroke(::gnu::java::awt::peer::qt::QPen *);
+ void setNativeComposite(jint);
+ void drawStringNative(::java::lang::String *, jdouble, jdouble);
+ void setLinearGradient(jint, jint, jint, jint, jint, jint, jdouble, jdouble, jdouble, jdouble, jboolean);
+ void setAlphaNative(jdouble);
+ void setFontNative(::gnu::java::awt::peer::qt::QtFontPeer *);
+ ::gnu::java::awt::peer::qt::QPainterPath * getClipNative();
+public: // actually package-private
+ virtual void setAlpha(jdouble);
+public:
+ virtual ::java::awt::Graphics * create() = 0;
+ virtual void copyArea(jint, jint, jint, jint, jint, jint) = 0;
+ virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration() = 0;
+ virtual ::java::awt::Color * getColor();
+ virtual void setColor(::java::awt::Color *);
+ virtual void setBackground(::java::awt::Color *);
+ virtual ::java::awt::Color * getBackground();
+ virtual void setPaintMode();
+ virtual void setXORMode(::java::awt::Color *);
+ virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean);
+ virtual ::java::awt::Font * getFont();
+ virtual void setFont(::java::awt::Font *);
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual void clip(::java::awt::Shape *);
+ virtual void clipRect(jint, jint, jint, jint);
+ virtual void setClip(jint, jint, jint, jint);
+ virtual ::java::awt::Shape * getClip();
+ virtual ::java::awt::Rectangle * getClipBounds();
+ virtual void setClip(::java::awt::Shape *);
+ virtual void draw(::java::awt::Shape *);
+ virtual void fill(::java::awt::Shape *);
+ virtual void drawLine(jint, jint, jint, jint);
+ virtual void drawRect(jint, jint, jint, jint);
+ virtual void fillRect(jint, jint, jint, jint);
+ virtual void clearRect(jint, jint, jint, jint);
+ virtual void drawRoundRect(jint, jint, jint, jint, jint, jint);
+ virtual void fillRoundRect(jint, jint, jint, jint, jint, jint);
+ virtual void drawOval(jint, jint, jint, jint);
+ virtual void fillOval(jint, jint, jint, jint);
+ virtual void drawArc(jint, jint, jint, jint, jint, jint);
+ virtual void fillArc(jint, jint, jint, jint, jint, jint);
+ virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint);
+ virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint);
+ virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint);
+ virtual void fill3DRect(jint, jint, jint, jint, jboolean);
+ virtual void draw3DRect(jint, jint, jint, jint, jboolean);
+ virtual void drawString(::java::lang::String *, jint, jint);
+ virtual void drawString(::java::lang::String *, jfloat, jfloat);
+ virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint);
+ virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat);
+ virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat);
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual ::java::awt::geom::AffineTransform * getTransform();
+ virtual void setTransform(::java::awt::geom::AffineTransform *);
+ virtual void rotate(jdouble);
+ virtual void rotate(jdouble, jdouble, jdouble);
+ virtual void scale(jdouble, jdouble);
+ virtual void shear(jdouble, jdouble);
+ virtual void transform(::java::awt::geom::AffineTransform *);
+ virtual void translate(jdouble, jdouble);
+ virtual void translate(jint, jint);
+ virtual void setStroke(::java::awt::Stroke *);
+ virtual ::java::awt::Stroke * getStroke();
+ virtual void setComposite(::java::awt::Composite *);
+ virtual ::java::awt::Composite * getComposite();
+ virtual void setPaint(::java::awt::Paint *);
+ virtual ::java::awt::Paint * getPaint();
+ virtual void addRenderingHints(::java::util::Map *);
+ virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *);
+ virtual ::java::awt::RenderingHints * getRenderingHints();
+ virtual void setRenderingHints(::java::util::Map *);
+ virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *);
+private:
+ void updateRenderingHints();
+public:
+ virtual ::java::awt::font::FontRenderContext * getFontRenderContext();
+ virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *);
+ virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *);
+ virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint);
+public: // actually protected
+ jlong __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) nativeObject;
+private:
+ static ::java::awt::geom::AffineTransform * identity;
+public: // actually protected
+ ::java::awt::Font * font;
+ ::java::awt::Color * color;
+ ::java::awt::Color * bgcolor;
+ ::java::awt::Shape * clip__;
+ ::java::awt::Shape * initialClip;
+ ::java::awt::geom::AffineTransform * xform;
+ ::java::awt::Stroke * currentStroke;
+ jboolean nativeStroking;
+ ::java::awt::Composite * composite;
+ jdouble currentAlpha;
+ ::java::awt::Paint * currentPaint;
+ ::java::awt::RenderingHints * renderingHints;
+public: // actually package-private
+ ::java::awt::Graphics * parent;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtGraphics__
diff --git a/libjava/gnu/java/awt/peer/qt/QtGraphicsEnvironment.h b/libjava/gnu/java/awt/peer/qt/QtGraphicsEnvironment.h
new file mode 100644
index 000000000..ec1e0c8a2
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtGraphicsEnvironment.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtGraphicsEnvironment__
+#define __gnu_java_awt_peer_qt_QtGraphicsEnvironment__
+
+#pragma interface
+
+#include <java/awt/GraphicsEnvironment.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtGraphicsEnvironment;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class Graphics2D;
+ class GraphicsDevice;
+ namespace image
+ {
+ class BufferedImage;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtGraphicsEnvironment : public ::java::awt::GraphicsEnvironment
+{
+
+public:
+ QtGraphicsEnvironment(::gnu::java::awt::peer::qt::QtToolkit *);
+ virtual JArray< ::java::awt::Font * > * getAllFonts();
+ virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames();
+ virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(::java::util::Locale *);
+ virtual ::java::awt::GraphicsDevice * getDefaultScreenDevice();
+ virtual ::java::awt::Graphics2D * createGraphics(::java::awt::image::BufferedImage *);
+ virtual JArray< ::java::awt::GraphicsDevice * > * getScreenDevices();
+ virtual ::gnu::java::awt::peer::qt::QtToolkit * getToolkit();
+public: // actually package-private
+ ::gnu::java::awt::peer::qt::QtToolkit * __attribute__((aligned(__alignof__( ::java::awt::GraphicsEnvironment)))) toolkit;
+ JArray< ::java::awt::GraphicsDevice * > * screens;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtGraphicsEnvironment__
diff --git a/libjava/gnu/java/awt/peer/qt/QtImage.h b/libjava/gnu/java/awt/peer/qt/QtImage.h
new file mode 100644
index 000000000..4c921b228
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtImage.h
@@ -0,0 +1,128 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtImage__
+#define __gnu_java_awt_peer_qt_QtImage__
+
+#pragma interface
+
+#include <java/awt/Image.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QMatrix;
+ class QtComponentPeer;
+ class QtGraphics;
+ class QtImage;
+ class QtImageGraphics;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Graphics;
+ class Image;
+ namespace image
+ {
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ }
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtImage : public ::java::awt::Image
+{
+
+public:
+ virtual void clear();
+private:
+ JArray< jint > * getPixels();
+ void setPixels(JArray< jint > *);
+ jboolean loadImage(::java::lang::String *);
+ jboolean loadImageFromData(JArray< jbyte > *);
+ void createImage();
+ void freeImage();
+ void createScaledImage(::gnu::java::awt::peer::qt::QtImage *, jint);
+public: // actually package-private
+ virtual void drawPixels(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jboolean);
+private:
+ void drawPixelsScaled(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jint, jint, jboolean);
+ void drawPixelsTransformed(::gnu::java::awt::peer::qt::QtGraphics *, ::gnu::java::awt::peer::qt::QMatrix *);
+public: // actually package-private
+ virtual void drawPixelsScaledFlipped(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jboolean, jboolean, jint, jint, jint, jint, jint, jint, jint, jint, jboolean);
+public:
+ QtImage(::java::awt::image::ImageProducer *);
+ QtImage(::java::net::URL *);
+ QtImage(::java::lang::String *);
+ QtImage(JArray< jbyte > *);
+ QtImage(jint, jint);
+private:
+ QtImage(::gnu::java::awt::peer::qt::QtImage *, jint, jint, jint);
+public:
+ virtual void setImage(jint, jint, JArray< jint > *, ::java::util::Hashtable *);
+ virtual jint getWidth(::java::awt::image::ImageObserver *);
+ virtual jint getHeight(::java::awt::image::ImageObserver *);
+ virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *);
+ virtual ::java::awt::image::ImageProducer * getSource();
+public: // actually package-private
+ virtual void putPainter(::gnu::java::awt::peer::qt::QtImageGraphics *);
+ virtual void removePainter(::gnu::java::awt::peer::qt::QtImageGraphics *);
+public:
+ virtual ::java::awt::Graphics * getGraphics();
+public: // actually package-private
+ virtual ::java::awt::Graphics * getDirectGraphics(::gnu::java::awt::peer::qt::QtComponentPeer *);
+public:
+ virtual ::java::awt::Image * getScaledInstance(jint, jint, jint);
+ virtual void flush();
+ virtual void finalize();
+ virtual void dispose();
+ virtual jint checkImage(::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, ::gnu::java::awt::peer::qt::QMatrix *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual void copyArea(jint, jint, jint, jint, jint, jint);
+private:
+ void deliver();
+ jboolean addObserver(::java::awt::image::ImageObserver *);
+public:
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::awt::Image)))) width;
+ jint height;
+ ::java::util::Hashtable * props;
+ jboolean isLoaded;
+ jlong nativeObject;
+ ::java::util::Vector * observers;
+ jboolean errorLoading;
+ ::java::awt::image::ImageProducer * source;
+ static ::java::awt::image::ColorModel * nativeModel;
+ ::java::util::WeakHashMap * painters;
+ jboolean killFlag;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtImage__
diff --git a/libjava/gnu/java/awt/peer/qt/QtImageConsumer.h b/libjava/gnu/java/awt/peer/qt/QtImageConsumer.h
new file mode 100644
index 000000000..8c929d4f6
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtImageConsumer.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtImageConsumer__
+#define __gnu_java_awt_peer_qt_QtImageConsumer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtImage;
+ class QtImageConsumer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace image
+ {
+ class ColorModel;
+ class ImageProducer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtImageConsumer : public ::java::lang::Object
+{
+
+public:
+ QtImageConsumer(::gnu::java::awt::peer::qt::QtImage *, ::java::awt::image::ImageProducer *);
+ virtual void imageComplete(jint);
+ virtual void setColorModel(::java::awt::image::ColorModel *);
+ virtual void setDimensions(jint, jint);
+ virtual void setHints(jint);
+ virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint);
+ virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint);
+private:
+ JArray< jint > * convertPixels(JArray< jbyte > *);
+public:
+ virtual void setProperties(::java::util::Hashtable *);
+private:
+ ::gnu::java::awt::peer::qt::QtImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) target;
+ jint width;
+ jint height;
+ ::java::util::Hashtable * properties;
+ JArray< jint > * pixelCache;
+ ::java::awt::image::ImageProducer * source;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtImageConsumer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtImageDirectGraphics.h b/libjava/gnu/java/awt/peer/qt/QtImageDirectGraphics.h
new file mode 100644
index 000000000..d74e32444
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtImageDirectGraphics.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtImageDirectGraphics__
+#define __gnu_java_awt_peer_qt_QtImageDirectGraphics__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtImageGraphics.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtComponentPeer;
+ class QtImage;
+ class QtImageDirectGraphics;
+ class QtImageGraphics;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Image;
+ class Shape;
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ namespace image
+ {
+ class ImageObserver;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtImageDirectGraphics : public ::gnu::java::awt::peer::qt::QtImageGraphics
+{
+
+public:
+ QtImageDirectGraphics(::gnu::java::awt::peer::qt::QtImage *, ::gnu::java::awt::peer::qt::QtComponentPeer *);
+ QtImageDirectGraphics(::gnu::java::awt::peer::qt::QtImageGraphics *);
+private:
+ void scheduleUpdate();
+public:
+ virtual void dispose();
+ virtual void draw(::java::awt::Shape *);
+ virtual void fill(::java::awt::Shape *);
+ virtual void drawString(::java::lang::String *, jint, jint);
+ virtual void drawString(::java::lang::String *, jfloat, jfloat);
+ virtual void drawLine(jint, jint, jint, jint);
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+private:
+ ::gnu::java::awt::peer::qt::QtComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtImageGraphics)))) peer;
+ jboolean modified;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtImageDirectGraphics__
diff --git a/libjava/gnu/java/awt/peer/qt/QtImageGraphics.h b/libjava/gnu/java/awt/peer/qt/QtImageGraphics.h
new file mode 100644
index 000000000..e5adb7912
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtImageGraphics.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtImageGraphics__
+#define __gnu_java_awt_peer_qt_QtImageGraphics__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtGraphics.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtImageGraphics;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtImageGraphics : public ::gnu::java::awt::peer::qt::QtGraphics
+{
+
+public:
+ QtImageGraphics(::java::awt::Image *);
+public: // actually package-private
+ QtImageGraphics(::gnu::java::awt::peer::qt::QtImageGraphics *);
+public:
+ virtual void dispose();
+ virtual ::java::awt::Graphics * create();
+ virtual void copyArea(jint, jint, jint, jint, jint, jint);
+ virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration();
+public: // actually package-private
+ ::java::awt::Image * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtGraphics)))) parentImage;
+ ::java::util::Stack * owners;
+ ::gnu::java::awt::peer::qt::QtImageGraphics * topParent;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtImageGraphics__
diff --git a/libjava/gnu/java/awt/peer/qt/QtLabelPeer.h b/libjava/gnu/java/awt/peer/qt/QtLabelPeer.h
new file mode 100644
index 000000000..af81168b4
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtLabelPeer.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtLabelPeer__
+#define __gnu_java_awt_peer_qt_QtLabelPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtLabelPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Label;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtLabelPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer
+{
+
+public:
+ QtLabelPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Label *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+public:
+ virtual void setAlignment(jint);
+ virtual void setText(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtLabelPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtListPeer.h b/libjava/gnu/java/awt/peer/qt/QtListPeer.h
new file mode 100644
index 000000000..0d4fbee97
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtListPeer.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtListPeer__
+#define __gnu_java_awt_peer_qt_QtListPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtComponentPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtListPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Dimension;
+ class List;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtListPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer
+{
+
+public:
+ QtListPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::List *);
+ virtual void init();
+public: // actually protected
+ virtual void setup();
+private:
+ void fireChoice(jint);
+ void itemDoubleClicked(jint, jint);
+ void select(jint, jboolean);
+public:
+ virtual void add(::java::lang::String *, jint);
+ virtual void addItem(::java::lang::String *, jint);
+ virtual void clear();
+ virtual void delItems(jint, jint);
+ virtual void deselect(jint);
+ virtual JArray< jint > * getSelectedIndexes();
+ virtual void makeVisible(jint);
+ virtual ::java::awt::Dimension * minimumSize(jint);
+ virtual ::java::awt::Dimension * preferredSize(jint);
+ virtual void removeAll();
+ virtual void select(jint);
+ virtual void setMultipleMode(jboolean);
+ virtual void setMultipleSelections(jboolean);
+ virtual ::java::awt::Dimension * getPreferredSize(jint);
+ virtual ::java::awt::Dimension * getMinimumSize(jint);
+private:
+ jboolean __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtComponentPeer)))) ignoreNextSelect;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtListPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtMenuBarPeer.h b/libjava/gnu/java/awt/peer/qt/QtMenuBarPeer.h
new file mode 100644
index 000000000..57e6d546e
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtMenuBarPeer.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtMenuBarPeer__
+#define __gnu_java_awt_peer_qt_QtMenuBarPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtMenuComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtMenuBarPeer;
+ class QtMenuPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Menu;
+ class MenuBar;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtMenuBarPeer : public ::gnu::java::awt::peer::qt::QtMenuComponentPeer
+{
+
+public:
+ QtMenuBarPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::MenuBar *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+public: // actually package-private
+ virtual void addMenus();
+private:
+ void addMenu(::gnu::java::awt::peer::qt::QtMenuPeer *);
+ void addHelpMenu(::gnu::java::awt::peer::qt::QtMenuPeer *);
+ void delMenu(::gnu::java::awt::peer::qt::QtMenuPeer *);
+public:
+ virtual void addMenu(::java::awt::Menu *);
+ virtual void addHelpMenu(::java::awt::Menu *);
+ virtual void delMenu(jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtMenuBarPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtMenuComponentPeer.h b/libjava/gnu/java/awt/peer/qt/QtMenuComponentPeer.h
new file mode 100644
index 000000000..3cab64589
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtMenuComponentPeer.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtMenuComponentPeer__
+#define __gnu_java_awt_peer_qt_QtMenuComponentPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/NativeWrapper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtMenuComponentPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class MenuComponent;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtMenuComponentPeer : public ::gnu::java::awt::peer::qt::NativeWrapper
+{
+
+public:
+ QtMenuComponentPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::MenuComponent *);
+public: // actually protected
+ virtual void callInit();
+ virtual void init();
+ virtual void setup();
+public:
+ virtual void finalize();
+ virtual void dispose();
+ virtual void setFont(::java::awt::Font *);
+public: // actually protected
+ ::gnu::java::awt::peer::qt::QtToolkit * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::NativeWrapper)))) toolkit;
+ ::java::awt::MenuComponent * owner;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtMenuComponentPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtMenuItemPeer.h b/libjava/gnu/java/awt/peer/qt/QtMenuItemPeer.h
new file mode 100644
index 000000000..10eee1aa2
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtMenuItemPeer.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtMenuItemPeer__
+#define __gnu_java_awt_peer_qt_QtMenuItemPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtMenuComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtMenuItemPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class MenuItem;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtMenuItemPeer : public ::gnu::java::awt::peer::qt::QtMenuComponentPeer
+{
+
+public:
+ QtMenuItemPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::MenuItem *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+private:
+ void create(::java::lang::String *, jboolean, jboolean);
+public:
+ virtual void finalize();
+ virtual void dispose();
+private:
+ void fireClick(jint);
+public:
+ virtual void disable();
+ virtual void enable();
+ virtual void setEnabled(jboolean);
+ virtual void setLabel(::java::lang::String *);
+ virtual void setState(jboolean);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtMenuItemPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtMenuPeer.h b/libjava/gnu/java/awt/peer/qt/QtMenuPeer.h
new file mode 100644
index 000000000..79341a4fe
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtMenuPeer.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtMenuPeer__
+#define __gnu_java_awt_peer_qt_QtMenuPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtMenuComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtMenuItemPeer;
+ class QtMenuPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Menu;
+ class MenuItem;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtMenuPeer : public ::gnu::java::awt::peer::qt::QtMenuComponentPeer
+{
+
+public:
+ QtMenuPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Menu *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+public: // actually package-private
+ virtual void addItems();
+private:
+ void fireClick();
+ void allowTearOff();
+ void insertSeperator();
+ void insertItem(::gnu::java::awt::peer::qt::QtMenuItemPeer *);
+ void insertMenu(::gnu::java::awt::peer::qt::QtMenuPeer *);
+ void delItem(jlong);
+ void add(jlong);
+public:
+ virtual void addItem(::java::awt::MenuItem *);
+ virtual void addSeparator();
+ virtual void delItem(jint);
+ virtual void disable();
+ virtual void enable();
+ virtual void setEnabled(jboolean);
+ virtual void setLabel(::java::lang::String *);
+public: // actually package-private
+ ::java::util::Vector * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtMenuComponentPeer)))) items;
+ jboolean itemsAdded;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtMenuPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtPanelPeer.h b/libjava/gnu/java/awt/peer/qt/QtPanelPeer.h
new file mode 100644
index 000000000..c0031ef50
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtPanelPeer.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtPanelPeer__
+#define __gnu_java_awt_peer_qt_QtPanelPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtContainerPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtPanelPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtPanelPeer : public ::gnu::java::awt::peer::qt::QtContainerPeer
+{
+
+public:
+ QtPanelPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtPanelPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtPopupMenuPeer.h b/libjava/gnu/java/awt/peer/qt/QtPopupMenuPeer.h
new file mode 100644
index 000000000..3b78bc977
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtPopupMenuPeer.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtPopupMenuPeer__
+#define __gnu_java_awt_peer_qt_QtPopupMenuPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtMenuPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtPopupMenuPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ class Event;
+ class PopupMenu;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtPopupMenuPeer : public ::gnu::java::awt::peer::qt::QtMenuPeer
+{
+
+public:
+ QtPopupMenuPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::PopupMenu *);
+private:
+ void showNative(jint, jint);
+public:
+ virtual void show(::java::awt::Component *, jint, jint);
+ virtual void show(::java::awt::Event *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtPopupMenuPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.h b/libjava/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.h
new file mode 100644
index 000000000..9cc516cda
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtRepaintThread$RepaintComponent__
+#define __gnu_java_awt_peer_qt_QtRepaintThread$RepaintComponent__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtComponentPeer;
+ class QtRepaintThread$RepaintComponent;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtRepaintThread$RepaintComponent : public ::java::lang::Object
+{
+
+public:
+ QtRepaintThread$RepaintComponent(::gnu::java::awt::peer::qt::QtComponentPeer *);
+ QtRepaintThread$RepaintComponent(::gnu::java::awt::peer::qt::QtComponentPeer *, jint, jint, jint, jint);
+ ::gnu::java::awt::peer::qt::QtComponentPeer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) curr;
+ ::gnu::java::awt::peer::qt::QtRepaintThread$RepaintComponent * next;
+ jboolean paintAll;
+ jint x;
+ jint y;
+ jint w;
+ jint h;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtRepaintThread$RepaintComponent__
diff --git a/libjava/gnu/java/awt/peer/qt/QtRepaintThread.h b/libjava/gnu/java/awt/peer/qt/QtRepaintThread.h
new file mode 100644
index 000000000..e9d714cb6
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtRepaintThread.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtRepaintThread__
+#define __gnu_java_awt_peer_qt_QtRepaintThread__
+
+#pragma interface
+
+#include <java/lang/Thread.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtComponentPeer;
+ class QtRepaintThread;
+ class QtRepaintThread$RepaintComponent;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtRepaintThread : public ::java::lang::Thread
+{
+
+public:
+ QtRepaintThread();
+ virtual void run();
+ virtual void queueComponent(::gnu::java::awt::peer::qt::QtComponentPeer *);
+ virtual void queueComponent(::gnu::java::awt::peer::qt::QtComponentPeer *, jint, jint, jint, jint);
+public: // actually package-private
+ ::gnu::java::awt::peer::qt::QtRepaintThread$RepaintComponent * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) component;
+ jboolean busy;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtRepaintThread__
diff --git a/libjava/gnu/java/awt/peer/qt/QtScreenDevice.h b/libjava/gnu/java/awt/peer/qt/QtScreenDevice.h
new file mode 100644
index 000000000..179fa09bf
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtScreenDevice.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtScreenDevice__
+#define __gnu_java_awt_peer_qt_QtScreenDevice__
+
+#pragma interface
+
+#include <java/awt/GraphicsDevice.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtScreenDevice;
+ class QtScreenDeviceConfiguration;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class DisplayMode;
+ class GraphicsConfigTemplate;
+ class GraphicsConfiguration;
+ class Rectangle;
+ class Window;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtScreenDevice : public ::java::awt::GraphicsDevice
+{
+
+public:
+ QtScreenDevice(jint);
+ virtual void init(jint);
+ virtual void dispose();
+public: // actually package-private
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual jint getDpiX();
+ virtual jint getDpiY();
+ virtual jint depth();
+public:
+ virtual ::java::awt::GraphicsConfiguration * getBestConfiguration(::java::awt::GraphicsConfigTemplate *);
+ virtual JArray< ::java::awt::GraphicsConfiguration * > * getConfigurations();
+ virtual ::java::awt::GraphicsConfiguration * getDefaultConfiguration();
+ virtual ::java::lang::String * getIDstring();
+ virtual jint getType();
+ virtual jboolean isDisplayChangeSupported();
+ virtual jboolean isFullScreenSupported();
+ virtual void setDisplayMode(::java::awt::DisplayMode *);
+ virtual void setFullScreenWindow(::java::awt::Window *);
+private:
+ jlong __attribute__((aligned(__alignof__( ::java::awt::GraphicsDevice)))) nativeObject;
+ jint id;
+ ::java::lang::String * IDstring;
+public: // actually package-private
+ ::gnu::java::awt::peer::qt::QtScreenDeviceConfiguration * config;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtScreenDevice__
diff --git a/libjava/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.h b/libjava/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.h
new file mode 100644
index 000000000..f9ec9e028
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtScreenDeviceConfiguration__
+#define __gnu_java_awt_peer_qt_QtScreenDeviceConfiguration__
+
+#pragma interface
+
+#include <java/awt/GraphicsConfiguration.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtScreenDevice;
+ class QtScreenDeviceConfiguration;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class GraphicsDevice;
+ class ImageCapabilities;
+ class Rectangle;
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class VolatileImage;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtScreenDeviceConfiguration : public ::java::awt::GraphicsConfiguration
+{
+
+public:
+ QtScreenDeviceConfiguration(::gnu::java::awt::peer::qt::QtScreenDevice *);
+ virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint);
+ virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint, jint);
+ virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint);
+ virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, ::java::awt::ImageCapabilities *);
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual ::java::awt::image::ColorModel * getColorModel(jint);
+ virtual ::java::awt::geom::AffineTransform * getDefaultTransform();
+ virtual ::java::awt::GraphicsDevice * getDevice();
+ virtual ::java::awt::geom::AffineTransform * getNormalizingTransform();
+ virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, jint);
+private:
+ ::gnu::java::awt::peer::qt::QtScreenDevice * __attribute__((aligned(__alignof__( ::java::awt::GraphicsConfiguration)))) owner;
+ ::java::awt::Rectangle * bounds;
+ jdouble dpiX;
+ jdouble dpiY;
+ jint depth;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtScreenDeviceConfiguration__
diff --git a/libjava/gnu/java/awt/peer/qt/QtScrollPanePeer.h b/libjava/gnu/java/awt/peer/qt/QtScrollPanePeer.h
new file mode 100644
index 000000000..23877b3b5
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtScrollPanePeer.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtScrollPanePeer__
+#define __gnu_java_awt_peer_qt_QtScrollPanePeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtContainerPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtScrollPanePeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Adjustable;
+ class Insets;
+ class ScrollPane;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtScrollPanePeer : public ::gnu::java::awt::peer::qt::QtContainerPeer
+{
+
+public:
+ QtScrollPanePeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::ScrollPane *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+private:
+ void setPolicy(jint);
+public:
+ virtual void childResized(jint, jint);
+ virtual jint getHScrollbarHeight();
+ virtual jint getVScrollbarWidth();
+ virtual void setScrollPosition(jint, jint);
+ virtual ::java::awt::Insets * getInsets();
+ virtual void setUnitIncrement(::java::awt::Adjustable *, jint);
+ virtual void setValue(::java::awt::Adjustable *, jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtScrollPanePeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtScrollbarPeer.h b/libjava/gnu/java/awt/peer/qt/QtScrollbarPeer.h
new file mode 100644
index 000000000..3e1359763
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtScrollbarPeer.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtScrollbarPeer__
+#define __gnu_java_awt_peer_qt_QtScrollbarPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtScrollbarPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Scrollbar;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtScrollbarPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer
+{
+
+public:
+ QtScrollbarPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Scrollbar *);
+ virtual void init();
+public: // actually protected
+ virtual void setup();
+private:
+ void setOrientation(jint);
+ void fireMoved(jint, jint);
+public:
+ virtual void setLineIncrement(jint);
+ virtual void setPageIncrement(jint);
+ virtual void setValues(jint, jint, jint, jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtScrollbarPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtTextAreaPeer.h b/libjava/gnu/java/awt/peer/qt/QtTextAreaPeer.h
new file mode 100644
index 000000000..42ee90558
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtTextAreaPeer.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtTextAreaPeer__
+#define __gnu_java_awt_peer_qt_QtTextAreaPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtTextAreaPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Dimension;
+ class Rectangle;
+ class TextArea;
+ namespace im
+ {
+ class InputMethodRequests;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtTextAreaPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer
+{
+
+public:
+ QtTextAreaPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::TextArea *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+private:
+ jint getSelection(jboolean);
+ void textChanged();
+public:
+ virtual jlong filterEvents(jlong);
+ virtual jint getCaretPosition();
+ virtual ::java::awt::Rectangle * getCharacterBounds(jint);
+ virtual jint getIndexAtPoint(jint, jint);
+ virtual ::java::awt::Dimension * getMinimumSize(jint, jint);
+ virtual ::java::awt::Dimension * getPreferredSize(jint, jint);
+ virtual jint getSelectionEnd();
+ virtual jint getSelectionStart();
+ virtual ::java::lang::String * getText();
+ virtual void insert(::java::lang::String *, jint);
+ virtual void insertText(::java::lang::String *, jint);
+ virtual ::java::awt::Dimension * minimumSize(jint, jint);
+ virtual ::java::awt::Dimension * preferredSize(jint, jint);
+ virtual void replaceRange(::java::lang::String *, jint, jint);
+ virtual void replaceText(::java::lang::String *, jint, jint);
+ virtual void setText(::java::lang::String *);
+ virtual void select(jint, jint);
+ virtual void setEditable(jboolean);
+ virtual void setCaretPosition(jint);
+ virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtTextAreaPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtTextFieldPeer.h b/libjava/gnu/java/awt/peer/qt/QtTextFieldPeer.h
new file mode 100644
index 000000000..123d95bb2
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtTextFieldPeer.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtTextFieldPeer__
+#define __gnu_java_awt_peer_qt_QtTextFieldPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtTextFieldPeer;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Dimension;
+ class Rectangle;
+ class TextField;
+ namespace im
+ {
+ class InputMethodRequests;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtTextFieldPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer
+{
+
+public:
+ QtTextFieldPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::TextField *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+private:
+ void textChanged();
+ jint getSelection(jboolean);
+ ::java::awt::Dimension * getMinimumSizeNative(jint);
+ ::java::awt::Dimension * getPreferredSizeNative(jint);
+public:
+ virtual jlong filterEvents(jlong);
+ virtual jint getCaretPosition();
+ virtual ::java::awt::Rectangle * getCharacterBounds(jint);
+ virtual jint getIndexAtPoint(jint, jint);
+ virtual ::java::awt::Dimension * getMinimumSize(jint);
+ virtual ::java::awt::Dimension * getPreferredSize(jint);
+ virtual jint getSelectionEnd();
+ virtual jint getSelectionStart();
+ virtual ::java::lang::String * getText();
+ virtual ::java::awt::Dimension * minimumSize(jint);
+ virtual ::java::awt::Dimension * preferredSize(jint);
+ virtual void select(jint, jint);
+ virtual void setCaretPosition(jint);
+ virtual void setEchoCharacter(jchar);
+ virtual void setEchoChar(jchar);
+ virtual void setEditable(jboolean);
+ virtual void setText(::java::lang::String *);
+ virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtTextFieldPeer__
diff --git a/libjava/gnu/java/awt/peer/qt/QtToolkit.h b/libjava/gnu/java/awt/peer/qt/QtToolkit.h
new file mode 100644
index 000000000..319318ac5
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtToolkit.h
@@ -0,0 +1,207 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtToolkit__
+#define __gnu_java_awt_peer_qt_QtToolkit__
+
+#pragma interface
+
+#include <gnu/java/awt/ClasspathToolkit.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ class EmbeddedWindow;
+ namespace peer
+ {
+ class ClasspathFontPeer;
+ class EmbeddedWindowPeer;
+ namespace qt
+ {
+ class MainQtThread;
+ class QtGraphicsEnvironment;
+ class QtRepaintThread;
+ class QtToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Button;
+ class Canvas;
+ class Checkbox;
+ class CheckboxMenuItem;
+ class Choice;
+ class Dialog;
+ class Dialog$ModalExclusionType;
+ class Dialog$ModalityType;
+ class Dimension;
+ class EventQueue;
+ class FileDialog;
+ class Font;
+ class FontMetrics;
+ class Frame;
+ class GraphicsDevice;
+ class GraphicsEnvironment;
+ class Image;
+ class Label;
+ class List;
+ class Menu;
+ class MenuBar;
+ class MenuItem;
+ class Panel;
+ class PopupMenu;
+ class PrintJob;
+ class ScrollPane;
+ class Scrollbar;
+ class TextArea;
+ class TextField;
+ class Window;
+ namespace datatransfer
+ {
+ class Clipboard;
+ }
+ namespace dnd
+ {
+ class DragGestureEvent;
+ namespace peer
+ {
+ class DragSourceContextPeer;
+ }
+ }
+ namespace event
+ {
+ class AWTEventListener;
+ }
+ namespace im
+ {
+ class InputMethodHighlight;
+ }
+ namespace image
+ {
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ }
+ namespace peer
+ {
+ class ButtonPeer;
+ class CanvasPeer;
+ class CheckboxMenuItemPeer;
+ class CheckboxPeer;
+ class ChoicePeer;
+ class DialogPeer;
+ class FileDialogPeer;
+ class FontPeer;
+ class FramePeer;
+ class LabelPeer;
+ class ListPeer;
+ class MenuBarPeer;
+ class MenuItemPeer;
+ class MenuPeer;
+ class PanelPeer;
+ class PopupMenuPeer;
+ class RobotPeer;
+ class ScrollPanePeer;
+ class ScrollbarPeer;
+ class TextAreaPeer;
+ class TextFieldPeer;
+ class WindowPeer;
+ }
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtToolkit : public ::gnu::java::awt::ClasspathToolkit
+{
+
+ static void initToolkit();
+public:
+ QtToolkit();
+public: // actually package-private
+ virtual JArray< ::java::lang::String * > * nativeFontFamilies();
+ virtual jint numScreens();
+ virtual jint defaultScreen();
+public:
+ virtual void beep();
+ virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+public: // actually protected
+ virtual ::java::awt::peer::ButtonPeer * createButton(::java::awt::Button *);
+ virtual ::java::awt::peer::CanvasPeer * createCanvas(::java::awt::Canvas *);
+ virtual ::java::awt::peer::CheckboxPeer * createCheckbox(::java::awt::Checkbox *);
+ virtual ::java::awt::peer::ChoicePeer * createChoice(::java::awt::Choice *);
+ virtual ::java::awt::peer::CheckboxMenuItemPeer * createCheckboxMenuItem(::java::awt::CheckboxMenuItem *);
+public:
+ virtual ::java::awt::dnd::peer::DragSourceContextPeer * createDragSourceContextPeer(::java::awt::dnd::DragGestureEvent *);
+public: // actually protected
+ virtual ::java::awt::peer::FramePeer * createFrame(::java::awt::Frame *);
+ virtual ::java::awt::peer::FileDialogPeer * createFileDialog(::java::awt::FileDialog *);
+public:
+ virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *);
+ virtual ::java::awt::Image * createImage(JArray< jbyte > *, jint, jint);
+ virtual ::java::awt::Image * createImage(::java::lang::String *);
+ virtual ::java::awt::Image * createImage(::java::net::URL *);
+public: // actually protected
+ virtual ::java::awt::peer::TextFieldPeer * createTextField(::java::awt::TextField *);
+ virtual ::java::awt::peer::LabelPeer * createLabel(::java::awt::Label *);
+ virtual ::java::awt::peer::ListPeer * createList(::java::awt::List *);
+ virtual ::java::awt::peer::ScrollbarPeer * createScrollbar(::java::awt::Scrollbar *);
+ virtual ::java::awt::peer::ScrollPanePeer * createScrollPane(::java::awt::ScrollPane *);
+ virtual ::java::awt::peer::TextAreaPeer * createTextArea(::java::awt::TextArea *);
+ virtual ::java::awt::peer::PanelPeer * createPanel(::java::awt::Panel *);
+ virtual ::java::awt::peer::WindowPeer * createWindow(::java::awt::Window *);
+ virtual ::java::awt::peer::DialogPeer * createDialog(::java::awt::Dialog *);
+ virtual ::java::awt::peer::MenuBarPeer * createMenuBar(::java::awt::MenuBar *);
+ virtual ::java::awt::peer::MenuPeer * createMenu(::java::awt::Menu *);
+ virtual ::java::awt::peer::PopupMenuPeer * createPopupMenu(::java::awt::PopupMenu *);
+ virtual ::java::awt::peer::MenuItemPeer * createMenuItem(::java::awt::MenuItem *);
+public:
+ virtual JArray< ::java::awt::event::AWTEventListener * > * getAWTEventListeners();
+ virtual JArray< ::java::awt::event::AWTEventListener * > * getAWTEventListeners(jlong);
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual JArray< ::java::lang::String * > * getFontList();
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+public: // actually protected
+ virtual ::java::awt::peer::FontPeer * getFontPeer(::java::lang::String *, jint);
+public:
+ virtual ::java::awt::Image * getImage(::java::lang::String *);
+ virtual ::java::awt::Image * getImage(::java::net::URL *);
+ virtual ::java::awt::PrintJob * getPrintJob(::java::awt::Frame *, ::java::lang::String *, ::java::util::Properties *);
+ virtual ::java::awt::datatransfer::Clipboard * getSystemClipboard();
+public: // actually protected
+ virtual ::java::awt::EventQueue * getSystemEventQueueImpl();
+public:
+ virtual ::java::awt::Dimension * getScreenSize();
+ virtual jint getScreenResolution();
+ virtual ::java::util::Map * mapInputMethodHighlight(::java::awt::im::InputMethodHighlight *);
+ virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void sync();
+ virtual ::java::awt::GraphicsEnvironment * getLocalGraphicsEnvironment();
+ virtual ::gnu::java::awt::peer::ClasspathFontPeer * getClasspathFontPeer(::java::lang::String *, ::java::util::Map *);
+ virtual ::java::awt::Font * createFont(jint, ::java::io::InputStream *);
+ virtual ::java::awt::peer::RobotPeer * createRobot(::java::awt::GraphicsDevice *);
+ virtual ::gnu::java::awt::peer::EmbeddedWindowPeer * createEmbeddedWindow(::gnu::java::awt::EmbeddedWindow *);
+ virtual jboolean isModalExclusionTypeSupported(::java::awt::Dialog$ModalExclusionType *);
+ virtual jboolean isModalityTypeSupported(::java::awt::Dialog$ModalityType *);
+ static ::java::awt::EventQueue * eventQueue;
+ static ::gnu::java::awt::peer::qt::QtRepaintThread * repaintThread;
+ static ::gnu::java::awt::peer::qt::MainQtThread * guiThread;
+ static ::gnu::java::awt::peer::qt::QtGraphicsEnvironment * graphicsEnv;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtToolkit__
diff --git a/libjava/gnu/java/awt/peer/qt/QtVolatileImage$1.h b/libjava/gnu/java/awt/peer/qt/QtVolatileImage$1.h
new file mode 100644
index 000000000..a3ceb2937
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtVolatileImage$1.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtVolatileImage$1__
+#define __gnu_java_awt_peer_qt_QtVolatileImage$1__
+
+#pragma interface
+
+#include <java/awt/ImageCapabilities.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtVolatileImage;
+ class QtVolatileImage$1;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtVolatileImage$1 : public ::java::awt::ImageCapabilities
+{
+
+public: // actually package-private
+ QtVolatileImage$1(::gnu::java::awt::peer::qt::QtVolatileImage *, jboolean);
+public:
+ virtual jboolean isTrueVolatile();
+public: // actually package-private
+ ::gnu::java::awt::peer::qt::QtVolatileImage * __attribute__((aligned(__alignof__( ::java::awt::ImageCapabilities)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtVolatileImage$1__
diff --git a/libjava/gnu/java/awt/peer/qt/QtVolatileImage.h b/libjava/gnu/java/awt/peer/qt/QtVolatileImage.h
new file mode 100644
index 000000000..4972e9faa
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtVolatileImage.h
@@ -0,0 +1,117 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtVolatileImage__
+#define __gnu_java_awt_peer_qt_QtVolatileImage__
+
+#pragma interface
+
+#include <java/awt/image/VolatileImage.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QMatrix;
+ class QtGraphics;
+ class QtImage;
+ class QtImageGraphics;
+ class QtVolatileImage;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Graphics;
+ class Graphics2D;
+ class GraphicsConfiguration;
+ class Image;
+ class ImageCapabilities;
+ namespace image
+ {
+ class BufferedImage;
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtVolatileImage : public ::java::awt::image::VolatileImage
+{
+
+public:
+ virtual void clear();
+private:
+ JArray< jint > * getPixels();
+ void createImage();
+ void freeImage();
+public:
+ virtual void blit(::gnu::java::awt::peer::qt::QtImage *);
+ virtual void blit(::gnu::java::awt::peer::qt::QtImage *, jint, jint, jint, jint);
+private:
+ void createScaledImage(::gnu::java::awt::peer::qt::QtVolatileImage *, jint);
+ void drawPixels(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jboolean);
+ void drawPixelsScaled(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jint, jint, jboolean);
+ void drawPixelsTransformed(::gnu::java::awt::peer::qt::QtGraphics *, ::gnu::java::awt::peer::qt::QMatrix *);
+public: // actually package-private
+ virtual void drawPixelsScaledFlipped(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jboolean, jboolean, jint, jint, jint, jint, jint, jint, jint, jint, jboolean);
+public:
+ QtVolatileImage(jint, jint);
+private:
+ QtVolatileImage(::gnu::java::awt::peer::qt::QtVolatileImage *, jint, jint, jint);
+public:
+ virtual void finalize();
+ virtual void dispose();
+ virtual jint getWidth(::java::awt::image::ImageObserver *);
+ virtual jint getHeight(::java::awt::image::ImageObserver *);
+ virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *);
+ virtual ::java::awt::image::ImageProducer * getSource();
+public: // actually package-private
+ virtual void putPainter(::gnu::java::awt::peer::qt::QtImageGraphics *);
+ virtual void removePainter(::gnu::java::awt::peer::qt::QtImageGraphics *);
+public:
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::Image * getScaledInstance(jint, jint, jint);
+ virtual void flush();
+ virtual jint checkImage(::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, ::gnu::java::awt::peer::qt::QMatrix *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual void copyArea(jint, jint, jint, jint, jint, jint);
+ virtual jboolean contentsLost();
+ virtual ::java::awt::Graphics2D * createGraphics();
+ virtual ::java::awt::ImageCapabilities * getCapabilities();
+ virtual jint getHeight();
+ virtual ::java::awt::image::BufferedImage * getSnapshot();
+ virtual jint getWidth();
+ virtual jint validate(::java::awt::GraphicsConfiguration *);
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::awt::image::VolatileImage)))) width;
+ jint height;
+ ::java::util::Hashtable * props;
+ jlong nativeObject;
+ static ::java::awt::image::ColorModel * nativeModel;
+ ::java::util::WeakHashMap * painters;
+ jboolean killFlag;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtVolatileImage__
diff --git a/libjava/gnu/java/awt/peer/qt/QtWindowPeer.h b/libjava/gnu/java/awt/peer/qt/QtWindowPeer.h
new file mode 100644
index 000000000..9e5a1474f
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/qt/QtWindowPeer.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_qt_QtWindowPeer__
+#define __gnu_java_awt_peer_qt_QtWindowPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/qt/QtContainerPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace qt
+ {
+ class QtToolkit;
+ class QtWindowPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ class Dialog;
+ }
+ }
+}
+
+class gnu::java::awt::peer::qt::QtWindowPeer : public ::gnu::java::awt::peer::qt::QtContainerPeer
+{
+
+public:
+ QtWindowPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *);
+public: // actually protected
+ virtual void init();
+ virtual void setup();
+public:
+ virtual void toBack();
+ virtual void toFront();
+ virtual void setTitle(::java::lang::String *);
+ virtual void updateAlwaysOnTop();
+ virtual jboolean requestWindowFocus();
+ virtual void updateIconImages();
+ virtual void updateMinimumSize();
+ virtual void setModalBlocked(::java::awt::Dialog *, jboolean);
+ virtual void updateFocusableWindowState();
+ virtual void setAlwaysOnTop(jboolean);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_qt_QtWindowPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.h b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.h
new file mode 100644
index 000000000..ffaa2b6cd
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButton__
+#define __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButton__
+
+#pragma interface
+
+#include <javax/swing/JButton.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingButtonPeer;
+ class SwingButtonPeer$SwingButton;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Button;
+ class Container;
+ class Graphics;
+ class Image;
+ class Point;
+ namespace event
+ {
+ class FocusEvent;
+ class KeyEvent;
+ class MouseEvent;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace swing
+ {
+ class JComponent;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingButtonPeer$SwingButton : public ::javax::swing::JButton
+{
+
+public: // actually package-private
+ SwingButtonPeer$SwingButton(::gnu::java::awt::peer::swing::SwingButtonPeer *, ::java::awt::Button *);
+public:
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual jboolean isShowing();
+ virtual ::java::awt::Image * createImage(jint, jint);
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::javax::swing::JComponent * getJComponent();
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+ virtual void handleKeyEvent(::java::awt::event::KeyEvent *);
+ virtual ::java::awt::Container * getParent();
+ virtual void handleFocusEvent(::java::awt::event::FocusEvent *);
+ virtual void requestFocus();
+ virtual jboolean requestFocus(jboolean);
+public: // actually package-private
+ ::java::awt::Button * __attribute__((aligned(__alignof__( ::javax::swing::JButton)))) button;
+ ::gnu::java::awt::peer::swing::SwingButtonPeer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButton__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.h b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.h
new file mode 100644
index 000000000..c6a6f9a0f
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButtonListener__
+#define __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButtonListener__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingButtonPeer;
+ class SwingButtonPeer$SwingButtonListener;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace event
+ {
+ class ActionEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingButtonPeer$SwingButtonListener : public ::java::lang::Object
+{
+
+public: // actually package-private
+ SwingButtonPeer$SwingButtonListener(::gnu::java::awt::peer::swing::SwingButtonPeer *);
+public:
+ virtual void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+ ::gnu::java::awt::peer::swing::SwingButtonPeer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButtonListener__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingButtonPeer.h b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer.h
new file mode 100644
index 000000000..cca199f89
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingButtonPeer__
+#define __gnu_java_awt_peer_swing_SwingButtonPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingButtonPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Button;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingButtonPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer
+{
+
+public:
+ SwingButtonPeer(::java::awt::Button *);
+ virtual void setLabel(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingButtonPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingCanvasPeer.h b/libjava/gnu/java/awt/peer/swing/SwingCanvasPeer.h
new file mode 100644
index 000000000..1fd853bb8
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingCanvasPeer.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingCanvasPeer__
+#define __gnu_java_awt_peer_swing_SwingCanvasPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingCanvasPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Canvas;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingCanvasPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer
+{
+
+public:
+ SwingCanvasPeer(::java::awt::Canvas *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingCanvasPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer$SwingCheckbox.h b/libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer$SwingCheckbox.h
new file mode 100644
index 000000000..d50fe6699
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer$SwingCheckbox.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingCheckboxPeer$SwingCheckbox__
+#define __gnu_java_awt_peer_swing_SwingCheckboxPeer$SwingCheckbox__
+
+#pragma interface
+
+#include <javax/swing/JCheckBox.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingCheckboxPeer;
+ class SwingCheckboxPeer$SwingCheckbox;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Checkbox;
+ class Container;
+ class Graphics;
+ class Image;
+ class Point;
+ namespace event
+ {
+ class FocusEvent;
+ class KeyEvent;
+ class MouseEvent;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace swing
+ {
+ class JComponent;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingCheckboxPeer$SwingCheckbox : public ::javax::swing::JCheckBox
+{
+
+public: // actually package-private
+ SwingCheckboxPeer$SwingCheckbox(::gnu::java::awt::peer::swing::SwingCheckboxPeer *, ::java::awt::Checkbox *);
+public:
+ virtual ::javax::swing::JComponent * getJComponent();
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+ virtual void handleKeyEvent(::java::awt::event::KeyEvent *);
+ virtual void handleFocusEvent(::java::awt::event::FocusEvent *);
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual jboolean isShowing();
+ virtual ::java::awt::Image * createImage(jint, jint);
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::Container * getParent();
+ virtual void requestFocus();
+ virtual jboolean requestFocus(jboolean);
+public: // actually package-private
+ ::java::awt::Checkbox * __attribute__((aligned(__alignof__( ::javax::swing::JCheckBox)))) checkbox;
+ ::gnu::java::awt::peer::swing::SwingCheckboxPeer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingCheckboxPeer$SwingCheckbox__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer$SwingCheckboxListener.h b/libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer$SwingCheckboxListener.h
new file mode 100644
index 000000000..71517aeb3
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer$SwingCheckboxListener.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingCheckboxPeer$SwingCheckboxListener__
+#define __gnu_java_awt_peer_swing_SwingCheckboxPeer$SwingCheckboxListener__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingCheckboxPeer;
+ class SwingCheckboxPeer$SwingCheckboxListener;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Checkbox;
+ namespace event
+ {
+ class ItemEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingCheckboxPeer$SwingCheckboxListener : public ::java::lang::Object
+{
+
+public: // actually package-private
+ SwingCheckboxPeer$SwingCheckboxListener(::gnu::java::awt::peer::swing::SwingCheckboxPeer *, ::java::awt::Checkbox *);
+public:
+ virtual void itemStateChanged(::java::awt::event::ItemEvent *);
+public: // actually package-private
+ ::java::awt::Checkbox * __attribute__((aligned(__alignof__( ::java::lang::Object)))) awtCheckbox;
+ ::gnu::java::awt::peer::swing::SwingCheckboxPeer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingCheckboxPeer$SwingCheckboxListener__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer.h b/libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer.h
new file mode 100644
index 000000000..bceaa2168
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingCheckboxPeer.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingCheckboxPeer__
+#define __gnu_java_awt_peer_swing_SwingCheckboxPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingCheckboxPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Checkbox;
+ class CheckboxGroup;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingCheckboxPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer
+{
+
+public:
+ SwingCheckboxPeer(::java::awt::Checkbox *);
+ virtual void setCheckboxGroup(::java::awt::CheckboxGroup *);
+ virtual void setLabel(::java::lang::String *);
+ virtual void setState(jboolean);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingCheckboxPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingComponent.h b/libjava/gnu/java/awt/peer/swing/SwingComponent.h
new file mode 100644
index 000000000..619a05e36
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingComponent.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingComponent__
+#define __gnu_java_awt_peer_swing_SwingComponent__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingComponent;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace event
+ {
+ class FocusEvent;
+ class KeyEvent;
+ class MouseEvent;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace swing
+ {
+ class JComponent;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingComponent : public ::java::lang::Object
+{
+
+public:
+ virtual ::javax::swing::JComponent * getJComponent() = 0;
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *) = 0;
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *) = 0;
+ virtual void handleKeyEvent(::java::awt::event::KeyEvent *) = 0;
+ virtual void handleFocusEvent(::java::awt::event::FocusEvent *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_awt_peer_swing_SwingComponent__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingComponentPeer.h b/libjava/gnu/java/awt/peer/swing/SwingComponentPeer.h
new file mode 100644
index 000000000..545496878
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingComponentPeer.h
@@ -0,0 +1,156 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingComponentPeer__
+#define __gnu_java_awt_peer_swing_SwingComponentPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingComponent;
+ class SwingComponentPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class AWTEvent;
+ class BufferCapabilities;
+ class BufferCapabilities$FlipContents;
+ class Color;
+ class Component;
+ class Cursor;
+ class Dimension;
+ class Font;
+ class FontMetrics;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Point;
+ class Rectangle;
+ class Toolkit;
+ namespace event
+ {
+ class FocusEvent;
+ class KeyEvent;
+ class MouseEvent;
+ class PaintEvent;
+ }
+ namespace image
+ {
+ class ColorModel;
+ class ImageObserver;
+ class ImageProducer;
+ class VolatileImage;
+ }
+ namespace peer
+ {
+ class ContainerPeer;
+ }
+ }
+ }
+ namespace sun
+ {
+ namespace awt
+ {
+ class CausedFocusEvent$Cause;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingComponentPeer : public ::java::lang::Object
+{
+
+public: // actually protected
+ SwingComponentPeer();
+ virtual void init(::java::awt::Component *, ::gnu::java::awt::peer::swing::SwingComponent *);
+public:
+ virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *);
+ virtual ::java::awt::Image * createImage(jint, jint);
+ virtual void disable();
+ virtual void dispose();
+ virtual void enable();
+ virtual ::java::awt::image::ColorModel * getColorModel();
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual ::java::awt::Dimension * getMinimumSize();
+ virtual ::java::awt::Dimension * getPreferredSize();
+ virtual ::java::awt::Toolkit * getToolkit();
+ virtual void handleEvent(::java::awt::AWTEvent *);
+ virtual void hide();
+ virtual jboolean isFocusTraversable();
+ virtual jboolean isFocusable();
+ virtual ::java::awt::Dimension * minimumSize();
+ virtual ::java::awt::Dimension * preferredSize();
+ virtual void paint(::java::awt::Graphics *);
+ virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void print(::java::awt::Graphics *);
+ virtual void repaint(jlong, jint, jint, jint, jint);
+ virtual void requestFocus();
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong);
+ virtual void reshape(jint, jint, jint, jint);
+ virtual void setBackground(::java::awt::Color *);
+ virtual void setBounds(jint, jint, jint, jint);
+ virtual void setCursor(::java::awt::Cursor *);
+ virtual void setEnabled(jboolean);
+ virtual void setFont(::java::awt::Font *);
+ virtual void setForeground(::java::awt::Color *);
+ virtual void setVisible(jboolean);
+ virtual void show();
+ virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration();
+ virtual void setEventMask(jlong);
+ virtual jboolean isObscured();
+ virtual jboolean canDetermineObscurity();
+ virtual void coalescePaintEvent(::java::awt::event::PaintEvent *);
+ virtual void updateCursorImmediately();
+ virtual jboolean handlesWheelScrolling();
+ virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint);
+ virtual void createBuffers(jint, ::java::awt::BufferCapabilities *);
+ virtual ::java::awt::Image * getBackBuffer();
+ virtual void flip(::java::awt::BufferCapabilities$FlipContents *);
+ virtual void destroyBuffers();
+ virtual ::java::awt::Rectangle * getBounds();
+ virtual void reparent(::java::awt::peer::ContainerPeer *);
+ virtual void setBounds(jint, jint, jint, jint, jint);
+ virtual jboolean isReparentSupported();
+ virtual void layout();
+public: // actually protected
+ virtual void peerPaint(::java::awt::Graphics *, jboolean);
+ virtual void peerPaintComponent(::java::awt::Graphics *);
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+ virtual void handleKeyEvent(::java::awt::event::KeyEvent *);
+ virtual void handleFocusEvent(::java::awt::event::FocusEvent *);
+public:
+ virtual ::java::awt::Component * getComponent();
+ virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong, ::sun::awt::CausedFocusEvent$Cause *);
+public: // actually protected
+ ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) awtComponent;
+ ::gnu::java::awt::peer::swing::SwingComponent * swingComponent;
+ ::java::awt::Font * peerFont;
+ ::java::awt::Rectangle * paintArea;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingComponentPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingContainerPeer.h b/libjava/gnu/java/awt/peer/swing/SwingContainerPeer.h
new file mode 100644
index 000000000..a3895c08c
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingContainerPeer.h
@@ -0,0 +1,86 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingContainerPeer__
+#define __gnu_java_awt_peer_swing_SwingContainerPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingComponentPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingContainerPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ class Container;
+ class Graphics;
+ class Image;
+ class Insets;
+ namespace event
+ {
+ class KeyEvent;
+ class MouseEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingContainerPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer
+{
+
+public:
+ SwingContainerPeer(::java::awt::Container *);
+public: // actually protected
+ virtual void addHeavyweightDescendent(::java::awt::Component *);
+ virtual void removeHeavyweightDescendent(::java::awt::Component *);
+ virtual JArray< ::java::awt::Component * > * getHeavyweightDescendents();
+public:
+ virtual ::java::awt::Insets * insets();
+ virtual ::java::awt::Insets * getInsets();
+ virtual void beginValidate();
+ virtual void endValidate();
+ virtual void beginLayout();
+ virtual void endLayout();
+ virtual jboolean isPaintPending();
+ virtual jboolean isRestackSupported();
+ virtual void cancelPendingPaint(jint, jint, jint, jint);
+ virtual void restack();
+public: // actually protected
+ virtual void peerPaint(::java::awt::Graphics *, jboolean);
+private:
+ jboolean isDoubleBuffering();
+public: // actually protected
+ virtual void peerPaintChildren(::java::awt::Graphics *);
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+ virtual void handleKeyEvent(::java::awt::event::KeyEvent *);
+private:
+ ::java::awt::Component * getFocusOwner();
+ ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::swing::SwingComponentPeer)))) heavyweightDescendents;
+ ::java::awt::Image * backbuffer;
+ ::java::awt::Component * focusOwner;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingContainerPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingFramePeer.h b/libjava/gnu/java/awt/peer/swing/SwingFramePeer.h
new file mode 100644
index 000000000..e09ee5d1d
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingFramePeer.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingFramePeer__
+#define __gnu_java_awt_peer_swing_SwingFramePeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingWindowPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingFramePeer;
+ class SwingMenuBarPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Frame;
+ class Graphics;
+ class Image;
+ class Insets;
+ class MenuBar;
+ class Point;
+ class Rectangle;
+ namespace event
+ {
+ class MouseEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingFramePeer : public ::gnu::java::awt::peer::swing::SwingWindowPeer
+{
+
+public:
+ SwingFramePeer(::java::awt::Frame *);
+ virtual void setMenuBar(::java::awt::MenuBar *);
+public: // actually protected
+ virtual void peerPaintComponent(::java::awt::Graphics *);
+public:
+ virtual void setBounds(jint, jint, jint, jint);
+ virtual ::java::awt::Insets * getInsets();
+ virtual ::java::awt::Point * getMenuLocationOnScreen();
+public: // actually protected
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+public:
+ virtual void setIconImage(::java::awt::Image *) = 0;
+ virtual void setResizable(jboolean) = 0;
+ virtual void setTitle(::java::lang::String *) = 0;
+ virtual jint getState() = 0;
+ virtual void setState(jint) = 0;
+ virtual void setMaximizedBounds(::java::awt::Rectangle *) = 0;
+ virtual void setBoundsPrivate(jint, jint, jint, jint) = 0;
+ virtual ::java::awt::Rectangle * getBoundsPrivate() = 0;
+public: // actually package-private
+ ::gnu::java::awt::peer::swing::SwingMenuBarPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::swing::SwingWindowPeer)))) menuBar;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingFramePeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.h b/libjava/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.h
new file mode 100644
index 000000000..561c8102f
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingLabelPeer$SwingLabel__
+#define __gnu_java_awt_peer_swing_SwingLabelPeer$SwingLabel__
+
+#pragma interface
+
+#include <javax/swing/JLabel.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingLabelPeer;
+ class SwingLabelPeer$SwingLabel;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Container;
+ class Graphics;
+ class Image;
+ class Label;
+ class Point;
+ namespace event
+ {
+ class FocusEvent;
+ class KeyEvent;
+ class MouseEvent;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace swing
+ {
+ class JComponent;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingLabelPeer$SwingLabel : public ::javax::swing::JLabel
+{
+
+public: // actually package-private
+ SwingLabelPeer$SwingLabel(::gnu::java::awt::peer::swing::SwingLabelPeer *, ::java::awt::Label *);
+public:
+ virtual ::javax::swing::JComponent * getJComponent();
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+ virtual void handleKeyEvent(::java::awt::event::KeyEvent *);
+ virtual void handleFocusEvent(::java::awt::event::FocusEvent *);
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual jboolean isShowing();
+ virtual ::java::awt::Image * createImage(jint, jint);
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::Container * getParent();
+public: // actually package-private
+ ::java::awt::Label * __attribute__((aligned(__alignof__( ::javax::swing::JLabel)))) label;
+ ::gnu::java::awt::peer::swing::SwingLabelPeer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingLabelPeer$SwingLabel__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingLabelPeer.h b/libjava/gnu/java/awt/peer/swing/SwingLabelPeer.h
new file mode 100644
index 000000000..a400853f7
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingLabelPeer.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingLabelPeer__
+#define __gnu_java_awt_peer_swing_SwingLabelPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingLabelPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Label;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingLabelPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer
+{
+
+public:
+ SwingLabelPeer(::java::awt::Label *);
+ virtual void setText(::java::lang::String *);
+ virtual void setAlignment(jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingLabelPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingListPeer$SwingList.h b/libjava/gnu/java/awt/peer/swing/SwingListPeer$SwingList.h
new file mode 100644
index 000000000..76b8b759b
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingListPeer$SwingList.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingListPeer$SwingList__
+#define __gnu_java_awt_peer_swing_SwingListPeer$SwingList__
+
+#pragma interface
+
+#include <javax/swing/JScrollPane.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingListPeer;
+ class SwingListPeer$SwingList;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Component;
+ class Container;
+ class Graphics;
+ class Image;
+ class Point;
+ namespace event
+ {
+ class FocusEvent;
+ class KeyEvent;
+ class MouseEvent;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace swing
+ {
+ class JComponent;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingListPeer$SwingList : public ::javax::swing::JScrollPane
+{
+
+public: // actually package-private
+ SwingListPeer$SwingList(::gnu::java::awt::peer::swing::SwingListPeer *, ::java::awt::Component *);
+public:
+ virtual ::javax::swing::JComponent * getJComponent();
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual jboolean isLightweight();
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+ virtual void handleKeyEvent(::java::awt::event::KeyEvent *);
+ virtual void handleFocusEvent(::java::awt::event::FocusEvent *);
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual jboolean isShowing();
+ virtual ::java::awt::Image * createImage(jint, jint);
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::Container * getParent();
+public: // actually package-private
+ ::gnu::java::awt::peer::swing::SwingListPeer * __attribute__((aligned(__alignof__( ::javax::swing::JScrollPane)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingListPeer$SwingList__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingListPeer.h b/libjava/gnu/java/awt/peer/swing/SwingListPeer.h
new file mode 100644
index 000000000..fa6fde624
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingListPeer.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingListPeer__
+#define __gnu_java_awt_peer_swing_SwingListPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingComponentPeer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingListPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Dimension;
+ class Graphics;
+ class List;
+ }
+ }
+ namespace javax
+ {
+ namespace swing
+ {
+ class DefaultListModel;
+ class JList;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingListPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer
+{
+
+public:
+ SwingListPeer(::java::awt::List *);
+ virtual void add(::java::lang::String *, jint);
+ virtual void addItem(::java::lang::String *, jint);
+ virtual void clear();
+ virtual void delItems(jint, jint);
+ virtual void deselect(jint);
+ virtual ::java::awt::Dimension * getMinimumSize(jint);
+ virtual ::java::awt::Dimension * getPreferredSize(jint);
+ virtual JArray< jint > * getSelectedIndexes();
+ virtual void makeVisible(jint);
+ virtual ::java::awt::Dimension * minimumSize(jint);
+ virtual ::java::awt::Dimension * preferredSize(jint);
+ virtual void removeAll();
+ virtual void select(jint);
+ virtual void setMultipleMode(jboolean);
+ virtual void setMultipleSelections(jboolean);
+ virtual void reshape(jint, jint, jint, jint);
+public: // actually protected
+ virtual void peerPaint(::java::awt::Graphics *, jboolean);
+private:
+ ::javax::swing::JList * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::swing::SwingComponentPeer)))) jList;
+ ::javax::swing::DefaultListModel * listModel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingListPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.h b/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.h
new file mode 100644
index 000000000..4ab74e8a1
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingMenuBarPeer$SwingMenuBar__
+#define __gnu_java_awt_peer_swing_SwingMenuBarPeer$SwingMenuBar__
+
+#pragma interface
+
+#include <javax/swing/JMenuBar.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingMenuBarPeer;
+ class SwingMenuBarPeer$SwingMenuBar;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Container;
+ class Point;
+ namespace event
+ {
+ class MouseEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingMenuBarPeer$SwingMenuBar : public ::javax::swing::JMenuBar
+{
+
+ SwingMenuBarPeer$SwingMenuBar(::gnu::java::awt::peer::swing::SwingMenuBarPeer *);
+public:
+ virtual ::java::awt::Container * getParent();
+ virtual jboolean isShowing();
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual ::java::awt::Point * getLocationOnScreen();
+public: // actually package-private
+ SwingMenuBarPeer$SwingMenuBar(::gnu::java::awt::peer::swing::SwingMenuBarPeer *, ::gnu::java::awt::peer::swing::SwingMenuBarPeer$SwingMenuBar *);
+ ::gnu::java::awt::peer::swing::SwingMenuBarPeer * __attribute__((aligned(__alignof__( ::javax::swing::JMenuBar)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingMenuBarPeer$SwingMenuBar__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer.h b/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer.h
new file mode 100644
index 000000000..357947669
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingMenuBarPeer__
+#define __gnu_java_awt_peer_swing_SwingMenuBarPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingFramePeer;
+ class SwingMenuBarPeer;
+ class SwingMenuBarPeer$SwingMenuBar;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class Graphics;
+ class Menu;
+ class MenuBar;
+ namespace event
+ {
+ class MouseEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingMenuBarPeer : public ::java::lang::Object
+{
+
+public:
+ SwingMenuBarPeer(::java::awt::MenuBar *);
+ virtual void setFramePeer(::gnu::java::awt::peer::swing::SwingFramePeer *);
+ virtual void addMenu(::java::awt::Menu *);
+ virtual void addHelpMenu(::java::awt::Menu *);
+ virtual void delMenu(jint);
+ virtual void dispose();
+ virtual void setFont(::java::awt::Font *);
+ virtual void setWidth(jint);
+ virtual void peerPaint(::java::awt::Graphics *);
+ virtual jint getHeight();
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+public: // actually package-private
+ ::java::awt::MenuBar * __attribute__((aligned(__alignof__( ::java::lang::Object)))) awtMenuBar;
+ ::gnu::java::awt::peer::swing::SwingMenuBarPeer$SwingMenuBar * menuBar;
+ ::gnu::java::awt::peer::swing::SwingFramePeer * framePeer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingMenuBarPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.h b/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.h
new file mode 100644
index 000000000..1aa993ba7
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingMenuItemPeer$SwingMenuItemListener__
+#define __gnu_java_awt_peer_swing_SwingMenuItemPeer$SwingMenuItemListener__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingMenuItemPeer;
+ class SwingMenuItemPeer$SwingMenuItemListener;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace event
+ {
+ class ActionEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingMenuItemPeer$SwingMenuItemListener : public ::java::lang::Object
+{
+
+ SwingMenuItemPeer$SwingMenuItemListener(::gnu::java::awt::peer::swing::SwingMenuItemPeer *);
+public:
+ virtual void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+ SwingMenuItemPeer$SwingMenuItemListener(::gnu::java::awt::peer::swing::SwingMenuItemPeer *, ::gnu::java::awt::peer::swing::SwingMenuItemPeer$SwingMenuItemListener *);
+ ::gnu::java::awt::peer::swing::SwingMenuItemPeer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingMenuItemPeer$SwingMenuItemListener__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer.h b/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer.h
new file mode 100644
index 000000000..f79e2d27f
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingMenuItemPeer__
+#define __gnu_java_awt_peer_swing_SwingMenuItemPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingMenuItemPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class MenuItem;
+ }
+ }
+ namespace javax
+ {
+ namespace swing
+ {
+ class JMenuItem;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingMenuItemPeer : public ::java::lang::Object
+{
+
+public:
+ SwingMenuItemPeer(::java::awt::MenuItem *);
+ virtual void disable();
+ virtual void enable();
+ virtual void setEnabled(jboolean);
+ virtual void setLabel(::java::lang::String *);
+ virtual void dispose();
+ virtual void setFont(::java::awt::Font *);
+public: // actually package-private
+ ::java::awt::MenuItem * __attribute__((aligned(__alignof__( ::java::lang::Object)))) awtMenuItem;
+ ::javax::swing::JMenuItem * menuItem;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingMenuItemPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.h b/libjava/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.h
new file mode 100644
index 000000000..1de2beecc
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingMenuPeer$SwingMenu__
+#define __gnu_java_awt_peer_swing_SwingMenuPeer$SwingMenu__
+
+#pragma interface
+
+#include <javax/swing/JMenu.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingMenuPeer;
+ class SwingMenuPeer$SwingMenu;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Point;
+ namespace event
+ {
+ class MouseEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingMenuPeer$SwingMenu : public ::javax::swing::JMenu
+{
+
+ SwingMenuPeer$SwingMenu(::gnu::java::awt::peer::swing::SwingMenuPeer *);
+public:
+ virtual jboolean isShowing();
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+public: // actually package-private
+ SwingMenuPeer$SwingMenu(::gnu::java::awt::peer::swing::SwingMenuPeer *, ::gnu::java::awt::peer::swing::SwingMenuPeer$SwingMenu *);
+ ::gnu::java::awt::peer::swing::SwingMenuPeer * __attribute__((aligned(__alignof__( ::javax::swing::JMenu)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingMenuPeer$SwingMenu__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuPeer.h b/libjava/gnu/java/awt/peer/swing/SwingMenuPeer.h
new file mode 100644
index 000000000..988b48139
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingMenuPeer.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingMenuPeer__
+#define __gnu_java_awt_peer_swing_SwingMenuPeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingMenuPeer;
+ class SwingMenuPeer$SwingMenu;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Font;
+ class Menu;
+ class MenuItem;
+ namespace event
+ {
+ class MouseEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingMenuPeer : public ::java::lang::Object
+{
+
+public:
+ SwingMenuPeer(::java::awt::Menu *);
+ virtual void addItem(::java::awt::MenuItem *);
+ virtual void addSeparator();
+ virtual void delItem(jint);
+ virtual void disable();
+ virtual void enable();
+ virtual void setEnabled(jboolean);
+ virtual void setLabel(::java::lang::String *);
+ virtual void dispose();
+ virtual void setFont(::java::awt::Font *);
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+public: // actually package-private
+ virtual jint getX();
+ virtual jint getWidth();
+public:
+ virtual jint getY();
+public: // actually package-private
+ ::java::awt::Menu * __attribute__((aligned(__alignof__( ::java::lang::Object)))) awtMenu;
+ ::gnu::java::awt::peer::swing::SwingMenuPeer$SwingMenu * menu;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingMenuPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingPanelPeer.h b/libjava/gnu/java/awt/peer/swing/SwingPanelPeer.h
new file mode 100644
index 000000000..3b9f61b8a
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingPanelPeer.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingPanelPeer__
+#define __gnu_java_awt_peer_swing_SwingPanelPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingContainerPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingPanelPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Panel;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingPanelPeer : public ::gnu::java::awt::peer::swing::SwingContainerPeer
+{
+
+public:
+ SwingPanelPeer(::java::awt::Panel *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingPanelPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$1.h b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$1.h
new file mode 100644
index 000000000..77c15293b
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$1.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingTextAreaPeer$1__
+#define __gnu_java_awt_peer_swing_SwingTextAreaPeer$1__
+
+#pragma interface
+
+#include <javax/swing/JViewport.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingTextAreaPeer;
+ class SwingTextAreaPeer$1;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Image;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingTextAreaPeer$1 : public ::javax::swing::JViewport
+{
+
+public: // actually package-private
+ SwingTextAreaPeer$1(::gnu::java::awt::peer::swing::SwingTextAreaPeer *);
+public:
+ virtual ::java::awt::Image * createImage(jint, jint);
+public: // actually package-private
+ ::gnu::java::awt::peer::swing::SwingTextAreaPeer * __attribute__((aligned(__alignof__( ::javax::swing::JViewport)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingTextAreaPeer$1__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingScrollPane.h b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingScrollPane.h
new file mode 100644
index 000000000..040c7f017
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingScrollPane.h
@@ -0,0 +1,81 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingTextAreaPeer$SwingScrollPane__
+#define __gnu_java_awt_peer_swing_SwingTextAreaPeer$SwingScrollPane__
+
+#pragma interface
+
+#include <javax/swing/JScrollPane.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingTextAreaPeer;
+ class SwingTextAreaPeer$SwingScrollPane;
+ class SwingTextAreaPeer$SwingTextArea;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Container;
+ class Graphics;
+ class Image;
+ class Point;
+ namespace event
+ {
+ class FocusEvent;
+ class KeyEvent;
+ class MouseEvent;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace swing
+ {
+ class JComponent;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingTextAreaPeer$SwingScrollPane : public ::javax::swing::JScrollPane
+{
+
+public: // actually package-private
+ SwingTextAreaPeer$SwingScrollPane(::gnu::java::awt::peer::swing::SwingTextAreaPeer *, ::gnu::java::awt::peer::swing::SwingTextAreaPeer$SwingTextArea *);
+public:
+ virtual ::javax::swing::JComponent * getJComponent();
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual jboolean isLightweight();
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+ virtual void handleKeyEvent(::java::awt::event::KeyEvent *);
+ virtual void handleFocusEvent(::java::awt::event::FocusEvent *);
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual jboolean isShowing();
+ virtual ::java::awt::Image * createImage(jint, jint);
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual ::java::awt::Container * getParent();
+ virtual void requestFocus();
+ virtual jboolean requestFocus(jboolean);
+public: // actually package-private
+ ::gnu::java::awt::peer::swing::SwingTextAreaPeer$SwingTextArea * __attribute__((aligned(__alignof__( ::javax::swing::JScrollPane)))) textArea;
+ ::gnu::java::awt::peer::swing::SwingTextAreaPeer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingTextAreaPeer$SwingScrollPane__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.h b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.h
new file mode 100644
index 000000000..fe39275bb
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingTextAreaPeer$SwingTextArea__
+#define __gnu_java_awt_peer_swing_SwingTextAreaPeer$SwingTextArea__
+
+#pragma interface
+
+#include <javax/swing/JTextArea.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingTextAreaPeer;
+ class SwingTextAreaPeer$SwingTextArea;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace event
+ {
+ class ComponentEvent;
+ class FocusEvent;
+ class HierarchyEvent;
+ class InputMethodEvent;
+ class KeyEvent;
+ class MouseEvent;
+ class MouseWheelEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingTextAreaPeer$SwingTextArea : public ::javax::swing::JTextArea
+{
+
+ SwingTextAreaPeer$SwingTextArea(::gnu::java::awt::peer::swing::SwingTextAreaPeer *);
+public: // actually protected
+ virtual void processComponentKeyEvent(::java::awt::event::KeyEvent *);
+ virtual void processMouseMotionEvent(::java::awt::event::MouseEvent *);
+ virtual void processComponentEvent(::java::awt::event::ComponentEvent *);
+ virtual void processFocusEvent(::java::awt::event::FocusEvent *);
+ virtual void processHierarchyBoundsEvent(::java::awt::event::HierarchyEvent *);
+ virtual void processHierarchyEvent(::java::awt::event::HierarchyEvent *);
+ virtual void processInputMethodEvent(::java::awt::event::InputMethodEvent *);
+ virtual void processMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void processMouseWheelEvent(::java::awt::event::MouseWheelEvent *);
+ virtual void processKeyEvent(::java::awt::event::KeyEvent *);
+public:
+ virtual void requestFocus();
+ virtual jboolean requestFocus(jboolean);
+public: // actually package-private
+ SwingTextAreaPeer$SwingTextArea(::gnu::java::awt::peer::swing::SwingTextAreaPeer *, ::gnu::java::awt::peer::swing::SwingTextAreaPeer$SwingTextArea *);
+ ::gnu::java::awt::peer::swing::SwingTextAreaPeer * __attribute__((aligned(__alignof__( ::javax::swing::JTextArea)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingTextAreaPeer$SwingTextArea__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer.h b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer.h
new file mode 100644
index 000000000..2e58f536a
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingTextAreaPeer__
+#define __gnu_java_awt_peer_swing_SwingTextAreaPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingTextAreaPeer;
+ class SwingTextAreaPeer$SwingTextArea;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Dimension;
+ class Rectangle;
+ class TextArea;
+ namespace im
+ {
+ class InputMethodRequests;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingTextAreaPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer
+{
+
+public:
+ SwingTextAreaPeer(::java::awt::TextArea *);
+ virtual ::java::awt::Dimension * getMinimumSize(jint, jint);
+ virtual ::java::awt::Dimension * getPreferredSize(jint, jint);
+ virtual void insert(::java::lang::String *, jint);
+ virtual void insertText(::java::lang::String *, jint);
+ virtual ::java::awt::Dimension * minimumSize();
+ virtual ::java::awt::Dimension * preferredSize();
+ virtual ::java::awt::Dimension * minimumSize(jint, jint);
+ virtual ::java::awt::Dimension * preferredSize(jint, jint);
+ virtual void replaceRange(::java::lang::String *, jint, jint);
+ virtual void replaceText(::java::lang::String *, jint, jint);
+ virtual jlong filterEvents(jlong);
+ virtual jint getCaretPosition();
+ virtual ::java::awt::Rectangle * getCharacterBounds(jint);
+ virtual jint getIndexAtPoint(jint, jint);
+ virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests();
+ virtual jint getSelectionEnd();
+ virtual jint getSelectionStart();
+ virtual ::java::lang::String * getText();
+ virtual void select(jint, jint);
+ virtual void setCaretPosition(jint);
+ virtual void setEditable(jboolean);
+ virtual void setText(::java::lang::String *);
+ virtual void reshape(jint, jint, jint, jint);
+private:
+ ::gnu::java::awt::peer::swing::SwingTextAreaPeer$SwingTextArea * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::swing::SwingComponentPeer)))) jTextArea;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingTextAreaPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.h b/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.h
new file mode 100644
index 000000000..3a46f6719
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingTextFieldPeer$SwingTextField__
+#define __gnu_java_awt_peer_swing_SwingTextFieldPeer$SwingTextField__
+
+#pragma interface
+
+#include <javax/swing/JTextField.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingTextFieldPeer;
+ class SwingTextFieldPeer$SwingTextField;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Container;
+ class Graphics;
+ class Image;
+ class Point;
+ class TextField;
+ namespace event
+ {
+ class FocusEvent;
+ class KeyEvent;
+ class MouseEvent;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace swing
+ {
+ class JComponent;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingTextFieldPeer$SwingTextField : public ::javax::swing::JTextField
+{
+
+public: // actually package-private
+ SwingTextFieldPeer$SwingTextField(::gnu::java::awt::peer::swing::SwingTextFieldPeer *, ::java::awt::TextField *);
+public:
+ virtual ::java::awt::Point * getLocationOnScreen();
+ virtual jboolean isShowing();
+ virtual ::java::awt::Image * createImage(jint, jint);
+ virtual ::javax::swing::JComponent * getJComponent();
+ virtual void handleMouseEvent(::java::awt::event::MouseEvent *);
+ virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *);
+ virtual void handleKeyEvent(::java::awt::event::KeyEvent *);
+ virtual void handleFocusEvent(::java::awt::event::FocusEvent *);
+ virtual ::java::awt::Container * getParent();
+ virtual ::java::awt::Graphics * getGraphics();
+ virtual void requestFocus();
+ virtual jboolean requestFocus(jboolean);
+public: // actually package-private
+ ::java::awt::TextField * __attribute__((aligned(__alignof__( ::javax::swing::JTextField)))) textField;
+ ::gnu::java::awt::peer::swing::SwingTextFieldPeer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingTextFieldPeer$SwingTextField__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer.h b/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer.h
new file mode 100644
index 000000000..43d26d5b3
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingTextFieldPeer__
+#define __gnu_java_awt_peer_swing_SwingTextFieldPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingComponentPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingTextFieldPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Dimension;
+ class Rectangle;
+ class TextField;
+ namespace im
+ {
+ class InputMethodRequests;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingTextFieldPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer
+{
+
+public:
+ SwingTextFieldPeer(::java::awt::TextField *);
+ virtual ::java::awt::Dimension * minimumSize(jint);
+ virtual ::java::awt::Dimension * preferredSize(jint);
+ virtual ::java::awt::Dimension * getMinimumSize(jint);
+ virtual ::java::awt::Dimension * getPreferredSize(jint);
+ virtual void setEchoChar(jchar);
+ virtual void setEchoCharacter(jchar);
+ virtual jint getSelectionEnd();
+ virtual jint getSelectionStart();
+ virtual ::java::lang::String * getText();
+ virtual void setText(::java::lang::String *);
+ virtual void select(jint, jint);
+ virtual void setEditable(jboolean);
+ virtual jint getCaretPosition();
+ virtual void setCaretPosition(jint);
+ virtual jint getIndexAtPoint(jint, jint);
+ virtual ::java::awt::Rectangle * getCharacterBounds(jint);
+ virtual jlong filterEvents(jlong);
+ virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingTextFieldPeer__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingToolkit.h b/libjava/gnu/java/awt/peer/swing/SwingToolkit.h
new file mode 100644
index 000000000..9572f3f76
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingToolkit.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingToolkit__
+#define __gnu_java_awt_peer_swing_SwingToolkit__
+
+#pragma interface
+
+#include <gnu/java/awt/ClasspathToolkit.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingToolkit;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Button;
+ class Canvas;
+ class Dialog$ModalExclusionType;
+ class Dialog$ModalityType;
+ class Label;
+ class Menu;
+ class MenuBar;
+ class MenuItem;
+ class Panel;
+ class TextField;
+ namespace peer
+ {
+ class ButtonPeer;
+ class CanvasPeer;
+ class LabelPeer;
+ class MenuBarPeer;
+ class MenuItemPeer;
+ class MenuPeer;
+ class PanelPeer;
+ class TextFieldPeer;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingToolkit : public ::gnu::java::awt::ClasspathToolkit
+{
+
+public:
+ SwingToolkit();
+public: // actually protected
+ virtual ::java::awt::peer::ButtonPeer * createButton(::java::awt::Button *);
+ virtual ::java::awt::peer::CanvasPeer * createCanvas(::java::awt::Canvas *);
+ virtual ::java::awt::peer::LabelPeer * createLabel(::java::awt::Label *);
+ virtual ::java::awt::peer::MenuPeer * createMenu(::java::awt::Menu *);
+ virtual ::java::awt::peer::MenuBarPeer * createMenuBar(::java::awt::MenuBar *);
+ virtual ::java::awt::peer::MenuItemPeer * createMenuItem(::java::awt::MenuItem *);
+ virtual ::java::awt::peer::PanelPeer * createPanel(::java::awt::Panel *);
+ virtual ::java::awt::peer::TextFieldPeer * createTextField(::java::awt::TextField *);
+public:
+ virtual jboolean isModalExclusionTypeSupported(::java::awt::Dialog$ModalExclusionType *);
+ virtual jboolean isModalityTypeSupported(::java::awt::Dialog$ModalityType *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingToolkit__
diff --git a/libjava/gnu/java/awt/peer/swing/SwingWindowPeer.h b/libjava/gnu/java/awt/peer/swing/SwingWindowPeer.h
new file mode 100644
index 000000000..c4fc73fda
--- /dev/null
+++ b/libjava/gnu/java/awt/peer/swing/SwingWindowPeer.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_peer_swing_SwingWindowPeer__
+#define __gnu_java_awt_peer_swing_SwingWindowPeer__
+
+#pragma interface
+
+#include <gnu/java/awt/peer/swing/SwingContainerPeer.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace peer
+ {
+ namespace swing
+ {
+ class SwingWindowPeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Dialog;
+ class Window;
+ }
+ }
+}
+
+class gnu::java::awt::peer::swing::SwingWindowPeer : public ::gnu::java::awt::peer::swing::SwingContainerPeer
+{
+
+public:
+ SwingWindowPeer(::java::awt::Window *);
+ virtual void updateIconImages();
+ virtual void updateMinimumSize();
+ virtual void setModalBlocked(::java::awt::Dialog *, jboolean);
+ virtual void updateFocusableWindowState();
+ virtual void setAlwaysOnTop(jboolean);
+ virtual void toBack() = 0;
+ virtual void toFront() = 0;
+ virtual void updateAlwaysOnTop() = 0;
+ virtual jboolean requestWindowFocus() = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_peer_swing_SwingWindowPeer__
diff --git a/libjava/gnu/java/awt/print/JavaPrinterGraphics.h b/libjava/gnu/java/awt/print/JavaPrinterGraphics.h
new file mode 100644
index 000000000..780903471
--- /dev/null
+++ b/libjava/gnu/java/awt/print/JavaPrinterGraphics.h
@@ -0,0 +1,124 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_print_JavaPrinterGraphics__
+#define __gnu_java_awt_print_JavaPrinterGraphics__
+
+#pragma interface
+
+#include <java/awt/Graphics.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace print
+ {
+ class JavaPrinterGraphics;
+ class SpooledDocument;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Font;
+ class FontMetrics;
+ class Graphics;
+ class Image;
+ class Rectangle;
+ class Shape;
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ namespace image
+ {
+ class ImageObserver;
+ }
+ namespace print
+ {
+ class PageFormat;
+ class Pageable;
+ class Printable;
+ class PrinterJob;
+ }
+ }
+ namespace text
+ {
+ class AttributedCharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::print::JavaPrinterGraphics : public ::java::awt::Graphics
+{
+
+public:
+ JavaPrinterGraphics(::java::awt::print::PrinterJob *);
+ virtual ::gnu::java::awt::print::SpooledDocument * spoolPostScript(::java::awt::print::Printable *, ::java::awt::print::PageFormat *, ::java::awt::print::Pageable *);
+ virtual jint spoolPage(::java::io::PrintWriter *, ::java::awt::print::Printable *, ::java::awt::print::PageFormat *, jint);
+private:
+ void initImage(::java::awt::print::PageFormat *);
+ void writePSHeader(::java::io::PrintWriter *);
+ void writePage(::java::io::PrintWriter *, ::java::awt::print::PageFormat *);
+ ::java::lang::String * colorTripleHex(jint);
+ void concatCTM(::java::io::PrintWriter *, ::java::awt::geom::AffineTransform *);
+public:
+ virtual ::java::awt::print::PrinterJob * getPrinterJob();
+ virtual void clearRect(jint, jint, jint, jint);
+ virtual void clipRect(jint, jint, jint, jint);
+ virtual void copyArea(jint, jint, jint, jint, jint, jint);
+ virtual ::java::awt::Graphics * create();
+ virtual void dispose();
+ virtual void drawArc(jint, jint, jint, jint, jint, jint);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void drawLine(jint, jint, jint, jint);
+ virtual void drawOval(jint, jint, jint, jint);
+ virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint);
+ virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint);
+ virtual void drawRoundRect(jint, jint, jint, jint, jint, jint);
+ virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint);
+ virtual void drawString(::java::lang::String *, jint, jint);
+ virtual void fillArc(jint, jint, jint, jint, jint, jint);
+ virtual void fillOval(jint, jint, jint, jint);
+ virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint);
+ virtual void fillRect(jint, jint, jint, jint);
+ virtual void fillRoundRect(jint, jint, jint, jint, jint, jint);
+ virtual ::java::awt::Shape * getClip();
+ virtual ::java::awt::Rectangle * getClipBounds();
+ virtual ::java::awt::Color * getColor();
+ virtual ::java::awt::Font * getFont();
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual void setClip(jint, jint, jint, jint);
+ virtual void setClip(::java::awt::Shape *);
+ virtual void setColor(::java::awt::Color *);
+ virtual void setFont(::java::awt::Font *);
+ virtual void setPaintMode();
+ virtual void setXORMode(::java::awt::Color *);
+ virtual void translate(jint, jint);
+private:
+ ::java::awt::Graphics * __attribute__((aligned(__alignof__( ::java::awt::Graphics)))) g;
+ ::java::awt::print::PrinterJob * printerJob;
+ static jdouble DPI;
+ jint xSize;
+ jint ySize;
+ ::java::awt::Image * image;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_print_JavaPrinterGraphics__
diff --git a/libjava/gnu/java/awt/print/JavaPrinterJob.h b/libjava/gnu/java/awt/print/JavaPrinterJob.h
new file mode 100644
index 000000000..6275b13e4
--- /dev/null
+++ b/libjava/gnu/java/awt/print/JavaPrinterJob.h
@@ -0,0 +1,95 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_print_JavaPrinterJob__
+#define __gnu_java_awt_print_JavaPrinterJob__
+
+#pragma interface
+
+#include <java/awt/print/PrinterJob.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace print
+ {
+ class JavaPrinterJob;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ namespace print
+ {
+ class PageFormat;
+ class Pageable;
+ class Printable;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace print
+ {
+ class DocPrintJob;
+ class PrintService;
+ namespace attribute
+ {
+ class PrintRequestAttributeSet;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::print::JavaPrinterJob : public ::java::awt::print::PrinterJob
+{
+
+public:
+ JavaPrinterJob();
+private:
+ void getPageAttributes();
+public:
+ virtual jint getCopies();
+ virtual void setCopies(jint);
+ virtual ::java::lang::String * getJobName();
+ virtual void setJobName(::java::lang::String *);
+ virtual ::java::lang::String * getUserName();
+ virtual void cancel();
+ virtual jboolean isCancelled();
+ virtual ::java::awt::print::PageFormat * defaultPage(::java::awt::print::PageFormat *);
+ virtual ::java::awt::print::PageFormat * pageDialog(::java::awt::print::PageFormat *);
+ virtual void print();
+ virtual void print(::javax::print::attribute::PrintRequestAttributeSet *);
+ virtual jboolean printDialog();
+ virtual jboolean printDialog(::javax::print::attribute::PrintRequestAttributeSet *);
+ virtual void setPageable(::java::awt::print::Pageable *);
+ virtual void setPrintable(::java::awt::print::Printable *);
+ virtual void setPrintable(::java::awt::print::Printable *, ::java::awt::print::PageFormat *);
+ virtual ::java::awt::print::PageFormat * validatePage(::java::awt::print::PageFormat *);
+ virtual void setPrintService(::javax::print::PrintService *);
+private:
+ ::javax::print::PrintService * __attribute__((aligned(__alignof__( ::java::awt::print::PrinterJob)))) printer;
+ ::javax::print::attribute::PrintRequestAttributeSet * attributes;
+ static JArray< ::javax::print::PrintService * > * services;
+ ::javax::print::DocPrintJob * printJob;
+ ::java::awt::print::Printable * printable;
+ ::java::awt::print::PageFormat * pageFormat;
+ ::java::awt::print::Pageable * pageable;
+ jboolean cancelled;
+ static ::java::lang::Class * copyClass;
+ static ::java::lang::Class * jobNameClass;
+ static ::java::lang::Class * userNameClass;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_print_JavaPrinterJob__
diff --git a/libjava/gnu/java/awt/print/PostScriptGraphics2D.h b/libjava/gnu/java/awt/print/PostScriptGraphics2D.h
new file mode 100644
index 000000000..46011044a
--- /dev/null
+++ b/libjava/gnu/java/awt/print/PostScriptGraphics2D.h
@@ -0,0 +1,211 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_print_PostScriptGraphics2D__
+#define __gnu_java_awt_print_PostScriptGraphics2D__
+
+#pragma interface
+
+#include <java/awt/Graphics2D.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace print
+ {
+ class PostScriptGraphics2D;
+ class SpooledDocument;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ class Composite;
+ class Font;
+ class FontMetrics;
+ class Graphics;
+ class GraphicsConfiguration;
+ class Image;
+ class Paint;
+ class Rectangle;
+ class RenderingHints;
+ class RenderingHints$Key;
+ class Shape;
+ class Stroke;
+ namespace font
+ {
+ class FontRenderContext;
+ class GlyphVector;
+ }
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ namespace image
+ {
+ class BufferedImage;
+ class BufferedImageOp;
+ class ImageObserver;
+ class RenderedImage;
+ namespace renderable
+ {
+ class RenderableImage;
+ }
+ }
+ namespace print
+ {
+ class PageFormat;
+ class Pageable;
+ class Printable;
+ class PrinterJob;
+ }
+ }
+ namespace text
+ {
+ class AttributedCharacterIterator;
+ }
+ }
+}
+
+class gnu::java::awt::print::PostScriptGraphics2D : public ::java::awt::Graphics2D
+{
+
+public:
+ PostScriptGraphics2D(::java::awt::print::PrinterJob *);
+ virtual ::gnu::java::awt::print::SpooledDocument * spoolPostScript(::java::awt::print::Printable *, ::java::awt::print::PageFormat *, ::java::awt::print::Pageable *);
+private:
+ void writePSHeader();
+ void setupFonts();
+public:
+ virtual jint spoolPage(::java::io::PrintWriter *, ::java::awt::print::Printable *, ::java::awt::print::PageFormat *, jint);
+private:
+ void pushCTM();
+ void popCTM();
+public:
+ virtual ::java::awt::Graphics * create();
+ virtual void drawOval(jint, jint, jint, jint);
+ virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint);
+ virtual void drawRoundRect(jint, jint, jint, jint, jint, jint);
+ virtual void fillRoundRect(jint, jint, jint, jint, jint, jint);
+ virtual void drawArc(jint, jint, jint, jint, jint, jint);
+ virtual void fillArc(jint, jint, jint, jint, jint, jint);
+ virtual void fillOval(jint, jint, jint, jint);
+ virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint);
+ virtual void drawLine(jint, jint, jint, jint);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
+ virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
+ virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint);
+ virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *);
+ virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *);
+ virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *);
+ virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint);
+ virtual void drawString(::java::lang::String *, jint, jint);
+ virtual void drawString(::java::lang::String *, jfloat, jfloat);
+private:
+ void drawStringPSFont(::java::lang::String *, jfloat, jfloat);
+ void saveAndInvertAxis();
+ void restoreAxis();
+ void drawStringShape(::java::awt::Shape *);
+public:
+ virtual void setColor(::java::awt::Color *);
+ virtual void clearRect(jint, jint, jint, jint);
+ virtual void clipRect(jint, jint, jint, jint);
+ virtual void copyArea(jint, jint, jint, jint, jint, jint);
+ virtual void fillRect(jint, jint, jint, jint);
+ virtual void dispose();
+ virtual void setClip(jint, jint, jint, jint);
+ virtual void setClip(::java::awt::Shape *);
+ virtual ::java::awt::Shape * getClip();
+ virtual ::java::awt::Rectangle * getClipBounds();
+ virtual ::java::awt::Color * getColor();
+ virtual ::java::awt::Font * getFont();
+ virtual ::java::awt::FontMetrics * getFontMetrics();
+ virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
+ virtual void setFont(::java::awt::Font *);
+private:
+ void setPSFont();
+public:
+ virtual void setPaintMode();
+ virtual void setXORMode(::java::awt::Color *);
+ virtual void close();
+ virtual void addRenderingHints(::java::util::Map *);
+private:
+ void writeShape(::java::awt::Shape *);
+public:
+ virtual void clip(::java::awt::Shape *);
+ virtual void draw(::java::awt::Shape *);
+ virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat);
+ virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat);
+ virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint);
+ virtual void fill(::java::awt::Shape *);
+ virtual ::java::awt::Color * getBackground();
+ virtual ::java::awt::Composite * getComposite();
+ virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration();
+ virtual ::java::awt::font::FontRenderContext * getFontRenderContext();
+ virtual ::java::awt::Paint * getPaint();
+ virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *);
+ virtual ::java::awt::RenderingHints * getRenderingHints();
+ virtual ::java::awt::Stroke * getStroke();
+ virtual ::java::awt::geom::AffineTransform * getTransform();
+ virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean);
+ virtual void setBackground(::java::awt::Color *);
+ virtual void setComposite(::java::awt::Composite *);
+ virtual void setPaint(::java::awt::Paint *);
+private:
+ ::java::lang::String * colorTriple(::java::awt::Color *);
+ ::java::lang::String * colorTripleHex(::java::awt::Color *);
+ void writeGradient();
+public:
+ virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *);
+ virtual void setRenderingHints(::java::util::Map *);
+ virtual void setStroke(::java::awt::Stroke *);
+private:
+ void concatCTM(::java::awt::geom::AffineTransform *);
+public:
+ virtual void setTransform(::java::awt::geom::AffineTransform *);
+ virtual void transform(::java::awt::geom::AffineTransform *);
+ virtual void shear(jdouble, jdouble);
+ virtual void translate(jint, jint);
+ virtual void translate(jdouble, jdouble);
+ virtual void rotate(jdouble);
+ virtual void rotate(jdouble, jdouble, jdouble);
+ virtual void scale(jdouble, jdouble);
+private:
+ ::java::awt::print::PrinterJob * __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) printerJob;
+ ::java::io::PrintWriter * out;
+ ::java::awt::geom::AffineTransform * currentTransform;
+ ::java::awt::geom::AffineTransform * pageTransform;
+ ::java::awt::RenderingHints * renderingHints;
+ ::java::awt::Paint * currentPaint;
+ ::java::awt::Shape * clipShape;
+ ::java::awt::Font * currentFont;
+ ::java::awt::Color * currentColor;
+ ::java::awt::Color * backgroundColor;
+ ::java::awt::Stroke * currentStroke;
+ static ::java::awt::Stroke * ordinaryStroke;
+ jfloat cx;
+ jfloat cy;
+ jboolean currentFontIsPS;
+ jdouble pageX;
+ jdouble pageY;
+ jdouble Y;
+ jboolean gradientOn;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_print_PostScriptGraphics2D__
diff --git a/libjava/gnu/java/awt/print/SpooledDocument.h b/libjava/gnu/java/awt/print/SpooledDocument.h
new file mode 100644
index 000000000..a49bb14c1
--- /dev/null
+++ b/libjava/gnu/java/awt/print/SpooledDocument.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_print_SpooledDocument__
+#define __gnu_java_awt_print_SpooledDocument__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace print
+ {
+ class SpooledDocument;
+ }
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace print
+ {
+ class DocFlavor;
+ namespace attribute
+ {
+ class DocAttributeSet;
+ }
+ }
+ }
+}
+
+class gnu::java::awt::print::SpooledDocument : public ::java::lang::Object
+{
+
+public:
+ SpooledDocument(::java::io::File *);
+ virtual ::javax::print::attribute::DocAttributeSet * getAttributes();
+ virtual ::javax::print::DocFlavor * getDocFlavor();
+ virtual ::java::lang::Object * getPrintData();
+ virtual ::java::io::Reader * getReaderForText();
+ virtual ::java::io::InputStream * getStreamForBytes();
+private:
+ ::java::io::FileInputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) fis;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_print_SpooledDocument__
diff --git a/libjava/gnu/java/beans/BeanInfoEmbryo.h b/libjava/gnu/java/beans/BeanInfoEmbryo.h
new file mode 100644
index 000000000..0e1fe163e
--- /dev/null
+++ b/libjava/gnu/java/beans/BeanInfoEmbryo.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_BeanInfoEmbryo__
+#define __gnu_java_beans_BeanInfoEmbryo__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ class BeanInfoEmbryo;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Image;
+ }
+ namespace beans
+ {
+ class BeanDescriptor;
+ class BeanInfo;
+ class EventSetDescriptor;
+ class IndexedPropertyDescriptor;
+ class MethodDescriptor;
+ class PropertyDescriptor;
+ }
+ }
+}
+
+class gnu::java::beans::BeanInfoEmbryo : public ::java::lang::Object
+{
+
+public:
+ BeanInfoEmbryo();
+ virtual ::java::beans::BeanInfo * getBeanInfo();
+ virtual void setBeanDescriptor(::java::beans::BeanDescriptor *);
+ virtual void setAdditionalBeanInfo(JArray< ::java::beans::BeanInfo * > *);
+ virtual jboolean hasProperty(::java::beans::PropertyDescriptor *);
+ virtual void addProperty(::java::beans::PropertyDescriptor *);
+ virtual void addIndexedProperty(::java::beans::IndexedPropertyDescriptor *);
+ virtual jboolean hasEvent(::java::beans::EventSetDescriptor *);
+ virtual void addEvent(::java::beans::EventSetDescriptor *);
+ virtual jboolean hasMethod(::java::beans::MethodDescriptor *);
+ virtual void addMethod(::java::beans::MethodDescriptor *);
+ virtual void setDefaultPropertyName(::java::lang::String *);
+ virtual void setDefaultEventName(::java::lang::String *);
+ virtual void setIcons(JArray< ::java::awt::Image * > *);
+public: // actually package-private
+ ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) properties;
+ ::java::util::Hashtable * events;
+ ::java::util::Vector * methods;
+ ::java::beans::BeanDescriptor * beanDescriptor;
+ JArray< ::java::beans::BeanInfo * > * additionalBeanInfo;
+ JArray< ::java::awt::Image * > * im;
+ ::java::lang::String * defaultPropertyName;
+ ::java::lang::String * defaultEventName;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_BeanInfoEmbryo__
diff --git a/libjava/gnu/java/beans/DefaultExceptionListener.h b/libjava/gnu/java/beans/DefaultExceptionListener.h
new file mode 100644
index 000000000..1815fe8f1
--- /dev/null
+++ b/libjava/gnu/java/beans/DefaultExceptionListener.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_DefaultExceptionListener__
+#define __gnu_java_beans_DefaultExceptionListener__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ class DefaultExceptionListener;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::DefaultExceptionListener : public ::java::lang::Object
+{
+
+public:
+ DefaultExceptionListener();
+ virtual void exceptionThrown(::java::lang::Exception *);
+ static ::gnu::java::beans::DefaultExceptionListener * INSTANCE;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_DefaultExceptionListener__
diff --git a/libjava/gnu/java/beans/DoubleKey.h b/libjava/gnu/java/beans/DoubleKey.h
new file mode 100644
index 000000000..c20d5689c
--- /dev/null
+++ b/libjava/gnu/java/beans/DoubleKey.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_DoubleKey__
+#define __gnu_java_beans_DoubleKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ class DoubleKey;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::DoubleKey : public ::java::lang::Object
+{
+
+public: // actually package-private
+ DoubleKey(::java::lang::Class *, ::java::lang::String *);
+ virtual ::java::lang::Class * getType();
+ virtual ::java::lang::String * getName();
+public:
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+public: // actually package-private
+ ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type;
+ ::java::lang::String * name;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_DoubleKey__
diff --git a/libjava/gnu/java/beans/DummyAppletContext.h b/libjava/gnu/java/beans/DummyAppletContext.h
new file mode 100644
index 000000000..095f50d47
--- /dev/null
+++ b/libjava/gnu/java/beans/DummyAppletContext.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_DummyAppletContext__
+#define __gnu_java_beans_DummyAppletContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ class DummyAppletContext;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace applet
+ {
+ class Applet;
+ class AudioClip;
+ }
+ namespace awt
+ {
+ class Image;
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::beans::DummyAppletContext : public ::java::lang::Object
+{
+
+public: // actually package-private
+ DummyAppletContext();
+public:
+ virtual ::java::applet::AudioClip * getAudioClip(::java::net::URL *);
+ virtual ::java::awt::Image * getImage(::java::net::URL *);
+ virtual ::java::applet::Applet * getApplet(::java::lang::String *);
+ virtual ::java::util::Enumeration * getApplets();
+ virtual void showDocument(::java::net::URL *);
+ virtual void showDocument(::java::net::URL *, ::java::lang::String *);
+ virtual void showStatus(::java::lang::String *);
+ virtual void setStream(::java::lang::String *, ::java::io::InputStream *);
+ virtual ::java::io::InputStream * getStream(::java::lang::String *);
+ virtual ::java::util::Iterator * getStreamKeys();
+private:
+ static ::java::util::Enumeration * EMPTY_ENUMERATION;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_DummyAppletContext__
diff --git a/libjava/gnu/java/beans/DummyAppletStub.h b/libjava/gnu/java/beans/DummyAppletStub.h
new file mode 100644
index 000000000..10ee9ffcd
--- /dev/null
+++ b/libjava/gnu/java/beans/DummyAppletStub.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_DummyAppletStub__
+#define __gnu_java_beans_DummyAppletStub__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ class DummyAppletContext;
+ class DummyAppletStub;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace applet
+ {
+ class AppletContext;
+ }
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::beans::DummyAppletStub : public ::java::lang::Object
+{
+
+public:
+ DummyAppletStub(::java::net::URL *, ::java::net::URL *);
+ virtual jboolean isActive();
+ virtual ::java::net::URL * getDocumentBase();
+ virtual ::java::net::URL * getCodeBase();
+ virtual ::java::lang::String * getParameter(::java::lang::String *);
+ virtual ::java::applet::AppletContext * getAppletContext();
+ virtual void appletResize(jint, jint);
+private:
+ ::java::net::URL * __attribute__((aligned(__alignof__( ::java::lang::Object)))) documentBase;
+ ::java::net::URL * codeBase;
+ ::gnu::java::beans::DummyAppletContext * context;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_DummyAppletStub__
diff --git a/libjava/gnu/java/beans/ExplicitBeanInfo.h b/libjava/gnu/java/beans/ExplicitBeanInfo.h
new file mode 100644
index 000000000..3fd087395
--- /dev/null
+++ b/libjava/gnu/java/beans/ExplicitBeanInfo.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_ExplicitBeanInfo__
+#define __gnu_java_beans_ExplicitBeanInfo__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ class ExplicitBeanInfo;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Image;
+ }
+ namespace beans
+ {
+ class BeanDescriptor;
+ class BeanInfo;
+ class EventSetDescriptor;
+ class MethodDescriptor;
+ class PropertyDescriptor;
+ }
+ }
+}
+
+class gnu::java::beans::ExplicitBeanInfo : public ::java::lang::Object
+{
+
+public:
+ ExplicitBeanInfo(::java::beans::BeanDescriptor *, JArray< ::java::beans::BeanInfo * > *, JArray< ::java::beans::PropertyDescriptor * > *, jint, JArray< ::java::beans::EventSetDescriptor * > *, jint, JArray< ::java::beans::MethodDescriptor * > *, JArray< ::java::awt::Image * > *);
+ virtual ::java::beans::BeanDescriptor * getBeanDescriptor();
+ virtual JArray< ::java::beans::EventSetDescriptor * > * getEventSetDescriptors();
+ virtual jint getDefaultEventIndex();
+ virtual JArray< ::java::beans::PropertyDescriptor * > * getPropertyDescriptors();
+ virtual jint getDefaultPropertyIndex();
+ virtual JArray< ::java::beans::MethodDescriptor * > * getMethodDescriptors();
+ virtual JArray< ::java::beans::BeanInfo * > * getAdditionalBeanInfo();
+ virtual ::java::awt::Image * getIcon(jint);
+public: // actually protected
+ ::java::beans::BeanDescriptor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) beanDescriptor;
+ JArray< ::java::beans::EventSetDescriptor * > * eventSetDescriptors;
+ JArray< ::java::beans::PropertyDescriptor * > * propertyDescriptors;
+ JArray< ::java::beans::MethodDescriptor * > * methodDescriptors;
+ jint defaultPropertyIndex;
+ jint defaultEventIndex;
+ JArray< ::java::beans::BeanInfo * > * additionalBeanInfo;
+ JArray< ::java::awt::Image * > * icons;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_ExplicitBeanInfo__
diff --git a/libjava/gnu/java/beans/IntrospectionIncubator.h b/libjava/gnu/java/beans/IntrospectionIncubator.h
new file mode 100644
index 000000000..b9f11c393
--- /dev/null
+++ b/libjava/gnu/java/beans/IntrospectionIncubator.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_IntrospectionIncubator__
+#define __gnu_java_beans_IntrospectionIncubator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ class BeanInfoEmbryo;
+ class IntrospectionIncubator;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class BeanInfo;
+ }
+ }
+}
+
+class gnu::java::beans::IntrospectionIncubator : public ::java::lang::Object
+{
+
+public:
+ IntrospectionIncubator();
+ virtual void addMethod(::java::lang::reflect::Method *);
+ virtual void addMethods(JArray< ::java::lang::reflect::Method * > *);
+ virtual void setPropertyStopClass(::java::lang::Class *);
+ virtual void setEventStopClass(::java::lang::Class *);
+ virtual void setMethodStopClass(::java::lang::Class *);
+ virtual ::gnu::java::beans::BeanInfoEmbryo * getBeanInfoEmbryo();
+ virtual ::java::beans::BeanInfo * getBeanInfo();
+public: // actually package-private
+ virtual void findAddRemovePairs(::gnu::java::beans::BeanInfoEmbryo *);
+ virtual void findXXX(::gnu::java::beans::BeanInfoEmbryo *, jint);
+ virtual void findXXXInt(::gnu::java::beans::BeanInfoEmbryo *, jint);
+ virtual void addToPropertyHash(::java::lang::String *, ::java::lang::reflect::Method *, jint);
+ virtual void addToListenerHash(::java::lang::String *, ::java::lang::reflect::Method *, jint);
+ static jboolean isReachable(::java::lang::Class *, ::java::lang::Class *);
+ static ::java::lang::String * capitalize(::java::lang::String *);
+ ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) propertyMethods;
+ ::java::util::Hashtable * listenerMethods;
+ ::java::util::Vector * otherMethods;
+ ::java::lang::Class * propertyStopClass;
+ ::java::lang::Class * eventStopClass;
+ ::java::lang::Class * methodStopClass;
+ static const jint IS = 0;
+ static const jint GET_I = 1;
+ static const jint SET_I = 2;
+ static const jint GET = 3;
+ static const jint SET = 4;
+ static const jint ADD = 0;
+ static const jint REMOVE = 1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_IntrospectionIncubator__
diff --git a/libjava/gnu/java/beans/decoder/AbstractContext.h b/libjava/gnu/java/beans/decoder/AbstractContext.h
new file mode 100644
index 000000000..9b3f03c2f
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/AbstractContext.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_AbstractContext__
+#define __gnu_java_beans_decoder_AbstractContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractContext;
+ class Context;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::AbstractContext : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AbstractContext();
+public:
+ virtual ::java::lang::String * getId();
+ virtual void setId(::java::lang::String *);
+ virtual jboolean isStatement();
+ virtual void setStatement(jboolean);
+ virtual void addParameterObject(::java::lang::Object *) = 0;
+ virtual void notifyStatement(::gnu::java::beans::decoder::Context *) = 0;
+ virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *) = 0;
+ virtual jboolean subContextFailed() = 0;
+ virtual void set(jint, ::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * get(jint) = 0;
+ virtual ::java::lang::Object * getResult() = 0;
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) isStatement__;
+ ::java::lang::String * id;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_AbstractContext__
diff --git a/libjava/gnu/java/beans/decoder/AbstractCreatableObjectContext.h b/libjava/gnu/java/beans/decoder/AbstractCreatableObjectContext.h
new file mode 100644
index 000000000..77f96ba47
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/AbstractCreatableObjectContext.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_AbstractCreatableObjectContext__
+#define __gnu_java_beans_decoder_AbstractCreatableObjectContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractObjectContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractCreatableObjectContext;
+ class Context;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::AbstractCreatableObjectContext : public ::gnu::java::beans::decoder::AbstractObjectContext
+{
+
+public: // actually package-private
+ AbstractCreatableObjectContext();
+public:
+ virtual void addParameterObject(::java::lang::Object *);
+public: // actually protected
+ virtual void addParameterObjectImpl(::java::lang::Object *) = 0;
+public:
+ virtual void notifyStatement(::gnu::java::beans::decoder::Context *);
+public: // actually protected
+ virtual ::java::lang::Object * createObject(::gnu::java::beans::decoder::Context *) = 0;
+public:
+ virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *);
+ virtual jboolean subContextFailed();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_AbstractCreatableObjectContext__
diff --git a/libjava/gnu/java/beans/decoder/AbstractElementHandler.h b/libjava/gnu/java/beans/decoder/AbstractElementHandler.h
new file mode 100644
index 000000000..e0abc31ed
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/AbstractElementHandler.h
@@ -0,0 +1,82 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_AbstractElementHandler__
+#define __gnu_java_beans_decoder_AbstractElementHandler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class Context;
+ class ElementHandler;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class ExceptionListener;
+ }
+ }
+ namespace org
+ {
+ namespace xml
+ {
+ namespace sax
+ {
+ class Attributes;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::AbstractElementHandler : public ::java::lang::Object
+{
+
+public: // actually protected
+ AbstractElementHandler(::gnu::java::beans::decoder::ElementHandler *, jboolean);
+public:
+ virtual void start(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *);
+public: // actually protected
+ virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *) = 0;
+public:
+ virtual void end(::java::beans::ExceptionListener *);
+ virtual void notifyStatement(::java::beans::ExceptionListener *);
+ virtual void notifyContextFailed();
+ virtual jboolean hasFailed();
+public: // actually protected
+ virtual void endElement(::java::lang::String *);
+public:
+ virtual void characters(JArray< jchar > *, jint, jint);
+ virtual void putObject(::java::lang::String *, ::java::lang::Object *);
+ virtual ::java::lang::Object * getObject(::java::lang::String *);
+ virtual ::java::lang::Class * instantiateClass(::java::lang::String *);
+ virtual jboolean isSubelementAllowed(::java::lang::String *);
+ virtual ::gnu::java::beans::decoder::Context * getContext();
+ virtual ::gnu::java::beans::decoder::ElementHandler * getParent();
+private:
+ ::gnu::java::beans::decoder::Context * __attribute__((aligned(__alignof__( ::java::lang::Object)))) context;
+ ::gnu::java::beans::decoder::ElementHandler * parent;
+ jboolean hasFailed__;
+ ::java::lang::StringBuffer * buffer;
+ jboolean allowsSubelements;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_AbstractElementHandler__
diff --git a/libjava/gnu/java/beans/decoder/AbstractObjectContext.h b/libjava/gnu/java/beans/decoder/AbstractObjectContext.h
new file mode 100644
index 000000000..db4bee7a0
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/AbstractObjectContext.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_AbstractObjectContext__
+#define __gnu_java_beans_decoder_AbstractObjectContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractObjectContext;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::AbstractObjectContext : public ::gnu::java::beans::decoder::AbstractContext
+{
+
+public: // actually package-private
+ AbstractObjectContext();
+public: // actually protected
+ virtual void setObject(::java::lang::Object *);
+public:
+ virtual void set(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * getResult();
+public: // actually protected
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractContext)))) object;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_AbstractObjectContext__
diff --git a/libjava/gnu/java/beans/decoder/ArrayContext.h b/libjava/gnu/java/beans/decoder/ArrayContext.h
new file mode 100644
index 000000000..4184ed09b
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/ArrayContext.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_ArrayContext__
+#define __gnu_java_beans_decoder_ArrayContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ArrayContext;
+ class Context;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::ArrayContext : public ::gnu::java::beans::decoder::AbstractContext
+{
+
+public: // actually package-private
+ ArrayContext(::java::lang::String *, ::java::lang::Class *, jint);
+public:
+ virtual void addParameterObject(::java::lang::Object *);
+ virtual void notifyStatement(::gnu::java::beans::decoder::Context *);
+ virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *);
+ virtual jboolean subContextFailed();
+ virtual void set(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * getResult();
+private:
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractContext)))) array;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_ArrayContext__
diff --git a/libjava/gnu/java/beans/decoder/ArrayHandler.h b/libjava/gnu/java/beans/decoder/ArrayHandler.h
new file mode 100644
index 000000000..eeacde937
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/ArrayHandler.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_ArrayHandler__
+#define __gnu_java_beans_decoder_ArrayHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractElementHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ArrayHandler;
+ class Context;
+ class ElementHandler;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class ExceptionListener;
+ }
+ }
+ namespace org
+ {
+ namespace xml
+ {
+ namespace sax
+ {
+ class Attributes;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::ArrayHandler : public ::gnu::java::beans::decoder::AbstractElementHandler
+{
+
+public: // actually package-private
+ ArrayHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *);
+private:
+ static ::java::util::HashMap * typeMap;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_ArrayHandler__
diff --git a/libjava/gnu/java/beans/decoder/AssemblyException.h b/libjava/gnu/java/beans/decoder/AssemblyException.h
new file mode 100644
index 000000000..62f76f39c
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/AssemblyException.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_AssemblyException__
+#define __gnu_java_beans_decoder_AssemblyException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AssemblyException;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::AssemblyException : public ::java::lang::Exception
+{
+
+public: // actually package-private
+ AssemblyException(::java::lang::Throwable *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_AssemblyException__
diff --git a/libjava/gnu/java/beans/decoder/BooleanHandler.h b/libjava/gnu/java/beans/decoder/BooleanHandler.h
new file mode 100644
index 000000000..575bac03f
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/BooleanHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_BooleanHandler__
+#define __gnu_java_beans_decoder_BooleanHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class BooleanHandler;
+ class ElementHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::BooleanHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ BooleanHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_BooleanHandler__
diff --git a/libjava/gnu/java/beans/decoder/ByteHandler.h b/libjava/gnu/java/beans/decoder/ByteHandler.h
new file mode 100644
index 000000000..ef77b6b77
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/ByteHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_ByteHandler__
+#define __gnu_java_beans_decoder_ByteHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ByteHandler;
+ class ElementHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::ByteHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ ByteHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_ByteHandler__
diff --git a/libjava/gnu/java/beans/decoder/CharHandler.h b/libjava/gnu/java/beans/decoder/CharHandler.h
new file mode 100644
index 000000000..dfd1b455a
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/CharHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_CharHandler__
+#define __gnu_java_beans_decoder_CharHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class CharHandler;
+ class ElementHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::CharHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ CharHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_CharHandler__
diff --git a/libjava/gnu/java/beans/decoder/ClassHandler.h b/libjava/gnu/java/beans/decoder/ClassHandler.h
new file mode 100644
index 000000000..7c8ea8844
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/ClassHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_ClassHandler__
+#define __gnu_java_beans_decoder_ClassHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ClassHandler;
+ class ElementHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::ClassHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ ClassHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_ClassHandler__
diff --git a/libjava/gnu/java/beans/decoder/ConstructorContext.h b/libjava/gnu/java/beans/decoder/ConstructorContext.h
new file mode 100644
index 000000000..187d74086
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/ConstructorContext.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_ConstructorContext__
+#define __gnu_java_beans_decoder_ConstructorContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractCreatableObjectContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ConstructorContext;
+ class Context;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::ConstructorContext : public ::gnu::java::beans::decoder::AbstractCreatableObjectContext
+{
+
+public: // actually package-private
+ ConstructorContext(::java::lang::String *, ::java::lang::Class *);
+public: // actually protected
+ virtual void addParameterObjectImpl(::java::lang::Object *);
+ virtual ::java::lang::Object * createObject(::gnu::java::beans::decoder::Context *);
+private:
+ ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractCreatableObjectContext)))) arguments;
+ ::java::lang::Class * klass;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_ConstructorContext__
diff --git a/libjava/gnu/java/beans/decoder/Context.h b/libjava/gnu/java/beans/decoder/Context.h
new file mode 100644
index 000000000..fa23e8029
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/Context.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_Context__
+#define __gnu_java_beans_decoder_Context__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::Context : public ::java::lang::Object
+{
+
+public:
+ virtual void addParameterObject(::java::lang::Object *) = 0;
+ virtual void notifyStatement(::gnu::java::beans::decoder::Context *) = 0;
+ virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *) = 0;
+ virtual jboolean subContextFailed() = 0;
+ virtual void set(jint, ::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * get(jint) = 0;
+ virtual ::java::lang::Object * getResult() = 0;
+ virtual void setId(::java::lang::String *) = 0;
+ virtual ::java::lang::String * getId() = 0;
+ virtual jboolean isStatement() = 0;
+ virtual void setStatement(jboolean) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_beans_decoder_Context__
diff --git a/libjava/gnu/java/beans/decoder/DecoderContext.h b/libjava/gnu/java/beans/decoder/DecoderContext.h
new file mode 100644
index 000000000..f1b70ef5d
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/DecoderContext.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_DecoderContext__
+#define __gnu_java_beans_decoder_DecoderContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class DecoderContext;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class XMLDecoder;
+ }
+ }
+}
+
+class gnu::java::beans::decoder::DecoderContext : public ::gnu::java::beans::decoder::AbstractContext
+{
+
+public:
+ DecoderContext(::java::beans::XMLDecoder *);
+ virtual void addParameterObject(::java::lang::Object *);
+ virtual void notifyStatement(::gnu::java::beans::decoder::Context *);
+ virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *);
+ virtual jboolean subContextFailed();
+ virtual void set(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * getResult();
+ virtual ::java::util::Iterator * iterator();
+private:
+ ::java::beans::XMLDecoder * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractContext)))) decoder;
+ ::java::util::ArrayList * objects;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_DecoderContext__
diff --git a/libjava/gnu/java/beans/decoder/DoubleHandler.h b/libjava/gnu/java/beans/decoder/DoubleHandler.h
new file mode 100644
index 000000000..580b936a9
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/DoubleHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_DoubleHandler__
+#define __gnu_java_beans_decoder_DoubleHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class DoubleHandler;
+ class ElementHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::DoubleHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ DoubleHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_DoubleHandler__
diff --git a/libjava/gnu/java/beans/decoder/DummyContext.h b/libjava/gnu/java/beans/decoder/DummyContext.h
new file mode 100644
index 000000000..d8839a618
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/DummyContext.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_DummyContext__
+#define __gnu_java_beans_decoder_DummyContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class DummyContext;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::DummyContext : public ::gnu::java::beans::decoder::AbstractContext
+{
+
+public:
+ DummyContext();
+ virtual void addParameterObject(::java::lang::Object *);
+ virtual void notifyStatement(::gnu::java::beans::decoder::Context *);
+ virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *);
+ virtual jboolean subContextFailed();
+ virtual void set(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * getResult();
+private:
+ void fail();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_DummyContext__
diff --git a/libjava/gnu/java/beans/decoder/DummyHandler.h b/libjava/gnu/java/beans/decoder/DummyHandler.h
new file mode 100644
index 000000000..29ca81bad
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/DummyHandler.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_DummyHandler__
+#define __gnu_java_beans_decoder_DummyHandler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class DummyHandler;
+ class ElementHandler;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class ExceptionListener;
+ }
+ }
+ namespace org
+ {
+ namespace xml
+ {
+ namespace sax
+ {
+ class Attributes;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::DummyHandler : public ::java::lang::Object
+{
+
+public: // actually package-private
+ DummyHandler();
+public:
+ virtual void start(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *);
+ virtual void end(::java::beans::ExceptionListener *);
+ virtual void characters(JArray< jchar > *, jint, jint);
+ virtual jboolean isSubelementAllowed(::java::lang::String *);
+ virtual ::java::lang::Class * instantiateClass(::java::lang::String *);
+ virtual void notifyStatement(::java::beans::ExceptionListener *);
+ virtual jboolean hasFailed();
+ virtual ::gnu::java::beans::decoder::Context * getContext();
+ virtual void notifyContextFailed();
+ virtual void putObject(::java::lang::String *, ::java::lang::Object *);
+ virtual ::java::lang::Object * getObject(::java::lang::String *);
+ virtual ::gnu::java::beans::decoder::ElementHandler * getParent();
+private:
+ void fail();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_DummyHandler__
diff --git a/libjava/gnu/java/beans/decoder/ElementHandler.h b/libjava/gnu/java/beans/decoder/ElementHandler.h
new file mode 100644
index 000000000..75df22500
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/ElementHandler.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_ElementHandler__
+#define __gnu_java_beans_decoder_ElementHandler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class ElementHandler;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class ExceptionListener;
+ }
+ }
+ namespace org
+ {
+ namespace xml
+ {
+ namespace sax
+ {
+ class Attributes;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::ElementHandler : public ::java::lang::Object
+{
+
+public:
+ virtual void start(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *) = 0;
+ virtual void end(::java::beans::ExceptionListener *) = 0;
+ virtual void characters(JArray< jchar > *, jint, jint) = 0;
+ virtual jboolean isSubelementAllowed(::java::lang::String *) = 0;
+ virtual ::java::lang::Class * instantiateClass(::java::lang::String *) = 0;
+ virtual void notifyStatement(::java::beans::ExceptionListener *) = 0;
+ virtual jboolean hasFailed() = 0;
+ virtual ::gnu::java::beans::decoder::Context * getContext() = 0;
+ virtual void notifyContextFailed() = 0;
+ virtual void putObject(::java::lang::String *, ::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * getObject(::java::lang::String *) = 0;
+ virtual ::gnu::java::beans::decoder::ElementHandler * getParent() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_beans_decoder_ElementHandler__
diff --git a/libjava/gnu/java/beans/decoder/FloatHandler.h b/libjava/gnu/java/beans/decoder/FloatHandler.h
new file mode 100644
index 000000000..9045ec51e
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/FloatHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_FloatHandler__
+#define __gnu_java_beans_decoder_FloatHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ElementHandler;
+ class FloatHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::FloatHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ FloatHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_FloatHandler__
diff --git a/libjava/gnu/java/beans/decoder/GrowableArrayContext.h b/libjava/gnu/java/beans/decoder/GrowableArrayContext.h
new file mode 100644
index 000000000..e6b4a79b4
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/GrowableArrayContext.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_GrowableArrayContext__
+#define __gnu_java_beans_decoder_GrowableArrayContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class GrowableArrayContext;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::GrowableArrayContext : public ::gnu::java::beans::decoder::AbstractContext
+{
+
+public: // actually package-private
+ GrowableArrayContext(::java::lang::String *, ::java::lang::Class *);
+public:
+ virtual void addParameterObject(::java::lang::Object *);
+ virtual void notifyStatement(::gnu::java::beans::decoder::Context *);
+ virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *);
+ virtual jboolean subContextFailed();
+ virtual void set(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * getResult();
+private:
+ static const jint INITIAL_SIZE = 16;
+ ::java::lang::Class * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractContext)))) klass;
+ ::java::lang::Object * array;
+ jint length;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_GrowableArrayContext__
diff --git a/libjava/gnu/java/beans/decoder/IndexContext.h b/libjava/gnu/java/beans/decoder/IndexContext.h
new file mode 100644
index 000000000..b4c3855be
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/IndexContext.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_IndexContext__
+#define __gnu_java_beans_decoder_IndexContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class IndexContext;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::IndexContext : public ::gnu::java::beans::decoder::AbstractContext
+{
+
+public: // actually package-private
+ IndexContext(::java::lang::String *, jint);
+public:
+ virtual void addParameterObject(::java::lang::Object *);
+ virtual void notifyStatement(::gnu::java::beans::decoder::Context *);
+ virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *);
+ virtual jboolean subContextFailed();
+ virtual void set(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * getResult();
+private:
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractContext)))) result;
+ ::java::lang::Object * argument;
+ jint index;
+ jboolean isSetter;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_IndexContext__
diff --git a/libjava/gnu/java/beans/decoder/IntHandler.h b/libjava/gnu/java/beans/decoder/IntHandler.h
new file mode 100644
index 000000000..181020628
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/IntHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_IntHandler__
+#define __gnu_java_beans_decoder_IntHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ElementHandler;
+ class IntHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::IntHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ IntHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_IntHandler__
diff --git a/libjava/gnu/java/beans/decoder/JavaHandler.h b/libjava/gnu/java/beans/decoder/JavaHandler.h
new file mode 100644
index 000000000..d79c9f544
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/JavaHandler.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_JavaHandler__
+#define __gnu_java_beans_decoder_JavaHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractElementHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class DummyHandler;
+ class JavaHandler;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class ExceptionListener;
+ }
+ }
+ namespace org
+ {
+ namespace xml
+ {
+ namespace sax
+ {
+ class Attributes;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::JavaHandler : public ::gnu::java::beans::decoder::AbstractElementHandler
+{
+
+public: // actually package-private
+ JavaHandler(::gnu::java::beans::decoder::DummyHandler *, ::gnu::java::beans::decoder::Context *, ::java::lang::ClassLoader *);
+public: // actually protected
+ virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *);
+public:
+ virtual ::java::lang::Object * getObject(::java::lang::String *);
+ virtual void putObject(::java::lang::String *, ::java::lang::Object *);
+ virtual ::java::lang::Class * instantiateClass(::java::lang::String *);
+private:
+ ::gnu::java::beans::decoder::Context * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractElementHandler)))) context;
+ ::java::util::HashMap * objectMap;
+ ::java::lang::ClassLoader * classLoader;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_JavaHandler__
diff --git a/libjava/gnu/java/beans/decoder/LongHandler.h b/libjava/gnu/java/beans/decoder/LongHandler.h
new file mode 100644
index 000000000..ca846310b
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/LongHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_LongHandler__
+#define __gnu_java_beans_decoder_LongHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ElementHandler;
+ class LongHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::LongHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ LongHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_LongHandler__
diff --git a/libjava/gnu/java/beans/decoder/MethodContext.h b/libjava/gnu/java/beans/decoder/MethodContext.h
new file mode 100644
index 000000000..703913096
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/MethodContext.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_MethodContext__
+#define __gnu_java_beans_decoder_MethodContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractCreatableObjectContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class MethodContext;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::MethodContext : public ::gnu::java::beans::decoder::AbstractCreatableObjectContext
+{
+
+public: // actually package-private
+ MethodContext(::java::lang::String *, ::java::lang::String *);
+public:
+ virtual void addParameterObjectImpl(::java::lang::Object *);
+public: // actually protected
+ virtual ::java::lang::Object * createObject(::gnu::java::beans::decoder::Context *);
+private:
+ ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractCreatableObjectContext)))) arguments;
+ ::java::lang::String * methodName;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_MethodContext__
diff --git a/libjava/gnu/java/beans/decoder/MethodFinder.h b/libjava/gnu/java/beans/decoder/MethodFinder.h
new file mode 100644
index 000000000..02e8736af
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/MethodFinder.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_MethodFinder__
+#define __gnu_java_beans_decoder_MethodFinder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class MethodFinder;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::MethodFinder : public ::java::lang::Object
+{
+
+ MethodFinder();
+public: // actually package-private
+ static ::java::lang::reflect::Method * getMethod(::java::lang::Class *, ::java::lang::String *, JArray< ::java::lang::Object * > *);
+ static ::java::lang::reflect::Constructor * getConstructor(::java::lang::Class *, JArray< ::java::lang::Object * > *);
+private:
+ static JArray< ::java::lang::Class * > * getArgumentTypes(JArray< ::java::lang::Object * > *);
+ static jboolean matchingArgumentTypes(JArray< ::java::lang::Class * > *, JArray< ::java::lang::Class * > *);
+ static ::java::util::HashMap * typeMapping;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_MethodFinder__
diff --git a/libjava/gnu/java/beans/decoder/NullHandler.h b/libjava/gnu/java/beans/decoder/NullHandler.h
new file mode 100644
index 000000000..9e76755e3
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/NullHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_NullHandler__
+#define __gnu_java_beans_decoder_NullHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ElementHandler;
+ class NullHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::NullHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ NullHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_NullHandler__
diff --git a/libjava/gnu/java/beans/decoder/ObjectContext.h b/libjava/gnu/java/beans/decoder/ObjectContext.h
new file mode 100644
index 000000000..7e654036f
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/ObjectContext.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_ObjectContext__
+#define __gnu_java_beans_decoder_ObjectContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractObjectContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class ObjectContext;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::ObjectContext : public ::gnu::java::beans::decoder::AbstractObjectContext
+{
+
+public: // actually package-private
+ ObjectContext(::java::lang::Object *);
+ ObjectContext(::java::lang::String *, ::java::lang::Object *);
+ ObjectContext();
+public:
+ void addParameterObject(::java::lang::Object *);
+ void notifyStatement(::gnu::java::beans::decoder::Context *);
+ ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *);
+ jboolean subContextFailed();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_ObjectContext__
diff --git a/libjava/gnu/java/beans/decoder/ObjectHandler.h b/libjava/gnu/java/beans/decoder/ObjectHandler.h
new file mode 100644
index 000000000..68898f250
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/ObjectHandler.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_ObjectHandler__
+#define __gnu_java_beans_decoder_ObjectHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractElementHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class ElementHandler;
+ class ObjectHandler;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class ExceptionListener;
+ }
+ }
+ namespace org
+ {
+ namespace xml
+ {
+ namespace sax
+ {
+ class Attributes;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::ObjectHandler : public ::gnu::java::beans::decoder::AbstractElementHandler
+{
+
+public: // actually package-private
+ ObjectHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_ObjectHandler__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.h
new file mode 100644
index 000000000..50cecb451
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$ArrayHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$ArrayHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$ArrayHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$ArrayHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$ArrayHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$ArrayHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.h
new file mode 100644
index 000000000..d877d9cd7
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$BooleanHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$BooleanHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$BooleanHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$BooleanHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$BooleanHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$BooleanHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.h
new file mode 100644
index 000000000..d3ef830f6
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$ByteHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$ByteHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$ByteHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$ByteHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$ByteHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$ByteHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.h
new file mode 100644
index 000000000..864388801
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$CharHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$CharHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$CharHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$CharHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$CharHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$CharHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.h
new file mode 100644
index 000000000..38cde4cc9
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$ClassHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$ClassHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$ClassHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$ClassHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$ClassHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$ClassHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$Creator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$Creator.h
new file mode 100644
index 000000000..69af77b1f
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$Creator.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$Creator__
+#define __gnu_java_beans_decoder_PersistenceParser$Creator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser$Creator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$Creator : public ::java::lang::Object
+{
+
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$Creator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.h
new file mode 100644
index 000000000..c78f28fab
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$DoubleHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$DoubleHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$DoubleHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$DoubleHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$DoubleHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$DoubleHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.h
new file mode 100644
index 000000000..e11e994d6
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$FloatHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$FloatHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$FloatHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$FloatHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$FloatHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$FloatHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.h
new file mode 100644
index 000000000..a3893aef3
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$IntHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$IntHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$IntHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$IntHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$IntHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$IntHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.h
new file mode 100644
index 000000000..69e03507f
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$JavaHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$JavaHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$JavaHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$JavaHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$JavaHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$JavaHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.h
new file mode 100644
index 000000000..7081871c6
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$LongHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$LongHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$LongHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$LongHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$LongHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$LongHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.h
new file mode 100644
index 000000000..1db11b4c4
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$NullHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$NullHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$NullHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$NullHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$NullHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$NullHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.h
new file mode 100644
index 000000000..4adfc87e5
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$ObjectHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$ObjectHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$ObjectHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$ObjectHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$ObjectHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$ObjectHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.h
new file mode 100644
index 000000000..f217dc46c
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$ShortHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$ShortHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$ShortHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$ShortHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$ShortHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$ShortHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.h
new file mode 100644
index 000000000..5c9ec802a
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$StringHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$StringHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$StringHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$StringHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$StringHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$StringHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.h
new file mode 100644
index 000000000..9b696b4ec
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser$VoidHandlerCreator__
+#define __gnu_java_beans_decoder_PersistenceParser$VoidHandlerCreator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class AbstractElementHandler;
+ class ElementHandler;
+ class PersistenceParser;
+ class PersistenceParser$VoidHandlerCreator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser$VoidHandlerCreator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PersistenceParser$VoidHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *);
+public:
+ virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually package-private
+ ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser$VoidHandlerCreator__
diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser.h b/libjava/gnu/java/beans/decoder/PersistenceParser.h
new file mode 100644
index 000000000..eb4017ac1
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PersistenceParser.h
@@ -0,0 +1,84 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PersistenceParser__
+#define __gnu_java_beans_decoder_PersistenceParser__
+
+#pragma interface
+
+#include <org/xml/sax/helpers/DefaultHandler.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class ElementHandler;
+ class JavaHandler;
+ class PersistenceParser;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class ExceptionListener;
+ class XMLDecoder;
+ }
+ }
+ namespace org
+ {
+ namespace xml
+ {
+ namespace sax
+ {
+ class Attributes;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PersistenceParser : public ::org::xml::sax::helpers::DefaultHandler
+{
+
+public:
+ PersistenceParser(::java::io::InputStream *, ::java::beans::ExceptionListener *, ::java::lang::ClassLoader *, ::java::beans::XMLDecoder *);
+ virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *);
+ virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+ virtual void characters(JArray< jchar > *, jint, jint);
+ virtual void addParameterObject(::java::lang::Object *);
+ virtual void notifyStatement(::gnu::java::beans::decoder::Context *);
+ virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *);
+ virtual jboolean subContextFailed();
+ virtual void set(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * getResult();
+ virtual void setId(::java::lang::String *);
+ virtual ::java::lang::String * getId();
+ virtual jboolean isStatement();
+ virtual void setStatement(jboolean);
+ virtual ::java::util::Iterator * iterator();
+private:
+ ::java::beans::ExceptionListener * __attribute__((aligned(__alignof__( ::org::xml::sax::helpers::DefaultHandler)))) exceptionListener;
+ jint skipElement;
+ ::java::util::HashMap * handlerCreators;
+ ::gnu::java::beans::decoder::ElementHandler * currentHandler;
+public: // actually package-private
+ ::gnu::java::beans::decoder::JavaHandler * javaHandler;
+private:
+ ::java::util::List * objects;
+ ::java::beans::XMLDecoder * decoder;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PersistenceParser__
diff --git a/libjava/gnu/java/beans/decoder/PropertyContext.h b/libjava/gnu/java/beans/decoder/PropertyContext.h
new file mode 100644
index 000000000..cb335b391
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/PropertyContext.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_PropertyContext__
+#define __gnu_java_beans_decoder_PropertyContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractObjectContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class PropertyContext;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::PropertyContext : public ::gnu::java::beans::decoder::AbstractObjectContext
+{
+
+public: // actually package-private
+ PropertyContext(::java::lang::String *, ::java::lang::String *);
+public:
+ virtual void addParameterObject(::java::lang::Object *);
+ virtual void notifyStatement(::gnu::java::beans::decoder::Context *);
+ virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *);
+ virtual jboolean subContextFailed();
+private:
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractObjectContext)))) argument;
+ ::java::lang::String * propertyName;
+ ::java::lang::String * prefix;
+ jboolean methodCalled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_PropertyContext__
diff --git a/libjava/gnu/java/beans/decoder/ShortHandler.h b/libjava/gnu/java/beans/decoder/ShortHandler.h
new file mode 100644
index 000000000..0d5039ad2
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/ShortHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_ShortHandler__
+#define __gnu_java_beans_decoder_ShortHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ElementHandler;
+ class ShortHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::ShortHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ ShortHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_ShortHandler__
diff --git a/libjava/gnu/java/beans/decoder/SimpleHandler.h b/libjava/gnu/java/beans/decoder/SimpleHandler.h
new file mode 100644
index 000000000..189b6c8e9
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/SimpleHandler.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_SimpleHandler__
+#define __gnu_java_beans_decoder_SimpleHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractElementHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class ElementHandler;
+ class ObjectContext;
+ class SimpleHandler;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class ExceptionListener;
+ }
+ }
+ namespace org
+ {
+ namespace xml
+ {
+ namespace sax
+ {
+ class Attributes;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::SimpleHandler : public ::gnu::java::beans::decoder::AbstractElementHandler
+{
+
+public: // actually package-private
+ SimpleHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *);
+public:
+ virtual void endElement(::java::lang::String *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *) = 0;
+private:
+ ::gnu::java::beans::decoder::ObjectContext * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractElementHandler)))) context;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_SimpleHandler__
diff --git a/libjava/gnu/java/beans/decoder/StaticMethodContext.h b/libjava/gnu/java/beans/decoder/StaticMethodContext.h
new file mode 100644
index 000000000..098d8e839
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/StaticMethodContext.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_StaticMethodContext__
+#define __gnu_java_beans_decoder_StaticMethodContext__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractCreatableObjectContext.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class StaticMethodContext;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::StaticMethodContext : public ::gnu::java::beans::decoder::AbstractCreatableObjectContext
+{
+
+public: // actually package-private
+ StaticMethodContext(::java::lang::String *, ::java::lang::Class *, ::java::lang::String *);
+public:
+ virtual void addParameterObjectImpl(::java::lang::Object *);
+public: // actually protected
+ virtual ::java::lang::Object * createObject(::gnu::java::beans::decoder::Context *);
+private:
+ ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractCreatableObjectContext)))) arguments;
+ ::java::lang::Class * klass;
+ ::java::lang::String * methodName;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_StaticMethodContext__
diff --git a/libjava/gnu/java/beans/decoder/StringHandler.h b/libjava/gnu/java/beans/decoder/StringHandler.h
new file mode 100644
index 000000000..9c59db080
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/StringHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_StringHandler__
+#define __gnu_java_beans_decoder_StringHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/SimpleHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class ElementHandler;
+ class StringHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::StringHandler : public ::gnu::java::beans::decoder::SimpleHandler
+{
+
+public: // actually package-private
+ StringHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::java::lang::Object * parse(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_StringHandler__
diff --git a/libjava/gnu/java/beans/decoder/VoidHandler.h b/libjava/gnu/java/beans/decoder/VoidHandler.h
new file mode 100644
index 000000000..264d0c063
--- /dev/null
+++ b/libjava/gnu/java/beans/decoder/VoidHandler.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_decoder_VoidHandler__
+#define __gnu_java_beans_decoder_VoidHandler__
+
+#pragma interface
+
+#include <gnu/java/beans/decoder/AbstractElementHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace decoder
+ {
+ class Context;
+ class ElementHandler;
+ class VoidHandler;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class ExceptionListener;
+ }
+ }
+ namespace org
+ {
+ namespace xml
+ {
+ namespace sax
+ {
+ class Attributes;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::decoder::VoidHandler : public ::gnu::java::beans::decoder::AbstractElementHandler
+{
+
+public: // actually package-private
+ VoidHandler(::gnu::java::beans::decoder::ElementHandler *);
+public: // actually protected
+ virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *);
+private:
+ ::gnu::java::beans::decoder::Context * startElementImpl(::org::xml::sax::Attributes *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_decoder_VoidHandler__
diff --git a/libjava/gnu/java/beans/editors/ColorEditor.h b/libjava/gnu/java/beans/editors/ColorEditor.h
new file mode 100644
index 000000000..73322634c
--- /dev/null
+++ b/libjava/gnu/java/beans/editors/ColorEditor.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_editors_ColorEditor__
+#define __gnu_java_beans_editors_ColorEditor__
+
+#pragma interface
+
+#include <java/beans/PropertyEditorSupport.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace editors
+ {
+ class ColorEditor;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace awt
+ {
+ class Color;
+ }
+ }
+}
+
+class gnu::java::beans::editors::ColorEditor : public ::java::beans::PropertyEditorSupport
+{
+
+public:
+ ColorEditor();
+ virtual void setAsText(::java::lang::String *);
+ virtual ::java::lang::String * getAsText();
+ virtual JArray< ::java::lang::String * > * getTags();
+public: // actually package-private
+ JArray< ::java::awt::Color * > * __attribute__((aligned(__alignof__( ::java::beans::PropertyEditorSupport)))) stdColors;
+ JArray< ::java::lang::String * > * stdColorNames;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_editors_ColorEditor__
diff --git a/libjava/gnu/java/beans/editors/FontEditor.h b/libjava/gnu/java/beans/editors/FontEditor.h
new file mode 100644
index 000000000..da93ed5f6
--- /dev/null
+++ b/libjava/gnu/java/beans/editors/FontEditor.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_editors_FontEditor__
+#define __gnu_java_beans_editors_FontEditor__
+
+#pragma interface
+
+#include <java/beans/PropertyEditorSupport.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace editors
+ {
+ class FontEditor;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::editors::FontEditor : public ::java::beans::PropertyEditorSupport
+{
+
+public:
+ FontEditor();
+ virtual void setAsText(::java::lang::String *);
+ virtual ::java::lang::String * getAsText();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_editors_FontEditor__
diff --git a/libjava/gnu/java/beans/editors/NativeBooleanEditor.h b/libjava/gnu/java/beans/editors/NativeBooleanEditor.h
new file mode 100644
index 000000000..7921525df
--- /dev/null
+++ b/libjava/gnu/java/beans/editors/NativeBooleanEditor.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_editors_NativeBooleanEditor__
+#define __gnu_java_beans_editors_NativeBooleanEditor__
+
+#pragma interface
+
+#include <java/beans/PropertyEditorSupport.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace editors
+ {
+ class NativeBooleanEditor;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::editors::NativeBooleanEditor : public ::java::beans::PropertyEditorSupport
+{
+
+public:
+ NativeBooleanEditor();
+ virtual void setAsText(::java::lang::String *);
+ virtual ::java::lang::String * getAsText();
+public: // actually package-private
+ JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::beans::PropertyEditorSupport)))) tags;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_editors_NativeBooleanEditor__
diff --git a/libjava/gnu/java/beans/editors/NativeByteEditor.h b/libjava/gnu/java/beans/editors/NativeByteEditor.h
new file mode 100644
index 000000000..38dd6fe8c
--- /dev/null
+++ b/libjava/gnu/java/beans/editors/NativeByteEditor.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_editors_NativeByteEditor__
+#define __gnu_java_beans_editors_NativeByteEditor__
+
+#pragma interface
+
+#include <java/beans/PropertyEditorSupport.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace editors
+ {
+ class NativeByteEditor;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::editors::NativeByteEditor : public ::java::beans::PropertyEditorSupport
+{
+
+public:
+ NativeByteEditor();
+ virtual void setAsText(::java::lang::String *);
+ virtual ::java::lang::String * getAsText();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_editors_NativeByteEditor__
diff --git a/libjava/gnu/java/beans/editors/NativeDoubleEditor.h b/libjava/gnu/java/beans/editors/NativeDoubleEditor.h
new file mode 100644
index 000000000..d37c220c8
--- /dev/null
+++ b/libjava/gnu/java/beans/editors/NativeDoubleEditor.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_editors_NativeDoubleEditor__
+#define __gnu_java_beans_editors_NativeDoubleEditor__
+
+#pragma interface
+
+#include <java/beans/PropertyEditorSupport.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace editors
+ {
+ class NativeDoubleEditor;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::editors::NativeDoubleEditor : public ::java::beans::PropertyEditorSupport
+{
+
+public:
+ NativeDoubleEditor();
+ virtual void setAsText(::java::lang::String *);
+ virtual ::java::lang::String * getAsText();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_editors_NativeDoubleEditor__
diff --git a/libjava/gnu/java/beans/editors/NativeFloatEditor.h b/libjava/gnu/java/beans/editors/NativeFloatEditor.h
new file mode 100644
index 000000000..6d30d762f
--- /dev/null
+++ b/libjava/gnu/java/beans/editors/NativeFloatEditor.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_editors_NativeFloatEditor__
+#define __gnu_java_beans_editors_NativeFloatEditor__
+
+#pragma interface
+
+#include <java/beans/PropertyEditorSupport.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace editors
+ {
+ class NativeFloatEditor;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::editors::NativeFloatEditor : public ::java::beans::PropertyEditorSupport
+{
+
+public:
+ NativeFloatEditor();
+ virtual void setAsText(::java::lang::String *);
+ virtual ::java::lang::String * getAsText();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_editors_NativeFloatEditor__
diff --git a/libjava/gnu/java/beans/editors/NativeIntEditor.h b/libjava/gnu/java/beans/editors/NativeIntEditor.h
new file mode 100644
index 000000000..eddb16c3b
--- /dev/null
+++ b/libjava/gnu/java/beans/editors/NativeIntEditor.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_editors_NativeIntEditor__
+#define __gnu_java_beans_editors_NativeIntEditor__
+
+#pragma interface
+
+#include <java/beans/PropertyEditorSupport.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace editors
+ {
+ class NativeIntEditor;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::editors::NativeIntEditor : public ::java::beans::PropertyEditorSupport
+{
+
+public:
+ NativeIntEditor();
+ virtual void setAsText(::java::lang::String *);
+ virtual ::java::lang::String * getAsText();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_editors_NativeIntEditor__
diff --git a/libjava/gnu/java/beans/editors/NativeLongEditor.h b/libjava/gnu/java/beans/editors/NativeLongEditor.h
new file mode 100644
index 000000000..daf81c5bf
--- /dev/null
+++ b/libjava/gnu/java/beans/editors/NativeLongEditor.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_editors_NativeLongEditor__
+#define __gnu_java_beans_editors_NativeLongEditor__
+
+#pragma interface
+
+#include <java/beans/PropertyEditorSupport.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace editors
+ {
+ class NativeLongEditor;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::editors::NativeLongEditor : public ::java::beans::PropertyEditorSupport
+{
+
+public:
+ NativeLongEditor();
+ virtual void setAsText(::java::lang::String *);
+ virtual ::java::lang::String * getAsText();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_editors_NativeLongEditor__
diff --git a/libjava/gnu/java/beans/editors/NativeShortEditor.h b/libjava/gnu/java/beans/editors/NativeShortEditor.h
new file mode 100644
index 000000000..3329ed709
--- /dev/null
+++ b/libjava/gnu/java/beans/editors/NativeShortEditor.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_editors_NativeShortEditor__
+#define __gnu_java_beans_editors_NativeShortEditor__
+
+#pragma interface
+
+#include <java/beans/PropertyEditorSupport.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace editors
+ {
+ class NativeShortEditor;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::editors::NativeShortEditor : public ::java::beans::PropertyEditorSupport
+{
+
+public:
+ NativeShortEditor();
+ virtual void setAsText(::java::lang::String *);
+ virtual ::java::lang::String * getAsText();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_editors_NativeShortEditor__
diff --git a/libjava/gnu/java/beans/editors/StringEditor.h b/libjava/gnu/java/beans/editors/StringEditor.h
new file mode 100644
index 000000000..480658249
--- /dev/null
+++ b/libjava/gnu/java/beans/editors/StringEditor.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_editors_StringEditor__
+#define __gnu_java_beans_editors_StringEditor__
+
+#pragma interface
+
+#include <java/beans/PropertyEditorSupport.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace editors
+ {
+ class StringEditor;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::editors::StringEditor : public ::java::beans::PropertyEditorSupport
+{
+
+public:
+ StringEditor();
+ virtual void setAsText(::java::lang::String *);
+ virtual ::java::lang::String * getAsText();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_editors_StringEditor__
diff --git a/libjava/gnu/java/beans/encoder/ArrayPersistenceDelegate.h b/libjava/gnu/java/beans/encoder/ArrayPersistenceDelegate.h
new file mode 100644
index 000000000..489b404b0
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/ArrayPersistenceDelegate.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_ArrayPersistenceDelegate__
+#define __gnu_java_beans_encoder_ArrayPersistenceDelegate__
+
+#pragma interface
+
+#include <java/beans/PersistenceDelegate.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class ArrayPersistenceDelegate;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class Encoder;
+ class Expression;
+ }
+ }
+}
+
+class gnu::java::beans::encoder::ArrayPersistenceDelegate : public ::java::beans::PersistenceDelegate
+{
+
+public:
+ ArrayPersistenceDelegate();
+public: // actually protected
+ virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *);
+ virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *);
+private:
+ static ::java::util::HashMap * NULL_VALUES;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_ArrayPersistenceDelegate__
diff --git a/libjava/gnu/java/beans/encoder/ClassPersistenceDelegate.h b/libjava/gnu/java/beans/encoder/ClassPersistenceDelegate.h
new file mode 100644
index 000000000..4ca1df820
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/ClassPersistenceDelegate.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_ClassPersistenceDelegate__
+#define __gnu_java_beans_encoder_ClassPersistenceDelegate__
+
+#pragma interface
+
+#include <java/beans/PersistenceDelegate.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class ClassPersistenceDelegate;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class Encoder;
+ class Expression;
+ }
+ }
+}
+
+class gnu::java::beans::encoder::ClassPersistenceDelegate : public ::java::beans::PersistenceDelegate
+{
+
+public:
+ ClassPersistenceDelegate();
+public: // actually protected
+ virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_ClassPersistenceDelegate__
diff --git a/libjava/gnu/java/beans/encoder/CollectionPersistenceDelegate.h b/libjava/gnu/java/beans/encoder/CollectionPersistenceDelegate.h
new file mode 100644
index 000000000..99bd9dfb1
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/CollectionPersistenceDelegate.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_CollectionPersistenceDelegate__
+#define __gnu_java_beans_encoder_CollectionPersistenceDelegate__
+
+#pragma interface
+
+#include <java/beans/PersistenceDelegate.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class CollectionPersistenceDelegate;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class Encoder;
+ class Expression;
+ }
+ }
+}
+
+class gnu::java::beans::encoder::CollectionPersistenceDelegate : public ::java::beans::PersistenceDelegate
+{
+
+public:
+ CollectionPersistenceDelegate();
+public: // actually protected
+ virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *);
+ virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_CollectionPersistenceDelegate__
diff --git a/libjava/gnu/java/beans/encoder/Context.h b/libjava/gnu/java/beans/encoder/Context.h
new file mode 100644
index 000000000..420376f3e
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/Context.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_Context__
+#define __gnu_java_beans_encoder_Context__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Context;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::Context : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Context(::java::lang::String *, jint);
+public:
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) state;
+ jint call;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_Context__
diff --git a/libjava/gnu/java/beans/encoder/GenericScannerState.h b/libjava/gnu/java/beans/encoder/GenericScannerState.h
new file mode 100644
index 000000000..75e54adc4
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/GenericScannerState.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_GenericScannerState__
+#define __gnu_java_beans_encoder_GenericScannerState__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/ScannerState.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Context;
+ class GenericScannerState;
+ class ObjectId;
+ class Root;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::GenericScannerState : public ::gnu::java::beans::encoder::ScannerState
+{
+
+public: // actually package-private
+ GenericScannerState(::gnu::java::beans::encoder::Root *);
+ GenericScannerState(::gnu::java::beans::encoder::Root *, jint);
+public: // actually protected
+ virtual void enterImpl(::gnu::java::beans::encoder::Context *);
+public: // actually package-private
+ virtual void methodInvocation(::java::lang::String *);
+ virtual void staticMethodInvocation(::java::lang::String *, ::java::lang::String *);
+ virtual void staticFieldAccess(::java::lang::String *, ::java::lang::String *);
+ virtual void classResolution(::java::lang::String *);
+ virtual void objectInstantiation(::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void primitiveInstantiation(::java::lang::String *, ::java::lang::String *);
+ virtual void objectArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void primitiveArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void arraySet(::java::lang::String *);
+ virtual void arrayGet(::java::lang::String *);
+ virtual void listGet();
+ virtual void listSet();
+ virtual void nullObject();
+ virtual void stringReference(::java::lang::String *);
+ virtual void objectReference(::gnu::java::beans::encoder::ObjectId *);
+ virtual void end();
+ virtual void enter();
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::ScannerState)))) skipElements;
+ jint initialSkipElements;
+public: // actually package-private
+ ::gnu::java::beans::encoder::Root * root;
+ ::java::util::HashMap * skipValues;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_GenericScannerState__
diff --git a/libjava/gnu/java/beans/encoder/IgnoringScannerState.h b/libjava/gnu/java/beans/encoder/IgnoringScannerState.h
new file mode 100644
index 000000000..ef44b5c6a
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/IgnoringScannerState.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_IgnoringScannerState__
+#define __gnu_java_beans_encoder_IgnoringScannerState__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/ScannerState.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class IgnoringScannerState;
+ class ObjectId;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::IgnoringScannerState : public ::gnu::java::beans::encoder::ScannerState
+{
+
+public: // actually package-private
+ IgnoringScannerState();
+ virtual void methodInvocation(::java::lang::String *);
+ virtual void staticMethodInvocation(::java::lang::String *, ::java::lang::String *);
+ virtual void staticFieldAccess(::java::lang::String *, ::java::lang::String *);
+ virtual void classResolution(::java::lang::String *);
+ virtual void objectInstantiation(::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void primitiveInstantiation(::java::lang::String *, ::java::lang::String *);
+ virtual void objectArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void primitiveArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void arraySet(::java::lang::String *);
+ virtual void arrayGet(::java::lang::String *);
+ virtual void listGet();
+ virtual void listSet();
+ virtual void nullObject();
+ virtual void stringReference(::java::lang::String *);
+ virtual void objectReference(::gnu::java::beans::encoder::ObjectId *);
+ virtual void end();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_IgnoringScannerState__
diff --git a/libjava/gnu/java/beans/encoder/MapPersistenceDelegate.h b/libjava/gnu/java/beans/encoder/MapPersistenceDelegate.h
new file mode 100644
index 000000000..0c99d67b6
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/MapPersistenceDelegate.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_MapPersistenceDelegate__
+#define __gnu_java_beans_encoder_MapPersistenceDelegate__
+
+#pragma interface
+
+#include <java/beans/PersistenceDelegate.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class MapPersistenceDelegate;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class Encoder;
+ class Expression;
+ }
+ }
+}
+
+class gnu::java::beans::encoder::MapPersistenceDelegate : public ::java::beans::PersistenceDelegate
+{
+
+public:
+ MapPersistenceDelegate();
+public: // actually protected
+ virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *);
+ virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_MapPersistenceDelegate__
diff --git a/libjava/gnu/java/beans/encoder/ObjectId.h b/libjava/gnu/java/beans/encoder/ObjectId.h
new file mode 100644
index 000000000..7447c77ce
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/ObjectId.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_ObjectId__
+#define __gnu_java_beans_encoder_ObjectId__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class ObjectId;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::ObjectId : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ObjectId(::java::lang::Class *);
+public:
+ virtual jboolean isUnused();
+ virtual ::java::lang::String * toString();
+ virtual void init();
+private:
+ static ::java::util::HashMap * nameIndices;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id;
+ ::java::lang::Class * klass;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_ObjectId__
diff --git a/libjava/gnu/java/beans/encoder/PrimitivePersistenceDelegate.h b/libjava/gnu/java/beans/encoder/PrimitivePersistenceDelegate.h
new file mode 100644
index 000000000..7102811bc
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/PrimitivePersistenceDelegate.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_PrimitivePersistenceDelegate__
+#define __gnu_java_beans_encoder_PrimitivePersistenceDelegate__
+
+#pragma interface
+
+#include <java/beans/PersistenceDelegate.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class PrimitivePersistenceDelegate;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class Encoder;
+ class Expression;
+ }
+ }
+}
+
+class gnu::java::beans::encoder::PrimitivePersistenceDelegate : public ::java::beans::PersistenceDelegate
+{
+
+public:
+ PrimitivePersistenceDelegate();
+public: // actually protected
+ virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *);
+ virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_PrimitivePersistenceDelegate__
diff --git a/libjava/gnu/java/beans/encoder/ReportingScannerState.h b/libjava/gnu/java/beans/encoder/ReportingScannerState.h
new file mode 100644
index 000000000..b613cedba
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/ReportingScannerState.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_ReportingScannerState__
+#define __gnu_java_beans_encoder_ReportingScannerState__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/ScannerState.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class ObjectId;
+ class ReportingScannerState;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::ReportingScannerState : public ::gnu::java::beans::encoder::ScannerState
+{
+
+public: // actually package-private
+ ReportingScannerState();
+ virtual void methodInvocation(::java::lang::String *);
+ virtual void staticMethodInvocation(::java::lang::String *, ::java::lang::String *);
+ virtual void staticFieldAccess(::java::lang::String *, ::java::lang::String *);
+ virtual void classResolution(::java::lang::String *);
+ virtual void objectInstantiation(::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void primitiveInstantiation(::java::lang::String *, ::java::lang::String *);
+ virtual void objectArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void primitiveArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void arraySet(::java::lang::String *);
+ virtual void arrayGet(::java::lang::String *);
+ virtual void listGet();
+ virtual void listSet();
+ virtual void nullObject();
+ virtual void stringReference(::java::lang::String *);
+ virtual void objectReference(::gnu::java::beans::encoder::ObjectId *);
+ virtual void end();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_ReportingScannerState__
diff --git a/libjava/gnu/java/beans/encoder/Root$RootElement.h b/libjava/gnu/java/beans/encoder/Root$RootElement.h
new file mode 100644
index 000000000..b25191fe1
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/Root$RootElement.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_Root$RootElement__
+#define __gnu_java_beans_encoder_Root$RootElement__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Root$RootElement;
+ class Writer;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::Root$RootElement : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public: // actually package-private
+ Root$RootElement();
+public:
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+ virtual void writeEnd(::gnu::java::beans::encoder::Writer *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_Root$RootElement__
diff --git a/libjava/gnu/java/beans/encoder/Root.h b/libjava/gnu/java/beans/encoder/Root.h
new file mode 100644
index 000000000..08f587b87
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/Root.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_Root__
+#define __gnu_java_beans_encoder_Root__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Root;
+ class Writer;
+ namespace elements
+ {
+ class Element;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::Root : public ::java::lang::Object
+{
+
+public:
+ Root();
+ virtual void addChild(::gnu::java::beans::encoder::elements::Element *);
+ virtual void end();
+ virtual void deleteLast();
+ virtual void traverse(::gnu::java::beans::encoder::Writer *);
+ virtual void close(::gnu::java::beans::encoder::Writer *);
+private:
+ void traverse(::gnu::java::beans::encoder::Writer *, ::java::util::Iterator *);
+ ::java::util::Stack * __attribute__((aligned(__alignof__( ::java::lang::Object)))) parents;
+ ::gnu::java::beans::encoder::elements::Element * rootElement;
+ ::gnu::java::beans::encoder::elements::Element * current;
+ jboolean started;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_Root__
diff --git a/libjava/gnu/java/beans/encoder/ScanEngine.h b/libjava/gnu/java/beans/encoder/ScanEngine.h
new file mode 100644
index 000000000..7d5b52d37
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/ScanEngine.h
@@ -0,0 +1,85 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_ScanEngine__
+#define __gnu_java_beans_encoder_ScanEngine__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class ObjectId;
+ class Root;
+ class ScanEngine;
+ class ScannerState;
+ class Writer;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace beans
+ {
+ class Expression;
+ class Statement;
+ }
+ }
+}
+
+class gnu::java::beans::encoder::ScanEngine : public ::java::lang::Object
+{
+
+public:
+ ScanEngine(::java::io::OutputStream *);
+private:
+ ::gnu::java::beans::encoder::ScannerState * register$(::java::lang::String *, ::gnu::java::beans::encoder::ScannerState *);
+ ::gnu::java::beans::encoder::ObjectId * retrieveId(::java::lang::Object *);
+public:
+ virtual void writeExpression(::java::beans::Expression *);
+ virtual void end();
+ virtual void revoke();
+ virtual void writeStatement(::java::beans::Statement *);
+ virtual jboolean writeObject(::java::lang::Object *);
+ virtual void flush();
+ virtual void close();
+private:
+ void transition(jint);
+public: // actually package-private
+ virtual void methodInvocation(::java::lang::String *);
+ virtual void staticMethodInvocation(::java::lang::String *, ::java::lang::String *);
+ virtual void staticFieldAccess(::java::lang::String *, ::java::lang::String *);
+ virtual void classResolution(::java::lang::String *);
+ virtual void objectInstantiation(::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void primitiveInstantiation(::java::lang::String *, ::java::lang::String *);
+ virtual void objectArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void primitiveArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *);
+ virtual void arraySet(::java::lang::String *);
+ virtual void arrayGet(::java::lang::String *);
+ virtual void listSet();
+ virtual void listGet();
+ virtual void nullObject();
+ virtual void stringReference(::java::lang::String *);
+ virtual void objectReference(::gnu::java::beans::encoder::ObjectId *);
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) DEBUG;
+ ::java::util::HashMap * states;
+ ::java::util::Stack * parents;
+ ::gnu::java::beans::encoder::ScannerState * current;
+ ::gnu::java::beans::encoder::Root * root;
+ ::gnu::java::beans::encoder::Writer * writer;
+ ::java::util::IdentityHashMap * objects;
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_ScanEngine__
diff --git a/libjava/gnu/java/beans/encoder/ScannerState.h b/libjava/gnu/java/beans/encoder/ScannerState.h
new file mode 100644
index 000000000..77caf1232
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/ScannerState.h
@@ -0,0 +1,94 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_ScannerState__
+#define __gnu_java_beans_encoder_ScannerState__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Context;
+ class ObjectId;
+ class ScannerState;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::ScannerState : public ::java::lang::Object
+{
+
+public:
+ ScannerState();
+public: // actually package-private
+ virtual void init(::java::lang::String *);
+ virtual ::java::lang::String * getName();
+ virtual void enter(::gnu::java::beans::encoder::Context *);
+public: // actually protected
+ virtual void enterImpl(::gnu::java::beans::encoder::Context *);
+public: // actually package-private
+ virtual ::gnu::java::beans::encoder::Context * context();
+ virtual jint getCalls();
+ virtual void putSuccessor(jint, ::java::lang::String *);
+ virtual ::java::lang::String * getSuccessor(jint);
+ virtual void setDefaultSuccessor(::java::lang::String *);
+ virtual void methodInvocation(::java::lang::String *) = 0;
+ virtual void staticMethodInvocation(::java::lang::String *, ::java::lang::String *) = 0;
+ virtual void staticFieldAccess(::java::lang::String *, ::java::lang::String *) = 0;
+ virtual void classResolution(::java::lang::String *) = 0;
+ virtual void objectInstantiation(::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *) = 0;
+ virtual void primitiveInstantiation(::java::lang::String *, ::java::lang::String *) = 0;
+ virtual void objectArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *) = 0;
+ virtual void primitiveArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *) = 0;
+ virtual void arraySet(::java::lang::String *) = 0;
+ virtual void arrayGet(::java::lang::String *) = 0;
+ virtual void listGet() = 0;
+ virtual void listSet() = 0;
+ virtual void nullObject() = 0;
+ virtual void stringReference(::java::lang::String *) = 0;
+ virtual void objectReference(::gnu::java::beans::encoder::ObjectId *) = 0;
+ virtual void end() = 0;
+ virtual void enter();
+ static const jint TRANSITION_METHOD_INVOCATION = 0;
+ static const jint TRANSITION_STATIC_METHOD_INVOCATION = 1;
+ static const jint TRANSITION_STATIC_FIELD_ACCESS = 2;
+ static const jint TRANSITION_CLASS_RESOLUTION = 3;
+ static const jint TRANSITION_OBJECT_INSTANTIATION = 4;
+ static const jint TRANSITION_PRIMITIVE_INSTANTIATION = 5;
+ static const jint TRANSITION_OBJECT_ARRAY_INSTANTIATION = 6;
+ static const jint TRANSITION_PRIMITIVE_ARRAY_INSTANTIATION = 7;
+ static const jint TRANSITION_ARRAY_SET = 8;
+ static const jint TRANSITION_ARRAY_GET = 9;
+ static const jint TRANSITION_LIST_SET = 10;
+ static const jint TRANSITION_LIST_GET = 11;
+ static const jint TRANSITION_NULL_OBJECT = 12;
+ static const jint TRANSITION_STRING_REFERENCE = 13;
+ static const jint TRANSITION_OBJECT_REFERENCE = 14;
+ static const jint TRANSITION_FIRST = 0;
+ static const jint TRANSITION_LAST = 14;
+ static ::java::lang::String * DEFAULT_STATE_NAME;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) defaultSuccessor;
+ static JArray< ::java::lang::String * > * transitionNames;
+ ::java::util::HashMap * transitions;
+ jint calls;
+ ::gnu::java::beans::encoder::Context * context__;
+ ::java::lang::String * name;
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_ScannerState__
diff --git a/libjava/gnu/java/beans/encoder/StAXWriter.h b/libjava/gnu/java/beans/encoder/StAXWriter.h
new file mode 100644
index 000000000..06298b0d7
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/StAXWriter.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_StAXWriter__
+#define __gnu_java_beans_encoder_StAXWriter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class StAXWriter;
+ }
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace xml
+ {
+ namespace stream
+ {
+ class XMLStreamWriter;
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::StAXWriter : public ::java::lang::Object
+{
+
+public:
+ StAXWriter(::java::io::OutputStream *);
+ virtual void flush();
+ virtual void close();
+ virtual void writePreamble();
+ virtual void writeEnd(jboolean);
+ virtual void writeEndNoChildren();
+ virtual void write(::java::lang::String *, jboolean);
+ virtual void write(::java::lang::String *, ::java::lang::String *);
+ virtual void writeNoChildren(::java::lang::String *, ::java::lang::String *);
+ virtual void write(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean);
+ virtual void write(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean);
+ virtual void write(::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean);
+public: // actually package-private
+ ::javax::xml::stream::XMLStreamWriter * __attribute__((aligned(__alignof__( ::java::lang::Object)))) writer;
+ jint indent;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_StAXWriter__
diff --git a/libjava/gnu/java/beans/encoder/Writer.h b/libjava/gnu/java/beans/encoder/Writer.h
new file mode 100644
index 000000000..21ac47d58
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/Writer.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_Writer__
+#define __gnu_java_beans_encoder_Writer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::Writer : public ::java::lang::Object
+{
+
+public:
+ virtual void writePreamble() = 0;
+ virtual void writeEnd(jboolean) = 0;
+ virtual void write(::java::lang::String *, jboolean) = 0;
+ virtual void write(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean) = 0;
+ virtual void write(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean) = 0;
+ virtual void write(::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean) = 0;
+ virtual void write(::java::lang::String *, ::java::lang::String *) = 0;
+ virtual void writeNoChildren(::java::lang::String *, ::java::lang::String *) = 0;
+ virtual void writeEndNoChildren() = 0;
+ virtual void flush() = 0;
+ virtual void close() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_beans_encoder_Writer__
diff --git a/libjava/gnu/java/beans/encoder/elements/ArrayInstantiation.h b/libjava/gnu/java/beans/encoder/elements/ArrayInstantiation.h
new file mode 100644
index 000000000..aaf8ab118
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/ArrayInstantiation.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_ArrayInstantiation__
+#define __gnu_java_beans_encoder_elements_ArrayInstantiation__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class ArrayInstantiation;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::ArrayInstantiation : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ ArrayInstantiation(::java::lang::String *, ::java::lang::String *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) className;
+ ::java::lang::String * lengthAsString;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_ArrayInstantiation__
diff --git a/libjava/gnu/java/beans/encoder/elements/Array_Get.h b/libjava/gnu/java/beans/encoder/elements/Array_Get.h
new file mode 100644
index 000000000..73a0dd702
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/Array_Get.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_Array_Get__
+#define __gnu_java_beans_encoder_elements_Array_Get__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class Array_Get;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::Array_Get : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ Array_Get(::java::lang::String *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) indexAsString;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_Array_Get__
diff --git a/libjava/gnu/java/beans/encoder/elements/Array_Set.h b/libjava/gnu/java/beans/encoder/elements/Array_Set.h
new file mode 100644
index 000000000..353d5a00d
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/Array_Set.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_Array_Set__
+#define __gnu_java_beans_encoder_elements_Array_Set__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class Array_Set;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::Array_Set : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ Array_Set(::java::lang::String *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) indexAsString;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_Array_Set__
diff --git a/libjava/gnu/java/beans/encoder/elements/ClassResolution.h b/libjava/gnu/java/beans/encoder/elements/ClassResolution.h
new file mode 100644
index 000000000..569602c5b
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/ClassResolution.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_ClassResolution__
+#define __gnu_java_beans_encoder_elements_ClassResolution__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class ClassResolution;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::ClassResolution : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ ClassResolution(::java::lang::String *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+ virtual void writeEnd(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) className;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_ClassResolution__
diff --git a/libjava/gnu/java/beans/encoder/elements/Element.h b/libjava/gnu/java/beans/encoder/elements/Element.h
new file mode 100644
index 000000000..5c53e7d1e
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/Element.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_Element__
+#define __gnu_java_beans_encoder_elements_Element__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class ObjectId;
+ class Writer;
+ namespace elements
+ {
+ class Element;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::Element : public ::java::lang::Object
+{
+
+public:
+ Element();
+ virtual void initId(::gnu::java::beans::encoder::ObjectId *);
+ virtual void addChild(::gnu::java::beans::encoder::elements::Element *);
+ virtual void removeLast();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean isEmpty();
+ virtual ::gnu::java::beans::encoder::ObjectId * getId();
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *) = 0;
+ virtual void writeEnd(::gnu::java::beans::encoder::Writer *);
+private:
+ ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) children;
+ ::gnu::java::beans::encoder::ObjectId * objectId;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_Element__
diff --git a/libjava/gnu/java/beans/encoder/elements/List_Get.h b/libjava/gnu/java/beans/encoder/elements/List_Get.h
new file mode 100644
index 000000000..cdd65d176
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/List_Get.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_List_Get__
+#define __gnu_java_beans_encoder_elements_List_Get__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class List_Get;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::List_Get : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ List_Get();
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_List_Get__
diff --git a/libjava/gnu/java/beans/encoder/elements/List_Set.h b/libjava/gnu/java/beans/encoder/elements/List_Set.h
new file mode 100644
index 000000000..444fbac36
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/List_Set.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_List_Set__
+#define __gnu_java_beans_encoder_elements_List_Set__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class List_Set;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::List_Set : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ List_Set();
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_List_Set__
diff --git a/libjava/gnu/java/beans/encoder/elements/MethodInvocation.h b/libjava/gnu/java/beans/encoder/elements/MethodInvocation.h
new file mode 100644
index 000000000..884d2c857
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/MethodInvocation.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_MethodInvocation__
+#define __gnu_java_beans_encoder_elements_MethodInvocation__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class MethodInvocation;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::MethodInvocation : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ MethodInvocation(::java::lang::String *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) methodName;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_MethodInvocation__
diff --git a/libjava/gnu/java/beans/encoder/elements/NullObject.h b/libjava/gnu/java/beans/encoder/elements/NullObject.h
new file mode 100644
index 000000000..9c1dca7a2
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/NullObject.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_NullObject__
+#define __gnu_java_beans_encoder_elements_NullObject__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class NullObject;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::NullObject : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ NullObject();
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+ virtual void writeEnd(::gnu::java::beans::encoder::Writer *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_NullObject__
diff --git a/libjava/gnu/java/beans/encoder/elements/ObjectInstantiation.h b/libjava/gnu/java/beans/encoder/elements/ObjectInstantiation.h
new file mode 100644
index 000000000..788818588
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/ObjectInstantiation.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_ObjectInstantiation__
+#define __gnu_java_beans_encoder_elements_ObjectInstantiation__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class ObjectInstantiation;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::ObjectInstantiation : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ ObjectInstantiation(::java::lang::String *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) className;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_ObjectInstantiation__
diff --git a/libjava/gnu/java/beans/encoder/elements/ObjectReference.h b/libjava/gnu/java/beans/encoder/elements/ObjectReference.h
new file mode 100644
index 000000000..9ee28a604
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/ObjectReference.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_ObjectReference__
+#define __gnu_java_beans_encoder_elements_ObjectReference__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class ObjectId;
+ class Writer;
+ namespace elements
+ {
+ class ObjectReference;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::ObjectReference : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ ObjectReference(::gnu::java::beans::encoder::ObjectId *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::gnu::java::beans::encoder::ObjectId * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) id;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_ObjectReference__
diff --git a/libjava/gnu/java/beans/encoder/elements/PrimitiveInstantiation.h b/libjava/gnu/java/beans/encoder/elements/PrimitiveInstantiation.h
new file mode 100644
index 000000000..1a04f344c
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/PrimitiveInstantiation.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_PrimitiveInstantiation__
+#define __gnu_java_beans_encoder_elements_PrimitiveInstantiation__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class PrimitiveInstantiation;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::PrimitiveInstantiation : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ PrimitiveInstantiation(::java::lang::String *, ::java::lang::String *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+ virtual void writeEnd(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) primitiveName;
+ ::java::lang::String * valueAsString;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_PrimitiveInstantiation__
diff --git a/libjava/gnu/java/beans/encoder/elements/StaticFieldAccess.h b/libjava/gnu/java/beans/encoder/elements/StaticFieldAccess.h
new file mode 100644
index 000000000..0761cd850
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/StaticFieldAccess.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_StaticFieldAccess__
+#define __gnu_java_beans_encoder_elements_StaticFieldAccess__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class StaticFieldAccess;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::StaticFieldAccess : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ StaticFieldAccess(::java::lang::String *, ::java::lang::String *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) className;
+ ::java::lang::String * fieldName;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_StaticFieldAccess__
diff --git a/libjava/gnu/java/beans/encoder/elements/StaticMethodInvocation.h b/libjava/gnu/java/beans/encoder/elements/StaticMethodInvocation.h
new file mode 100644
index 000000000..982c72654
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/StaticMethodInvocation.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_StaticMethodInvocation__
+#define __gnu_java_beans_encoder_elements_StaticMethodInvocation__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class StaticMethodInvocation;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::StaticMethodInvocation : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ StaticMethodInvocation(::java::lang::String *, ::java::lang::String *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) className;
+ ::java::lang::String * methodName;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_StaticMethodInvocation__
diff --git a/libjava/gnu/java/beans/encoder/elements/StringReference.h b/libjava/gnu/java/beans/encoder/elements/StringReference.h
new file mode 100644
index 000000000..01b107470
--- /dev/null
+++ b/libjava/gnu/java/beans/encoder/elements/StringReference.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_beans_encoder_elements_StringReference__
+#define __gnu_java_beans_encoder_elements_StringReference__
+
+#pragma interface
+
+#include <gnu/java/beans/encoder/elements/Element.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace beans
+ {
+ namespace encoder
+ {
+ class Writer;
+ namespace elements
+ {
+ class StringReference;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::beans::encoder::elements::StringReference : public ::gnu::java::beans::encoder::elements::Element
+{
+
+public:
+ StringReference(::java::lang::String *);
+ virtual void writeStart(::gnu::java::beans::encoder::Writer *);
+ virtual void writeEnd(::gnu::java::beans::encoder::Writer *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) string;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_beans_encoder_elements_StringReference__
diff --git a/libjava/gnu/java/io/ASN1ParsingException.h b/libjava/gnu/java/io/ASN1ParsingException.h
new file mode 100644
index 000000000..e29e63cad
--- /dev/null
+++ b/libjava/gnu/java/io/ASN1ParsingException.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_io_ASN1ParsingException__
+#define __gnu_java_io_ASN1ParsingException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace io
+ {
+ class ASN1ParsingException;
+ }
+ }
+ }
+}
+
+class gnu::java::io::ASN1ParsingException : public ::java::io::IOException
+{
+
+public:
+ ASN1ParsingException();
+ ASN1ParsingException(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_io_ASN1ParsingException__
diff --git a/libjava/gnu/java/io/Base64InputStream.h b/libjava/gnu/java/io/Base64InputStream.h
new file mode 100644
index 000000000..22568f800
--- /dev/null
+++ b/libjava/gnu/java/io/Base64InputStream.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_io_Base64InputStream__
+#define __gnu_java_io_Base64InputStream__
+
+#pragma interface
+
+#include <java/io/FilterInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace io
+ {
+ class Base64InputStream;
+ }
+ }
+ }
+}
+
+class gnu::java::io::Base64InputStream : public ::java::io::FilterInputStream
+{
+
+public:
+ Base64InputStream(::java::io::InputStream *);
+ static JArray< jbyte > * decode(::java::lang::String *);
+ virtual jint available();
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual jboolean markSupported();
+ virtual void mark(jint);
+ virtual void reset();
+ virtual jlong skip(jlong);
+private:
+ static ::java::lang::String * BASE_64;
+ static const jchar BASE_64_PAD = 61;
+ jint __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) state;
+ jint temp;
+ jboolean eof;
+ JArray< jbyte > * one;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_io_Base64InputStream__
diff --git a/libjava/gnu/java/io/ClassLoaderObjectInputStream.h b/libjava/gnu/java/io/ClassLoaderObjectInputStream.h
new file mode 100644
index 000000000..e2cac0b6e
--- /dev/null
+++ b/libjava/gnu/java/io/ClassLoaderObjectInputStream.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_io_ClassLoaderObjectInputStream__
+#define __gnu_java_io_ClassLoaderObjectInputStream__
+
+#pragma interface
+
+#include <java/io/ObjectInputStream.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace io
+ {
+ class ClassLoaderObjectInputStream;
+ }
+ }
+ }
+}
+
+class gnu::java::io::ClassLoaderObjectInputStream : public ::java::io::ObjectInputStream
+{
+
+public:
+ ClassLoaderObjectInputStream(::java::io::InputStream *, ::java::lang::ClassLoader *);
+ virtual ::java::lang::Class * resolveClass(::java::lang::String *);
+public: // actually package-private
+ ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::io::ObjectInputStream)))) myClassLoader;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_io_ClassLoaderObjectInputStream__
diff --git a/libjava/gnu/java/io/NullOutputStream.h b/libjava/gnu/java/io/NullOutputStream.h
new file mode 100644
index 000000000..d2e15e25d
--- /dev/null
+++ b/libjava/gnu/java/io/NullOutputStream.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_io_NullOutputStream__
+#define __gnu_java_io_NullOutputStream__
+
+#pragma interface
+
+#include <java/io/OutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace io
+ {
+ class NullOutputStream;
+ }
+ }
+ }
+}
+
+class gnu::java::io::NullOutputStream : public ::java::io::OutputStream
+{
+
+public:
+ NullOutputStream();
+ virtual void write(jint);
+ virtual void write(JArray< jbyte > *);
+ virtual void write(JArray< jbyte > *, jint, jint);
+ virtual void flush();
+ virtual void close();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_io_NullOutputStream__
diff --git a/libjava/gnu/java/io/ObjectIdentityMap2Int.h b/libjava/gnu/java/io/ObjectIdentityMap2Int.h
new file mode 100644
index 000000000..7ffb5bae5
--- /dev/null
+++ b/libjava/gnu/java/io/ObjectIdentityMap2Int.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_io_ObjectIdentityMap2Int__
+#define __gnu_java_io_ObjectIdentityMap2Int__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace io
+ {
+ class ObjectIdentityMap2Int;
+ }
+ }
+ }
+}
+
+class gnu::java::io::ObjectIdentityMap2Int : public ::java::lang::Object
+{
+
+public:
+ ObjectIdentityMap2Int();
+private:
+ void alloc(jint);
+public:
+ virtual void put(::java::lang::Object *, jint);
+private:
+ jint slot(::java::lang::Object *);
+ void rehash();
+public:
+ virtual jint get(::java::lang::Object *);
+ virtual void clear();
+private:
+ static JArray< jint > * PRIMES;
+ static ::java::lang::Object * NIL;
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) objectTable;
+ JArray< jint > * intTable;
+ jint size;
+ jint cap;
+ jint limit;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_io_ObjectIdentityMap2Int__
diff --git a/libjava/gnu/java/io/ObjectIdentityWrapper.h b/libjava/gnu/java/io/ObjectIdentityWrapper.h
new file mode 100644
index 000000000..2718b94e2
--- /dev/null
+++ b/libjava/gnu/java/io/ObjectIdentityWrapper.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_io_ObjectIdentityWrapper__
+#define __gnu_java_io_ObjectIdentityWrapper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace io
+ {
+ class ObjectIdentityWrapper;
+ }
+ }
+ }
+}
+
+class gnu::java::io::ObjectIdentityWrapper : public ::java::lang::Object
+{
+
+public:
+ ObjectIdentityWrapper(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) object;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_io_ObjectIdentityWrapper__
diff --git a/libjava/gnu/java/io/PlatformHelper.h b/libjava/gnu/java/io/PlatformHelper.h
new file mode 100644
index 000000000..31a5fdff9
--- /dev/null
+++ b/libjava/gnu/java/io/PlatformHelper.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_io_PlatformHelper__
+#define __gnu_java_io_PlatformHelper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace io
+ {
+ class PlatformHelper;
+ }
+ }
+ }
+}
+
+class gnu::java::io::PlatformHelper : public ::java::lang::Object
+{
+
+public:
+ PlatformHelper();
+ static jint beginWithRootPathPrefix(::java::lang::String *);
+ static jboolean isRootDirectory(::java::lang::String *);
+ static jboolean endWithSeparator(::java::lang::String *);
+ static ::java::lang::String * removeTailSeparator(::java::lang::String *);
+ static jint lastIndexOfSeparator(::java::lang::String *);
+ static jboolean isWindows;
+ static ::java::lang::String * separator;
+ static jchar separatorChar;
+ static ::java::lang::String * pathSeparator;
+ static jchar pathSeparatorChar;
+ static const jint INITIAL_MAX_PATH = 130;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_io_PlatformHelper__
diff --git a/libjava/gnu/java/lang/ArrayHelper.h b/libjava/gnu/java/lang/ArrayHelper.h
new file mode 100644
index 000000000..93b7578f5
--- /dev/null
+++ b/libjava/gnu/java/lang/ArrayHelper.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_ArrayHelper__
+#define __gnu_java_lang_ArrayHelper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class ArrayHelper;
+ }
+ }
+ }
+}
+
+class gnu::java::lang::ArrayHelper : public ::java::lang::Object
+{
+
+public:
+ ArrayHelper();
+ static jboolean contains(JArray< ::java::lang::Object * > *, ::java::lang::Object *);
+ static jint indexOf(JArray< ::java::lang::Object * > *, ::java::lang::Object *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_ArrayHelper__
diff --git a/libjava/gnu/java/lang/CPStringBuilder.h b/libjava/gnu/java/lang/CPStringBuilder.h
new file mode 100644
index 000000000..5b03bf3a7
--- /dev/null
+++ b/libjava/gnu/java/lang/CPStringBuilder.h
@@ -0,0 +1,100 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_CPStringBuilder__
+#define __gnu_java_lang_CPStringBuilder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ }
+ }
+}
+
+class gnu::java::lang::CPStringBuilder : public ::java::lang::Object
+{
+
+public:
+ CPStringBuilder();
+ CPStringBuilder(jint);
+ CPStringBuilder(::java::lang::String *);
+ CPStringBuilder(::java::lang::StringBuffer *);
+ CPStringBuilder(::java::lang::StringBuilder *);
+ CPStringBuilder(::java::lang::CharSequence *);
+ void setLength(jint);
+ jchar charAt(jint);
+ jint codePointAt(jint);
+ jint codePointBefore(jint);
+ void getChars(jint, jint, JArray< jchar > *, jint);
+ void setCharAt(jint, jchar);
+ ::gnu::java::lang::CPStringBuilder * append(::java::lang::Object *);
+ ::gnu::java::lang::CPStringBuilder * append(::java::lang::String *);
+ ::gnu::java::lang::CPStringBuilder * append(::java::lang::StringBuffer *);
+ ::gnu::java::lang::CPStringBuilder * append(JArray< jchar > *);
+ ::gnu::java::lang::CPStringBuilder * append(JArray< jchar > *, jint, jint);
+ ::gnu::java::lang::CPStringBuilder * append(jboolean);
+ ::gnu::java::lang::CPStringBuilder * CPStringBuilder$append(jchar);
+ ::gnu::java::lang::CPStringBuilder * CPStringBuilder$append(::java::lang::CharSequence *);
+ ::gnu::java::lang::CPStringBuilder * CPStringBuilder$append(::java::lang::CharSequence *, jint, jint);
+ ::gnu::java::lang::CPStringBuilder * append(jint);
+ ::gnu::java::lang::CPStringBuilder * append(jlong);
+ ::gnu::java::lang::CPStringBuilder * append(jfloat);
+ ::gnu::java::lang::CPStringBuilder * append(jdouble);
+ ::gnu::java::lang::CPStringBuilder * appendCodePoint(jint);
+ ::gnu::java::lang::CPStringBuilder * delete$(jint, jint);
+ ::gnu::java::lang::CPStringBuilder * deleteCharAt(jint);
+ ::gnu::java::lang::CPStringBuilder * replace(jint, jint, ::java::lang::String *);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, JArray< jchar > *, jint, jint);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, ::java::lang::Object *);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, ::java::lang::String *);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, ::java::lang::CharSequence *);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, ::java::lang::CharSequence *, jint, jint);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, JArray< jchar > *);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, jboolean);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, jchar);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, jint);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, jlong);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, jfloat);
+ ::gnu::java::lang::CPStringBuilder * insert(jint, jdouble);
+ jint indexOf(::java::lang::String *);
+ jint indexOf(::java::lang::String *, jint);
+ jint lastIndexOf(::java::lang::String *);
+ jint lastIndexOf(::java::lang::String *, jint);
+ ::gnu::java::lang::CPStringBuilder * reverse();
+ void trimToSize();
+ jint codePointCount(jint, jint);
+ jint offsetByCodePoints(jint, jint);
+ void ensureCapacity(jint);
+private:
+ void allocateArray(jint);
+public:
+ jint length();
+ ::java::lang::CharSequence * subSequence(jint, jint);
+ ::java::lang::String * substring(jint);
+ ::java::lang::String * substring(jint, jint);
+ ::java::lang::String * toString();
+ ::java::lang::Appendable * append(::java::lang::CharSequence *, jint, jint);
+ ::java::lang::Appendable * append(::java::lang::CharSequence *);
+ ::java::lang::Appendable * append(jchar);
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count;
+ JArray< jchar > * value;
+ jboolean allocated;
+ static jint DEFAULT_CAPACITY;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_CPStringBuilder__
diff --git a/libjava/gnu/java/lang/CharData.h b/libjava/gnu/java/lang/CharData.h
new file mode 100644
index 000000000..0a16c891e
--- /dev/null
+++ b/libjava/gnu/java/lang/CharData.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_CharData__
+#define __gnu_java_lang_CharData__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CharData;
+ }
+ }
+ }
+}
+
+class gnu::java::lang::CharData : public ::java::lang::Object
+{
+
+public:
+ static ::java::lang::String * SOURCE;
+ static JArray< jint > * SHIFT;
+ static JArray< ::java::lang::String * > * BLOCKS;
+ static JArray< jint > * LARGENUMS;
+ static JArray< ::java::lang::String * > * DATA;
+ static JArray< ::java::lang::String * > * NUM_VALUE;
+ static JArray< ::java::lang::String * > * UPPER;
+ static JArray< ::java::lang::String * > * LOWER;
+ static JArray< ::java::lang::String * > * DIRECTION;
+ static ::java::lang::String * TITLE;
+ static ::java::lang::String * UPPER_SPECIAL;
+ static ::java::lang::String * UPPER_EXPAND;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_lang_CharData__
diff --git a/libjava/gnu/java/lang/ClassHelper.h b/libjava/gnu/java/lang/ClassHelper.h
new file mode 100644
index 000000000..d42070e9a
--- /dev/null
+++ b/libjava/gnu/java/lang/ClassHelper.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_ClassHelper__
+#define __gnu_java_lang_ClassHelper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class ClassHelper;
+ }
+ }
+ }
+}
+
+class gnu::java::lang::ClassHelper : public ::java::lang::Object
+{
+
+public:
+ ClassHelper();
+ static ::java::lang::String * getTruncatedClassName(::java::lang::Class *);
+ static ::java::lang::String * getTruncatedName(::java::lang::String *);
+ static ::java::lang::String * getUserName(::java::lang::Class *);
+ static JArray< ::java::lang::reflect::Method * > * getAllMethods(::java::lang::Class *);
+ static JArray< ::java::lang::reflect::Field * > * getAllFields(::java::lang::Class *);
+private:
+ static ::java::util::Map * allMethods;
+ static ::java::util::Map * allFields;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_ClassHelper__
diff --git a/libjava/gnu/java/lang/InstrumentationImpl.h b/libjava/gnu/java/lang/InstrumentationImpl.h
new file mode 100644
index 000000000..675626e9b
--- /dev/null
+++ b/libjava/gnu/java/lang/InstrumentationImpl.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_InstrumentationImpl__
+#define __gnu_java_lang_InstrumentationImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class InstrumentationImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class ProtectionDomain;
+ }
+ }
+}
+
+class gnu::java::lang::InstrumentationImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ InstrumentationImpl();
+public:
+ void addTransformer(::java::lang::instrument::ClassFileTransformer *);
+ jboolean removeTransformer(::java::lang::instrument::ClassFileTransformer *);
+ jboolean isRedefineClassesSupported();
+ void redefineClasses(JArray< ::java::lang::instrument::ClassDefinition * > *);
+ JArray< ::java::lang::Class * > * getAllLoadedClasses();
+ JArray< ::java::lang::Class * > * getInitiatedClasses(::java::lang::ClassLoader *);
+ jlong getObjectSize(::java::lang::Object *);
+ JArray< jbyte > * callTransformers(::java::lang::ClassLoader *, ::java::lang::String *, ::java::lang::Class *, ::java::security::ProtectionDomain *, JArray< jbyte > *);
+private:
+ ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) transformers;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_InstrumentationImpl__
diff --git a/libjava/gnu/java/lang/MainThread.h b/libjava/gnu/java/lang/MainThread.h
new file mode 100644
index 000000000..8c94dd584
--- /dev/null
+++ b/libjava/gnu/java/lang/MainThread.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_MainThread__
+#define __gnu_java_lang_MainThread__
+
+#pragma interface
+
+#include <java/lang/Thread.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class MainThread;
+ }
+ }
+ }
+}
+
+class gnu::java::lang::MainThread : public ::java::lang::Thread
+{
+
+public:
+ MainThread(::java::lang::Class *, JArray< ::java::lang::String * > *);
+ MainThread(::java::lang::String *, JArray< ::java::lang::String * > *, jboolean);
+ void run();
+private:
+ ::java::lang::String * getMain(::java::lang::String *);
+ void call_main();
+public: // actually package-private
+ static ::java::lang::Class * Kcert;
+ static ::java::lang::Class * Kfile;
+ static ::java::lang::Class * Khttp;
+ static ::java::lang::Class * Kjar;
+private:
+ ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) klass;
+ ::java::lang::String * klass_name;
+ JArray< ::java::lang::String * > * args;
+ jboolean is_jar;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_MainThread__
diff --git a/libjava/gnu/java/lang/MainThread.java b/libjava/gnu/java/lang/MainThread.java
new file mode 100644
index 000000000..a33445c21
--- /dev/null
+++ b/libjava/gnu/java/lang/MainThread.java
@@ -0,0 +1,135 @@
+/* gnu.java.lang.MainThread
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2008 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.lang;
+
+import java.io.File;
+import java.util.jar.Attributes;
+import java.util.jar.JarFile;
+
+/**
+ * MainThread is a Thread which uses the main() method of some class.
+ *
+ * @author John Keiser
+ * @author Tom Tromey (tromey@redhat.com)
+ */
+final class MainThread extends Thread
+{
+ // If the user links statically then we need to ensure that these
+ // classes are linked in. Otherwise bootstrapping fails. These
+ // classes are only referred to via Class.forName(), so we add an
+ // explicit mention of them here.
+ static final Class Kcert = java.security.cert.Certificate.class;
+ static final Class Kfile = gnu.java.net.protocol.file.Handler.class;
+ static final Class Khttp = gnu.java.net.protocol.http.Handler.class;
+ static final Class Kjar = gnu.java.net.protocol.jar.Handler.class;
+
+ // Private data.
+ private Class klass;
+ private String klass_name;
+ private String[] args;
+ private boolean is_jar;
+
+ public MainThread(Class k, String[] args)
+ {
+ super(null, null, "main");
+ klass = k;
+ this.args = args;
+ }
+
+ public MainThread(String classname, String[] args, boolean is_jar)
+ {
+ super (null, null, "main");
+ klass_name = classname;
+ this.args = args;
+ this.is_jar = is_jar;
+ }
+
+ public void run()
+ {
+ if (is_jar)
+ klass_name = getMain(klass_name);
+
+ if (klass == null)
+ {
+ try
+ {
+ ClassLoader cl = ClassLoader.getSystemClassLoader();
+ // Permit main class name to be specified in file-system format.
+ klass_name = klass_name.replace(File.separatorChar, '.');
+ klass = cl.loadClass(klass_name);
+ }
+ catch (ClassNotFoundException x)
+ {
+ NoClassDefFoundError ncdfe = new NoClassDefFoundError(klass_name);
+ ncdfe.initCause(x);
+ throw ncdfe;
+ }
+ }
+
+ call_main();
+ }
+
+ private String getMain(String name)
+ {
+ String mainName = null;
+ try
+ {
+ JarFile j = new JarFile(name);
+ Attributes a = j.getManifest().getMainAttributes();
+ mainName = a.getValue(Attributes.Name.MAIN_CLASS);
+ }
+ catch (Exception e)
+ {
+ // Ignore.
+ }
+
+ if (mainName == null)
+ {
+ System.err.println("Failed to load Main-Class manifest attribute from "
+ + name);
+ System.exit(1);
+ }
+ return mainName;
+ }
+
+ // Note: this function name is known to the stack tracing code.
+ // You shouldn't change this without also updating stacktrace.cc.
+ private native void call_main();
+}
diff --git a/libjava/gnu/java/lang/VMCPStringBuilder.h b/libjava/gnu/java/lang/VMCPStringBuilder.h
new file mode 100644
index 000000000..f8c2eb309
--- /dev/null
+++ b/libjava/gnu/java/lang/VMCPStringBuilder.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_VMCPStringBuilder__
+#define __gnu_java_lang_VMCPStringBuilder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class VMCPStringBuilder;
+ }
+ }
+ }
+}
+
+class gnu::java::lang::VMCPStringBuilder : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMCPStringBuilder();
+public:
+ static ::java::lang::String * toString(JArray< jchar > *, jint, jint);
+private:
+ static ::java::lang::reflect::Constructor * cons;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_VMCPStringBuilder__
diff --git a/libjava/gnu/java/lang/VMCPStringBuilder.java b/libjava/gnu/java/lang/VMCPStringBuilder.java
new file mode 100644
index 000000000..8e137cd3f
--- /dev/null
+++ b/libjava/gnu/java/lang/VMCPStringBuilder.java
@@ -0,0 +1,112 @@
+/* VMCPStringBuilder.java -- Growable strings without locking or copying
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * This class provides VM support for CPStringBuilder
+ * by allowing the package-private constructor
+ * of java.lang.String to be invoked. The default
+ * implementation uses reflection. VMs may replace
+ * this class with a more efficient version.
+ */
+final class VMCPStringBuilder
+{
+
+ /**
+ * The package-private constructor for String objects without copying.
+ */
+ private static final Constructor cons;
+
+ static
+ {
+ try
+ {
+ cons = String.class.getDeclaredConstructor(new Class[] { char[].class,
+ Integer.TYPE,
+ Integer.TYPE,
+ Boolean.TYPE });
+ cons.setAccessible(true);
+ }
+ catch (NoSuchMethodException e)
+ {
+ throw (Error)
+ new InternalError("Could not get no-copy String constructor").initCause(e);
+ }
+ }
+
+ /**
+ * Convert this <code>StringBuilder</code> to a <code>String</code>. The
+ * String is composed of the characters currently in this StringBuilder. Note
+ * that the result is not a copy, so the builder will allocate a new array
+ * if a further write operation is attempted.
+ *
+ * @param value the buffered characters.
+ * @param startIndex the index at which to start taking characters from the buffer.
+ * @param count the number of characters used in the buffer.
+ * @return the characters in this StringBuilder
+ */
+ public static String toString(char[] value, int startIndex, int count)
+ {
+ try
+ {
+ return (String)
+ cons.newInstance(new Object[] { value, Integer.valueOf(startIndex),
+ Integer.valueOf(count),
+ Boolean.valueOf(true) });
+ }
+ catch (InstantiationException e)
+ {
+ throw (Error)
+ new InternalError("Could not instantiate no-copy String constructor").initCause(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw (Error)
+ new InternalError("Could not access no-copy String constructor").initCause(e);
+ }
+ catch (InvocationTargetException e)
+ {
+ throw (Error)
+ new InternalError("Error calling no-copy String constructor").initCause(e);
+ }
+ }
+
+}
diff --git a/libjava/gnu/java/lang/VMInstrumentationImpl.h b/libjava/gnu/java/lang/VMInstrumentationImpl.h
new file mode 100644
index 000000000..1b647a3ec
--- /dev/null
+++ b/libjava/gnu/java/lang/VMInstrumentationImpl.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_VMInstrumentationImpl__
+#define __gnu_java_lang_VMInstrumentationImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class VMInstrumentationImpl;
+ }
+ }
+ }
+}
+
+class gnu::java::lang::VMInstrumentationImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMInstrumentationImpl();
+ static jboolean isRedefineClassesSupported();
+ static void redefineClasses(::java::lang::instrument::Instrumentation *, JArray< ::java::lang::instrument::ClassDefinition * > *);
+ static JArray< ::java::lang::Class * > * getAllLoadedClasses();
+ static JArray< ::java::lang::Class * > * getInitiatedClasses(::java::lang::ClassLoader *);
+ static jlong getObjectSize(::java::lang::Object *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_VMInstrumentationImpl__
diff --git a/libjava/gnu/java/lang/VMInstrumentationImpl.java b/libjava/gnu/java/lang/VMInstrumentationImpl.java
new file mode 100644
index 000000000..4ffff839c
--- /dev/null
+++ b/libjava/gnu/java/lang/VMInstrumentationImpl.java
@@ -0,0 +1,119 @@
+/* VMInstrumentationImpl.java -- interface for the GNU implementation
+ of InstrumentationImpl
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.lang;
+
+import java.lang.instrument.ClassDefinition;
+import java.lang.instrument.Instrumentation;
+
+/**
+ * @author Nicolas Geoffray (nicolas.geoffray@menlina.com)
+ * @since 1.5
+ */
+final class VMInstrumentationImpl
+{
+
+ /**
+ * Returns if the current JVM supports class redefinition
+ *
+ * @return true if the current JVM supports class redefinition
+ */
+ static boolean isRedefineClassesSupported() { return false; }
+
+ /**
+ * Redefines classes given as parameters. The method has to call
+ * the callTransformers from InstrumentationImpl
+ *
+ * @param inst an instrumentation object
+ * @param definitions an array of bytecode<->class correspondance
+ *
+ * @throws ClassNotFoundException if a class cannot be found
+ * @throws UnmodifiableClassException if a class cannot be modified
+ * @throws UnsupportedOperationException if the JVM does not support
+ * redefinition or the redefinition made unsupported changes
+ * @throws ClassFormatError if a class file is not valid
+ * @throws NoClassDefFoundError if a class name is not equal to the name
+ * in the class file specified
+ * @throws UnsupportedClassVersionError if the class file version numbers
+ * are unsupported
+ * @throws ClassCircularityError if circularity occured with the new
+ * classes
+ * @throws LinkageError if a linkage error occurs
+ */
+ static void redefineClasses(Instrumentation inst,
+ ClassDefinition[] definitions)
+ {
+ }
+
+ /**
+ * Get all the classes loaded by the JVM.
+ *
+ * @return an array containing all the classes loaded by the JVM. The array
+ * is empty if no class is loaded.
+ */
+ static Class[] getAllLoadedClasses()
+ {
+ return new Class[0];
+ }
+
+ /**
+ * Get all the classes loaded by a given class loader
+ *
+ * @param loader the loader
+ *
+ * @return an array containing all the classes loaded by the given loader.
+ * The array is empty if no class was loaded by the loader.
+ */
+ static Class[] getInitiatedClasses(ClassLoader loader)
+ {
+ return new Class[0];
+ }
+
+
+ /**
+ * Get the size of an object. The object is not null
+ *
+ * @param objectToSize the object
+ * @return the size of the object
+ */
+ static long getObjectSize(Object objectToSize)
+ {
+ return 0;
+ }
+}
diff --git a/libjava/gnu/java/lang/management/BeanImpl.h b/libjava/gnu/java/lang/management/BeanImpl.h
new file mode 100644
index 000000000..463d617f3
--- /dev/null
+++ b/libjava/gnu/java/lang/management/BeanImpl.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_BeanImpl__
+#define __gnu_java_lang_management_BeanImpl__
+
+#pragma interface
+
+#include <javax/management/StandardMBean.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class BeanImpl;
+ }
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace management
+ {
+ class MBeanConstructorInfo;
+ class MBeanInfo;
+ class MBeanOperationInfo;
+ class MBeanParameterInfo;
+ namespace openmbean
+ {
+ class OpenMBeanInfo;
+ class OpenMBeanParameterInfo;
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::BeanImpl : public ::javax::management::StandardMBean
+{
+
+public: // actually protected
+ BeanImpl(::java::lang::Class *);
+ virtual void cacheMBeanInfo(::javax::management::MBeanInfo *);
+ virtual void checkMonitorPermissions();
+ virtual void checkControlPermissions();
+public:
+ virtual ::java::lang::Object * getAttribute(::java::lang::String *);
+public: // actually protected
+ virtual ::javax::management::MBeanInfo * getCachedMBeanInfo();
+ virtual ::java::lang::String * getDescription(::javax::management::MBeanConstructorInfo *, ::javax::management::MBeanParameterInfo *, jint);
+ virtual ::java::lang::String * getDescription(::javax::management::MBeanOperationInfo *, ::javax::management::MBeanParameterInfo *, jint);
+ virtual ::java::lang::String * getParameterName(::javax::management::MBeanConstructorInfo *, ::javax::management::MBeanParameterInfo *, jint);
+ virtual ::java::lang::String * getParameterName(::javax::management::MBeanOperationInfo *, ::javax::management::MBeanParameterInfo *, jint);
+public:
+ virtual ::javax::management::MBeanInfo * getMBeanInfo();
+private:
+ JArray< ::javax::management::openmbean::OpenMBeanParameterInfo * > * translateSignature(JArray< ::javax::management::MBeanParameterInfo * > *);
+ ::javax::management::openmbean::OpenMBeanInfo * __attribute__((aligned(__alignof__( ::javax::management::StandardMBean)))) openInfo;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_BeanImpl__
diff --git a/libjava/gnu/java/lang/management/ClassLoadingMXBeanImpl.h b/libjava/gnu/java/lang/management/ClassLoadingMXBeanImpl.h
new file mode 100644
index 000000000..c03db2324
--- /dev/null
+++ b/libjava/gnu/java/lang/management/ClassLoadingMXBeanImpl.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_ClassLoadingMXBeanImpl__
+#define __gnu_java_lang_management_ClassLoadingMXBeanImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/management/BeanImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class ClassLoadingMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::ClassLoadingMXBeanImpl : public ::gnu::java::lang::management::BeanImpl
+{
+
+public:
+ ClassLoadingMXBeanImpl();
+ jint getLoadedClassCount();
+ jlong getTotalLoadedClassCount();
+ jlong getUnloadedClassCount();
+ jboolean isVerbose();
+ void setVerbose(jboolean);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_ClassLoadingMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/CompilationMXBeanImpl.h b/libjava/gnu/java/lang/management/CompilationMXBeanImpl.h
new file mode 100644
index 000000000..c11d3fb83
--- /dev/null
+++ b/libjava/gnu/java/lang/management/CompilationMXBeanImpl.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_CompilationMXBeanImpl__
+#define __gnu_java_lang_management_CompilationMXBeanImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/management/BeanImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class CompilationMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::CompilationMXBeanImpl : public ::gnu::java::lang::management::BeanImpl
+{
+
+public:
+ CompilationMXBeanImpl();
+ ::java::lang::String * getName();
+ jboolean isCompilationTimeMonitoringSupported();
+ jlong getTotalCompilationTime();
+private:
+ static ::java::lang::String * COMPILER_NAME;
+ static ::java::lang::String * COMPILATION_TIME_SUPPORT;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_CompilationMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/GarbageCollectorMXBeanImpl.h b/libjava/gnu/java/lang/management/GarbageCollectorMXBeanImpl.h
new file mode 100644
index 000000000..cfefdb653
--- /dev/null
+++ b/libjava/gnu/java/lang/management/GarbageCollectorMXBeanImpl.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_GarbageCollectorMXBeanImpl__
+#define __gnu_java_lang_management_GarbageCollectorMXBeanImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/management/MemoryManagerMXBeanImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class GarbageCollectorMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::GarbageCollectorMXBeanImpl : public ::gnu::java::lang::management::MemoryManagerMXBeanImpl
+{
+
+public:
+ GarbageCollectorMXBeanImpl(::java::lang::String *);
+ jlong getCollectionCount();
+ jlong getCollectionTime();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_GarbageCollectorMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/MemoryMXBeanImpl.h b/libjava/gnu/java/lang/management/MemoryMXBeanImpl.h
new file mode 100644
index 000000000..3c87a0f35
--- /dev/null
+++ b/libjava/gnu/java/lang/management/MemoryMXBeanImpl.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_MemoryMXBeanImpl__
+#define __gnu_java_lang_management_MemoryMXBeanImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/management/BeanImpl.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class MemoryMXBeanImpl;
+ }
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace management
+ {
+ class MBeanNotificationInfo;
+ class NotificationFilter;
+ class NotificationListener;
+ namespace openmbean
+ {
+ class CompositeType;
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::MemoryMXBeanImpl : public ::gnu::java::lang::management::BeanImpl
+{
+
+public:
+ MemoryMXBeanImpl();
+ void gc();
+ ::java::lang::management::MemoryUsage * getHeapMemoryUsage();
+ ::java::lang::management::MemoryUsage * getNonHeapMemoryUsage();
+ jint getObjectPendingFinalizationCount();
+ jboolean isVerbose();
+ void setVerbose(jboolean);
+ void addNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *);
+ JArray< ::javax::management::MBeanNotificationInfo * > * getNotificationInfo();
+ void removeNotificationListener(::javax::management::NotificationListener *);
+ void removeNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *);
+public: // actually package-private
+ void fireNotification(::java::lang::String *, ::java::lang::String *, jlong, jlong, jlong, jlong, jlong);
+ void fireThresholdExceededNotification(::java::lang::String *, jlong, jlong, jlong, jlong, jlong);
+ void fireCollectionThresholdExceededNotification(::java::lang::String *, jlong, jlong, jlong, jlong, jlong);
+private:
+ ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) listeners;
+ jlong notificationCount;
+public:
+ static ::javax::management::openmbean::CompositeType * notifType;
+ static ::javax::management::openmbean::CompositeType * usageType;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_MemoryMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/MemoryManagerMXBeanImpl.h b/libjava/gnu/java/lang/management/MemoryManagerMXBeanImpl.h
new file mode 100644
index 000000000..2ddbf70ea
--- /dev/null
+++ b/libjava/gnu/java/lang/management/MemoryManagerMXBeanImpl.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_MemoryManagerMXBeanImpl__
+#define __gnu_java_lang_management_MemoryManagerMXBeanImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/management/BeanImpl.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class MemoryManagerMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::MemoryManagerMXBeanImpl : public ::gnu::java::lang::management::BeanImpl
+{
+
+public:
+ MemoryManagerMXBeanImpl(::java::lang::String *);
+public: // actually protected
+ MemoryManagerMXBeanImpl(::java::lang::String *, ::java::lang::Class *);
+public:
+ virtual JArray< ::java::lang::String * > * getMemoryPoolNames();
+ virtual ::java::lang::String * getName();
+ virtual jboolean isValid();
+public: // actually protected
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) name;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_MemoryManagerMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/MemoryPoolMXBeanImpl.h b/libjava/gnu/java/lang/management/MemoryPoolMXBeanImpl.h
new file mode 100644
index 000000000..ff3734d28
--- /dev/null
+++ b/libjava/gnu/java/lang/management/MemoryPoolMXBeanImpl.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_MemoryPoolMXBeanImpl__
+#define __gnu_java_lang_management_MemoryPoolMXBeanImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/management/BeanImpl.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class MemoryPoolMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::MemoryPoolMXBeanImpl : public ::gnu::java::lang::management::BeanImpl
+{
+
+public:
+ MemoryPoolMXBeanImpl(::java::lang::String *);
+ ::java::lang::management::MemoryUsage * getCollectionUsage();
+ jlong getCollectionUsageThreshold();
+ jlong getCollectionUsageThresholdCount();
+ JArray< ::java::lang::String * > * getMemoryManagerNames();
+ ::java::lang::String * getName();
+ ::java::lang::management::MemoryUsage * getPeakUsage();
+ ::java::lang::management::MemoryType * getType();
+ ::java::lang::management::MemoryUsage * getUsage();
+ jlong getUsageThreshold();
+ jlong getUsageThresholdCount();
+ jboolean isCollectionUsageThresholdExceeded();
+ jboolean isCollectionUsageThresholdSupported();
+ jboolean isUsageThresholdExceeded();
+ jboolean isUsageThresholdSupported();
+ jboolean isValid();
+ void resetPeakUsage();
+ void setCollectionUsageThreshold(jlong);
+ void setUsageThreshold(jlong);
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) name;
+ static ::java::lang::String * COLLECTION_USAGE_THRESHOLD;
+ static ::java::lang::String * USAGE_THRESHOLD;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_MemoryPoolMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h b/libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h
new file mode 100644
index 000000000..af79980b2
--- /dev/null
+++ b/libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_OperatingSystemMXBeanImpl__
+#define __gnu_java_lang_management_OperatingSystemMXBeanImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/management/BeanImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class OperatingSystemMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::OperatingSystemMXBeanImpl : public ::gnu::java::lang::management::BeanImpl
+{
+
+public:
+ OperatingSystemMXBeanImpl();
+ ::java::lang::String * getArch();
+ jint getAvailableProcessors();
+ ::java::lang::String * getName();
+ jdouble getSystemLoadAverage();
+ ::java::lang::String * getVersion();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_OperatingSystemMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/RuntimeMXBeanImpl.h b/libjava/gnu/java/lang/management/RuntimeMXBeanImpl.h
new file mode 100644
index 000000000..f46f6df2c
--- /dev/null
+++ b/libjava/gnu/java/lang/management/RuntimeMXBeanImpl.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_RuntimeMXBeanImpl__
+#define __gnu_java_lang_management_RuntimeMXBeanImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/management/BeanImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class RuntimeMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::RuntimeMXBeanImpl : public ::gnu::java::lang::management::BeanImpl
+{
+
+public:
+ RuntimeMXBeanImpl();
+ ::java::lang::String * getBootClassPath();
+ ::java::lang::String * getClassPath();
+ ::java::util::List * getInputArguments();
+ ::java::lang::String * getLibraryPath();
+ ::java::lang::String * getManagementSpecVersion();
+ ::java::lang::String * getName();
+ ::java::lang::String * getSpecName();
+ ::java::lang::String * getSpecVendor();
+ ::java::lang::String * getSpecVersion();
+ jlong getStartTime();
+ ::java::util::Map * getSystemProperties();
+ jlong getUptime();
+ ::java::lang::String * getVmName();
+ ::java::lang::String * getVmVendor();
+ ::java::lang::String * getVmVersion();
+ jboolean isBootClassPathSupported();
+private:
+ static ::java::lang::String * SUN_BOOT_CLASS_PATH;
+ static ::java::lang::String * JAVA_BOOT_CLASS_PATH;
+ jlong __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) startTime;
+ ::java::lang::String * bootClassPath;
+ jboolean bootClassPathSupported;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_RuntimeMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/ThreadMXBeanImpl.h b/libjava/gnu/java/lang/management/ThreadMXBeanImpl.h
new file mode 100644
index 000000000..6127548f5
--- /dev/null
+++ b/libjava/gnu/java/lang/management/ThreadMXBeanImpl.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_ThreadMXBeanImpl__
+#define __gnu_java_lang_management_ThreadMXBeanImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/management/BeanImpl.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class ThreadMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::ThreadMXBeanImpl : public ::gnu::java::lang::management::BeanImpl
+{
+
+public:
+ ThreadMXBeanImpl();
+ JArray< ::java::lang::management::ThreadInfo * > * dumpAllThreads(jboolean, jboolean);
+ JArray< jlong > * findDeadlockedThreads();
+ JArray< jlong > * findMonitorDeadlockedThreads();
+ JArray< jlong > * getAllThreadIds();
+ jlong getCurrentThreadCpuTime();
+ jlong getCurrentThreadUserTime();
+ jint getDaemonThreadCount();
+ jint getPeakThreadCount();
+ jint getThreadCount();
+ jlong getThreadCpuTime(jlong);
+ ::java::lang::management::ThreadInfo * getThreadInfo(jlong);
+ JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *);
+ ::java::lang::management::ThreadInfo * getThreadInfo(jlong, jint);
+ JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *, jint);
+ JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *, jboolean, jboolean);
+ jlong getThreadUserTime(jlong);
+ jlong getTotalStartedThreadCount();
+ jboolean isCurrentThreadCpuTimeSupported();
+ jboolean isObjectMonitorUsageSupported();
+ jboolean isSynchronizerUsageSupported();
+ jboolean isThreadContentionMonitoringEnabled();
+ jboolean isThreadContentionMonitoringSupported();
+ jboolean isThreadCpuTimeEnabled();
+ jboolean isThreadCpuTimeSupported();
+ void resetPeakThreadCount();
+ void setThreadContentionMonitoringEnabled(jboolean);
+ void setThreadCpuTimeEnabled(jboolean);
+private:
+ static ::java::lang::String * CURRENT_THREAD_TIME_SUPPORT;
+ static ::java::lang::String * THREAD_TIME_SUPPORT;
+ static ::java::lang::String * CONTENTION_SUPPORT;
+ static ::java::lang::String * TIME_ENABLED;
+ static ::java::lang::String * MONITOR_SUPPORT;
+ static ::java::lang::String * SYNCHRONIZER_SUPPORT;
+ jboolean __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) timeEnabled;
+ jboolean contentionEnabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_ThreadMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.h b/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.h
new file mode 100644
index 000000000..b38100446
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_VMClassLoadingMXBeanImpl__
+#define __gnu_java_lang_management_VMClassLoadingMXBeanImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class VMClassLoadingMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::VMClassLoadingMXBeanImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMClassLoadingMXBeanImpl();
+ static jint getLoadedClassCount();
+ static jlong getUnloadedClassCount();
+ static jboolean isVerbose();
+ static void setVerbose(jboolean);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_VMClassLoadingMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java b/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java
new file mode 100644
index 000000000..c1c7d13dd
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java
@@ -0,0 +1,89 @@
+/* VMClassLoadingMXBeanImpl.java - VM impl. of a class loading bean
+ Copyright (C) 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang.management;
+
+/**
+ * Provides access to information about the class loading
+ * behaviour of the current invocation of the virtual
+ * machine. Instances of this bean are obtained by calling
+ * {@link ManagementFactory#getClassLoadingMXBean()}.
+ *
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ * @since 1.5
+ */
+final class VMClassLoadingMXBeanImpl
+{
+
+ /**
+ * Returns the number of classes currently loaded by
+ * the virtual machine.
+ *
+ * @return the number of loaded classes.
+ */
+ static native int getLoadedClassCount();
+
+ /**
+ * Returns the number of classes that have been unloaded
+ * by the virtual machine since it was started.
+ *
+ * @return the number of unloaded classes.
+ */
+ static native long getUnloadedClassCount();
+
+ /**
+ * Returns true if the virtual machine will emit additional
+ * information when classes are loaded and unloaded. The
+ * format of the output is left up to the virtual machine.
+ *
+ * @return true if verbose class loading output is on.
+ */
+ static native boolean isVerbose();
+
+ /**
+ * Turns on or off the emission of additional information
+ * when classes are loaded and unloaded. The format of the
+ * output is left up to the virtual machine. This method
+ * may be called by multiple threads concurrently, but there
+ * is only one global setting of verbosity that is affected.
+ *
+ * @param verbose the new setting for verbose class loading
+ * output.
+ */
+ static native void setVerbose(boolean verbose);
+
+}
diff --git a/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.h b/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.h
new file mode 100644
index 000000000..31967e134
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_VMCompilationMXBeanImpl__
+#define __gnu_java_lang_management_VMCompilationMXBeanImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class VMCompilationMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::VMCompilationMXBeanImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMCompilationMXBeanImpl();
+ static jlong getTotalCompilationTime();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_VMCompilationMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.java b/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.java
new file mode 100644
index 000000000..b9b5bbcef
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.java
@@ -0,0 +1,66 @@
+/* VMCompilationMXBeanImpl.java - VM implementation of a compilation bean
+ Copyright (C) 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang.management;
+
+/**
+ * Provides access to information about the JIT
+ * compiler of the virtual machine, if one exists.
+ * Instances of this bean are obtained by calling
+ * {@link ManagementFactory#getCompilationMXBean()},
+ * if this is the case.
+ *
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ * @since 1.5
+ */
+final class VMCompilationMXBeanImpl
+{
+
+ /**
+ * Returns the number of milliseconds the JIT
+ * compiler has spent compiling Java bytecode
+ * to native machine code. This is only called
+ * if a JIT compiler exists and the
+ * gnu.java.lang.management.CompilationTimeSupport
+ * property has been set.
+ *
+ * @return the number of milliseconds spent
+ * compiling.
+ */
+ static native long getTotalCompilationTime();
+
+}
diff --git a/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.h b/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.h
new file mode 100644
index 000000000..b01f97cd8
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_VMGarbageCollectorMXBeanImpl__
+#define __gnu_java_lang_management_VMGarbageCollectorMXBeanImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class VMGarbageCollectorMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::VMGarbageCollectorMXBeanImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMGarbageCollectorMXBeanImpl();
+ static jlong getCollectionCount(::java::lang::String *);
+ static jlong getCollectionTime(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_VMGarbageCollectorMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java b/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java
new file mode 100644
index 000000000..2a202849a
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java
@@ -0,0 +1,80 @@
+/* VMGarbageCollectorMXBeanImpl.java - VM interface for a GC bean
+ Copyright (C) 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang.management;
+
+/**
+ * Provides access to information about the garbage collectors
+ * of the virtual machine. Garbage collectors are responsible
+ * for removing unreferenced objects from memory. A garbage
+ * collector is a type of memory manager, so this interface
+ * is combined with that of generic memory managers. An instance
+ * of this bean for each garbage collector is obtained by calling
+ * {@link ManagementFactory#getGarbageCollectorMXBeans()}.
+ *
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ * @since 1.5
+ */
+final class VMGarbageCollectorMXBeanImpl
+{
+
+ /**
+ * Returns the number of collections the garbage collector
+ * represented by this bean has made. -1 is returned if the
+ * collection count is undefined.
+ *
+ * @param name the name of the garbage collector.
+ * @return the number of collections made, or -1 if this is
+ * undefined.
+ */
+ static native long getCollectionCount(String name);
+
+ /**
+ * Returns the accumulated number of milliseconds this garbage
+ * collector has spent freeing the memory used by unreferenced
+ * objects. -1 is returned if the collection time is undefined.
+ * Note that the accumulated time may not change, even when the
+ * collection count increases, if the time taken is sufficiently
+ * short; this depends on the resolution of the timer used.
+ *
+ * @param name the name of the garbage collector.
+ * @return the accumulated number of milliseconds spent collecting,
+ * or -1 if this is undefined.
+ */
+ static native long getCollectionTime(String name);
+
+}
diff --git a/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.h b/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.h
new file mode 100644
index 000000000..a31c551c3
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_VMMemoryMXBeanImpl__
+#define __gnu_java_lang_management_VMMemoryMXBeanImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class VMMemoryMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::VMMemoryMXBeanImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMMemoryMXBeanImpl();
+ static ::java::lang::management::MemoryUsage * getHeapMemoryUsage();
+ static ::java::lang::management::MemoryUsage * getNonHeapMemoryUsage();
+ static jint getObjectPendingFinalizationCount();
+ static jboolean isVerbose();
+ static void setVerbose(jboolean);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_VMMemoryMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.java b/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.java
new file mode 100644
index 000000000..193e33535
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.java
@@ -0,0 +1,109 @@
+/* VMMemoryMXBeanImpl.java - VM impl. of a memory bean
+ Copyright (C) 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang.management;
+
+import java.lang.management.MemoryUsage;
+
+/**
+ * Provides access to information about the memory
+ * management of the current invocation of the virtual
+ * machine. Instances of this bean are obtained by calling
+ * {@link ManagementFactory#getMemoryMXBean()}.
+ *
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ * @since 1.5
+ */
+final class VMMemoryMXBeanImpl
+{
+
+ /**
+ * Returns an instance of {@link java.lang.management.MemoryUsage}
+ * with appropriate initial, used, committed and maximum values
+ * for the heap. By default, this uses the methods of
+ * {@link java.lang.Runtime} to provide some of the values.
+ *
+ * @return an {@link java.lang.management.MemoryUsage} instance
+ * for the heap.
+ */
+ static MemoryUsage getHeapMemoryUsage()
+ {
+ Runtime runtime = Runtime.getRuntime();
+ long totalMem = runtime.totalMemory();
+ return new MemoryUsage(-1, totalMem - runtime.freeMemory(),
+ totalMem, runtime.maxMemory());
+ }
+
+ /**
+ * Returns an instance of {@link java.lang.management.MemoryUsage}
+ * with appropriate initial, used, committed and maximum values
+ * for non-heap memory.
+ *
+ * @return an {@link java.lang.management.MemoryUsage} instance
+ * for non-heap memory.
+ */
+ static native MemoryUsage getNonHeapMemoryUsage();
+
+ /**
+ * Returns the number of objects ready to be garbage collected.
+ *
+ * @return the number of finalizable objects.
+ */
+ static native int getObjectPendingFinalizationCount();
+
+ /**
+ * Returns true if the virtual machine will emit additional
+ * information when memory is allocated and deallocated. The
+ * format of the output is left up to the virtual machine.
+ *
+ * @return true if verbose class loading output is on.
+ */
+ static native boolean isVerbose();
+
+ /**
+ * Turns on or off the emission of additional information
+ * when memory is allocated and deallocated. The format of the
+ * output is left up to the virtual machine. This method
+ * may be called by multiple threads concurrently, but there
+ * is only one global setting of verbosity that is affected.
+ *
+ * @param verbose the new setting for verbose class loading
+ * output.
+ */
+ static native void setVerbose(boolean verbose);
+
+}
diff --git a/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.h b/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.h
new file mode 100644
index 000000000..3a174c82a
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_VMMemoryManagerMXBeanImpl__
+#define __gnu_java_lang_management_VMMemoryManagerMXBeanImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class VMMemoryManagerMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::VMMemoryManagerMXBeanImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMMemoryManagerMXBeanImpl();
+ static JArray< ::java::lang::String * > * getMemoryPoolNames(::java::lang::String *);
+ static jboolean isValid(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_VMMemoryManagerMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java b/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java
new file mode 100644
index 000000000..0a4204a6d
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java
@@ -0,0 +1,95 @@
+/* VMMemoryManagerMXBeanImpl.java - VM interface for a memory manager bean
+ Copyright (C) 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang.management;
+
+import java.lang.management.ManagementFactory;
+import java.lang.management.MemoryPoolMXBean;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Provides access to information about the memory managers
+ * of the virtual machine. An instance of this bean for each
+ * memory manager is obtained by calling
+ * {@link ManagementFactory#getMemoryManagerMXBeans()}.
+ *
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ * @since 1.5
+ */
+final class VMMemoryManagerMXBeanImpl
+{
+
+ /**
+ * Returns an array containing the names of the memory pools
+ * this memory manager manages.
+ *
+ * @param name the name of the memory manager.
+ * @return an array containing the name of each memory pool
+ * this manager is responsible for.
+ */
+ static String[] getMemoryPoolNames(String name)
+ {
+ List managedPools = new ArrayList();
+ Iterator beans = ManagementFactory.getMemoryPoolMXBeans().iterator();
+ while (beans.hasNext())
+ {
+ MemoryPoolMXBean bean = (MemoryPoolMXBean) beans.next();
+ String[] managers = bean.getMemoryManagerNames();
+ for (int a = 0; a < managers.length; ++a)
+ if (managers[a].equals(name))
+ {
+ managedPools.add(bean.getName());
+ break;
+ }
+ }
+ return (String[]) managedPools.toArray(new String[managedPools.size()]);
+ }
+
+ /**
+ * Returns true if this memory manager is still valid. A memory
+ * manager becomes invalid when it is removed by the virtual machine
+ * and no longer used.
+ *
+ * @param name the name of the memory manager.
+ * @return true if this memory manager is valid.
+ */
+ static native boolean isValid(String name);
+
+}
diff --git a/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.h b/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.h
new file mode 100644
index 000000000..623162ee8
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_VMMemoryPoolMXBeanImpl__
+#define __gnu_java_lang_management_VMMemoryPoolMXBeanImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class VMMemoryPoolMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::VMMemoryPoolMXBeanImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMMemoryPoolMXBeanImpl();
+ static ::java::lang::management::MemoryUsage * getCollectionUsage(::java::lang::String *);
+ static jlong getCollectionUsageThreshold(::java::lang::String *);
+ static jlong getCollectionUsageThresholdCount(::java::lang::String *);
+ static JArray< ::java::lang::String * > * getMemoryManagerNames(::java::lang::String *);
+ static ::java::lang::management::MemoryUsage * getPeakUsage(::java::lang::String *);
+ static ::java::lang::String * getType(::java::lang::String *);
+ static ::java::lang::management::MemoryUsage * getUsage(::java::lang::String *);
+ static jlong getUsageThreshold(::java::lang::String *);
+ static jlong getUsageThresholdCount(::java::lang::String *);
+ static jboolean isValid(::java::lang::String *);
+ static void resetPeakUsage(::java::lang::String *);
+ static void setCollectionUsageThreshold(::java::lang::String *, jlong);
+ static void setUsageThreshold(::java::lang::String *, jlong);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_VMMemoryPoolMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java b/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java
new file mode 100644
index 000000000..723d4e897
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java
@@ -0,0 +1,195 @@
+/* MemoryPoolMXBeanImpl.java - VM interface for memory pool beans
+ Copyright (C) 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang.management;
+
+import java.lang.management.MemoryUsage;
+
+/**
+ * Provides access to information on the memory resources or
+ * pools used by the current invocation of the virtual machine.
+ *
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ * @since 1.5
+ */
+final class VMMemoryPoolMXBeanImpl
+{
+
+ /**
+ * Returns memory usage statistics for the specified pool
+ * just after a best-effort attempt to free memory. This
+ * is valid only for certain garbage collectors.
+ *
+ * @param name the name of the pool to obtain statistics on.
+ * @return a {@link java.lang.management.MemoryUsage} object
+ * containing the statistics or <code>null</code>
+ * if this pool does not support such statistics.
+ */
+ static native MemoryUsage getCollectionUsage(String name);
+
+ /**
+ * Returns the collection usage threshold for the specified pool.
+ * This is only called if this functionality is supported
+ * by the virtual machine (i.e. the appropriate property,
+ * <code>gnu.java.lang.management.CollectionUsageThresholdSupport</code>,
+ * is defined). The value is initially zero.
+ *
+ * @param name the name of the pool to obtain statistics on.
+ * @return the collection usage threshold.
+ */
+ static native long getCollectionUsageThreshold(String name);
+
+ /**
+ * Returns the number of times the collection usage threshold
+ * has been met or exceeded by the specified pool.
+ * This is only called if this functionality is supported
+ * by the virtual machine (i.e. the appropriate property,
+ * <code>gnu.java.lang.management.CollectionUsageThresholdSupport</code>,
+ * is defined).
+ *
+ * @param name the name of the pool to obtain statistics on.
+ * @return the collection usage threshold count.
+ */
+ static native long getCollectionUsageThresholdCount(String name);
+
+ /**
+ * Returns an array of names of memory managers which manage
+ * the specified pool.
+ *
+ * @param name the name of the pool to obtain statistics on.
+ * @return a list of memory managers for the pool.
+ */
+ static native String[] getMemoryManagerNames(String name);
+
+ /**
+ * Returns the peak usage level of the specified pool.
+ * This is only called if the pool is valid.
+ *
+ * @param name the name of the pool to obtain statistics on.
+ * @return a {@link java.lang.management.MemoryUsage} object
+ * containing the statistics.
+ */
+ static native MemoryUsage getPeakUsage(String name);
+
+ /**
+ * Returns the type of memory used by the specified pool.
+ * The value must be either "HEAP" or "NON_HEAP".
+ *
+ * @param name the name of the pool to obtain statistics on.
+ * @return the type of the given pool.
+ */
+ static native String getType(String name);
+
+ /**
+ * Returns the current usage level of the specified pool.
+ * This is only called if the pool is valid.
+ *
+ * @param name the name of the pool to obtain statistics on.
+ * @return a {@link java.lang.management.MemoryUsage} object
+ * containing the statistics.
+ */
+ static native MemoryUsage getUsage(String name);
+
+ /**
+ * Returns the usage threshold for the specified pool.
+ * This is only called if this functionality is supported
+ * by the virtual machine (i.e. the appropriate property,
+ * <code>gnu.java.lang.management.UsageThresholdSupport</code>,
+ * is defined). The value is initially defined by the
+ * virtual machine.
+ *
+ * @param name the name of the pool to obtain statistics on.
+ * @return the usage threshold.
+ */
+ static native long getUsageThreshold(String name);
+
+ /**
+ * Returns the number of times the usage threshold
+ * has been met or exceeded by the specified pool.
+ * This is only called if this functionality is supported
+ * by the virtual machine (i.e. the appropriate property,
+ * <code>gnu.java.lang.management.UsageThresholdSupport</code>,
+ * is defined).
+ *
+ * @param name the name of the pool to obtain statistics on.
+ * @return the usage threshold count.
+ */
+ static native long getUsageThresholdCount(String name);
+
+ /**
+ * Returns true if the specified pool is still valid i.e.
+ * it is still in use by the virtual machine.
+ *
+ * @param name the name of the pool to check the validity of.
+ * @return true if the pool is valid.
+ */
+ static native boolean isValid(String name);
+
+ /**
+ * Resets the peak usage level to the current usage level for
+ * the specified pool.
+ *
+ * @param name the name of the pool to reset the peak usage of.
+ */
+ static native void resetPeakUsage(String name);
+
+ /**
+ * Sets the collection usage threshold for the specified
+ * pool to the supplied value.
+ * This is only called if this functionality is supported
+ * by the virtual machine (i.e. the appropriate property,
+ * <code>gnu.java.lang.management.CollectionUsageThresholdSupport</code>,
+ * is defined).
+ *
+ * @param name the name of the pool to set the threshold of.
+ * @param threshold the new threshold level.
+ */
+ static native void setCollectionUsageThreshold(String name, long threshold);
+
+ /**
+ * Sets the usage threshold for the specified pool to the supplied value.
+ * This is only called if this functionality is supported
+ * by the virtual machine (i.e. the appropriate property,
+ * <code>gnu.java.lang.management.UsageThresholdSupport</code>,
+ * is defined).
+ *
+ * @param name the name of the pool to set the threshold of.
+ * @param threshold the new threshold level.
+ */
+ static native void setUsageThreshold(String name, long threshold);
+
+}
diff --git a/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.h b/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.h
new file mode 100644
index 000000000..183f4ba2e
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__
+#define __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class VMOperatingSystemMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::VMOperatingSystemMXBeanImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMOperatingSystemMXBeanImpl();
+ static jdouble getSystemLoadAverage();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java b/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java
new file mode 100644
index 000000000..20b3f9ed2
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java
@@ -0,0 +1,68 @@
+/* VMOperatingSystemMXBeanImpl.java - VM implementation of an OS bean
+ Copyright (C) 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang.management;
+
+import gnu.classpath.Configuration;
+
+/**
+ * Provides access to information about the operating system.
+ *
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ * @since 1.6
+ */
+final class VMOperatingSystemMXBeanImpl
+{
+
+ static
+ {
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary("javalangmanagement");
+ }
+ }
+
+ /**
+ * Returns the system load average from the last
+ * minute.
+ *
+ * @return the system load average from the last
+ * minute.
+ */
+ static native double getSystemLoadAverage();
+
+}
diff --git a/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.h b/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.h
new file mode 100644
index 000000000..9bd0e4422
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_VMRuntimeMXBeanImpl__
+#define __gnu_java_lang_management_VMRuntimeMXBeanImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class VMRuntimeMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::VMRuntimeMXBeanImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMRuntimeMXBeanImpl();
+ static JArray< ::java::lang::String * > * getInputArguments();
+ static ::java::lang::String * getName();
+ static jlong getStartTime();
+private:
+ static jlong getPID();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_VMRuntimeMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.java b/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.java
new file mode 100644
index 000000000..05d368a9e
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.java
@@ -0,0 +1,109 @@
+/* VMRuntimeMXBeanImpl.java - VM implementation of an runtime bean
+ Copyright (C) 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang.management;
+
+import gnu.classpath.SystemProperties;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+/**
+ * Provides access to information about the virtual machine.
+ *
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ * @since 1.5
+ */
+final class VMRuntimeMXBeanImpl
+{
+
+ /**
+ * Returns the command-line arguments supplied
+ * to the virtual machine, excluding those supplied
+ * to <code>main()</code>.
+ *
+ * @return the command-line arguments.
+ */
+ static native String[] getInputArguments();
+
+ /**
+ * Returns a developer-chosen name for the virtual
+ * machine, which may differ over different running
+ * instances of the same virtual machine binary.
+ * For example, this may include the particular
+ * process identifier used by this instance or
+ * the host name of the machine on which it is
+ * running. The intention is that this name refers
+ * to the precise entity that the other data supplied
+ * by the bean refers to, rather than the VM in general.
+ *
+ * @return the custom name of the VM.
+ */
+ static String getName()
+ {
+ String hostName;
+ try
+ {
+ hostName = InetAddress.getLocalHost().getHostName();
+ }
+ catch (UnknownHostException e)
+ {
+ hostName = "Unknown host";
+ }
+ return SystemProperties.getProperty("java.vm.name") + " " +
+ SystemProperties.getProperty("java.vm.version") + " [" +
+ getPID() + "@" + hostName + "]";
+ }
+
+ /**
+ * The time in milliseconds at which the virtual
+ * machine was started. This method is only executed
+ * once (for efficency), as the value is not expected
+ * to change.
+ *
+ * @return the VM start time.
+ */
+ static native long getStartTime();
+
+ /**
+ * The process identifier of the runtime.
+ *
+ * @return the PID of the runtime.
+ */
+ private static native long getPID();
+
+}
diff --git a/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h
new file mode 100644
index 000000000..4c8ab8c45
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_management_VMThreadMXBeanImpl__
+#define __gnu_java_lang_management_VMThreadMXBeanImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace management
+ {
+ class VMThreadMXBeanImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::management::VMThreadMXBeanImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMThreadMXBeanImpl();
+ static JArray< jlong > * findDeadlockedThreads();
+ static JArray< jlong > * findMonitorDeadlockedThreads();
+ static JArray< ::java::lang::Thread * > * getAllThreads();
+ static JArray< jlong > * getAllThreadIds();
+ static jlong getCurrentThreadCpuTime();
+ static jlong getCurrentThreadUserTime();
+ static jint getDaemonThreadCount();
+ static void getLockInfo(::java::lang::management::ThreadInfo *);
+ static void getMonitorInfo(::java::lang::management::ThreadInfo *);
+ static jint getPeakThreadCount();
+ static jint getThreadCount();
+ static jlong getThreadCpuTime(jlong);
+ static ::java::lang::management::ThreadInfo * getThreadInfoForId(jlong, jint);
+ static jlong getThreadUserTime(jlong);
+ static jlong getTotalStartedThreadCount();
+ static void resetPeakThreadCount();
+private:
+ static jint filled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_management_VMThreadMXBeanImpl__
diff --git a/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java
new file mode 100644
index 000000000..1c061aa93
--- /dev/null
+++ b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java
@@ -0,0 +1,236 @@
+/* VMThreadMXBeanImpl.java - VM impl. of a thread bean
+ Copyright (C) 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.lang.management;
+
+import java.lang.management.ThreadInfo;
+
+/**
+ * Provides access to information about the threads
+ * of the virtual machine. An instance of this bean is
+ * obtained by calling
+ * {@link ManagementFactory#getThreadMXBean()}.
+ * See {@link java.lang.management.ThreadMXBean} for
+ * full documentation.
+ *
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ * @since 1.5
+ */
+final class VMThreadMXBeanImpl
+{
+
+ /**
+ * Cache of how many threads were found.
+ */
+ private static int filled;
+
+ /**
+ * Returns the ids of cycles of deadlocked threads, occurring
+ * due to monitor ownership or ownable synchronizer ownership.
+ * This will only be called if ownable synchronizer monitoring
+ * is supported.
+ *
+ * @return the ids of the deadlocked threads.
+ */
+ static native long[] findDeadlockedThreads();
+
+ /**
+ * Returns the ids of cycles of deadlocked threads, occurring
+ * due to monitor ownership.
+ *
+ * @return the ids of the deadlocked threads.
+ */
+ static native long[] findMonitorDeadlockedThreads();
+
+ /* This is the same as in Thread.getAllStackTraces() */
+ static Thread[] getAllThreads()
+ {
+ ThreadGroup group = Thread.currentThread().getThreadGroup();
+ while (group.getParent() != null)
+ group = group.getParent();
+ int arraySize = group.activeCount();
+ Thread[] threadList = new Thread[arraySize];
+ filled = group.enumerate(threadList);
+ while (filled == arraySize)
+ {
+ arraySize *= 2;
+ threadList = new Thread[arraySize];
+ filled = group.enumerate(threadList);
+ }
+ return threadList;
+ }
+
+ /**
+ * Returns the id of all live threads at the time of execution.
+ *
+ * @return the live thread ids.
+ */
+ static long[] getAllThreadIds()
+ {
+ Thread[] threadList = getAllThreads();
+ long[] ids = new long[filled];
+ for (int a = 0; a < filled; ++a)
+ ids[a] = threadList[a].getId();
+ return ids;
+ }
+
+ /**
+ * Returns the number of nanoseconds of CPU time
+ * the current thread has used in total. This is
+ * only called if this feature is enabled and
+ * supported.
+ *
+ * @return the nanoseconds of CPU time used by
+ * the current thread.
+ */
+ static native long getCurrentThreadCpuTime();
+
+ /**
+ * Returns the number of nanoseconds of user time
+ * the current thread has used in total. This is
+ * only called if this feature is enabled and
+ * supported.
+ *
+ * @return the nanoseconds of user time used by
+ * the current thread.
+ */
+ static native long getCurrentThreadUserTime();
+
+ /**
+ * Returns the number of live daemon threads.
+ *
+ * @return the number of live daemon threads.
+ */
+ static int getDaemonThreadCount()
+ {
+ Thread[] threadList = getAllThreads();
+ int daemonCount = 0;
+ for (int a = 0; a < filled; ++a)
+ {
+ if (threadList[a].isDaemon())
+ ++daemonCount;
+ }
+ return daemonCount;
+ }
+
+ /**
+ * Fill out the given {@link ThreadInfo} object
+ * with ownable synchronizer usage information.
+ * This is only called if ownable synchronizer
+ * usage monitoring is supported.
+ *
+ * @param info the {@link ThreadInfo} object to modify.
+ */
+ static native void getLockInfo(ThreadInfo info);
+
+ /**
+ * Fill out the given {@link ThreadInfo} object
+ * with monitor usage information. This is only
+ * called if monitor usage monitoring is supported.
+ *
+ * @param info the {@link ThreadInfo} object to modify.
+ */
+ static native void getMonitorInfo(ThreadInfo info);
+
+ /**
+ * Returns the current peak number of live threads.
+ *
+ * @return the peak number of live threads.
+ */
+ static native int getPeakThreadCount();
+
+ /**
+ * Returns the number of live threads.
+ *
+ * @return the number of live threads.
+ */
+ static int getThreadCount()
+ {
+ getAllThreads();
+ return filled;
+ }
+
+ /**
+ * Returns the number of nanoseconds of CPU time
+ * the specified thread has used in total. This is
+ * only called if this feature is enabled and
+ * supported.
+ *
+ * @param id the thread to obtain statistics on.
+ * @return the nanoseconds of CPU time used by
+ * the thread.
+ */
+ static native long getThreadCpuTime(long id);
+
+ /**
+ * Returns the {@link java.lang.management.ThreadInfo}
+ * which corresponds to the specified id.
+ *
+ * @param id the id of the thread.
+ * @param maxDepth the depth of the stack trace.
+ * @return the corresponding <code>ThreadInfo</code>.
+ */
+ static native ThreadInfo getThreadInfoForId(long id, int maxDepth);
+
+ /**
+ * Returns the number of nanoseconds of user time
+ * the specified thread has used in total. This is
+ * only called if this feature is enabled and
+ * supported.
+ *
+ * @param id the thread to obtain statistics on.
+ * @return the nanoseconds of user time used by
+ * the thread.
+ */
+ static native long getThreadUserTime(long id);
+
+ /**
+ * Returns the total number of threads that have
+ * been started over the lifetime of the virtual
+ * machine.
+ *
+ * @return the total number of threads started.
+ */
+ static native long getTotalStartedThreadCount();
+
+ /**
+ * Resets the peak thread count to the current
+ * number of live threads.
+ */
+ static native void resetPeakThreadCount();
+
+}
diff --git a/libjava/gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc
new file mode 100644
index 000000000..5958b1f1d
--- /dev/null
+++ b/libjava/gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc
@@ -0,0 +1,49 @@
+/* Copyright (C) 2006 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/**
+ * @author Andrew John Hughes <gnu_andrew@member.fsf.org>
+ * @date Sun 20 Aug 2006 */
+/* Written using online API docs for JDK 1.5 beta from http://java.sun.com.
+ * Status: Believed complete and correct.
+ */
+
+#include <config.h>
+
+#include <jvm.h>
+
+#include <gnu/java/lang/management/VMClassLoadingMXBeanImpl.h>
+
+jint
+gnu::java::lang::management::VMClassLoadingMXBeanImpl::getLoadedClassCount ()
+{
+ /* FIXME: We never unload, so this never goes down again */
+ return ::gcj::loadedClasses;
+}
+
+
+jlong
+gnu::java::lang::management::VMClassLoadingMXBeanImpl::getUnloadedClassCount ()
+{
+ /* FIXME: We never unload, so this always == 0 */
+ return ::gcj::unloadedClasses;
+}
+
+
+jboolean
+gnu::java::lang::management::VMClassLoadingMXBeanImpl::isVerbose ()
+{
+ return ::gcj::verbose_class_flag;
+}
+
+
+void
+gnu::java::lang::management::VMClassLoadingMXBeanImpl::setVerbose (jboolean b)
+{
+ ::gcj::verbose_class_flag = b;
+}
diff --git a/libjava/gnu/java/lang/management/natVMCompilationMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMCompilationMXBeanImpl.cc
new file mode 100644
index 000000000..4ccadcb3c
--- /dev/null
+++ b/libjava/gnu/java/lang/management/natVMCompilationMXBeanImpl.cc
@@ -0,0 +1,11 @@
+#include <config.h>
+
+#include <gnu/java/lang/management/VMCompilationMXBeanImpl.h>
+#include <gcj/cni.h>
+#include <java/lang/UnsupportedOperationException.h>
+
+jlong
+gnu::java::lang::management::VMCompilationMXBeanImpl::getTotalCompilationTime ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMCompilationMXBeanImpl::getTotalCompilationTime () not implemented"));
+}
diff --git a/libjava/gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc
new file mode 100644
index 000000000..3e4f999fe
--- /dev/null
+++ b/libjava/gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc
@@ -0,0 +1,18 @@
+#include <config.h>
+
+#include <gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.h>
+#include <gcj/cni.h>
+#include <java/lang/UnsupportedOperationException.h>
+
+jlong
+gnu::java::lang::management::VMGarbageCollectorMXBeanImpl::getCollectionCount (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMGarbageCollectorMXBeanImpl::getCollectionCount (::java::lang::String *) not implemented"));
+}
+
+
+jlong
+gnu::java::lang::management::VMGarbageCollectorMXBeanImpl::getCollectionTime (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMGarbageCollectorMXBeanImpl::getCollectionTime (::java::lang::String *) not implemented"));
+}
diff --git a/libjava/gnu/java/lang/management/natVMMemoryMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMMemoryMXBeanImpl.cc
new file mode 100644
index 000000000..8b59815f5
--- /dev/null
+++ b/libjava/gnu/java/lang/management/natVMMemoryMXBeanImpl.cc
@@ -0,0 +1,47 @@
+/* Copyright (C) 2006 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/**
+ * @author Andrew John Hughes <gnu_andrew@member.fsf.org>
+ * @date Tue 08 Aug 2006 */
+/*
+ * Status: Stubbed.
+ */
+
+#include <config.h>
+
+#include <gcj/cni.h>
+#include <gnu/java/lang/management/VMMemoryMXBeanImpl.h>
+#include <java/lang/UnsupportedOperationException.h>
+
+::java::lang::management::MemoryUsage *
+gnu::java::lang::management::VMMemoryMXBeanImpl::getNonHeapMemoryUsage ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryMXBeanImpl::getNonHeapMemoryUsage () not implemented"));
+}
+
+
+jint
+gnu::java::lang::management::VMMemoryMXBeanImpl::getObjectPendingFinalizationCount ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryMXBeanImpl::getObjectPendingFinalizationCount () not implemented"));
+}
+
+
+jboolean
+gnu::java::lang::management::VMMemoryMXBeanImpl::isVerbose ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryMXBeanImpl::isVerbose () not implemented"));
+}
+
+
+void
+gnu::java::lang::management::VMMemoryMXBeanImpl::setVerbose (jboolean)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryMXBeanImpl::setVerbose (jboolean) not implemented"));
+}
diff --git a/libjava/gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc
new file mode 100644
index 000000000..8d8a3e6e7
--- /dev/null
+++ b/libjava/gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc
@@ -0,0 +1,11 @@
+#include <config.h>
+
+#include <gnu/java/lang/management/VMMemoryManagerMXBeanImpl.h>
+#include <gcj/cni.h>
+#include <java/lang/UnsupportedOperationException.h>
+
+jboolean
+gnu::java::lang::management::VMMemoryManagerMXBeanImpl::isValid (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryManagerMXBeanImpl::isValid (::java::lang::String *) not implemented"));
+}
diff --git a/libjava/gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc
new file mode 100644
index 000000000..7bc0162d3
--- /dev/null
+++ b/libjava/gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc
@@ -0,0 +1,111 @@
+/* Copyright (C) 2006 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/**
+ * @author Andrew John Hughes <gnu_andrew@member.fsf.org>
+ * @date Tue 08 Aug 2006 */
+/* Implemented for our sole pool, the heap (we ignore the name input).
+ * Status: Stubbed.
+ */
+
+#include <config.h>
+
+#include <gcj/cni.h>
+#include <gnu/java/lang/management/VMMemoryPoolMXBeanImpl.h>
+#include <java/lang/UnsupportedOperationException.h>
+
+::java::lang::management::MemoryUsage *
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsage(jstring)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsage (::java::lang::String *) not implemented"));
+}
+
+
+jlong
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsageThreshold (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsageThreshold (::java::lang::String *) not implemented"));
+}
+
+
+jlong
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsageThresholdCount (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsageThresholdCount (::java::lang::String *) not implemented"));
+}
+
+
+JArray< ::java::lang::String *> *
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getMemoryManagerNames(jstring)
+{
+ return (JArray<jstring>*)
+ JvNewObjectArray(1, &::java::lang::String::class$, JvNewStringLatin1("BoehmGC"));
+}
+
+
+::java::lang::management::MemoryUsage *
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getPeakUsage (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getPeakUsage (::java::lang::String *) not implemented"));
+}
+
+
+::java::lang::String *
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getType (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getType (::java::lang::String *) not implemented"));
+}
+
+
+::java::lang::management::MemoryUsage *
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsage (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsage (::java::lang::String *) not implemented"));
+}
+
+
+jlong
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsageThreshold (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsageThreshold (::java::lang::String *) not implemented"));
+}
+
+
+jlong
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsageThresholdCount (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsageThresholdCount (::java::lang::String *) not implemented"));
+}
+
+
+jboolean
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::isValid (::java::lang::String *)
+{
+ return true;
+}
+
+
+void
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::resetPeakUsage (::java::lang::String *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::resetPeakUsage (::java::lang::String *) not implemented"));
+}
+
+
+void
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::setCollectionUsageThreshold (::java::lang::String *, jlong)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::setCollectionUsageThreshold (::java::lang::String *, jlong) not implemented"));
+}
+
+
+void
+gnu::java::lang::management::VMMemoryPoolMXBeanImpl::setUsageThreshold (::java::lang::String *, jlong)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::setUsageThreshold (::java::lang::String *, jlong) not implemented"));
+}
diff --git a/libjava/gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc
new file mode 100644
index 000000000..daea76bbf
--- /dev/null
+++ b/libjava/gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc
@@ -0,0 +1,18 @@
+#include <config.h>
+
+#include <gnu/java/lang/management/VMOperatingSystemMXBeanImpl.h>
+#include <gcj/cni.h>
+#include <java/lang/UnsupportedOperationException.h>
+
+jdouble
+gnu::java::lang::management::VMOperatingSystemMXBeanImpl::getSystemLoadAverage ()
+{
+#ifdef HAVE_GETLOADAVG
+ double avg[1];
+ int nos = getloadavg(avg, 1);
+ if (nos == 1)
+ return avg[0];
+ else
+#endif
+ return -1;
+}
diff --git a/libjava/gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc
new file mode 100644
index 000000000..331079b0f
--- /dev/null
+++ b/libjava/gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc
@@ -0,0 +1,39 @@
+/* Copyright (C) 2006 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/**
+ * @author Andrew John Hughes <gnu_andrew@member.fsf.org>
+ * @date Wed 21 Jun 2006 */
+/* Written using online API docs for JDK 1.5 beta from http://java.sun.com.
+ * Status: Believed complete and correct.
+ */
+
+#include <config.h>
+
+#include <jvm.h>
+
+#include <unistd.h>
+
+#include <gnu/java/lang/management/VMRuntimeMXBeanImpl.h>
+
+JArray<jstring>* gnu::java::lang::management::VMRuntimeMXBeanImpl::getInputArguments()
+{
+ return ::gcj::vmArgs;
+}
+
+jlong gnu::java::lang::management::VMRuntimeMXBeanImpl::getStartTime()
+{
+ return ::gcj::startTime;
+}
+
+jlong gnu::java::lang::management::VMRuntimeMXBeanImpl::getPID()
+{
+ return getpid();
+}
+
+
diff --git a/libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc
new file mode 100644
index 000000000..5d48957ba
--- /dev/null
+++ b/libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc
@@ -0,0 +1,83 @@
+#include <config.h>
+
+#include <gnu/java/lang/management/VMThreadMXBeanImpl.h>
+#include <gcj/cni.h>
+#include <java/lang/UnsupportedOperationException.h>
+
+jlongArray
+gnu::java::lang::management::VMThreadMXBeanImpl::findDeadlockedThreads ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::findDeadlockedThreads () not implemented"));
+}
+
+jlongArray
+gnu::java::lang::management::VMThreadMXBeanImpl::findMonitorDeadlockedThreads ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::findMonitorDeadlockedThreads () not implemented"));
+}
+
+jlong
+gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadCpuTime ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadCpuTime () not implemented"));
+}
+
+
+jlong
+gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadUserTime ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadUserTime () not implemented"));
+}
+
+void
+gnu::java::lang::management::VMThreadMXBeanImpl::getLockInfo (::java::lang::management::ThreadInfo *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getLockInfo () not implemented"));
+}
+
+void
+gnu::java::lang::management::VMThreadMXBeanImpl::getMonitorInfo (::java::lang::management::ThreadInfo *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getMonitorInfo () not implemented"));
+}
+
+jint
+gnu::java::lang::management::VMThreadMXBeanImpl::getPeakThreadCount ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getPeakThreadCount () not implemented"));
+}
+
+
+jlong
+gnu::java::lang::management::VMThreadMXBeanImpl::getThreadCpuTime (jlong)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getThreadCpuTime (jlong) not implemented"));
+}
+
+
+::java::lang::management::ThreadInfo *
+gnu::java::lang::management::VMThreadMXBeanImpl::getThreadInfoForId (jlong, jint)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getThreadInfoForId (jlong, jint) not implemented"));
+}
+
+
+jlong
+gnu::java::lang::management::VMThreadMXBeanImpl::getThreadUserTime (jlong)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getThreadUserTime (jlong) not implemented"));
+}
+
+
+jlong
+gnu::java::lang::management::VMThreadMXBeanImpl::getTotalStartedThreadCount ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getTotalStartedThreadCount () not implemented"));
+}
+
+
+void
+gnu::java::lang::management::VMThreadMXBeanImpl::resetPeakThreadCount ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::resetPeakThreadCount () not implemented"));
+}
diff --git a/libjava/gnu/java/lang/natMainThread.cc b/libjava/gnu/java/lang/natMainThread.cc
new file mode 100644
index 000000000..5cba24700
--- /dev/null
+++ b/libjava/gnu/java/lang/natMainThread.cc
@@ -0,0 +1,65 @@
+// natMainThread.cc - Implementation of MainThread native methods.
+
+/* Copyright (C) 1998, 1999, 2000, 2001, 2003, 2006 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+#include <java-threads.h>
+
+#include <gnu/java/lang/MainThread.h>
+#include <java/lang/Runtime.h>
+#include <java/lang/ThreadGroup.h>
+
+typedef void main_func (jobject);
+
+void
+gnu::java::lang::MainThread::call_main (void)
+{
+ Utf8Const* main_signature = _Jv_makeUtf8Const ("([Ljava.lang.String;)V", 22);
+ Utf8Const* main_name = _Jv_makeUtf8Const ("main", 4);
+
+ // This is one of the few places where we might have access to an
+ // unlinked class.
+ _Jv_Linker::wait_for_state (klass, JV_STATE_LOADING);
+
+ _Jv_Method *meth = _Jv_LookupDeclaredMethod (klass, main_name,
+ main_signature);
+
+ // Some checks from Java Spec section 12.1.4.
+ const char *msg = NULL;
+ if (meth == NULL)
+ msg = "no suitable method `main' in class";
+ else if (! ::java::lang::reflect::Modifier::isStatic(meth->accflags))
+ msg = "`main' must be static";
+ else if (! ::java::lang::reflect::Modifier::isPublic(meth->accflags))
+ msg = "`main' must be public";
+ if (msg != NULL)
+ {
+ fprintf (stderr, "%s\n", msg);
+ ::exit(1);
+ }
+
+ main_func *real_main = (main_func *) meth->ncode;
+ (*real_main) (args);
+
+ // Note that we do thread cleanup here. We have to do this here and
+ // not in _Jv_RunMain; if we do if after the main thread has exited,
+ // our ThreadGroup will be null, and if Runtime.exit tries to create
+ // a new Thread (which it does when running shutdown hooks), it will
+ // eventually NPE due to this.
+ _Jv_ThreadWait ();
+
+ int status = (int) ::java::lang::ThreadGroup::had_uncaught_exception;
+ ::java::lang::Runtime::exitNoChecksAccessor (status);
+}
diff --git a/libjava/gnu/java/lang/reflect/ClassSignatureParser.h b/libjava/gnu/java/lang/reflect/ClassSignatureParser.h
new file mode 100644
index 000000000..10c0f4d38
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/ClassSignatureParser.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_ClassSignatureParser__
+#define __gnu_java_lang_reflect_ClassSignatureParser__
+
+#pragma interface
+
+#include <gnu/java/lang/reflect/GenericSignatureParser.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class ClassSignatureParser;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::ClassSignatureParser : public ::gnu::java::lang::reflect::GenericSignatureParser
+{
+
+public:
+ ClassSignatureParser(::java::lang::Class *, ::java::lang::String *);
+ virtual JArray< ::java::lang::reflect::TypeVariable * > * getTypeParameters();
+ virtual ::java::lang::reflect::Type * getSuperclassType();
+ virtual JArray< ::java::lang::reflect::Type * > * getInterfaceTypes();
+private:
+ JArray< ::java::lang::reflect::TypeVariable * > * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::GenericSignatureParser)))) typeParameters;
+ ::java::lang::reflect::Type * superclassType;
+ JArray< ::java::lang::reflect::Type * > * interfaceTypes;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_ClassSignatureParser__
diff --git a/libjava/gnu/java/lang/reflect/FieldSignatureParser.h b/libjava/gnu/java/lang/reflect/FieldSignatureParser.h
new file mode 100644
index 000000000..58b972a43
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/FieldSignatureParser.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_FieldSignatureParser__
+#define __gnu_java_lang_reflect_FieldSignatureParser__
+
+#pragma interface
+
+#include <gnu/java/lang/reflect/GenericSignatureParser.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class FieldSignatureParser;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::FieldSignatureParser : public ::gnu::java::lang::reflect::GenericSignatureParser
+{
+
+public:
+ FieldSignatureParser(::java::lang::Class *, ::java::lang::String *);
+ ::java::lang::reflect::Type * getFieldType();
+private:
+ ::java::lang::reflect::Type * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::GenericSignatureParser)))) type;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_FieldSignatureParser__
diff --git a/libjava/gnu/java/lang/reflect/GenericArrayTypeImpl.h b/libjava/gnu/java/lang/reflect/GenericArrayTypeImpl.h
new file mode 100644
index 000000000..25a654d77
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/GenericArrayTypeImpl.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_GenericArrayTypeImpl__
+#define __gnu_java_lang_reflect_GenericArrayTypeImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/reflect/TypeImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class GenericArrayTypeImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::GenericArrayTypeImpl : public ::gnu::java::lang::reflect::TypeImpl
+{
+
+public: // actually package-private
+ GenericArrayTypeImpl(::java::lang::reflect::Type *);
+ ::java::lang::reflect::Type * resolve();
+public:
+ ::java::lang::reflect::Type * getGenericComponentType();
+ jboolean equals(::java::lang::Object *);
+ jint hashCode();
+ ::java::lang::String * toString();
+private:
+ ::java::lang::reflect::Type * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::TypeImpl)))) componentType;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_GenericArrayTypeImpl__
diff --git a/libjava/gnu/java/lang/reflect/GenericSignatureParser.h b/libjava/gnu/java/lang/reflect/GenericSignatureParser.h
new file mode 100644
index 000000000..22e443b59
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/GenericSignatureParser.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_GenericSignatureParser__
+#define __gnu_java_lang_reflect_GenericSignatureParser__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class GenericSignatureParser;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::GenericSignatureParser : public ::java::lang::Object
+{
+
+public: // actually package-private
+ GenericSignatureParser(::java::lang::reflect::GenericDeclaration *, ::java::lang::ClassLoader *, ::java::lang::String *);
+ virtual JArray< ::java::lang::reflect::TypeVariable * > * readFormalTypeParameters();
+private:
+ ::java::lang::reflect::TypeVariable * readFormalTypeParameter();
+public: // actually package-private
+ virtual ::java::lang::reflect::Type * readFieldTypeSignature();
+ virtual ::java::lang::reflect::Type * readClassTypeSignature();
+private:
+ JArray< ::java::lang::reflect::Type * > * readTypeArguments();
+ ::java::lang::reflect::Type * readTypeArgument();
+public: // actually package-private
+ virtual ::java::lang::reflect::Type * readArrayTypeSignature();
+ virtual ::java::lang::reflect::Type * readTypeVariableSignature();
+private:
+ ::java::lang::String * readIdentifier();
+public: // actually package-private
+ virtual jchar peekChar();
+ virtual jchar readChar();
+ virtual void consume(jchar);
+ virtual void end();
+private:
+ ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loader;
+ ::java::lang::reflect::GenericDeclaration * container;
+ ::java::lang::String * signature;
+ jint pos;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_GenericSignatureParser__
diff --git a/libjava/gnu/java/lang/reflect/MethodSignatureParser.h b/libjava/gnu/java/lang/reflect/MethodSignatureParser.h
new file mode 100644
index 000000000..3a6846995
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/MethodSignatureParser.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_MethodSignatureParser__
+#define __gnu_java_lang_reflect_MethodSignatureParser__
+
+#pragma interface
+
+#include <gnu/java/lang/reflect/GenericSignatureParser.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class MethodSignatureParser;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::MethodSignatureParser : public ::gnu::java::lang::reflect::GenericSignatureParser
+{
+
+public:
+ MethodSignatureParser(::java::lang::reflect::Method *, ::java::lang::String *);
+ MethodSignatureParser(::java::lang::reflect::Constructor *, ::java::lang::String *);
+private:
+ MethodSignatureParser(::java::lang::reflect::GenericDeclaration *, ::java::lang::ClassLoader *, ::java::lang::String *);
+public:
+ virtual JArray< ::java::lang::reflect::TypeVariable * > * getTypeParameters();
+ virtual JArray< ::java::lang::reflect::Type * > * getGenericParameterTypes();
+ virtual ::java::lang::reflect::Type * getGenericReturnType();
+ virtual JArray< ::java::lang::reflect::Type * > * getGenericExceptionTypes();
+private:
+ ::java::lang::reflect::Type * readTypeSignature();
+ JArray< ::java::lang::reflect::TypeVariable * > * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::GenericSignatureParser)))) typeParameters;
+ JArray< ::java::lang::reflect::Type * > * argTypes;
+ ::java::lang::reflect::Type * retType;
+ JArray< ::java::lang::reflect::Type * > * throwsSigs;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_MethodSignatureParser__
diff --git a/libjava/gnu/java/lang/reflect/ParameterizedTypeImpl.h b/libjava/gnu/java/lang/reflect/ParameterizedTypeImpl.h
new file mode 100644
index 000000000..0f43af60e
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/ParameterizedTypeImpl.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_ParameterizedTypeImpl__
+#define __gnu_java_lang_reflect_ParameterizedTypeImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/reflect/TypeImpl.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class ParameterizedTypeImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::ParameterizedTypeImpl : public ::gnu::java::lang::reflect::TypeImpl
+{
+
+public: // actually package-private
+ ParameterizedTypeImpl(::java::lang::String *, ::java::lang::ClassLoader *, ::java::lang::reflect::Type *, JArray< ::java::lang::reflect::Type * > *);
+ ::java::lang::reflect::Type * resolve();
+public:
+ JArray< ::java::lang::reflect::Type * > * getActualTypeArguments();
+ ::java::lang::reflect::Type * getRawType();
+ ::java::lang::reflect::Type * getOwnerType();
+ jboolean equals(::java::lang::Object *);
+ jint hashCode();
+ ::java::lang::String * toString();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::TypeImpl)))) rawTypeName;
+ ::java::lang::ClassLoader * loader;
+ ::java::lang::Class * rawType;
+ ::java::lang::reflect::Type * owner;
+ JArray< ::java::lang::reflect::Type * > * typeArgs;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_ParameterizedTypeImpl__
diff --git a/libjava/gnu/java/lang/reflect/TypeImpl.h b/libjava/gnu/java/lang/reflect/TypeImpl.h
new file mode 100644
index 000000000..42c3f3af8
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/TypeImpl.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_TypeImpl__
+#define __gnu_java_lang_reflect_TypeImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class TypeImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::TypeImpl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ TypeImpl();
+ virtual ::java::lang::reflect::Type * resolve() = 0;
+ static void resolve(JArray< ::java::lang::reflect::Type * > *);
+ static ::java::lang::reflect::Type * resolve(::java::lang::reflect::Type *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_TypeImpl__
diff --git a/libjava/gnu/java/lang/reflect/TypeSignature.h b/libjava/gnu/java/lang/reflect/TypeSignature.h
new file mode 100644
index 000000000..822605859
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/TypeSignature.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_TypeSignature__
+#define __gnu_java_lang_reflect_TypeSignature__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class TypeSignature;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::TypeSignature : public ::java::lang::Object
+{
+
+public:
+ TypeSignature();
+ static ::java::lang::String * getEncodingOfClass(::java::lang::String *, jboolean);
+ static ::java::lang::String * getEncodingOfClass(::java::lang::Class *, jboolean);
+ static ::java::lang::String * getEncodingOfClass(::java::lang::Class *);
+ static ::java::lang::Class * getClassForEncoding(::java::lang::String *, jboolean);
+ static ::java::lang::Class * getClassForEncoding(::java::lang::String *, jboolean, ::java::lang::ClassLoader *);
+ static ::java::lang::Class * getClassForEncoding(::java::lang::String *);
+ static ::java::lang::String * getEncodingOfMethod(::java::lang::reflect::Method *);
+ static ::java::lang::String * getEncodingOfConstructor(::java::lang::reflect::Constructor *);
+ static ::java::lang::String * getEncodingOfMember(::java::lang::reflect::Member *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_TypeSignature__
diff --git a/libjava/gnu/java/lang/reflect/TypeVariableImpl.h b/libjava/gnu/java/lang/reflect/TypeVariableImpl.h
new file mode 100644
index 000000000..82ac58ab8
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/TypeVariableImpl.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_TypeVariableImpl__
+#define __gnu_java_lang_reflect_TypeVariableImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/reflect/TypeImpl.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class TypeVariableImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::TypeVariableImpl : public ::gnu::java::lang::reflect::TypeImpl
+{
+
+public: // actually package-private
+ TypeVariableImpl(::java::lang::reflect::GenericDeclaration *, JArray< ::java::lang::reflect::Type * > *, ::java::lang::String *);
+ ::java::lang::reflect::Type * resolve();
+public:
+ JArray< ::java::lang::reflect::Type * > * getBounds();
+ ::java::lang::reflect::GenericDeclaration * getGenericDeclaration();
+ ::java::lang::String * getName();
+ jboolean equals(::java::lang::Object *);
+ jint hashCode();
+ ::java::lang::String * toString();
+private:
+ ::java::lang::reflect::GenericDeclaration * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::TypeImpl)))) decl;
+ JArray< ::java::lang::reflect::Type * > * bounds;
+ ::java::lang::String * name;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_TypeVariableImpl__
diff --git a/libjava/gnu/java/lang/reflect/UnresolvedTypeVariable.h b/libjava/gnu/java/lang/reflect/UnresolvedTypeVariable.h
new file mode 100644
index 000000000..4fec000b5
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/UnresolvedTypeVariable.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_UnresolvedTypeVariable__
+#define __gnu_java_lang_reflect_UnresolvedTypeVariable__
+
+#pragma interface
+
+#include <gnu/java/lang/reflect/TypeImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class UnresolvedTypeVariable;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::UnresolvedTypeVariable : public ::gnu::java::lang::reflect::TypeImpl
+{
+
+public: // actually package-private
+ UnresolvedTypeVariable(::java::lang::reflect::GenericDeclaration *, ::java::lang::String *);
+ ::java::lang::reflect::Type * resolve();
+private:
+ static ::java::lang::reflect::GenericDeclaration * getParent(::java::lang::reflect::GenericDeclaration *);
+ ::java::lang::reflect::GenericDeclaration * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::TypeImpl)))) decl;
+ ::java::lang::String * name;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_UnresolvedTypeVariable__
diff --git a/libjava/gnu/java/lang/reflect/WildcardTypeImpl.h b/libjava/gnu/java/lang/reflect/WildcardTypeImpl.h
new file mode 100644
index 000000000..b2eb19c35
--- /dev/null
+++ b/libjava/gnu/java/lang/reflect/WildcardTypeImpl.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_lang_reflect_WildcardTypeImpl__
+#define __gnu_java_lang_reflect_WildcardTypeImpl__
+
+#pragma interface
+
+#include <gnu/java/lang/reflect/TypeImpl.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ namespace reflect
+ {
+ class WildcardTypeImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::lang::reflect::WildcardTypeImpl : public ::gnu::java::lang::reflect::TypeImpl
+{
+
+public: // actually package-private
+ WildcardTypeImpl(::java::lang::reflect::Type *, ::java::lang::reflect::Type *);
+ ::java::lang::reflect::Type * resolve();
+public:
+ JArray< ::java::lang::reflect::Type * > * getUpperBounds();
+ JArray< ::java::lang::reflect::Type * > * getLowerBounds();
+ jboolean equals(::java::lang::Object *);
+ jint hashCode();
+ ::java::lang::String * toString();
+private:
+ ::java::lang::reflect::Type * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::TypeImpl)))) lower;
+ ::java::lang::reflect::Type * upper;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_lang_reflect_WildcardTypeImpl__
diff --git a/libjava/gnu/java/locale/LocaleData.h b/libjava/gnu/java/locale/LocaleData.h
new file mode 100644
index 000000000..ab983a570
--- /dev/null
+++ b/libjava/gnu/java/locale/LocaleData.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_locale_LocaleData__
+#define __gnu_java_locale_LocaleData__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace locale
+ {
+ class LocaleData;
+ }
+ }
+ }
+}
+
+class gnu::java::locale::LocaleData : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LocaleData();
+public:
+ static JArray< ::java::lang::String * > * localeNames;
+ static JArray< ::java::lang::String * > * collatorLocaleNames;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_locale_LocaleData__
diff --git a/libjava/gnu/java/locale/LocaleHelper.h b/libjava/gnu/java/locale/LocaleHelper.h
new file mode 100644
index 000000000..c96dc33f9
--- /dev/null
+++ b/libjava/gnu/java/locale/LocaleHelper.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_locale_LocaleHelper__
+#define __gnu_java_locale_LocaleHelper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace locale
+ {
+ class LocaleHelper;
+ }
+ }
+ }
+}
+
+class gnu::java::locale::LocaleHelper : public ::java::lang::Object
+{
+
+public:
+ LocaleHelper();
+ static ::java::util::Locale * getFallbackLocale(::java::util::Locale *);
+ static JArray< ::java::util::Locale * > * getCollatorLocales();
+ static jint getLocaleCount();
+ static ::java::lang::String * getLocaleName(jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_locale_LocaleHelper__
diff --git a/libjava/gnu/java/math/Fixed.h b/libjava/gnu/java/math/Fixed.h
new file mode 100644
index 000000000..18f522e9c
--- /dev/null
+++ b/libjava/gnu/java/math/Fixed.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_math_Fixed__
+#define __gnu_java_math_Fixed__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace math
+ {
+ class Fixed;
+ }
+ }
+ }
+}
+
+class gnu::java::math::Fixed : public ::java::lang::Object
+{
+
+ Fixed();
+public:
+ static jint div(jint, jint, jint);
+ static jint mul(jint, jint, jint);
+ static jint ceil(jint, jint);
+ static jint floor(jint, jint);
+ static jint trunc(jint, jint);
+ static jint round(jint, jint);
+ static jfloat floatValue(jint, jint);
+ static jdouble doubleValue(jint, jint);
+ static jint fixedValue(jint, jfloat);
+ static jint fixedValue(jint, jdouble);
+ static jint intValue(jint, jint);
+ static jint roundIntValue(jint, jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_math_Fixed__
diff --git a/libjava/gnu/java/math/GMP.h b/libjava/gnu/java/math/GMP.h
new file mode 100644
index 000000000..b038f1004
--- /dev/null
+++ b/libjava/gnu/java/math/GMP.h
@@ -0,0 +1,125 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_math_GMP__
+#define __gnu_java_math_GMP__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace classpath
+ {
+ class Pointer;
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class GMP;
+ }
+ }
+ }
+}
+
+class gnu::java::math::GMP : public ::java::lang::Object
+{
+
+public:
+ GMP();
+private:
+ void acquireRef();
+ void releaseRef();
+public: // actually protected
+ void finalize();
+public:
+ void fromByteArray(JArray< jbyte > *);
+ void fromBI(::gnu::java::math::GMP *);
+ void fromLong(jlong);
+ jint fromString(::java::lang::String *, jint);
+ void fromSignedMagnitude(JArray< jbyte > *, jboolean);
+ ::java::lang::String * toString(jint);
+ void toByteArray(JArray< jbyte > *);
+ jdouble doubleValue();
+ jint absIntValue();
+ jint compare(::gnu::java::math::GMP *);
+ void add(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void subtract(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void multiply(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void quotient(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void remainder(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void quotientAndRemainder(::gnu::java::math::GMP *, ::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void modulo(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void pow(jint, ::gnu::java::math::GMP *);
+ void modPow(::gnu::java::math::GMP *, ::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void modInverse(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void gcd(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void shiftLeft(jint, ::gnu::java::math::GMP *);
+ void shiftRight(jint, ::gnu::java::math::GMP *);
+ void abs(::gnu::java::math::GMP *);
+ void negate(::gnu::java::math::GMP *);
+ jint bitLength();
+ jint bitCount();
+ void and$(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void or$(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void xor$(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void andNot(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
+ void not$(::gnu::java::math::GMP *);
+ void flipBit(jint, ::gnu::java::math::GMP *);
+ jint testBit(jint);
+ void setBit(jint, jboolean, ::gnu::java::math::GMP *);
+ jint testPrimality(jint);
+ jint lowestSetBit();
+ static void natInitializeLibrary();
+private:
+ void natInitialize();
+ void natFinalize();
+ void natFromLong(jlong);
+ void natFromBI(::gnu::classpath::Pointer *);
+ void natFromByteArray(JArray< jbyte > *);
+ jint natFromString(::java::lang::String *, jint);
+ void natFromSignedMagnitude(JArray< jbyte > *, jboolean);
+ ::java::lang::String * natToString(jint);
+ void natToByteArray(JArray< jbyte > *);
+ jint natAbsIntValue();
+ jdouble natDoubleValue();
+ jint natCompare(::gnu::classpath::Pointer *);
+ void natAdd(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natSubtract(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natMultiply(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natQuotient(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natRemainder(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natQuotientAndRemainder(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natModulo(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natPow(jint, ::gnu::classpath::Pointer *);
+ void natModPow(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natModInverse(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natGCD(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ jint natTestPrimality(jint);
+ void natShiftLeft(jint, ::gnu::classpath::Pointer *);
+ void natShiftRight(jint, ::gnu::classpath::Pointer *);
+ jint natLowestSetBit();
+ void natAbs(::gnu::classpath::Pointer *);
+ void natNegate(::gnu::classpath::Pointer *);
+ jint natBitLength();
+ jint natSetBitCount();
+ void natXor(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natOr(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natAnd(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natAndNot(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
+ void natFlipBit(jint, ::gnu::classpath::Pointer *);
+ jint natTestBit(jint);
+ void natSetBit(jint, jboolean, ::gnu::classpath::Pointer *);
+ void natNot(::gnu::classpath::Pointer *);
+ ::gnu::classpath::Pointer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) native_ptr;
+ jint refCount;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_math_GMP__
diff --git a/libjava/gnu/java/math/MPN.h b/libjava/gnu/java/math/MPN.h
new file mode 100644
index 000000000..50289abae
--- /dev/null
+++ b/libjava/gnu/java/math/MPN.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_math_MPN__
+#define __gnu_java_math_MPN__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace math
+ {
+ class MPN;
+ }
+ }
+ }
+}
+
+class gnu::java::math::MPN : public ::java::lang::Object
+{
+
+public:
+ MPN();
+ static jint add_1(JArray< jint > *, JArray< jint > *, jint, jint);
+ static jint add_n(JArray< jint > *, JArray< jint > *, JArray< jint > *, jint);
+ static jint sub_n(JArray< jint > *, JArray< jint > *, JArray< jint > *, jint);
+ static jint mul_1(JArray< jint > *, JArray< jint > *, jint, jint);
+ static void mul(JArray< jint > *, JArray< jint > *, jint, JArray< jint > *, jint);
+ static jlong udiv_qrnnd(jlong, jint);
+ static jint divmod_1(JArray< jint > *, JArray< jint > *, jint, jint);
+ static jint submul_1(JArray< jint > *, jint, JArray< jint > *, jint, jint);
+ static void divide(JArray< jint > *, jint, JArray< jint > *, jint);
+ static jint chars_per_word(jint);
+ static jint count_leading_zeros(jint);
+ static jint set_str(JArray< jint > *, JArray< jbyte > *, jint, jint);
+ static jint cmp(JArray< jint > *, JArray< jint > *, jint);
+ static jint cmp(JArray< jint > *, jint, JArray< jint > *, jint);
+ static jint rshift(JArray< jint > *, JArray< jint > *, jint, jint, jint);
+ static void rshift0(JArray< jint > *, JArray< jint > *, jint, jint, jint);
+ static jlong rshift_long(JArray< jint > *, jint, jint);
+ static jint lshift(JArray< jint > *, jint, JArray< jint > *, jint, jint);
+ static jint findLowestBit(jint);
+ static jint findLowestBit(JArray< jint > *);
+ static jint gcd(JArray< jint > *, JArray< jint > *, jint);
+ static jint intLength(jint);
+ static jint intLength(JArray< jint > *, jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_math_MPN__
diff --git a/libjava/gnu/java/net/CRLFInputStream.h b/libjava/gnu/java/net/CRLFInputStream.h
new file mode 100644
index 000000000..1c4df5ccc
--- /dev/null
+++ b/libjava/gnu/java/net/CRLFInputStream.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_CRLFInputStream__
+#define __gnu_java_net_CRLFInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class CRLFInputStream;
+ }
+ }
+ }
+}
+
+class gnu::java::net::CRLFInputStream : public ::java::io::InputStream
+{
+
+public:
+ CRLFInputStream(::java::io::InputStream *);
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *);
+ virtual jint read(JArray< jbyte > *, jint, jint);
+private:
+ jint indexOfCRLF(JArray< jbyte > *, jint, jint);
+public:
+ static const jint CR = 13;
+ static const jint LF = 10;
+public: // actually protected
+ ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) in;
+private:
+ jboolean doReset;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_CRLFInputStream__
diff --git a/libjava/gnu/java/net/CRLFOutputStream.h b/libjava/gnu/java/net/CRLFOutputStream.h
new file mode 100644
index 000000000..594d7ae6f
--- /dev/null
+++ b/libjava/gnu/java/net/CRLFOutputStream.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_CRLFOutputStream__
+#define __gnu_java_net_CRLFOutputStream__
+
+#pragma interface
+
+#include <java/io/FilterOutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class CRLFOutputStream;
+ }
+ }
+ }
+}
+
+class gnu::java::net::CRLFOutputStream : public ::java::io::FilterOutputStream
+{
+
+public:
+ CRLFOutputStream(::java::io::OutputStream *);
+ virtual void write(jint);
+ virtual void write(JArray< jbyte > *);
+ virtual void write(JArray< jbyte > *, jint, jint);
+ virtual void write(::java::lang::String *);
+ virtual void writeln();
+public: // actually package-private
+ static ::java::lang::String * US_ASCII;
+public:
+ static const jint CR = 13;
+ static const jint LF = 10;
+ static JArray< jbyte > * CRLF;
+public: // actually protected
+ jint __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) last;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_CRLFOutputStream__
diff --git a/libjava/gnu/java/net/DefaultContentHandlerFactory.h b/libjava/gnu/java/net/DefaultContentHandlerFactory.h
new file mode 100644
index 000000000..06c3f6f52
--- /dev/null
+++ b/libjava/gnu/java/net/DefaultContentHandlerFactory.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_DefaultContentHandlerFactory__
+#define __gnu_java_net_DefaultContentHandlerFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class DefaultContentHandlerFactory;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class ContentHandler;
+ }
+ }
+}
+
+class gnu::java::net::DefaultContentHandlerFactory : public ::java::lang::Object
+{
+
+public:
+ DefaultContentHandlerFactory();
+ virtual ::java::net::ContentHandler * createContentHandler(::java::lang::String *);
+private:
+ static JArray< ::java::lang::String * > * known_image_types;
+ static ::java::util::HashSet * imageTypes;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_DefaultContentHandlerFactory__
diff --git a/libjava/gnu/java/net/DefaultProxySelector.h b/libjava/gnu/java/net/DefaultProxySelector.h
new file mode 100644
index 000000000..11a4fce09
--- /dev/null
+++ b/libjava/gnu/java/net/DefaultProxySelector.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_DefaultProxySelector__
+#define __gnu_java_net_DefaultProxySelector__
+
+#pragma interface
+
+#include <java/net/ProxySelector.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class DefaultProxySelector;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class SocketAddress;
+ class URI;
+ }
+ }
+}
+
+class gnu::java::net::DefaultProxySelector : public ::java::net::ProxySelector
+{
+
+public:
+ DefaultProxySelector();
+ void connectFailed(::java::net::URI *, ::java::net::SocketAddress *, ::java::io::IOException *);
+ ::java::util::List * select(::java::net::URI *);
+private:
+ static ::java::util::List * proxies;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_DefaultProxySelector__
diff --git a/libjava/gnu/java/net/EmptyX509TrustManager.h b/libjava/gnu/java/net/EmptyX509TrustManager.h
new file mode 100644
index 000000000..df08b8197
--- /dev/null
+++ b/libjava/gnu/java/net/EmptyX509TrustManager.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_EmptyX509TrustManager__
+#define __gnu_java_net_EmptyX509TrustManager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class EmptyX509TrustManager;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ namespace cert
+ {
+ class X509Certificate;
+ }
+ }
+ }
+}
+
+class gnu::java::net::EmptyX509TrustManager : public ::java::lang::Object
+{
+
+public:
+ EmptyX509TrustManager();
+ virtual void checkClientTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *);
+ virtual void checkServerTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *);
+ virtual JArray< ::java::security::cert::X509Certificate * > * getAcceptedIssuers();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_EmptyX509TrustManager__
diff --git a/libjava/gnu/java/net/GetLocalHostAction.h b/libjava/gnu/java/net/GetLocalHostAction.h
new file mode 100644
index 000000000..f0d088064
--- /dev/null
+++ b/libjava/gnu/java/net/GetLocalHostAction.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_GetLocalHostAction__
+#define __gnu_java_net_GetLocalHostAction__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class GetLocalHostAction;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class InetAddress;
+ }
+ }
+}
+
+class gnu::java::net::GetLocalHostAction : public ::java::lang::Object
+{
+
+public:
+ GetLocalHostAction();
+ virtual ::java::net::InetAddress * GetLocalHostAction$run();
+ virtual ::java::lang::Object * run();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_GetLocalHostAction__
diff --git a/libjava/gnu/java/net/HeaderFieldHelper.h b/libjava/gnu/java/net/HeaderFieldHelper.h
new file mode 100644
index 000000000..ace66785d
--- /dev/null
+++ b/libjava/gnu/java/net/HeaderFieldHelper.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_HeaderFieldHelper__
+#define __gnu_java_net_HeaderFieldHelper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class HeaderFieldHelper;
+ }
+ }
+ }
+}
+
+class gnu::java::net::HeaderFieldHelper : public ::java::lang::Object
+{
+
+public:
+ HeaderFieldHelper();
+ HeaderFieldHelper(jint);
+ virtual void addHeaderField(::java::lang::String *, ::java::lang::String *);
+ virtual ::java::lang::String * getHeaderFieldKeyByIndex(jint);
+ virtual ::java::lang::String * getHeaderFieldValueByIndex(jint);
+ virtual ::java::lang::String * getHeaderFieldValueByKey(::java::lang::String *);
+ virtual ::java::util::Map * getHeaderFields();
+ virtual jint getNumberOfEntries();
+private:
+ ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) headerFieldKeys;
+ ::java::util::Vector * headerFieldValues;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_HeaderFieldHelper__
diff --git a/libjava/gnu/java/net/ImageHandler.h b/libjava/gnu/java/net/ImageHandler.h
new file mode 100644
index 000000000..41aba924a
--- /dev/null
+++ b/libjava/gnu/java/net/ImageHandler.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_ImageHandler__
+#define __gnu_java_net_ImageHandler__
+
+#pragma interface
+
+#include <java/net/ContentHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class ImageHandler;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URLConnection;
+ }
+ }
+}
+
+class gnu::java::net::ImageHandler : public ::java::net::ContentHandler
+{
+
+public: // actually package-private
+ ImageHandler();
+public:
+ virtual ::java::lang::Object * getContent(::java::net::URLConnection *);
+public: // actually package-private
+ static ::gnu::java::net::ImageHandler * instance;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_ImageHandler__
diff --git a/libjava/gnu/java/net/IndexListParser.h b/libjava/gnu/java/net/IndexListParser.h
new file mode 100644
index 000000000..2bbeec1b3
--- /dev/null
+++ b/libjava/gnu/java/net/IndexListParser.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_IndexListParser__
+#define __gnu_java_net_IndexListParser__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class IndexListParser;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::net::IndexListParser : public ::java::lang::Object
+{
+
+public:
+ IndexListParser(::java::util::jar::JarFile *, ::java::net::URL *, ::java::net::URL *);
+public: // actually package-private
+ virtual void clearAll();
+public:
+ virtual ::java::lang::String * getVersionInfo();
+ virtual jdouble getVersionNumber();
+ virtual ::java::util::LinkedHashMap * getHeaders();
+ static ::java::lang::String * JAR_INDEX_FILE;
+ static ::java::lang::String * JAR_INDEX_VERSION_KEY;
+public: // actually package-private
+ jdouble __attribute__((aligned(__alignof__( ::java::lang::Object)))) versionNumber;
+ ::java::util::LinkedHashMap * prefixes;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_IndexListParser__
diff --git a/libjava/gnu/java/net/LineInputStream.h b/libjava/gnu/java/net/LineInputStream.h
new file mode 100644
index 000000000..194847efc
--- /dev/null
+++ b/libjava/gnu/java/net/LineInputStream.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_LineInputStream__
+#define __gnu_java_net_LineInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class LineInputStream;
+ }
+ }
+ }
+}
+
+class gnu::java::net::LineInputStream : public ::java::io::InputStream
+{
+
+public:
+ LineInputStream(::java::io::InputStream *);
+ LineInputStream(::java::io::InputStream *, ::java::lang::String *);
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *);
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual ::java::lang::String * readLine();
+private:
+ jint indexOf(JArray< jbyte > *, jint, jbyte);
+public: // actually protected
+ ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) in;
+private:
+ ::java::io::ByteArrayOutputStream * buf;
+ ::java::lang::String * encoding;
+ jboolean eof;
+ jboolean blockReads;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_LineInputStream__
diff --git a/libjava/gnu/java/net/PlainDatagramSocketImpl.h b/libjava/gnu/java/net/PlainDatagramSocketImpl.h
new file mode 100644
index 000000000..c57296faf
--- /dev/null
+++ b/libjava/gnu/java/net/PlainDatagramSocketImpl.h
@@ -0,0 +1,93 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_PlainDatagramSocketImpl__
+#define __gnu_java_net_PlainDatagramSocketImpl__
+
+#pragma interface
+
+#include <java/net/DatagramSocketImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainDatagramSocketImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class DatagramPacket;
+ class InetAddress;
+ class NetworkInterface;
+ class SocketAddress;
+ }
+ }
+}
+
+class gnu::java::net::PlainDatagramSocketImpl : public ::java::net::DatagramSocketImpl
+{
+
+public:
+ PlainDatagramSocketImpl();
+public: // actually protected
+ void finalize();
+public:
+ jint getNativeFD();
+public: // actually protected
+ void bind(jint, ::java::net::InetAddress *);
+ void connect(::java::net::InetAddress *, jint);
+ void disconnect();
+ void create();
+ jint peek(::java::net::InetAddress *);
+ jint peekData(::java::net::DatagramPacket *);
+ void setTimeToLive(jint);
+ jint getTimeToLive();
+ void send(::java::net::DatagramPacket *);
+ void receive(::java::net::DatagramPacket *);
+public:
+ void setOption(jint, ::java::lang::Object *);
+ ::java::lang::Object * getOption(jint);
+private:
+ void mcastGrp(::java::net::InetAddress *, ::java::net::NetworkInterface *, jboolean);
+public: // actually protected
+ void close();
+ jbyte getTTL();
+ void setTTL(jbyte);
+ void join(::java::net::InetAddress *);
+ void leave(::java::net::InetAddress *);
+ void joinGroup(::java::net::SocketAddress *, ::java::net::NetworkInterface *);
+ void leaveGroup(::java::net::SocketAddress *, ::java::net::NetworkInterface *);
+public: // actually package-private
+ static const jint _Jv_TCP_NODELAY_ = 1;
+ static const jint _Jv_SO_BINDADDR_ = 15;
+ static const jint _Jv_SO_REUSEADDR_ = 4;
+ static const jint _Jv_SO_BROADCAST_ = 32;
+ static const jint _Jv_SO_OOBINLINE_ = 4099;
+ static const jint _Jv_IP_MULTICAST_IF_ = 16;
+ static const jint _Jv_IP_MULTICAST_IF2_ = 31;
+ static const jint _Jv_IP_MULTICAST_LOOP_ = 18;
+ static const jint _Jv_IP_TOS_ = 3;
+ static const jint _Jv_SO_LINGER_ = 128;
+ static const jint _Jv_SO_TIMEOUT_ = 4102;
+ static const jint _Jv_SO_SNDBUF_ = 4097;
+ static const jint _Jv_SO_RCVBUF_ = 4098;
+ static const jint _Jv_SO_KEEPALIVE_ = 8;
+ jint __attribute__((aligned(__alignof__( ::java::net::DatagramSocketImpl)))) native_fd;
+private:
+ ::java::lang::Object * RECEIVE_LOCK;
+ ::java::lang::Object * SEND_LOCK;
+public: // actually package-private
+ ::java::net::InetAddress * localAddress;
+ jint timeout;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_PlainDatagramSocketImpl__
diff --git a/libjava/gnu/java/net/PlainDatagramSocketImpl.java b/libjava/gnu/java/net/PlainDatagramSocketImpl.java
new file mode 100644
index 000000000..08c1cb3f6
--- /dev/null
+++ b/libjava/gnu/java/net/PlainDatagramSocketImpl.java
@@ -0,0 +1,310 @@
+/* PlainDatagramSocketImpl.java -- Default DatagramSocket implementation
+ Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.net;
+
+import gnu.classpath.Configuration;
+
+import java.io.IOException;
+import java.net.DatagramPacket;
+import java.net.DatagramSocketImpl;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.NetworkInterface;
+import java.net.SocketAddress;
+import java.net.SocketException;
+import java.net.SocketOptions;
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+/**
+ * This is the default socket implementation for datagram sockets.
+ * It makes native calls to C routines that implement BSD style
+ * SOCK_DGRAM sockets in the AF_INET family.
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
+ * @author Warren Levy (warrenl@cygnus.com)
+ */
+public final class PlainDatagramSocketImpl extends DatagramSocketImpl
+{
+ // Static initializer to load native library
+ static
+ {
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary("javanet");
+ }
+ }
+
+ // These fields are mirrored for use in native code to avoid cpp conflicts
+ // when the #defines in system header files are the same as the public fields.
+ static final int _Jv_TCP_NODELAY_ = SocketOptions.TCP_NODELAY,
+ _Jv_SO_BINDADDR_ = SocketOptions.SO_BINDADDR,
+ _Jv_SO_REUSEADDR_ = SocketOptions.SO_REUSEADDR,
+ _Jv_SO_BROADCAST_ = SocketOptions.SO_BROADCAST,
+ _Jv_SO_OOBINLINE_ = SocketOptions.SO_OOBINLINE,
+ _Jv_IP_MULTICAST_IF_ = SocketOptions.IP_MULTICAST_IF,
+ _Jv_IP_MULTICAST_IF2_ = SocketOptions.IP_MULTICAST_IF2,
+ _Jv_IP_MULTICAST_LOOP_ = SocketOptions.IP_MULTICAST_LOOP,
+ _Jv_IP_TOS_ = SocketOptions.IP_TOS,
+ _Jv_SO_LINGER_ = SocketOptions.SO_LINGER,
+ _Jv_SO_TIMEOUT_ = SocketOptions.SO_TIMEOUT,
+ _Jv_SO_SNDBUF_ = SocketOptions.SO_SNDBUF,
+ _Jv_SO_RCVBUF_ = SocketOptions.SO_RCVBUF,
+ _Jv_SO_KEEPALIVE_ = SocketOptions.SO_KEEPALIVE;
+
+ /**
+ * This is the actual underlying file descriptor
+ */
+ int native_fd = -1;
+
+ /**
+ * Lock object to serialize threads wanting to receive
+ */
+ private final Object RECEIVE_LOCK = new Object();
+
+ /**
+ * Lock object to serialize threads wanting to send
+ */
+ private final Object SEND_LOCK = new Object();
+
+ // FIXME: Is this necessary? Could it help w/ DatagramSocket.getLocalAddress?
+ // InetAddress address;
+
+ // localAddress cache
+ InetAddress localAddress;
+
+ // 'timeout' is set/read by setOption/getOption.
+ int timeout = 0;
+
+ /**
+ * Default do nothing constructor
+ */
+ public PlainDatagramSocketImpl() throws IOException
+ {
+ }
+
+ protected void finalize() throws Throwable
+ {
+ synchronized (this)
+ {
+ if (native_fd != -1)
+ close();
+ }
+ super.finalize();
+ }
+
+ public int getNativeFD()
+ {
+ return native_fd;
+ }
+
+ /**
+ * Binds this socket to a particular port and interface
+ *
+ * @param port The port to bind to
+ * @param addr The address to bind to
+ *
+ * @exception SocketException If an error occurs
+ */
+ protected native void bind(int port, InetAddress addr)
+ throws SocketException;
+
+ protected native void connect(InetAddress addr, int port)
+ throws SocketException;
+
+ protected native void disconnect();
+
+ /**
+ * Creates a new datagram socket
+ *
+ * @exception SocketException If an error occurs
+ */
+ protected native void create() throws SocketException;
+
+ protected native int peek(InetAddress addr) throws IOException;
+
+ protected native int peekData(DatagramPacket packet) throws IOException;
+
+ /**
+ * Sets the Time to Live value for the socket
+ *
+ * @param ttl The new TTL value
+ *
+ * @exception IOException If an error occurs
+ */
+ protected native void setTimeToLive(int ttl) throws IOException;
+
+ /**
+ * Gets the Time to Live value for the socket
+ *
+ * @return The TTL value
+ *
+ * @exception IOException If an error occurs
+ */
+ protected native int getTimeToLive() throws IOException;
+
+ /**
+ * Sends a packet of data to a remote host
+ *
+ * @param packet The packet to send
+ *
+ * @exception IOException If an error occurs
+ */
+ protected native void send(DatagramPacket packet) throws IOException;
+
+ /**
+ * Receives a UDP packet from the network
+ *
+ * @param packet The packet to fill in with the data received
+ *
+ * @exception IOException IOException If an error occurs
+ */
+ protected native void receive(DatagramPacket packet) throws IOException;
+
+ /**
+ * Sets the value of an option on the socket
+ *
+ * @param option_id The identifier of the option to set
+ * @param val The value of the option to set
+ *
+ * @exception SocketException If an error occurs
+ */
+ public native void setOption(int option_id, Object val)
+ throws SocketException;
+
+ /**
+ * Retrieves the value of an option on the socket
+ *
+ * @param option_id The identifier of the option to retrieve
+ *
+ * @return The value of the option
+ *
+ * @exception SocketException If an error occurs
+ */
+ public native Object getOption(int option_id)
+ throws SocketException;
+
+ /**
+ * Joins or leaves a broadcasting group on a given network interface.
+ * If the network interface is <code>null</code> the group is join/left on
+ * all locale network interfaces.
+ *
+ * @param inetAddr The broadcast address.
+ * @param netIf The network interface to join the group on.
+ * @param join True to join a broadcasting group, fals to leave it.
+ *
+ * @exception IOException If an error occurs.
+ */
+ private native void mcastGrp(InetAddress inetAddr, NetworkInterface netIf,
+ boolean join)
+ throws IOException;
+
+ /**
+ * Closes the socket
+ */
+ protected native void close();
+
+ /**
+ * Gets the Time to Live value for the socket
+ *
+ * @return The TTL value
+ *
+ * @exception IOException If an error occurs
+ *
+ * @deprecated 1.2
+ */
+ protected byte getTTL() throws IOException
+ {
+ return (byte) getTimeToLive();
+ }
+
+ /**
+ * Sets the Time to Live value for the socket
+ *
+ * @param ttl The new TTL value
+ *
+ * @exception IOException If an error occurs
+ *
+ * @deprecated 1.2
+ */
+ protected void setTTL(byte ttl) throws IOException
+ {
+ setTimeToLive(((int) ttl) & 0xFF);
+ }
+
+ /**
+ * Joins a multicast group
+ *
+ * @param addr The group to join
+ *
+ * @exception IOException If an error occurs
+ */
+ protected void join(InetAddress addr) throws IOException
+ {
+ mcastGrp(addr, null, true);
+ }
+
+ /**
+ * Leaves a multicast group
+ *
+ * @param addr The group to leave
+ *
+ * @exception IOException If an error occurs
+ */
+ protected void leave(InetAddress addr) throws IOException
+ {
+ mcastGrp(addr, null, false);
+ }
+
+ protected void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf)
+ throws IOException
+ {
+ mcastGrp(((InetSocketAddress) mcastaddr).getAddress(), netIf, true);
+ }
+
+ protected void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf)
+ throws IOException
+ {
+ mcastGrp(((InetSocketAddress) mcastaddr).getAddress(), netIf, false);
+ }
+}
diff --git a/libjava/gnu/java/net/PlainSocketImpl$SocketInputStream.h b/libjava/gnu/java/net/PlainSocketImpl$SocketInputStream.h
new file mode 100644
index 000000000..83ac40cf5
--- /dev/null
+++ b/libjava/gnu/java/net/PlainSocketImpl$SocketInputStream.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_PlainSocketImpl$SocketInputStream__
+#define __gnu_java_net_PlainSocketImpl$SocketInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ class PlainSocketImpl$SocketInputStream;
+ }
+ }
+ }
+}
+
+class gnu::java::net::PlainSocketImpl$SocketInputStream : public ::java::io::InputStream
+{
+
+public: // actually package-private
+ PlainSocketImpl$SocketInputStream(::gnu::java::net::PlainSocketImpl *);
+public:
+ jint available();
+ void close();
+ jint read();
+ jint read(JArray< jbyte > *, jint, jint);
+public: // actually package-private
+ ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_PlainSocketImpl$SocketInputStream__
diff --git a/libjava/gnu/java/net/PlainSocketImpl$SocketOutputStream.h b/libjava/gnu/java/net/PlainSocketImpl$SocketOutputStream.h
new file mode 100644
index 000000000..852e894f2
--- /dev/null
+++ b/libjava/gnu/java/net/PlainSocketImpl$SocketOutputStream.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_PlainSocketImpl$SocketOutputStream__
+#define __gnu_java_net_PlainSocketImpl$SocketOutputStream__
+
+#pragma interface
+
+#include <java/io/OutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ class PlainSocketImpl$SocketOutputStream;
+ }
+ }
+ }
+}
+
+class gnu::java::net::PlainSocketImpl$SocketOutputStream : public ::java::io::OutputStream
+{
+
+public: // actually package-private
+ PlainSocketImpl$SocketOutputStream(::gnu::java::net::PlainSocketImpl *);
+public:
+ void close();
+ void write(jint);
+ void write(JArray< jbyte > *, jint, jint);
+public: // actually package-private
+ ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_PlainSocketImpl$SocketOutputStream__
diff --git a/libjava/gnu/java/net/PlainSocketImpl.h b/libjava/gnu/java/net/PlainSocketImpl.h
new file mode 100644
index 000000000..d907871df
--- /dev/null
+++ b/libjava/gnu/java/net/PlainSocketImpl.h
@@ -0,0 +1,95 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_PlainSocketImpl__
+#define __gnu_java_net_PlainSocketImpl__
+
+#pragma interface
+
+#include <java/net/SocketImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class InetAddress;
+ class InetSocketAddress;
+ class SocketAddress;
+ class SocketImpl;
+ }
+ }
+}
+
+class gnu::java::net::PlainSocketImpl : public ::java::net::SocketImpl
+{
+
+public:
+ jboolean isInChannelOperation();
+ void setInChannelOperation(jboolean);
+ PlainSocketImpl();
+public: // actually protected
+ void finalize();
+public:
+ jint getNativeFD();
+ void setOption(jint, ::java::lang::Object *);
+ ::java::lang::Object * getOption(jint);
+ void shutdownInput();
+ void shutdownOutput();
+ void create(jboolean);
+public: // actually protected
+ void connect(::java::lang::String *, jint);
+ void connect(::java::net::InetAddress *, jint);
+ void connect(::java::net::SocketAddress *, jint);
+ void bind(::java::net::InetAddress *, jint);
+ void listen(jint);
+ void accept(::java::net::SocketImpl *);
+private:
+ void accept(::gnu::java::net::PlainSocketImpl *);
+public: // actually protected
+ jint available();
+ void close();
+ void sendUrgentData(jint);
+public:
+ ::java::net::InetSocketAddress * getLocalAddress();
+public: // actually protected
+ ::java::io::InputStream * getInputStream();
+ ::java::io::OutputStream * getOutputStream();
+public: // actually package-private
+ static const jint _Jv_TCP_NODELAY_ = 1;
+ static const jint _Jv_SO_BINDADDR_ = 15;
+ static const jint _Jv_SO_REUSEADDR_ = 4;
+ static const jint _Jv_SO_BROADCAST_ = 32;
+ static const jint _Jv_SO_OOBINLINE_ = 4099;
+ static const jint _Jv_IP_MULTICAST_IF_ = 16;
+ static const jint _Jv_IP_MULTICAST_IF2_ = 31;
+ static const jint _Jv_IP_MULTICAST_LOOP_ = 18;
+ static const jint _Jv_IP_TOS_ = 3;
+ static const jint _Jv_SO_LINGER_ = 128;
+ static const jint _Jv_SO_TIMEOUT_ = 4102;
+ static const jint _Jv_SO_SNDBUF_ = 4097;
+ static const jint _Jv_SO_RCVBUF_ = 4098;
+ static const jint _Jv_SO_KEEPALIVE_ = 8;
+ jint __attribute__((aligned(__alignof__( ::java::net::SocketImpl)))) native_fd;
+ jint timeout;
+ ::java::net::InetAddress * localAddress;
+ ::java::net::InetSocketAddress * localSocketAddress;
+private:
+ ::java::io::InputStream * in;
+ ::java::io::OutputStream * out;
+ jboolean inChannelOperation;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_PlainSocketImpl__
diff --git a/libjava/gnu/java/net/PlainSocketImpl.java b/libjava/gnu/java/net/PlainSocketImpl.java
new file mode 100644
index 000000000..d2c8f02b6
--- /dev/null
+++ b/libjava/gnu/java/net/PlainSocketImpl.java
@@ -0,0 +1,478 @@
+/* PlainSocketImpl.java -- Default socket implementation
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
+ Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.net;
+
+import gnu.classpath.Configuration;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.net.SocketException;
+import java.net.SocketImpl;
+import java.net.SocketOptions;
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+/**
+ * Unless the application installs its own SocketImplFactory, this is the
+ * default socket implemetation that will be used. It simply uses a
+ * combination of Java and native routines to implement standard BSD
+ * style sockets of family AF_INET and types SOCK_STREAM and SOCK_DGRAM
+ *
+ * @author Per Bothner (bothner@cygnus.com)
+ * @author Nic Ferrier (nferrier@tapsellferrier.co.uk)
+ * @author Aaron M. Renn (arenn@urbanophile.com)
+ */
+public final class PlainSocketImpl extends SocketImpl
+{
+ // Static initializer to load native library.
+ static
+ {
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary("javanet");
+ }
+ }
+
+ // These fields are mirrored for use in native code to avoid cpp conflicts
+ // when the #defines in system header files are the same as the public fields.
+ static final int _Jv_TCP_NODELAY_ = SocketOptions.TCP_NODELAY,
+ _Jv_SO_BINDADDR_ = SocketOptions.SO_BINDADDR,
+ _Jv_SO_REUSEADDR_ = SocketOptions.SO_REUSEADDR,
+ _Jv_SO_BROADCAST_ = SocketOptions.SO_BROADCAST,
+ _Jv_SO_OOBINLINE_ = SocketOptions.SO_OOBINLINE,
+ _Jv_IP_MULTICAST_IF_ = SocketOptions.IP_MULTICAST_IF,
+ _Jv_IP_MULTICAST_IF2_ = SocketOptions.IP_MULTICAST_IF2,
+ _Jv_IP_MULTICAST_LOOP_ = SocketOptions.IP_MULTICAST_LOOP,
+ _Jv_IP_TOS_ = SocketOptions.IP_TOS,
+ _Jv_SO_LINGER_ = SocketOptions.SO_LINGER,
+ _Jv_SO_TIMEOUT_ = SocketOptions.SO_TIMEOUT,
+ _Jv_SO_SNDBUF_ = SocketOptions.SO_SNDBUF,
+ _Jv_SO_RCVBUF_ = SocketOptions.SO_RCVBUF,
+ _Jv_SO_KEEPALIVE_ = SocketOptions.SO_KEEPALIVE;
+
+ /**
+ * The OS file handle representing the socket.
+ * This is used for reads and writes to/from the socket and
+ * to close it.
+ *
+ * When the socket is closed this is reset to -1.
+ */
+ int native_fd = -1;
+
+ // This value is set/read by setOption/getOption.
+ int timeout = 0;
+
+ // localAddress cache
+ InetAddress localAddress;
+
+ // Local address as an InetSocketAddress.
+ InetSocketAddress localSocketAddress;
+
+ /**
+ * A cached copy of the in stream for reading from the socket.
+ */
+ private InputStream in;
+
+ /**
+ * A cached copy of the out stream for writing to the socket.
+ */
+ private OutputStream out;
+
+ /**
+ * Indicates whether a channel initiated whatever operation
+ * is being invoked on this socket.
+ */
+ private boolean inChannelOperation;
+
+ /**
+ * Indicates whether we should ignore whether any associated
+ * channel is set to non-blocking mode. Certain operations
+ * throw an <code>IllegalBlockingModeException</code> if the
+ * associated channel is in non-blocking mode, <i>except</i>
+ * if the operation is invoked by the channel itself.
+ */
+ public final boolean isInChannelOperation()
+ {
+ return inChannelOperation;
+ }
+
+ /**
+ * Sets our indicator of whether an I/O operation is being
+ * initiated by a channel.
+ */
+ public final void setInChannelOperation(boolean b)
+ {
+ inChannelOperation = b;
+ }
+
+ /**
+ * Default do nothing constructor
+ */
+ public PlainSocketImpl()
+ {
+ }
+
+ protected void finalize() throws Throwable
+ {
+ synchronized (this)
+ {
+ if (native_fd != -1)
+ try
+ {
+ close();
+ }
+ catch (IOException ex)
+ {
+ }
+ }
+ super.finalize();
+ }
+
+ public int getNativeFD()
+ {
+ return native_fd;
+ }
+
+ /**
+ * Sets the specified option on a socket to the passed in object. For
+ * options that take an integer argument, the passed in object is an
+ * Integer. The option_id parameter is one of the defined constants in
+ * this interface.
+ *
+ * @param option_id The identifier of the option
+ * @param val The value to set the option to
+ *
+ * @exception SocketException If an error occurs
+ */
+ public native void setOption(int optID, Object value) throws SocketException;
+
+ /**
+ * Returns the current setting of the specified option. The Object returned
+ * will be an Integer for options that have integer values. The option_id
+ * is one of the defined constants in this interface.
+ *
+ * @param option_id The option identifier
+ *
+ * @return The current value of the option
+ *
+ * @exception SocketException If an error occurs
+ */
+ public native Object getOption(int optID) throws SocketException;
+
+ /**
+ * Flushes the input stream and closes it. If you read from the input stream
+ * after calling this method a <code>IOException</code> will be thrown.
+ *
+ * @throws IOException if an error occurs
+ */
+ public native void shutdownInput() throws IOException;
+
+ /**
+ * Flushes the output stream and closes it. If you write to the output stream
+ * after calling this method a <code>IOException</code> will be thrown.
+ *
+ * @throws IOException if an error occurs
+ */
+ public native void shutdownOutput() throws IOException;
+
+ /**
+ * Creates a new socket that is not bound to any local address/port and
+ * is not connected to any remote address/port. This will be created as
+ * a stream socket if the stream parameter is true, or a datagram socket
+ * if the stream parameter is false.
+ *
+ * @param stream true for a stream socket, false for a datagram socket
+ */
+ // FIXME: this is public for nio ... but this is just a hack
+ // until we upgrade to Classpath's nio.
+ public native void create(boolean stream) throws IOException;
+
+ /**
+ * Connects to the remote hostname and port specified as arguments.
+ *
+ * @param hostname The remote hostname to connect to
+ * @param port The remote port to connect to
+ *
+ * @exception IOException If an error occurs
+ */
+ protected void connect(String host, int port) throws IOException
+ {
+ connect(InetAddress.getByName(host), port);
+ }
+
+ /**
+ * Connects to the remote address and port specified as arguments.
+ *
+ * @param addr The remote address to connect to
+ * @param port The remote port to connect to
+ *
+ * @exception IOException If an error occurs
+ */
+ protected void connect(InetAddress host, int port) throws IOException
+ {
+ connect (new InetSocketAddress (host, port), 0);
+ }
+
+ /**
+ * Connects to the remote socket address with a specified timeout.
+ *
+ * @param timeout The timeout to use for this connect, 0 means infinite.
+ *
+ * @exception IOException If an error occurs
+ */
+ protected native void connect(SocketAddress addr, int timeout) throws IOException;
+
+ /**
+ * Binds to the specified port on the specified addr. Note that this addr
+ * must represent a local IP address. **** How bind to INADDR_ANY? ****
+ *
+ * @param addr The address to bind to
+ * @param port The port number to bind to
+ *
+ * @exception IOException If an error occurs
+ */
+ protected native void bind(InetAddress host, int port)
+ throws IOException;
+
+ /**
+ * Starts listening for connections on a socket. The queuelen parameter
+ * is how many pending connections will queue up waiting to be serviced
+ * before being accept'ed. If the queue of pending requests exceeds this
+ * number, additional connections will be refused.
+ *
+ * @param queuelen The length of the pending connection queue
+ *
+ * @exception IOException If an error occurs
+ */
+ protected native void listen(int queuelen)
+ throws IOException;
+
+ /**
+ * Accepts a new connection on this socket and returns in in the
+ * passed in SocketImpl.
+ *
+ * @param impl The SocketImpl object to accept this connection.
+ */
+ protected void accept(SocketImpl impl)
+ throws IOException
+ {
+ accept((PlainSocketImpl) impl);
+ }
+
+ private native void accept(PlainSocketImpl impl)
+ throws IOException;
+
+ /**
+ * Returns the number of bytes that the caller can read from this socket
+ * without blocking.
+ *
+ * @return The number of readable bytes before blocking
+ *
+ * @exception IOException If an error occurs
+ */
+ protected native int available() throws IOException;
+
+ /**
+ * Closes the socket. This will cause any InputStream or OutputStream
+ * objects for this Socket to be closed as well.
+ * <p>
+ * Note that if the SO_LINGER option is set on this socket, then the
+ * operation could block.
+ *
+ * @exception IOException If an error occurs
+ */
+ protected native void close() throws IOException;
+
+ protected native void sendUrgentData(int data) throws IOException;
+
+ public synchronized InetSocketAddress getLocalAddress()
+ {
+ if (localSocketAddress == null)
+ {
+ try
+ {
+ localSocketAddress
+ = new InetSocketAddress ((InetAddress) getOption(SocketOptions.SO_BINDADDR),
+ localport == -1 ? 0 : localport);
+ }
+ catch (SocketException _)
+ {
+ return null;
+ }
+ }
+ return localSocketAddress;
+ }
+
+ /**
+ * Returns an InputStream object for reading from this socket. This will
+ * be an instance of SocketInputStream.
+ *
+ * @return An input stream attached to the socket.
+ *
+ * @exception IOException If an error occurs
+ */
+ protected synchronized InputStream getInputStream() throws IOException
+ {
+ if (in == null)
+ in = new SocketInputStream();
+
+ return in;
+ }
+
+ /**
+ * Returns an OutputStream object for writing to this socket. This will
+ * be an instance of SocketOutputStream.
+ *
+ * @return An output stream attached to the socket.
+ *
+ * @exception IOException If an error occurs
+ */
+ protected synchronized OutputStream getOutputStream() throws IOException
+ {
+ if (out == null)
+ out = new SocketOutputStream();
+
+ return out;
+ }
+
+ /**
+ * This class contains an implementation of <code>InputStream</code> for
+ * sockets. It in an internal only class used by <code>PlainSocketImpl</code>.
+ *
+ * @author Nic Ferrier <nferrier@tapsellferrier.co.uk>
+ */
+ final class SocketInputStream
+ extends InputStream
+ {
+ /**
+ * Returns the number of bytes available to be read before blocking
+ */
+ public int available() throws IOException
+ {
+ return PlainSocketImpl.this.available();
+ }
+
+ /**
+ * This method not only closes the stream, it closes the underlying socket
+ * (and thus any connection) and invalidates any other Input/Output streams
+ * for the underlying impl object
+ */
+ public void close() throws IOException
+ {
+ PlainSocketImpl.this.close();
+ }
+
+ /**
+ * Reads the next byte of data and returns it as an int.
+ *
+ * @return The byte read (as an int) or -1 if end of stream);
+ *
+ * @exception IOException If an error occurs.
+ */
+ public native int read() throws IOException;
+
+ /**
+ * Reads up to len bytes of data into the caller supplied buffer starting
+ * at offset bytes from the start of the buffer
+ *
+ * @param buf The buffer
+ * @param offset Offset into the buffer to start reading from
+ * @param len The number of bytes to read
+ *
+ * @return The number of bytes actually read or -1 if end of stream
+ *
+ * @exception IOException If an error occurs.
+ */
+ public native int read(byte[] buf, int offset, int len) throws IOException;
+ }
+
+ /**
+ * This class is used internally by <code>PlainSocketImpl</code> to be the
+ * <code>OutputStream</code> subclass returned by its
+ * <code>getOutputStream method</code>. It expects only to be used in that
+ * context.
+ *
+ * @author Nic Ferrier <nferrier@tapsellferrier.co.uk>
+ */
+ final class SocketOutputStream
+ extends OutputStream
+ {
+ /**
+ * This method closes the stream and the underlying socket connection. This
+ * action also effectively closes any other InputStream or OutputStream
+ * object associated with the connection.
+ *
+ * @exception IOException If an error occurs
+ */
+ public void close() throws IOException
+ {
+ PlainSocketImpl.this.close();
+ }
+
+ /**
+ * Writes a byte (passed in as an int) to the given output stream
+ *
+ * @param b The byte to write
+ *
+ * @exception IOException If an error occurs
+ */
+ public native void write(int b) throws IOException;
+
+ /**
+ * Writes len number of bytes from the array buf to the stream starting
+ * at offset bytes into the buffer.
+ *
+ * @param buf The buffer
+ * @param offset Offset into the buffer to start writing from
+ * @param len The number of bytes to write
+ *
+ * @exception IOException If an error occurs.
+ */
+ public native void write(byte[] buf, int offset, int len) throws IOException;
+ }
+}
diff --git a/libjava/gnu/java/net/URLParseError.h b/libjava/gnu/java/net/URLParseError.h
new file mode 100644
index 000000000..c900dc000
--- /dev/null
+++ b/libjava/gnu/java/net/URLParseError.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_URLParseError__
+#define __gnu_java_net_URLParseError__
+
+#pragma interface
+
+#include <java/lang/Error.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class URLParseError;
+ }
+ }
+ }
+}
+
+class gnu::java::net::URLParseError : public ::java::lang::Error
+{
+
+public:
+ URLParseError(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_URLParseError__
diff --git a/libjava/gnu/java/net/loader/FileResource.h b/libjava/gnu/java/net/loader/FileResource.h
new file mode 100644
index 000000000..37f1d12ca
--- /dev/null
+++ b/libjava/gnu/java/net/loader/FileResource.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_FileResource__
+#define __gnu_java_net_loader_FileResource__
+
+#pragma interface
+
+#include <gnu/java/net/loader/Resource.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class FileResource;
+ class FileURLLoader;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::net::loader::FileResource : public ::gnu::java::net::loader::Resource
+{
+
+public:
+ FileResource(::gnu::java::net::loader::FileURLLoader *, ::java::io::File *);
+ ::java::io::InputStream * getInputStream();
+ jint getLength();
+ ::java::net::URL * getURL();
+public: // actually package-private
+ ::java::io::File * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::Resource)))) file;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_FileResource__
diff --git a/libjava/gnu/java/net/loader/FileURLLoader.h b/libjava/gnu/java/net/loader/FileURLLoader.h
new file mode 100644
index 000000000..4592f7f9a
--- /dev/null
+++ b/libjava/gnu/java/net/loader/FileURLLoader.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_FileURLLoader__
+#define __gnu_java_net_loader_FileURLLoader__
+
+#pragma interface
+
+#include <gnu/java/net/loader/URLLoader.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class FileURLLoader;
+ class Resource;
+ class URLStreamHandlerCache;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLClassLoader;
+ class URLStreamHandlerFactory;
+ }
+ }
+}
+
+class gnu::java::net::loader::FileURLLoader : public ::gnu::java::net::loader::URLLoader
+{
+
+public:
+ FileURLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *, ::java::net::URL *);
+ ::gnu::java::net::loader::Resource * getResource(::java::lang::String *);
+private:
+ ::java::io::File * walkPathComponents(::java::lang::String *);
+public: // actually package-private
+ ::java::io::File * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::URLLoader)))) dir;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_FileURLLoader__
diff --git a/libjava/gnu/java/net/loader/JarURLLoader.h b/libjava/gnu/java/net/loader/JarURLLoader.h
new file mode 100644
index 000000000..68114ab36
--- /dev/null
+++ b/libjava/gnu/java/net/loader/JarURLLoader.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_JarURLLoader__
+#define __gnu_java_net_loader_JarURLLoader__
+
+#pragma interface
+
+#include <gnu/java/net/loader/URLLoader.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class JarURLLoader;
+ class Resource;
+ class URLStreamHandlerCache;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLClassLoader;
+ class URLStreamHandlerFactory;
+ }
+ }
+}
+
+class gnu::java::net::loader::JarURLLoader : public ::gnu::java::net::loader::URLLoader
+{
+
+ JarURLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *, ::java::net::URL *, ::java::util::Set *);
+public:
+ JarURLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *, ::java::net::URL *);
+private:
+ void initialize();
+public:
+ ::gnu::java::net::loader::Resource * getResource(::java::lang::String *);
+ ::java::util::jar::Manifest * getManifest();
+ ::java::util::ArrayList * getClassPath();
+public: // actually package-private
+ jboolean __attribute__((aligned(__alignof__( ::gnu::java::net::loader::URLLoader)))) initialized;
+ ::java::util::jar::JarFile * jarfile;
+ ::java::net::URL * baseJarURL;
+ ::java::util::ArrayList * classPath;
+ ::java::util::Set * indexSet;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_JarURLLoader__
diff --git a/libjava/gnu/java/net/loader/JarURLResource.h b/libjava/gnu/java/net/loader/JarURLResource.h
new file mode 100644
index 000000000..e9fe6a638
--- /dev/null
+++ b/libjava/gnu/java/net/loader/JarURLResource.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_JarURLResource__
+#define __gnu_java_net_loader_JarURLResource__
+
+#pragma interface
+
+#include <gnu/java/net/loader/Resource.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class JarURLLoader;
+ class JarURLResource;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ namespace security
+ {
+ namespace cert
+ {
+ class Certificate;
+ }
+ }
+ }
+}
+
+class gnu::java::net::loader::JarURLResource : public ::gnu::java::net::loader::Resource
+{
+
+public:
+ JarURLResource(::gnu::java::net::loader::JarURLLoader *, ::java::lang::String *, ::java::util::jar::JarEntry *);
+ ::java::io::InputStream * getInputStream();
+ jint getLength();
+ JArray< ::java::security::cert::Certificate * > * getCertificates();
+ ::java::net::URL * getURL();
+private:
+ ::java::util::jar::JarEntry * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::Resource)))) entry;
+ ::java::lang::String * name;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_JarURLResource__
diff --git a/libjava/gnu/java/net/loader/Load_gcjlib$SoResource.h b/libjava/gnu/java/net/loader/Load_gcjlib$SoResource.h
new file mode 100644
index 000000000..da8a2aca1
--- /dev/null
+++ b/libjava/gnu/java/net/loader/Load_gcjlib$SoResource.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_Load_gcjlib$SoResource__
+#define __gnu_java_net_loader_Load_gcjlib$SoResource__
+
+#pragma interface
+
+#include <gnu/java/net/loader/Resource.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class Load_gcjlib;
+ class Load_gcjlib$SoResource;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::net::loader::Load_gcjlib$SoResource : public ::gnu::java::net::loader::Resource
+{
+
+public: // actually package-private
+ Load_gcjlib$SoResource(::gnu::java::net::loader::Load_gcjlib *, ::java::net::URL *);
+public:
+ ::java::io::InputStream * getInputStream();
+ jint getLength();
+ ::java::net::URL * getURL();
+private:
+ ::java::net::URL * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::Resource)))) url;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_Load_gcjlib$SoResource__
diff --git a/libjava/gnu/java/net/loader/Load_gcjlib.h b/libjava/gnu/java/net/loader/Load_gcjlib.h
new file mode 100644
index 000000000..69d2ef5ac
--- /dev/null
+++ b/libjava/gnu/java/net/loader/Load_gcjlib.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_Load_gcjlib__
+#define __gnu_java_net_loader_Load_gcjlib__
+
+#pragma interface
+
+#include <gnu/java/net/loader/URLLoader.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace gcj
+ {
+ namespace runtime
+ {
+ class SharedLibHelper;
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class Load_gcjlib;
+ class Resource;
+ class URLStreamHandlerCache;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLClassLoader;
+ class URLStreamHandlerFactory;
+ }
+ }
+}
+
+class gnu::java::net::loader::Load_gcjlib : public ::gnu::java::net::loader::URLLoader
+{
+
+public:
+ Load_gcjlib(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *, ::java::net::URL *);
+ ::java::lang::Class * getClass(::java::lang::String *);
+ ::gnu::java::net::loader::Resource * getResource(::java::lang::String *);
+private:
+ ::gnu::gcj::runtime::SharedLibHelper * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::URLLoader)))) helper;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_Load_gcjlib__
diff --git a/libjava/gnu/java/net/loader/Load_gcjlib.java b/libjava/gnu/java/net/loader/Load_gcjlib.java
new file mode 100644
index 000000000..ea392041f
--- /dev/null
+++ b/libjava/gnu/java/net/loader/Load_gcjlib.java
@@ -0,0 +1,77 @@
+/* Copyright (C) 2007 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.java.net.loader;
+
+import gnu.gcj.runtime.SharedLibHelper;
+import java.io.InputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.net.URLConnection;
+import java.net.URLStreamHandlerFactory;
+
+/**
+ * A <code>Load_gcjlib</code> is a type of <code>URLLoader</code>
+ * that loads classes and resources from a shared library.
+ */
+public final class Load_gcjlib extends URLLoader
+{
+ private SharedLibHelper helper;
+
+ public Load_gcjlib(URLClassLoader classloader,
+ URLStreamHandlerCache cache,
+ URLStreamHandlerFactory factory,
+ URL url, URL absoluteUrl)
+ {
+ super(classloader, cache, factory, url, absoluteUrl);
+ helper = SharedLibHelper.findHelper(classloader, url.getFile(),
+ noCertCodeSource, true);
+ }
+
+ public Class getClass(String className)
+ {
+ return helper.findClass(className);
+ }
+
+ public Resource getResource(String name)
+ {
+ URL url = helper.findResource(name);
+ if (url == null)
+ return null;
+ return new SoResource(this, url);
+ }
+
+ final static class SoResource extends Resource
+ {
+ private final URL url;
+
+ SoResource(Load_gcjlib loader, URL url)
+ {
+ super(loader);
+ this.url = url;
+ }
+
+ public InputStream getInputStream() throws IOException
+ {
+ URLConnection conn = url.openConnection();
+ return conn.getInputStream();
+ }
+
+ public int getLength()
+ {
+ // FIXME we could find this by asking the core object.
+ return -1;
+ }
+
+ public URL getURL ()
+ {
+ return url;
+ }
+ }
+}
diff --git a/libjava/gnu/java/net/loader/RemoteResource.h b/libjava/gnu/java/net/loader/RemoteResource.h
new file mode 100644
index 000000000..29ccf16a6
--- /dev/null
+++ b/libjava/gnu/java/net/loader/RemoteResource.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_RemoteResource__
+#define __gnu_java_net_loader_RemoteResource__
+
+#pragma interface
+
+#include <gnu/java/net/loader/Resource.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class RemoteResource;
+ class RemoteURLLoader;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::net::loader::RemoteResource : public ::gnu::java::net::loader::Resource
+{
+
+public:
+ RemoteResource(::gnu::java::net::loader::RemoteURLLoader *, ::java::lang::String *, ::java::net::URL *, ::java::io::InputStream *, jint);
+ ::java::io::InputStream * getInputStream();
+ jint getLength();
+ ::java::net::URL * getURL();
+private:
+ ::java::net::URL * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::Resource)))) url;
+ ::java::io::InputStream * stream;
+public: // actually package-private
+ jint length;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_RemoteResource__
diff --git a/libjava/gnu/java/net/loader/RemoteURLLoader.h b/libjava/gnu/java/net/loader/RemoteURLLoader.h
new file mode 100644
index 000000000..2c051651b
--- /dev/null
+++ b/libjava/gnu/java/net/loader/RemoteURLLoader.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_RemoteURLLoader__
+#define __gnu_java_net_loader_RemoteURLLoader__
+
+#pragma interface
+
+#include <gnu/java/net/loader/URLLoader.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class RemoteURLLoader;
+ class Resource;
+ class URLStreamHandlerCache;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLClassLoader;
+ class URLStreamHandlerFactory;
+ }
+ }
+}
+
+class gnu::java::net::loader::RemoteURLLoader : public ::gnu::java::net::loader::URLLoader
+{
+
+public:
+ RemoteURLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *);
+ ::gnu::java::net::loader::Resource * getResource(::java::lang::String *);
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::URLLoader)))) protocol;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_RemoteURLLoader__
diff --git a/libjava/gnu/java/net/loader/Resource.h b/libjava/gnu/java/net/loader/Resource.h
new file mode 100644
index 000000000..98b626f4a
--- /dev/null
+++ b/libjava/gnu/java/net/loader/Resource.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_Resource__
+#define __gnu_java_net_loader_Resource__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class Resource;
+ class URLLoader;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ namespace security
+ {
+ class CodeSource;
+ namespace cert
+ {
+ class Certificate;
+ }
+ }
+ }
+}
+
+class gnu::java::net::loader::Resource : public ::java::lang::Object
+{
+
+public:
+ Resource(::gnu::java::net::loader::URLLoader *);
+ virtual ::java::security::CodeSource * getCodeSource();
+ virtual JArray< ::java::security::cert::Certificate * > * getCertificates();
+ virtual ::gnu::java::net::loader::URLLoader * getLoader();
+ virtual ::java::net::URL * getURL() = 0;
+ virtual jint getLength() = 0;
+ virtual ::java::io::InputStream * getInputStream() = 0;
+public: // actually package-private
+ ::gnu::java::net::loader::URLLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loader;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_Resource__
diff --git a/libjava/gnu/java/net/loader/URLLoader.h b/libjava/gnu/java/net/loader/URLLoader.h
new file mode 100644
index 000000000..76c294b1f
--- /dev/null
+++ b/libjava/gnu/java/net/loader/URLLoader.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_URLLoader__
+#define __gnu_java_net_loader_URLLoader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class Resource;
+ class URLLoader;
+ class URLStreamHandlerCache;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLClassLoader;
+ class URLStreamHandlerFactory;
+ }
+ namespace security
+ {
+ class CodeSource;
+ }
+ }
+}
+
+class gnu::java::net::loader::URLLoader : public ::java::lang::Object
+{
+
+public:
+ URLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *);
+ URLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *, ::java::net::URL *);
+ virtual ::java::net::URL * getBaseURL();
+ virtual ::java::lang::Class * getClass(::java::lang::String *);
+ virtual ::gnu::java::net::loader::Resource * getResource(::java::lang::String *) = 0;
+ virtual ::java::util::jar::Manifest * getManifest();
+ virtual ::java::util::ArrayList * getClassPath();
+public: // actually package-private
+ ::java::net::URLClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) classloader;
+ ::java::net::URL * baseURL;
+ ::java::net::URLStreamHandlerFactory * factory;
+ ::gnu::java::net::loader::URLStreamHandlerCache * cache;
+ ::java::security::CodeSource * noCertCodeSource;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_URLLoader__
diff --git a/libjava/gnu/java/net/loader/URLStreamHandlerCache.h b/libjava/gnu/java/net/loader/URLStreamHandlerCache.h
new file mode 100644
index 000000000..a41d1d982
--- /dev/null
+++ b/libjava/gnu/java/net/loader/URLStreamHandlerCache.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_loader_URLStreamHandlerCache__
+#define __gnu_java_net_loader_URLStreamHandlerCache__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace loader
+ {
+ class URLStreamHandlerCache;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URLStreamHandler;
+ class URLStreamHandlerFactory;
+ }
+ }
+}
+
+class gnu::java::net::loader::URLStreamHandlerCache : public ::java::lang::Object
+{
+
+public:
+ URLStreamHandlerCache();
+ virtual void add(::java::net::URLStreamHandlerFactory *);
+ virtual ::java::net::URLStreamHandler * get(::java::net::URLStreamHandlerFactory *, ::java::lang::String *);
+private:
+ ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) factoryCache;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_loader_URLStreamHandlerCache__
diff --git a/libjava/gnu/java/net/local/LocalServerSocket.h b/libjava/gnu/java/net/local/LocalServerSocket.h
new file mode 100644
index 000000000..35969bc65
--- /dev/null
+++ b/libjava/gnu/java/net/local/LocalServerSocket.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_local_LocalServerSocket__
+#define __gnu_java_net_local_LocalServerSocket__
+
+#pragma interface
+
+#include <java/net/ServerSocket.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace local
+ {
+ class LocalServerSocket;
+ class LocalSocketImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class InetAddress;
+ class Socket;
+ class SocketAddress;
+ }
+ }
+}
+
+class gnu::java::net::local::LocalServerSocket : public ::java::net::ServerSocket
+{
+
+public:
+ LocalServerSocket();
+ LocalServerSocket(::java::net::SocketAddress *);
+ void bind(::java::net::SocketAddress *);
+ void bind(::java::net::SocketAddress *, jint);
+ ::java::net::InetAddress * getInetAddress();
+ jint getLocalPort();
+ ::java::net::SocketAddress * getLocalSocketAddress();
+ ::java::net::Socket * accept();
+ void close();
+ jboolean isBound();
+ jboolean isClosed();
+ void setSoTimeout(jint);
+ jint getSoTimeout();
+ void setReuseAddress(jboolean);
+ jboolean getReuseAddress();
+ ::java::lang::String * toString();
+ void setReceiveBufferSize(jint);
+ jint getReceiveBufferSize();
+ void setSendBufferSize(jint);
+ jint getSendBufferSize();
+private:
+ ::gnu::java::net::local::LocalSocketImpl * __attribute__((aligned(__alignof__( ::java::net::ServerSocket)))) myImpl;
+ jboolean closed;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_local_LocalServerSocket__
diff --git a/libjava/gnu/java/net/local/LocalSocket.h b/libjava/gnu/java/net/local/LocalSocket.h
new file mode 100644
index 000000000..c33f540a2
--- /dev/null
+++ b/libjava/gnu/java/net/local/LocalSocket.h
@@ -0,0 +1,100 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_local_LocalSocket__
+#define __gnu_java_net_local_LocalSocket__
+
+#pragma interface
+
+#include <java/net/Socket.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace local
+ {
+ class LocalSocket;
+ class LocalSocketAddress;
+ class LocalSocketImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class InetAddress;
+ class SocketAddress;
+ }
+ namespace nio
+ {
+ namespace channels
+ {
+ class SocketChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::net::local::LocalSocket : public ::java::net::Socket
+{
+
+public:
+ LocalSocket();
+ LocalSocket(::gnu::java::net::local::LocalSocketAddress *);
+public: // actually package-private
+ LocalSocket(jboolean);
+public:
+ void bind(::java::net::SocketAddress *);
+ void connect(::java::net::SocketAddress *, jint);
+ ::java::net::InetAddress * getInetAddress();
+ ::java::net::InetAddress * getLocalAddress();
+ jint getPort();
+ jint getLocalPort();
+ ::java::nio::channels::SocketChannel * getChannel();
+ ::java::net::SocketAddress * getLocalSocketAddress();
+ ::java::net::SocketAddress * getRemoteSocketAddress();
+ ::java::io::InputStream * getInputStream();
+ ::java::io::OutputStream * getOutputStream();
+ void sendUrgentData(jint);
+ void close();
+ void shutdownInput();
+ void shutdownOutput();
+ jboolean isClosed();
+ jboolean isBound();
+ jboolean isConnected();
+ void setTcpNoDelay(jboolean);
+ jboolean getTcpNoDelay();
+ void setSoLinger(jboolean, jint);
+ jint getSoLinger();
+ void setOOBInline(jboolean);
+ jboolean getOOBInline();
+ void setSoTimeout(jint);
+ jint getSoTimeout();
+ void setSendBufferSize(jint);
+ jint getSendBufferSize();
+ void setReceiveBufferSize(jint);
+ jint getReceiveBufferSize();
+ void setKeepAlive(jboolean);
+ jboolean getKeepAlive();
+ void setTrafficClass(jint);
+ jint getTrafficClass();
+ void setReuseAddress(jboolean);
+ jboolean getReuseAddress();
+public: // actually package-private
+ ::gnu::java::net::local::LocalSocketImpl * getLocalImpl();
+private:
+ ::gnu::java::net::local::LocalSocketImpl * __attribute__((aligned(__alignof__( ::java::net::Socket)))) localimpl;
+public: // actually package-private
+ jboolean localClosed;
+ jboolean localConnected;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_local_LocalSocket__
diff --git a/libjava/gnu/java/net/local/LocalSocketAddress.h b/libjava/gnu/java/net/local/LocalSocketAddress.h
new file mode 100644
index 000000000..ef095f610
--- /dev/null
+++ b/libjava/gnu/java/net/local/LocalSocketAddress.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_local_LocalSocketAddress__
+#define __gnu_java_net_local_LocalSocketAddress__
+
+#pragma interface
+
+#include <java/net/SocketAddress.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace local
+ {
+ class LocalSocketAddress;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::local::LocalSocketAddress : public ::java::net::SocketAddress
+{
+
+public:
+ LocalSocketAddress(::java::lang::String *);
+ ::java::lang::String * getPath();
+ jboolean equals(::java::lang::Object *);
+ jint hashCode();
+ ::java::lang::String * toString();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::SocketAddress)))) path;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_local_LocalSocketAddress__
diff --git a/libjava/gnu/java/net/local/LocalSocketImpl$LocalInputStream.h b/libjava/gnu/java/net/local/LocalSocketImpl$LocalInputStream.h
new file mode 100644
index 000000000..8b1de3817
--- /dev/null
+++ b/libjava/gnu/java/net/local/LocalSocketImpl$LocalInputStream.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_local_LocalSocketImpl$LocalInputStream__
+#define __gnu_java_net_local_LocalSocketImpl$LocalInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace local
+ {
+ class LocalSocketImpl;
+ class LocalSocketImpl$LocalInputStream;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::local::LocalSocketImpl$LocalInputStream : public ::java::io::InputStream
+{
+
+public: // actually package-private
+ LocalSocketImpl$LocalInputStream(::gnu::java::net::local::LocalSocketImpl *, ::gnu::java::net::local::LocalSocketImpl *);
+public:
+ virtual jint available();
+ virtual jboolean markSupported();
+ virtual void mark(jint);
+ virtual void reset();
+ virtual void close();
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *);
+ virtual jint read(JArray< jbyte > *, jint, jint);
+private:
+ ::gnu::java::net::local::LocalSocketImpl * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) impl;
+public: // actually package-private
+ ::gnu::java::net::local::LocalSocketImpl * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_local_LocalSocketImpl$LocalInputStream__
diff --git a/libjava/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.h b/libjava/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.h
new file mode 100644
index 000000000..e45600120
--- /dev/null
+++ b/libjava/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_local_LocalSocketImpl$LocalOutputStream__
+#define __gnu_java_net_local_LocalSocketImpl$LocalOutputStream__
+
+#pragma interface
+
+#include <java/io/OutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace local
+ {
+ class LocalSocketImpl;
+ class LocalSocketImpl$LocalOutputStream;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::local::LocalSocketImpl$LocalOutputStream : public ::java::io::OutputStream
+{
+
+public: // actually package-private
+ LocalSocketImpl$LocalOutputStream(::gnu::java::net::local::LocalSocketImpl *, ::gnu::java::net::local::LocalSocketImpl *);
+public:
+ virtual void close();
+ virtual void flush();
+ virtual void write(jint);
+ virtual void write(JArray< jbyte > *);
+ virtual void write(JArray< jbyte > *, jint, jint);
+private:
+ ::gnu::java::net::local::LocalSocketImpl * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) impl;
+public: // actually package-private
+ ::gnu::java::net::local::LocalSocketImpl * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_local_LocalSocketImpl$LocalOutputStream__
diff --git a/libjava/gnu/java/net/local/LocalSocketImpl.h b/libjava/gnu/java/net/local/LocalSocketImpl.h
new file mode 100644
index 000000000..517d93027
--- /dev/null
+++ b/libjava/gnu/java/net/local/LocalSocketImpl.h
@@ -0,0 +1,86 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_local_LocalSocketImpl__
+#define __gnu_java_net_local_LocalSocketImpl__
+
+#pragma interface
+
+#include <java/net/SocketImpl.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace local
+ {
+ class LocalSocketAddress;
+ class LocalSocketImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class InetAddress;
+ class SocketAddress;
+ class SocketImpl;
+ }
+ }
+}
+
+class gnu::java::net::local::LocalSocketImpl : public ::java::net::SocketImpl
+{
+
+public: // actually package-private
+ LocalSocketImpl();
+ LocalSocketImpl(jboolean);
+public:
+ void setOption(jint, ::java::lang::Object *);
+ ::java::lang::Object * getOption(jint);
+public: // actually protected
+ void create(jboolean);
+ void listen(jint);
+ void accept(::gnu::java::net::local::LocalSocketImpl *);
+ jint available();
+ void close();
+ void sendUrgentData(jint);
+ void shutdownInput();
+ void shutdownOutput();
+public: // actually package-private
+ void unlink();
+ void localBind(::gnu::java::net::local::LocalSocketAddress *);
+ void localConnect(::gnu::java::net::local::LocalSocketAddress *);
+ jint read(JArray< jbyte > *, jint, jint);
+ void write(JArray< jbyte > *, jint, jint);
+ void doCreate();
+ ::gnu::java::net::local::LocalSocketAddress * getLocalAddress();
+ ::gnu::java::net::local::LocalSocketAddress * getRemoteAddress();
+public: // actually protected
+ ::java::io::InputStream * getInputStream();
+ ::java::io::OutputStream * getOutputStream();
+ void accept(::java::net::SocketImpl *);
+ void connect(::java::lang::String *, jint);
+ void connect(::java::net::InetAddress *, jint);
+ void connect(::java::net::SocketAddress *, jint);
+ void bind(::java::net::InetAddress *, jint);
+ void bind(::java::net::SocketAddress *);
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::net::SocketImpl)))) created;
+ ::java::io::InputStream * in;
+ ::java::io::OutputStream * out;
+ jint socket_fd;
+ ::gnu::java::net::local::LocalSocketAddress * local;
+ ::gnu::java::net::local::LocalSocketAddress * remote;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_local_LocalSocketImpl__
diff --git a/libjava/gnu/java/net/local/LocalSocketImpl.java b/libjava/gnu/java/net/local/LocalSocketImpl.java
new file mode 100644
index 000000000..35df29804
--- /dev/null
+++ b/libjava/gnu/java/net/local/LocalSocketImpl.java
@@ -0,0 +1,310 @@
+/* LocalSocketImpl.java -- a unix domain client socket implementation.
+ Copyright (C) 2006 Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.net.local;
+
+import java.io.FileDescriptor;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import java.net.InetAddress;
+import java.net.SocketAddress;
+import java.net.SocketException;
+import java.net.SocketImpl;
+
+final class LocalSocketImpl extends SocketImpl
+{
+
+ // Fields.
+ // -------------------------------------------------------------------------
+
+ private boolean created;
+ private InputStream in;
+ private OutputStream out;
+ private int socket_fd;
+ private LocalSocketAddress local;
+ private LocalSocketAddress remote;
+
+ // Constructor.
+ // -------------------------------------------------------------------------
+
+ LocalSocketImpl ()
+ {
+ this (false);
+ }
+
+ LocalSocketImpl (boolean nocreate)
+ {
+ created = nocreate;
+ socket_fd = -1;
+ fd = new FileDescriptor ();
+ }
+
+ // Instance methods.
+ // -------------------------------------------------------------------------
+
+ public void setOption (int opt, Object value) throws SocketException
+ {
+ throw new SocketException ("local sockets do not support options");
+ }
+
+ public Object getOption (int opt) throws SocketException
+ {
+ throw new SocketException ("local sockets do not support options");
+ }
+
+ protected void create (boolean stream) throws IOException { }
+ protected void listen (int timeout) throws IOException { }
+ protected void accept (LocalSocketImpl socket) throws IOException { }
+ protected int available () throws IOException { return -1; }
+ protected void close () throws IOException { }
+ protected void sendUrgentData (int data) throws IOException { }
+ protected void shutdownInput () throws IOException { }
+ protected void shutdownOutput () throws IOException { }
+
+ void unlink () throws IOException { }
+ void localBind (LocalSocketAddress addr) throws IOException { }
+ void localConnect (LocalSocketAddress addr) throws IOException { }
+ int read (byte[] buf, int off, int len) throws IOException { return -1; }
+ void write (byte[] buf, int off, int len) throws IOException { }
+
+ void doCreate () throws IOException
+ {
+ if (!created)
+ {
+ create (true);
+ }
+ }
+
+ LocalSocketAddress getLocalAddress ()
+ {
+ return local;
+ }
+
+ LocalSocketAddress getRemoteAddress ()
+ {
+ return remote;
+ }
+
+ protected InputStream getInputStream()
+ {
+ if (in == null)
+ {
+ in = new LocalInputStream (this);
+ }
+
+ return in;
+ }
+
+ protected OutputStream getOutputStream()
+ {
+ if (out == null)
+ {
+ out = new LocalOutputStream (this);
+ }
+
+ return out;
+ }
+
+ protected void accept (SocketImpl impl) throws IOException
+ {
+ if (! (impl instanceof LocalSocketImpl))
+ {
+ throw new IllegalArgumentException ("not a local socket");
+ }
+ accept ((LocalSocketImpl) impl);
+ }
+
+ protected void connect (String host, int port) throws IOException
+ {
+ throw new SocketException ("this is a local socket");
+ }
+
+ protected void connect (InetAddress addr, int port) throws IOException
+ {
+ throw new SocketException ("this is a local socket");
+ }
+
+ protected void connect(SocketAddress addr, int timeout) throws IOException
+ {
+ if (! (addr instanceof LocalSocketAddress))
+ {
+ throw new SocketException ("address is not local");
+ }
+ localConnect ((LocalSocketAddress) addr);
+ }
+
+ protected void bind (InetAddress addr, int port) throws IOException
+ {
+ throw new SocketException ("this is a local socket");
+ }
+
+ protected void bind (SocketAddress addr) throws IOException
+ {
+ if (! (addr instanceof LocalSocketAddress))
+ {
+ throw new SocketException ("address is not local");
+ }
+ localBind ((LocalSocketAddress) addr);
+ }
+
+ // Inner classes.
+ // -------------------------------------------------------------------------
+
+ class LocalInputStream extends InputStream
+ {
+
+ // Field.
+ // -----------------------------------------------------------------------
+
+ private final LocalSocketImpl impl;
+
+ // Constructor.
+ // -----------------------------------------------------------------------
+
+ LocalInputStream (LocalSocketImpl impl)
+ {
+ this.impl = impl;
+ }
+
+ // Instance methods.
+ // -----------------------------------------------------------------------
+
+ public int available () throws IOException
+ {
+ return impl.available();
+ }
+
+ public boolean markSupported ()
+ {
+ return false;
+ }
+
+ public void mark (int readLimit)
+ {
+ }
+
+ public void reset () throws IOException
+ {
+ throw new IOException ("mark/reset not supported");
+ }
+
+ public void close () throws IOException
+ {
+ impl.close();
+ }
+
+ public int read () throws IOException
+ {
+ byte[] buf = new byte[1];
+ int ret = read (buf);
+ if (ret != -1)
+ {
+ return buf[0] & 0xFF;
+ }
+ else
+ {
+ return -1;
+ }
+ }
+
+ public int read (byte[] buf) throws IOException
+ {
+ return read (buf, 0, buf.length);
+ }
+
+ public int read (byte[] buf, int off, int len) throws IOException
+ {
+ int ret = impl.read (buf, off, len);
+
+ if (ret == 0)
+ {
+ return -1;
+ }
+
+ return ret;
+ }
+ }
+
+ class LocalOutputStream extends OutputStream
+ {
+
+ // Field.
+ // -----------------------------------------------------------------------
+
+ private final LocalSocketImpl impl;
+
+ // Constructor.
+ // -----------------------------------------------------------------------
+
+ LocalOutputStream (LocalSocketImpl impl)
+ {
+ this.impl = impl;
+ }
+
+ // Instance methods.
+ // -----------------------------------------------------------------------
+
+ public void close () throws IOException
+ {
+ impl.close ();
+ }
+
+ public void flush () throws IOException
+ {
+ }
+
+ public void write (int b) throws IOException
+ {
+ byte[] buf = new byte [1];
+ buf[0] = (byte) b;
+ write (buf);
+ }
+
+ public void write (byte[] buf) throws IOException
+ {
+ write (buf, 0, buf.length);
+ }
+
+ public void write (byte[] buf, int off, int len) throws IOException
+ {
+ impl.write (buf, off, len);
+ }
+ }
+}
diff --git a/libjava/gnu/java/net/natPlainDatagramSocketImplNoNet.cc b/libjava/gnu/java/net/natPlainDatagramSocketImplNoNet.cc
new file mode 100644
index 000000000..7cb5a2e06
--- /dev/null
+++ b/libjava/gnu/java/net/natPlainDatagramSocketImplNoNet.cc
@@ -0,0 +1,119 @@
+/* Copyright (C) 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gnu/java/net/PlainDatagramSocketImpl.h>
+#include <java/io/IOException.h>
+#include <java/lang/Object.h>
+#include <java/net/BindException.h>
+#include <java/net/DatagramPacket.h>
+#include <java/net/InetAddress.h>
+#include <java/net/NetworkInterface.h>
+#include <java/net/SocketException.h>
+
+void
+gnu::java::net::PlainDatagramSocketImpl::create ()
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("DatagramSocketImpl.create: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::bind (jint, ::java::net::InetAddress *)
+{
+ throw new ::java::net::BindException (
+ JvNewStringLatin1 ("DatagramSocketImpl.bind: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::connect (::java::net::InetAddress *, jint)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("DatagramSocketImpl.connect: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::disconnect ()
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("DatagramSocketImpl.disconnect: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peek (::java::net::InetAddress *)
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("DatagramSocketImpl.peek: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peekData (::java::net::DatagramPacket *)
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("DatagramSocketImpl.peekData: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::close ()
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("DatagramSocketImpl.close: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *)
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("DatagramSocketImpl.send: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *)
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("DatagramSocketImpl.receive: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setTimeToLive (jint)
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("DatagramSocketImpl.setTimeToLive: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::getTimeToLive ()
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("DatagramSocketImpl.getTimeToLive: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::mcastGrp (::java::net::InetAddress *,
+ ::java::net::NetworkInterface *,
+ jboolean)
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("DatagramSocketImpl.mcastGrp: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setOption (jint, ::java::lang::Object *)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("DatagramSocketImpl.setOption: unimplemented"));
+}
+
+::java::lang::Object *
+gnu::java::net::PlainDatagramSocketImpl::getOption (jint)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("DatagramSocketImpl.getOption: unimplemented"));
+}
diff --git a/libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc b/libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc
new file mode 100644
index 000000000..7cbf011ab
--- /dev/null
+++ b/libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc
@@ -0,0 +1,858 @@
+/* Copyright (C) 2003, 2005, 2006 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+#include <errno.h>
+#include <string.h>
+
+#if HAVE_BSTRING_H
+// Needed for bzero, implicitly used by FD_ZERO on IRIX 5.2
+#include <bstring.h>
+#endif
+
+#include <gcj/cni.h>
+#include <gnu/java/net/PlainDatagramSocketImpl.h>
+#include <java/io/IOException.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/net/BindException.h>
+#include <java/net/SocketException.h>
+#include <java/net/SocketTimeoutException.h>
+#include <java/net/InetAddress.h>
+#include <java/net/NetworkInterface.h>
+#include <java/net/DatagramPacket.h>
+#include <java/net/PortUnreachableException.h>
+#include <java/lang/InternalError.h>
+#include <java/lang/Object.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Integer.h>
+#include <java/net/UnknownHostException.h>
+#include <java/net/ConnectException.h>
+#include <java/lang/NullPointerException.h>
+
+union SockAddr
+{
+ struct sockaddr_in address;
+#ifdef HAVE_INET6
+ struct sockaddr_in6 address6;
+#endif
+};
+
+union McastReq
+{
+#if HAVE_STRUCT_IP_MREQ
+ struct ip_mreq mreq;
+#endif
+#if HAVE_STRUCT_IPV6_MREQ
+ struct ipv6_mreq mreq6;
+#endif
+};
+
+union InAddr
+{
+ struct in_addr addr;
+#ifdef HAVE_INET6
+ struct in6_addr addr6;
+#endif
+};
+
+
+// FIXME: routines here and/or in natPlainSocketImpl.cc could throw
+// NoRouteToHostException; also consider UnknownHostException, ConnectException.
+
+void
+gnu::java::net::PlainDatagramSocketImpl::create ()
+{
+ int sock = _Jv_socket (AF_INET, SOCK_DGRAM, 0);
+
+ if (sock < 0)
+ {
+ char* strerr = strerror (errno);
+ throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+ }
+
+ // We use native_fd in place of fd here. From leaving fd null we avoid
+ // the double close problem in FileDescriptor.finalize.
+ native_fd = sock;
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::bind (jint lport,
+ ::java::net::InetAddress *host)
+{
+ union SockAddr u;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+ // FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4.
+ jbyteArray haddress = host->addr;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+
+ if (host != NULL)
+ memcpy (&u.address.sin_addr, bytes, len);
+ else
+ u.address.sin_addr.s_addr = htonl (INADDR_ANY);
+
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (lport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (lport);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (_Jv_bind (native_fd, ptr, len) == 0)
+ {
+ socklen_t addrlen = sizeof(u);
+
+ if (lport != 0)
+ localPort = lport;
+ else if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) == 0)
+ localPort = ntohs (u.address.sin_port);
+ else
+ goto error;
+
+ /* Allow broadcast by default. */
+ int broadcast = 1;
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &broadcast,
+ sizeof (broadcast)) != 0)
+ goto error;
+
+ return;
+ }
+
+ error:
+ char* strerr = strerror (errno);
+ throw new ::java::net::BindException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::connect (::java::net::InetAddress *host,
+ jint rport)
+{
+ if (! host)
+ throw new ::java::lang::NullPointerException;
+
+ union SockAddr u;
+ jbyteArray haddress = host->addr;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+ memcpy (&u.address.sin_addr, bytes, len);
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (rport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (rport);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (_Jv_connect (native_fd, ptr, len) == 0)
+ return;
+ char* strerr = strerror (errno);
+ throw new ::java::net::ConnectException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::disconnect ()
+{
+ struct sockaddr addr;
+ addr.sa_family = AF_UNSPEC;
+ // Ignore errors. This is lame but apparently required.
+ _Jv_connect (native_fd, &addr, sizeof (addr));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peek (::java::net::InetAddress *i)
+{
+ // FIXME: Deal with Multicast and if the socket is connected.
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ ssize_t retlen =
+ ::recvfrom (native_fd, (char *) NULL, 0, MSG_PEEK, (sockaddr*) &u,
+ &addrlen);
+ if (retlen < 0)
+ goto error;
+ // FIXME: Deal with Multicast addressing and if the socket is connected.
+ jbyteArray raddr;
+ jint rport;
+ if (u.address.sin_family == AF_INET)
+ {
+ raddr = JvNewByteArray (4);
+ memcpy (elements (raddr), &u.address.sin_addr, 4);
+ rport = ntohs (u.address.sin_port);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ raddr = JvNewByteArray (16);
+ memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+ rport = ntohs (u.address6.sin6_port);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+ i->addr = raddr;
+ return rport;
+ error:
+ char* strerr = strerror (errno);
+
+ if (errno == ECONNREFUSED)
+ throw new ::java::net::PortUnreachableException (JvNewStringUTF (strerr));
+
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peekData (::java::net::DatagramPacket *p)
+{
+ // FIXME: Deal with Multicast and if the socket is connected.
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ jbyte *dbytes = elements (p->getData()) + p->getOffset();
+ jint maxlen = p->maxlen - p->getOffset();
+ ssize_t retlen = 0;
+
+ // Do timeouts via select since SO_RCVTIMEO is not always available.
+ if (timeout > 0 && native_fd >= 0 && native_fd < FD_SETSIZE)
+ {
+ fd_set rset;
+ struct timeval tv;
+ FD_ZERO(&rset);
+ FD_SET(native_fd, &rset);
+ tv.tv_sec = timeout / 1000;
+ tv.tv_usec = (timeout % 1000) * 1000;
+ int retval;
+ if ((retval = _Jv_select (native_fd + 1, &rset, NULL, NULL, &tv)) < 0)
+ goto error;
+ else if (retval == 0)
+ throw new ::java::net::SocketTimeoutException
+ (JvNewStringUTF ("PeekData timed out") );
+ }
+
+ retlen =
+ ::recvfrom (native_fd, (char *) dbytes, maxlen, MSG_PEEK, (sockaddr*) &u,
+ &addrlen);
+ if (retlen < 0)
+ goto error;
+ // FIXME: Deal with Multicast addressing and if the socket is connected.
+ jbyteArray raddr;
+ jint rport;
+ if (u.address.sin_family == AF_INET)
+ {
+ raddr = JvNewByteArray (4);
+ memcpy (elements (raddr), &u.address.sin_addr, 4);
+ rport = ntohs (u.address.sin_port);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ raddr = JvNewByteArray (16);
+ memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+ rport = ntohs (u.address6.sin6_port);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+ p->setAddress (::java::net::InetAddress::getByAddress (raddr));
+ p->setPort (rport);
+ p->length = (int) retlen;
+ return rport;
+
+ error:
+ char* strerr = strerror (errno);
+
+ if (errno == ECONNREFUSED)
+ throw new ::java::net::PortUnreachableException (JvNewStringUTF (strerr));
+
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+// Close(shutdown) the socket.
+void
+gnu::java::net::PlainDatagramSocketImpl::close ()
+{
+ // Avoid races from asynchronous finalization.
+ JvSynchronize sync (this);
+
+ // The method isn't declared to throw anything, so we disregard
+ // the return value.
+ _Jv_close (native_fd);
+ native_fd = -1;
+ timeout = 0;
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *p)
+{
+ JvSynchronize lock (SEND_LOCK);
+
+ // FIXME: Deal with Multicast.
+
+ ::java::net::InetAddress *host = p->getAddress();
+ if (host == NULL)
+ {
+ // If there is no host, maybe this socket was connected, in
+ // which case we try a plain send().
+ jbyte *dbytes = elements (p->getData()) + p->getOffset();
+ if (::send (native_fd, (char *) dbytes, p->getLength(), 0) >= 0)
+ return;
+ }
+ else
+ {
+ jint rport = p->getPort();
+ union SockAddr u;
+
+ jbyteArray haddress = host->addr;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+ jbyte *dbytes = elements (p->getData()) + p->getOffset();
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+ memcpy (&u.address.sin_addr, bytes, len);
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (rport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (rport);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (::sendto (native_fd, (char *) dbytes, p->getLength(), 0, ptr, len)
+ >= 0)
+ return;
+ }
+
+ char* strerr = strerror (errno);
+
+ if (errno == ECONNREFUSED)
+ throw new ::java::net::PortUnreachableException (JvNewStringUTF (strerr));
+
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p)
+{
+ JvSynchronize lock (RECEIVE_LOCK);
+
+ // FIXME: Deal with Multicast and if the socket is connected.
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ jbyte *dbytes = elements (p->getData()) + p->getOffset();
+ jint maxlen = p->maxlen - p->getOffset();
+ ssize_t retlen = 0;
+
+ // Do timeouts via select since SO_RCVTIMEO is not always available.
+ if (timeout > 0 && native_fd >= 0 && native_fd < FD_SETSIZE)
+ {
+ fd_set rset;
+ struct timeval tv;
+ FD_ZERO(&rset);
+ FD_SET(native_fd, &rset);
+ tv.tv_sec = timeout / 1000;
+ tv.tv_usec = (timeout % 1000) * 1000;
+ int retval;
+ if ((retval = _Jv_select (native_fd + 1, &rset, NULL, NULL, &tv)) < 0)
+ goto error;
+ else if (retval == 0)
+ throw new ::java::net::SocketTimeoutException
+ (JvNewStringUTF ("Receive timed out") );
+ }
+
+ retlen =
+ ::recvfrom (native_fd, (char *) dbytes, maxlen, 0, (sockaddr*) &u,
+ &addrlen);
+ if (retlen < 0)
+ goto error;
+ // FIXME: Deal with Multicast addressing and if the socket is connected.
+ jbyteArray raddr;
+ jint rport;
+ if (u.address.sin_family == AF_INET)
+ {
+ raddr = JvNewByteArray (4);
+ memcpy (elements (raddr), &u.address.sin_addr, 4);
+ rport = ntohs (u.address.sin_port);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ raddr = JvNewByteArray (16);
+ memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+ rport = ntohs (u.address6.sin6_port);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+ p->setAddress (::java::net::InetAddress::getByAddress (raddr));
+ p->setPort (rport);
+ p->length = (jint) retlen;
+ return;
+
+ error:
+ char* strerr = strerror (errno);
+
+ if (errno == ECONNREFUSED)
+ throw new ::java::net::PortUnreachableException (JvNewStringUTF (strerr));
+
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl)
+{
+ // Assumes IPPROTO_IP rather than IPPROTO_IPV6 since socket created is IPv4.
+ char val = (char) ttl;
+ socklen_t val_len = sizeof(val);
+
+ if (::setsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0)
+ return;
+
+ char* strerr = strerror (errno);
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::getTimeToLive ()
+{
+ // Assumes IPPROTO_IP rather than IPPROTO_IPV6 since socket created is IPv4.
+ char val;
+ socklen_t val_len = sizeof(val);
+
+ if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0)
+ return ((int) val) & 0xFF;
+
+ char* strerr = strerror (errno);
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::mcastGrp (::java::net::InetAddress *inetaddr,
+ ::java::net::NetworkInterface *,
+ jboolean join)
+{
+ // FIXME: implement use of NetworkInterface
+
+ jbyteArray haddress = inetaddr->addr;
+#if HAVE_STRUCT_IP_MREQ || HAVE_STRUCT_IPV6_MREQ
+ union McastReq u;
+ jbyte *bytes = elements (haddress);
+#endif
+
+ int len = haddress->length;
+ int level, opname;
+ const char *ptr;
+ if (0)
+ ;
+#if HAVE_STRUCT_IP_MREQ
+ else if (len == 4)
+ {
+ level = IPPROTO_IP;
+ opname = join ? IP_ADD_MEMBERSHIP : IP_DROP_MEMBERSHIP;
+ memcpy (&u.mreq.imr_multiaddr, bytes, len);
+ // FIXME: If a non-default interface is set, use it; see Stevens p. 501.
+ // Maybe not, see note in last paragraph at bottom of Stevens p. 497.
+ u.mreq.imr_interface.s_addr = htonl (INADDR_ANY);
+ len = sizeof (struct ip_mreq);
+ ptr = (const char *) &u.mreq;
+ }
+#endif
+#if HAVE_STRUCT_IPV6_MREQ
+ else if (len == 16)
+ {
+ level = IPPROTO_IPV6;
+
+ /* Prefer new RFC 2553 names. */
+#ifndef IPV6_JOIN_GROUP
+#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
+#endif
+#ifndef IPV6_LEAVE_GROUP
+#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
+#endif
+
+ opname = join ? IPV6_JOIN_GROUP : IPV6_LEAVE_GROUP;
+ memcpy (&u.mreq6.ipv6mr_multiaddr, bytes, len);
+ // FIXME: If a non-default interface is set, use it; see Stevens p. 501.
+ // Maybe not, see note in last paragraph at bottom of Stevens p. 497.
+ u.mreq6.ipv6mr_interface = 0;
+ len = sizeof (struct ipv6_mreq);
+ ptr = (const char *) &u.mreq6;
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (::setsockopt (native_fd, level, opname, ptr, len) == 0)
+ return;
+
+ char* strerr = strerror (errno);
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+// Helper function to get the InetAddress for a given socket (file
+// descriptor).
+static ::java::net::InetAddress *
+getLocalAddress (int native_fd)
+{
+ jbyteArray laddr;
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+
+ if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != 0)
+ {
+ char* strerr = strerror (errno);
+ throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+ }
+ if (u.address.sin_family == AF_INET)
+ {
+ laddr = JvNewByteArray (4);
+ memcpy (elements (laddr), &u.address.sin_addr, 4);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ laddr = JvNewByteArray (16);
+ memcpy (elements (laddr), &u.address6.sin6_addr, 16);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+ return ::java::net::InetAddress::getByAddress (laddr);
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
+ ::java::lang::Object *value)
+{
+ int val;
+ socklen_t val_len = sizeof (val);
+
+ if (native_fd < 0)
+ throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed"));
+
+ if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$))
+ {
+ ::java::lang::Boolean *boolobj =
+ static_cast< ::java::lang::Boolean *> (value);
+ val = boolobj->booleanValue() ? 1 : 0;
+ }
+ else if (_Jv_IsInstanceOf (value, &::java::lang::Integer::class$))
+ {
+ ::java::lang::Integer *intobj =
+ static_cast< ::java::lang::Integer *> (value);
+ val = (int) intobj->intValue();
+ }
+ // Else assume value to be an InetAddress for use with IP_MULTICAST_IF.
+
+ switch (optID)
+ {
+ case _Jv_TCP_NODELAY_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("TCP_NODELAY not valid for UDP"));
+ return;
+ case _Jv_SO_LINGER_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_LINGER not valid for UDP"));
+ return;
+ case _Jv_SO_KEEPALIVE_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_KEEPALIVE not valid for UDP"));
+ return;
+
+ case _Jv_SO_BROADCAST_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+ val_len) != 0)
+ goto error;
+ return;
+
+ case _Jv_SO_OOBINLINE_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_OOBINLINE: not valid for UDP"));
+ return;
+
+ case _Jv_SO_SNDBUF_ :
+ case _Jv_SO_RCVBUF_ :
+#if defined(SO_SNDBUF) && defined(SO_RCVBUF)
+ int opt;
+ optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+ if (::setsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, val_len) != 0)
+ goto error;
+#else
+ throw new ::java::lang::InternalError (
+ JvNewStringUTF ("SO_RCVBUF/SO_SNDBUF not supported"));
+#endif
+ return;
+ case _Jv_SO_REUSEADDR_ :
+#if defined(SO_REUSEADDR)
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+ val_len) != 0)
+ goto error;
+#else
+ throw new ::java::lang::InternalError (
+ JvNewStringUTF ("SO_REUSEADDR not supported"));
+#endif
+ return;
+ case _Jv_SO_BINDADDR_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_BINDADDR: read only option"));
+ return;
+ case _Jv_IP_MULTICAST_IF_ :
+ union InAddr u;
+ jbyteArray haddress;
+ jbyte *bytes;
+ int len;
+ int level, opname;
+ const char *ptr;
+
+ haddress = ((::java::net::InetAddress *) value)->addr;
+ bytes = elements (haddress);
+ len = haddress->length;
+ if (len == 4)
+ {
+ level = IPPROTO_IP;
+ opname = IP_MULTICAST_IF;
+ memcpy (&u.addr, bytes, len);
+ len = sizeof (struct in_addr);
+ ptr = (const char *) &u.addr;
+ }
+// Tru64 UNIX V5.0 has struct sockaddr_in6, but no IPV6_MULTICAST_IF
+#if defined (HAVE_INET6) && defined (IPV6_MULTICAST_IF)
+ else if (len == 16)
+ {
+ level = IPPROTO_IPV6;
+ opname = IPV6_MULTICAST_IF;
+ memcpy (&u.addr6, bytes, len);
+ len = sizeof (struct in6_addr);
+ ptr = (const char *) &u.addr6;
+ }
+#endif
+ else
+ throw
+ new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (::setsockopt (native_fd, level, opname, ptr, len) != 0)
+ goto error;
+ return;
+
+ case _Jv_IP_MULTICAST_IF2_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_IF2: not yet implemented"));
+ return;
+
+ case _Jv_IP_MULTICAST_LOOP_ :
+ // cache the local address
+ if (localAddress == NULL)
+ localAddress = getLocalAddress (native_fd);
+ len = localAddress->addr->length;
+ if (len == 4)
+ {
+ level = IPPROTO_IP;
+ opname = IP_MULTICAST_LOOP;
+ }
+#if defined (HAVE_INET6) && defined (IPV6_MULTICAST_LOOP)
+ else if (len == 16)
+ {
+ level = IPPROTO_IPV6;
+ opname = IPV6_MULTICAST_LOOP;
+ }
+#endif
+ else
+ throw
+ new ::java::net::SocketException (JvNewStringUTF ("invalid address length"));
+ if (::setsockopt (native_fd, level, opname, (char *) &val,
+ val_len) != 0)
+ goto error;
+ return;
+
+ case _Jv_IP_TOS_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+ val_len) != 0)
+ goto error;
+ return;
+
+ case _Jv_SO_TIMEOUT_ :
+ timeout = val;
+ return;
+ default :
+ errno = ENOPROTOOPT;
+ }
+
+ error:
+ char* strerr = strerror (errno);
+ throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+}
+
+::java::lang::Object *
+gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
+{
+ int val;
+ socklen_t val_len = sizeof(val);
+ int level, opname;
+
+ switch (optID)
+ {
+ case _Jv_TCP_NODELAY_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("TCP_NODELAY not valid for UDP"));
+ break;
+ case _Jv_SO_LINGER_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_LINGER not valid for UDP"));
+ break;
+ case _Jv_SO_KEEPALIVE_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_KEEPALIVE not valid for UDP"));
+ break;
+
+ case _Jv_SO_BROADCAST_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Boolean (val != 0);
+
+ case _Jv_SO_OOBINLINE_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_OOBINLINE not valid for UDP"));
+ break;
+
+ case _Jv_SO_RCVBUF_ :
+ case _Jv_SO_SNDBUF_ :
+#if defined(SO_SNDBUF) && defined(SO_RCVBUF)
+ int opt;
+ optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+ if (::getsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, &val_len) != 0)
+ goto error;
+ else
+ return new ::java::lang::Integer (val);
+#else
+ throw new ::java::lang::InternalError (
+ JvNewStringUTF ("SO_RCVBUF/SO_SNDBUF not supported"));
+#endif
+ break;
+ case _Jv_SO_BINDADDR_:
+ // cache the local address
+ if (localAddress == NULL)
+ localAddress = getLocalAddress (native_fd);
+ return localAddress;
+ break;
+ case _Jv_SO_REUSEADDR_ :
+#if defined(SO_REUSEADDR)
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Boolean (val != 0);
+#else
+ throw new ::java::lang::InternalError (
+ JvNewStringUTF ("SO_REUSEADDR not supported"));
+#endif
+ break;
+ case _Jv_IP_MULTICAST_IF_ :
+#ifdef HAVE_INET_NTOA
+ struct in_addr inaddr;
+ socklen_t inaddr_len;
+ char *bytes;
+
+ inaddr_len = sizeof(inaddr);
+ if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_IF, (char *) &inaddr,
+ &inaddr_len) != 0)
+ goto error;
+
+ bytes = inet_ntoa (inaddr);
+
+ return ::java::net::InetAddress::getByName (JvNewStringLatin1 (bytes));
+#else
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_IF: not available - no inet_ntoa()"));
+#endif
+ break;
+ case _Jv_SO_TIMEOUT_ :
+ return new ::java::lang::Integer (timeout);
+ break;
+
+ case _Jv_IP_MULTICAST_IF2_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_IF2: not yet implemented"));
+ break;
+
+ case _Jv_IP_MULTICAST_LOOP_ :
+ // cache the local address
+ localAddress = getLocalAddress (native_fd);
+ if (localAddress->addr->length == 4)
+ {
+ level = IPPROTO_IP;
+ opname = IP_MULTICAST_LOOP;
+ }
+#if defined (HAVE_INET6) && defined (IPV6_MULTICAST_LOOP)
+ else if (localAddress->addr->length == 16)
+ {
+ level = IPPROTO_IPV6;
+ opname = IPV6_MULTICAST_LOOP;
+ }
+#endif
+ else
+ throw
+ new ::java::net::SocketException (JvNewStringUTF ("invalid address length"));
+ if (::getsockopt (native_fd, level, opname, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Boolean (val != 0);
+
+ case _Jv_IP_TOS_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Integer (val);
+
+ default :
+ errno = ENOPROTOOPT;
+ }
+
+ error:
+ char* strerr = strerror (errno);
+ throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+}
diff --git a/libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc b/libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc
new file mode 100644
index 000000000..e41019665
--- /dev/null
+++ b/libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc
@@ -0,0 +1,712 @@
+/* Copyright (C) 2003, 2006 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+#include <string.h>
+
+#if HAVE_BSTRING_H
+// Needed for bzero, implicitly used by FD_ZERO on IRIX 5.2
+#include <bstring.h>
+#endif
+
+#include <gnu/java/net/PlainDatagramSocketImpl.h>
+#include <java/io/IOException.h>
+#include <java/net/BindException.h>
+#include <java/net/SocketException.h>
+#include <java/net/InetAddress.h>
+#include <java/net/NetworkInterface.h>
+#include <java/net/DatagramPacket.h>
+#include <java/net/PortUnreachableException.h>
+#include <java/net/SocketTimeoutException.h>
+#include <java/lang/InternalError.h>
+#include <java/lang/Object.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Integer.h>
+
+union SockAddr
+{
+ struct sockaddr_in address;
+#ifdef HAVE_INET6
+ struct sockaddr_in6 address6;
+#endif
+};
+
+union McastReq
+{
+#if HAVE_STRUCT_IP_MREQ
+ struct ip_mreq mreq;
+#endif
+#if HAVE_STRUCT_IPV6_MREQ
+ struct ipv6_mreq mreq6;
+#endif
+};
+
+union InAddr
+{
+ struct in_addr addr;
+#ifdef HAVE_INET6
+ struct in6_addr addr6;
+#endif
+};
+
+// FIXME: routines here and/or in natPlainSocketImpl.cc could throw
+// NoRouteToHostException; also consider UnknownHostException, ConnectException.
+
+void
+gnu::java::net::PlainDatagramSocketImpl::create ()
+{
+ SOCKET sock = ::socket (AF_INET, SOCK_DGRAM, 0);
+
+ if (sock == INVALID_SOCKET)
+ {
+ _Jv_ThrowSocketException ();
+ }
+
+ // Cast this to a HANDLE so we can make
+ // it non-inheritable via _Jv_platform_close_on_exec.
+ HANDLE hSocket = (HANDLE) sock;
+ _Jv_platform_close_on_exec (hSocket);
+
+ // We use native_fd in place of fd here. From leaving fd null we avoid
+ // the double close problem in FileDescriptor.finalize.
+ native_fd = (jint) hSocket;
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::bind (jint lport,
+ ::java::net::InetAddress *host)
+{
+ union SockAddr u;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+ // FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4.
+ jbyteArray haddress = host->addr;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+
+ if (host != NULL)
+ memcpy (&u.address.sin_addr, bytes, len);
+ else
+ u.address.sin_addr.s_addr = htonl (INADDR_ANY);
+
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (lport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (lport);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (::bind (native_fd, ptr, len) == 0)
+ {
+ socklen_t addrlen = sizeof(u);
+
+ if (lport != 0)
+ localPort = lport;
+ else if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) == 0)
+ localPort = ntohs (u.address.sin_port);
+ else
+ goto error;
+
+ /* Allow broadcast by default. */
+ int broadcast = 1;
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &broadcast,
+ sizeof (broadcast)) != 0)
+ goto error;
+
+ return;
+ }
+
+error:
+ DWORD dwErrorCode = WSAGetLastError ();
+ throw new ::java::net::BindException (_Jv_WinStrError (dwErrorCode));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::connect (::java::net::InetAddress *, jint)
+{
+ throw new ::java::lang::InternalError (JvNewStringLatin1 (
+ "PlainDatagramSocketImpl::connect: not implemented yet"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::disconnect ()
+{
+ throw new ::java::lang::InternalError (JvNewStringLatin1 (
+ "PlainDatagramSocketImpl::disconnect: not implemented yet"));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peek (::java::net::InetAddress *i)
+{
+ // FIXME: Deal with Multicast and if the socket is connected.
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ ssize_t retlen =
+ ::recvfrom (native_fd, (char *) NULL, 0, MSG_PEEK, (sockaddr*) &u,
+ &addrlen);
+ if (retlen < 0)
+ goto error;
+ // FIXME: Deal with Multicast addressing and if the socket is connected.
+ jbyteArray raddr;
+ jint rport;
+ if (u.address.sin_family == AF_INET)
+ {
+ raddr = JvNewByteArray (4);
+ memcpy (elements (raddr), &u.address.sin_addr, 4);
+ rport = ntohs (u.address.sin_port);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ raddr = JvNewByteArray (16);
+ memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+ rport = ntohs (u.address6.sin6_port);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+ i->addr = raddr;
+ return rport;
+error:
+ DWORD dwErrorCode = WSAGetLastError ();
+ if (dwErrorCode == WSAECONNRESET)
+ throw new ::java::net::PortUnreachableException (_Jv_WinStrError (dwErrorCode));
+
+ _Jv_ThrowIOException ();
+ return -1;
+ // we should never get here
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peekData(::java::net::DatagramPacket *p)
+{
+ // FIXME: Deal with Multicast and if the socket is connected.
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ jbyte *dbytes = elements (p->getData()) + p->getOffset();
+ jint maxlen = p->maxlen - p->getOffset();
+ ssize_t retlen = 0;
+
+ if (timeout > 0)
+ {
+ int nRet= ::setsockopt(native_fd, SOL_SOCKET, SO_RCVTIMEO,
+ (char*)&timeout, sizeof(timeout));
+ if (nRet != NO_ERROR)
+ goto error;
+ }
+
+ retlen =
+ ::recvfrom (native_fd, (char *) dbytes, maxlen, MSG_PEEK, (sockaddr*) &u,
+ &addrlen);
+ if (retlen == SOCKET_ERROR)
+ goto error;
+ // FIXME: Deal with Multicast addressing and if the socket is connected.
+ jbyteArray raddr;
+ jint rport;
+ if (u.address.sin_family == AF_INET)
+ {
+ raddr = JvNewByteArray (4);
+ memcpy (elements (raddr), &u.address.sin_addr, 4);
+ rport = ntohs (u.address.sin_port);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ raddr = JvNewByteArray (16);
+ memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+ rport = ntohs (u.address6.sin6_port);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+ p->setAddress (::java::net::InetAddress::getByAddress (raddr));
+ p->setPort (rport);
+ p->length = (jint) retlen;
+ return rport;
+
+error:
+ DWORD dwErrorCode = WSAGetLastError ();
+ if (dwErrorCode == WSAECONNRESET)
+ throw new ::java::net::PortUnreachableException (_Jv_WinStrError (dwErrorCode));
+ else if (dwErrorCode == WSAETIMEDOUT)
+ throw new ::java::net::SocketTimeoutException (_Jv_WinStrError (dwErrorCode));
+ else
+ _Jv_ThrowIOException ();
+
+ return -1;
+ // we should never get here
+}
+
+// Close(shutdown) the socket.
+void
+gnu::java::net::PlainDatagramSocketImpl::close ()
+{
+ // Avoid races from asynchronous finalization.
+ JvSynchronize sync (this);
+
+ // The method isn't declared to throw anything, so we disregard
+ // the return value.
+ ::closesocket (native_fd);
+ native_fd = -1;
+ timeout = 0;
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *p)
+{
+ JvSynchronize lock (SEND_LOCK);
+
+ // FIXME: Deal with Multicast and if the socket is connected.
+ jint rport = p->getPort();
+ union SockAddr u;
+ jbyteArray haddress = p->getAddress()->addr;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+ jbyte *dbytes = elements (p->getData()) + p->getOffset();
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+ memcpy (&u.address.sin_addr, bytes, len);
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (rport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (rport);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (::sendto (native_fd, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0)
+ return;
+
+ DWORD dwErrorCode = WSAGetLastError ();
+ if (dwErrorCode == WSAECONNRESET)
+ throw new ::java::net::PortUnreachableException (_Jv_WinStrError (dwErrorCode));
+
+ _Jv_ThrowIOException ();
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p)
+{
+ JvSynchronize lock (RECEIVE_LOCK);
+
+ // FIXME: Deal with Multicast and if the socket is connected.
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ jbyte *dbytes = elements (p->getData()) + p->getOffset();
+ jint maxlen = p->maxlen - p->getOffset();
+ ssize_t retlen = 0;
+
+ if (timeout > 0)
+ {
+ // This implementation doesn't allow specifying an infinite
+ // timeout after specifying a finite one, but Sun's JDK 1.4.1
+ // didn't seem to allow this either....
+ int nRet= ::setsockopt(native_fd, SOL_SOCKET, SO_RCVTIMEO,
+ (char*)&timeout, sizeof(timeout));
+ if (nRet != NO_ERROR)
+ goto error;
+ }
+
+ retlen =
+ ::recvfrom (native_fd, (char *) dbytes, maxlen, 0, (sockaddr*) &u,
+ &addrlen);
+ if (retlen < 0)
+ goto error;
+ // FIXME: Deal with Multicast addressing and if the socket is connected.
+ jbyteArray raddr;
+ jint rport;
+ if (u.address.sin_family == AF_INET)
+ {
+ raddr = JvNewByteArray (4);
+ memcpy (elements (raddr), &u.address.sin_addr, 4);
+ rport = ntohs (u.address.sin_port);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ raddr = JvNewByteArray (16);
+ memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+ rport = ntohs (u.address6.sin6_port);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+ p->setAddress (::java::net::InetAddress::getByAddress (raddr));
+ p->setPort (rport);
+ p->length = (jint) retlen;
+ return;
+
+ error:
+ DWORD dwErrorCode = WSAGetLastError();
+ if (dwErrorCode == WSAECONNRESET)
+ throw new ::java::net::PortUnreachableException (_Jv_WinStrError (dwErrorCode));
+ else if (dwErrorCode == WSAETIMEDOUT)
+ throw new ::java::net::SocketTimeoutException (_Jv_WinStrError (dwErrorCode));
+ else
+ throw new ::java::io::IOException (_Jv_WinStrError (dwErrorCode));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl)
+{
+ // Assumes IPPROTO_IP rather than IPPROTO_IPV6 since socket created is IPv4.
+ char val = (char) ttl;
+ socklen_t val_len = sizeof(val);
+
+ if (::setsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0)
+ return;
+
+ _Jv_ThrowIOException ();
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::getTimeToLive ()
+{
+ // Assumes IPPROTO_IP rather than IPPROTO_IPV6 since socket created is IPv4.
+ char val;
+ socklen_t val_len = sizeof(val);
+
+ if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0)
+ return ((int) val) & 0xFF;
+
+ _Jv_ThrowIOException ();
+
+ return -1;
+ // we should never get here
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::mcastGrp (::java::net::InetAddress *inetaddr,
+ ::java::net::NetworkInterface *,
+ jboolean join)
+{
+ // FIXME: implement use of NetworkInterface
+ jbyteArray haddress = inetaddr->addr;
+ int len = haddress->length;
+ int level, opname;
+ const char *ptr;
+ if (0)
+ ;
+#if HAVE_STRUCT_IP_MREQ
+ else if (len == 4)
+ {
+ level = IPPROTO_IP;
+ opname = join ? IP_ADD_MEMBERSHIP : IP_DROP_MEMBERSHIP;
+ memcpy (&u.mreq.imr_multiaddr, bytes, len);
+ // FIXME: If a non-default interface is set, use it; see Stevens p. 501.
+ // Maybe not, see note in last paragraph at bottom of Stevens p. 497.
+ u.mreq.imr_interface.s_addr = htonl (INADDR_ANY);
+ len = sizeof (struct ip_mreq);
+ ptr = (const char *) &u.mreq;
+ }
+#endif
+#if HAVE_STRUCT_IPV6_MREQ
+ else if (len == 16)
+ {
+ level = IPPROTO_IPV6;
+
+ /* Prefer new RFC 2553 names. */
+#ifndef IPV6_JOIN_GROUP
+#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
+#endif
+#ifndef IPV6_LEAVE_GROUP
+#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
+#endif
+
+ opname = join ? IPV6_JOIN_GROUP : IPV6_LEAVE_GROUP;
+ memcpy (&u.mreq6.ipv6mr_multiaddr, bytes, len);
+ // FIXME: If a non-default interface is set, use it; see Stevens p. 501.
+ // Maybe not, see note in last paragraph at bottom of Stevens p. 497.
+ u.mreq6.ipv6mr_interface = 0;
+ len = sizeof (struct ipv6_mreq);
+ ptr = (const char *) &u.mreq6;
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (::setsockopt (native_fd, level, opname, ptr, len) == 0)
+ return;
+
+ _Jv_ThrowIOException ();
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
+ ::java::lang::Object *value)
+{
+ int val;
+ socklen_t val_len = sizeof (val);
+
+ if (native_fd < 0)
+ throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed"));
+
+ if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$))
+ {
+ ::java::lang::Boolean *boolobj =
+ static_cast< ::java::lang::Boolean *> (value);
+ val = boolobj->booleanValue() ? 1 : 0;
+ }
+ else if (_Jv_IsInstanceOf (value, &::java::lang::Integer::class$))
+ {
+ ::java::lang::Integer *intobj =
+ static_cast< ::java::lang::Integer *> (value);
+ val = (int) intobj->intValue();
+ }
+ // Else assume value to be an InetAddress for use with IP_MULTICAST_IF.
+
+ switch (optID)
+ {
+ case _Jv_TCP_NODELAY_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("TCP_NODELAY not valid for UDP"));
+ return;
+ case _Jv_SO_LINGER_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_LINGER not valid for UDP"));
+ return;
+ case _Jv_SO_KEEPALIVE_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_KEEPALIVE not valid for UDP"));
+ return;
+
+ case _Jv_SO_BROADCAST_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+ val_len) != 0)
+ goto error;
+ break;
+
+ case _Jv_SO_OOBINLINE_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_OOBINLINE: not valid for UDP"));
+ break;
+
+ case _Jv_SO_SNDBUF_ :
+ case _Jv_SO_RCVBUF_ :
+ int opt;
+ optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+ if (::setsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, val_len) != 0)
+ goto error;
+ return;
+ case _Jv_SO_REUSEADDR_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+ val_len) != 0)
+ goto error;
+ return;
+ case _Jv_SO_BINDADDR_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_BINDADDR: read only option"));
+ return;
+ case _Jv_IP_MULTICAST_IF_ :
+ union InAddr u;
+ jbyteArray haddress;
+ jbyte *bytes;
+ int len;
+ int level, opname;
+ const char *ptr;
+
+ haddress = ((::java::net::InetAddress *) value)->addr;
+ bytes = elements (haddress);
+ len = haddress->length;
+ if (len == 4)
+ {
+ level = IPPROTO_IP;
+ opname = IP_MULTICAST_IF;
+ memcpy (&u.addr, bytes, len);
+ len = sizeof (struct in_addr);
+ ptr = (const char *) &u.addr;
+ }
+// Tru64 UNIX V5.0 has struct sockaddr_in6, but no IPV6_MULTICAST_IF
+#if defined (HAVE_INET6) && defined (IPV6_MULTICAST_IF)
+ else if (len == 16)
+ {
+ level = IPPROTO_IPV6;
+ opname = IPV6_MULTICAST_IF;
+ memcpy (&u.addr6, bytes, len);
+ len = sizeof (struct in6_addr);
+ ptr = (const char *) &u.addr6;
+ }
+#endif
+ else
+ throw
+ new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (::setsockopt (native_fd, level, opname, ptr, len) != 0)
+ goto error;
+ return;
+
+ case _Jv_IP_MULTICAST_IF2_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_IF2: not yet implemented"));
+ break;
+
+ case _Jv_IP_MULTICAST_LOOP_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_LOOP: not yet implemented"));
+ break;
+
+ case _Jv_IP_TOS_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+ val_len) != 0)
+ goto error;
+ return;
+
+ case _Jv_SO_TIMEOUT_ :
+ timeout = val;
+ return;
+ default :
+ WSASetLastError (WSAENOPROTOOPT);
+ }
+
+ error:
+ _Jv_ThrowSocketException ();
+}
+
+::java::lang::Object *
+gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
+{
+ int val;
+ socklen_t val_len = sizeof(val);
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+
+ switch (optID)
+ {
+ case _Jv_TCP_NODELAY_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("TCP_NODELAY not valid for UDP"));
+ break;
+ case _Jv_SO_LINGER_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_LINGER not valid for UDP"));
+ break;
+ case _Jv_SO_KEEPALIVE_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_KEEPALIVE not valid for UDP"));
+ break;
+
+ case _Jv_SO_BROADCAST_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Boolean (val != 0);
+
+ case _Jv_SO_OOBINLINE_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_OOBINLINE not valid for UDP"));
+ break;
+
+ case _Jv_SO_RCVBUF_ :
+ case _Jv_SO_SNDBUF_ :
+ int opt;
+ optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+ if (::getsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, &val_len) != 0)
+ goto error;
+ else
+ return new ::java::lang::Integer (val);
+ break;
+ case _Jv_SO_BINDADDR_:
+ // cache the local address
+ if (localAddress == NULL)
+ {
+ jbyteArray laddr;
+ if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != 0)
+ goto error;
+ if (u.address.sin_family == AF_INET)
+ {
+ laddr = JvNewByteArray (4);
+ memcpy (elements (laddr), &u.address.sin_addr, 4);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ laddr = JvNewByteArray (16);
+ memcpy (elements (laddr), &u.address6.sin6_addr, 16);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("invalid family"));
+ localAddress = ::java::net::InetAddress::getByAddress (laddr);
+ }
+ return localAddress;
+ break;
+ case _Jv_SO_REUSEADDR_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Boolean (val != 0);
+ break;
+ case _Jv_IP_MULTICAST_IF_ :
+ struct in_addr inaddr;
+ socklen_t inaddr_len;
+ char *bytes;
+
+ inaddr_len = sizeof(inaddr);
+ if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_IF, (char *) &inaddr,
+ &inaddr_len) != 0)
+ goto error;
+
+ bytes = inet_ntoa (inaddr);
+
+ return ::java::net::InetAddress::getByName (JvNewStringLatin1 (bytes));
+ break;
+ case _Jv_SO_TIMEOUT_ :
+ return new ::java::lang::Integer (timeout);
+ break;
+
+ case _Jv_IP_MULTICAST_IF2_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_IF2: not yet implemented"));
+ break;
+
+ case _Jv_IP_MULTICAST_LOOP_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, IP_MULTICAST_LOOP, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Boolean (val != 0);
+
+ case _Jv_IP_TOS_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Integer (val);
+
+ default :
+ WSASetLastError (WSAENOPROTOOPT);
+ }
+
+error:
+ _Jv_ThrowSocketException ();
+ return 0;
+ // we should never get here
+}
diff --git a/libjava/gnu/java/net/natPlainSocketImplNoNet.cc b/libjava/gnu/java/net/natPlainSocketImplNoNet.cc
new file mode 100644
index 000000000..a9138aff4
--- /dev/null
+++ b/libjava/gnu/java/net/natPlainSocketImplNoNet.cc
@@ -0,0 +1,132 @@
+/* Copyright (C) 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gnu/java/net/PlainSocketImpl.h>
+#include <gnu/java/net/PlainSocketImpl$SocketInputStream.h>
+#include <gnu/java/net/PlainSocketImpl$SocketOutputStream.h>
+#include <java/io/IOException.h>
+#include <java/net/BindException.h>
+#include <java/net/ConnectException.h>
+#include <java/net/SocketException.h>
+
+void
+gnu::java::net::PlainSocketImpl::create (jboolean)
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("SocketImpl.create: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::bind (::java::net::InetAddress *, jint)
+{
+ throw new ::java::net::BindException (
+ JvNewStringLatin1 ("SocketImpl.bind: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::connect (::java::net::SocketAddress *, jint)
+{
+ throw new ::java::net::ConnectException (
+ JvNewStringLatin1 ("SocketImpl.connect: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::listen (jint)
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("SocketImpl.listen: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::accept (gnu::java::net::PlainSocketImpl *)
+{
+ throw new ::java::io::IOException (
+ JvNewStringLatin1 ("SocketImpl.accept: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::setOption (jint, ::java::lang::Object *)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.setOption: unimplemented"));
+}
+
+::java::lang::Object *
+gnu::java::net::PlainSocketImpl::getOption (jint)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.getOption: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(void)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.read: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(jbyteArray buffer,
+ jint offset, jint count)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.read: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jint b)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.write: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jbyteArray b,
+ jint offset, jint len)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.write: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::sendUrgentData(jint data)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.sendUrgentData: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainSocketImpl::available(void)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.available: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::close(void)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.close: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownInput (void)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.shutdownInput: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownOutput (void)
+{
+ throw new ::java::net::SocketException (
+ JvNewStringLatin1 ("SocketImpl.shutdownOutput: unimplemented"));
+}
diff --git a/libjava/gnu/java/net/natPlainSocketImplPosix.cc b/libjava/gnu/java/net/natPlainSocketImplPosix.cc
new file mode 100644
index 000000000..e21013bf7
--- /dev/null
+++ b/libjava/gnu/java/net/natPlainSocketImplPosix.cc
@@ -0,0 +1,868 @@
+/* Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#ifdef HAVE_SYS_IOCTL_H
+#define BSD_COMP /* Get FIONREAD on Solaris2. */
+#include <sys/ioctl.h>
+#endif
+
+// Pick up FIONREAD on Solaris 2.5.
+#ifdef HAVE_SYS_FILIO_H
+#include <sys/filio.h>
+#endif
+
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <errno.h>
+#include <string.h>
+
+#if HAVE_BSTRING_H
+// Needed for bzero, implicitly used by FD_ZERO on IRIX 5.2
+#include <bstring.h>
+#endif
+
+#include <gcj/cni.h>
+#include <gcj/javaprims.h>
+#include <gnu/java/net/PlainSocketImpl.h>
+#include <gnu/java/net/PlainSocketImpl$SocketInputStream.h>
+#include <gnu/java/net/PlainSocketImpl$SocketOutputStream.h>
+#include <java/io/IOException.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/net/BindException.h>
+#include <java/net/ConnectException.h>
+#include <java/net/InetAddress.h>
+#include <java/net/InetSocketAddress.h>
+#include <java/net/SocketException.h>
+#include <java/net/SocketTimeoutException.h>
+#include <java/lang/InternalError.h>
+#include <java/lang/Object.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Class.h>
+#include <java/lang/Integer.h>
+#include <java/lang/Thread.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/IllegalArgumentException.h>
+#include <java/net/UnknownHostException.h>
+
+union SockAddr
+{
+ struct sockaddr_in address;
+#ifdef HAVE_INET6
+ struct sockaddr_in6 address6;
+#endif
+};
+
+void
+gnu::java::net::PlainSocketImpl::create (jboolean stream)
+{
+ // We might already have been create()d in the nio case.
+ if (native_fd != -1)
+ return;
+
+ int sock = _Jv_socket (AF_INET, stream ? SOCK_STREAM : SOCK_DGRAM, 0);
+
+ if (sock < 0)
+ {
+ char* strerr = strerror (errno);
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+ }
+
+ // We use native_fd in place of fd here. From leaving fd null we avoid
+ // the double close problem in FileDescriptor.finalize.
+ native_fd = sock;
+}
+
+void
+gnu::java::net::PlainSocketImpl::bind (::java::net::InetAddress *host, jint lport)
+{
+ union SockAddr u;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+ jbyteArray haddress = host->addr;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+ int i = 1;
+
+ // The following is needed for OS X/PPC, otherwise bind() fails with an
+ // error. I found the issue and following fix on some mailing list, but
+ // no explanation was given as to why this solved the problem.
+ memset (&u, 0, sizeof (u));
+
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+ memcpy (&u.address.sin_addr, bytes, len);
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (lport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (lport);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ // Enable SO_REUSEADDR, so that servers can reuse ports left in TIME_WAIT.
+ ::setsockopt(native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &i, sizeof(i));
+
+ if (_Jv_bind (native_fd, ptr, len) == 0)
+ {
+ socklen_t addrlen = sizeof(u);
+
+ if (lport != 0)
+ localport = lport;
+ else if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) == 0)
+ localport = ntohs (u.address.sin_port);
+ else
+ goto error;
+
+ return;
+ }
+
+ error:
+ char* strerr = strerror (errno);
+ throw new ::java::net::BindException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainSocketImpl::connect (::java::net::SocketAddress *addr,
+ jint timeout)
+{
+ ::java::net::InetSocketAddress *tmp = (::java::net::InetSocketAddress*) addr;
+ ::java::net::InetAddress *host = tmp->getAddress();
+ if (! host)
+ throw new ::java::net::UnknownHostException(tmp->toString());
+
+ jint rport = tmp->getPort();
+
+ // Set the SocketImpl's address and port fields before we try to
+ // connect. Note that the fact that these are set doesn't imply
+ // that we're actually connected to anything. We need to record
+ // this data before we attempt the connect, since non-blocking
+ // SocketChannels will use this and almost certainly throw timeout
+ // exceptions.
+ address = host;
+ port = rport;
+
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ jbyteArray haddress = host->addr;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+ memcpy (&u.address.sin_addr, bytes, len);
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (rport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (rport);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (timeout > 0)
+ {
+ int flags = ::fcntl (native_fd, F_GETFL);
+ ::fcntl (native_fd, F_SETFL, flags | O_NONBLOCK);
+
+ if ((_Jv_connect (native_fd, ptr, len) != 0) && (errno != EINPROGRESS))
+ goto error;
+
+ fd_set fset;
+ struct timeval tv;
+ FD_ZERO(&fset);
+ FD_SET(native_fd, &fset);
+ tv.tv_sec = timeout / 1000;
+ tv.tv_usec = (timeout % 1000) * 1000;
+ int retval;
+
+ if ((retval = _Jv_select (native_fd + 1, &fset, &fset, NULL, &tv)) < 0)
+ goto error;
+ else if (retval == 0)
+ throw new ::java::net::SocketTimeoutException
+ (JvNewStringUTF ("Connect timed out"));
+ // Set the socket back into a blocking state.
+ ::fcntl (native_fd, F_SETFL, flags);
+ }
+ else
+ {
+ if (_Jv_connect (native_fd, ptr, len) != 0)
+ goto error;
+ }
+
+ // A bind may not have been done on this socket; if so, set localport now.
+ if (localport == 0)
+ {
+ if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) == 0)
+ localport = ntohs (u.address.sin_port);
+ else
+ goto error;
+ }
+
+ return;
+
+ error:
+ char* strerr = strerror (errno);
+ throw new ::java::net::ConnectException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainSocketImpl::listen (jint backlog)
+{
+ if (::listen (native_fd, backlog) != 0)
+ {
+ char* strerr = strerror (errno);
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+ }
+}
+
+static void
+throw_on_sock_closed (gnu::java::net::PlainSocketImpl *soc_impl)
+{
+ // Avoid races from asynchronous close().
+ JvSynchronize sync (soc_impl);
+ if (soc_impl->native_fd == -1)
+ {
+ using namespace java::net;
+ // Socket was closed.
+ SocketException *se =
+ new SocketException (JvNewStringUTF ("Socket Closed"));
+ throw se;
+ }
+}
+
+void
+gnu::java::net::PlainSocketImpl::accept (gnu::java::net::PlainSocketImpl *s)
+{
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ int new_socket = 0;
+
+ // Do timeouts via select since SO_RCVTIMEO is not always available.
+ if (timeout > 0 && native_fd >= 0 && native_fd < FD_SETSIZE)
+ {
+ fd_set fset;
+ struct timeval tv;
+ FD_ZERO(&fset);
+ FD_SET(native_fd, &fset);
+ tv.tv_sec = timeout / 1000;
+ tv.tv_usec = (timeout % 1000) * 1000;
+ int retval;
+ if ((retval = _Jv_select (native_fd + 1, &fset, &fset, NULL, &tv)) < 0)
+ goto error;
+ else if (retval == 0)
+ throw new ::java::net::SocketTimeoutException (
+ JvNewStringUTF("Accept timed out"));
+ }
+
+ new_socket = _Jv_accept (native_fd, (sockaddr*) &u, &addrlen);
+
+ if (new_socket < 0)
+ goto error;
+
+ jbyteArray raddr;
+ jint rport;
+ if (u.address.sin_family == AF_INET)
+ {
+ raddr = JvNewByteArray (4);
+ memcpy (elements (raddr), &u.address.sin_addr, 4);
+ rport = ntohs (u.address.sin_port);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ raddr = JvNewByteArray (16);
+ memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+ rport = ntohs (u.address6.sin6_port);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+ s->native_fd = new_socket;
+ s->localport = localport;
+ s->address = ::java::net::InetAddress::getByAddress (raddr);
+ s->port = rport;
+ return;
+
+ error:
+ char* strerr = strerror (errno);
+ throw_on_sock_closed (this);
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+// Close(shutdown) the socket.
+void
+gnu::java::net::PlainSocketImpl::close()
+{
+ // Avoid races from asynchronous finalization.
+ JvSynchronize sync (this);
+
+ // Should we use shutdown here? Yes.
+ // How would that effect so_linger? Uncertain.
+ ::shutdown (native_fd, 2);
+ // Ignore errors in shutdown as we are closing and all the same
+ // errors are handled in the close.
+ int res = _Jv_close (native_fd);
+
+ if (res == -1)
+ {
+ // These three errors are not errors according to tests performed
+ // on the reference implementation.
+ if (errno != ENOTCONN && errno != ECONNRESET && errno != EBADF)
+ throw new ::java::io::IOException (JvNewStringUTF (strerror (errno)));
+ }
+ // Safe place to reset the file pointer.
+ native_fd = -1;
+ timeout = 0;
+}
+
+static void
+write_helper (jint native_fd, jbyte *bytes, jint len);
+
+// Write a byte to the socket.
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jint b)
+{
+ jbyte data = (jbyte) b;
+ write_helper (this$0->native_fd, &data, 1);
+}
+
+// Write some bytes to the socket.
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jbyteArray b, jint offset, jint len)
+{
+ if (! b)
+ throw new ::java::lang::NullPointerException;
+ if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+ throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+ write_helper (this$0->native_fd, elements (b) + offset, len);
+}
+
+static void
+write_helper(jint native_fd, jbyte *bytes, jint len)
+{
+ int written = 0;
+
+ while (len > 0)
+ {
+ int r = _Jv_write (native_fd, bytes, len);
+
+ if (r == -1)
+ {
+ if (::java::lang::Thread::interrupted())
+ {
+ ::java::io::InterruptedIOException *iioe
+ = new ::java::io::InterruptedIOException
+ (JvNewStringLatin1 (strerror (errno)));
+ iioe->bytesTransferred = written;
+ throw iioe;
+ }
+ // Some errors should not cause exceptions.
+ if (errno != ENOTCONN && errno != ECONNRESET && errno != EBADF)
+ throw new ::java::io::IOException (JvNewStringUTF (strerror (errno)));
+ break;
+ }
+
+ written += r;
+ len -= r;
+ bytes += r;
+ }
+}
+
+void
+gnu::java::net::PlainSocketImpl::sendUrgentData (jint)
+{
+ throw new ::java::net::SocketException (JvNewStringLatin1 (
+ "PlainSocketImpl: sending of urgent data not supported by this socket"));
+}
+
+static jint
+read_helper (gnu::java::net::PlainSocketImpl *soc_impl,
+ jbyte *bytes, jint count);
+
+// Read a single byte from the socket.
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(void)
+{
+ jbyte data;
+
+ if (read_helper (this$0, &data, 1) == 1)
+ return data & 0xFF;
+
+ return -1;
+}
+
+// Read count bytes into the buffer, starting at offset.
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(jbyteArray buffer,
+ jint offset,
+ jint count)
+{
+ if (! buffer)
+ throw new ::java::lang::NullPointerException;
+
+ jsize bsize = JvGetArrayLength (buffer);
+
+ if (offset < 0 || count < 0 || offset + count > bsize)
+ throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+ return read_helper (this$0, elements (buffer) + offset, count);
+}
+
+static jint
+read_helper (gnu::java::net::PlainSocketImpl *soc_impl,
+ jbyte *bytes, jint count)
+{
+ // If zero bytes were requested, short circuit so that recv
+ // doesn't signal EOF.
+ if (count == 0)
+ return 0;
+
+ // Do timeouts via select.
+ if (soc_impl->timeout > 0
+ && soc_impl->native_fd >= 0
+ && soc_impl->native_fd < FD_SETSIZE)
+ {
+ // Create the file descriptor set.
+ fd_set read_fds;
+ FD_ZERO (&read_fds);
+ FD_SET (soc_impl->native_fd, &read_fds);
+ // Create the timeout struct based on our internal timeout value.
+ struct timeval timeout_value;
+ timeout_value.tv_sec = soc_impl->timeout / 1000;
+ timeout_value.tv_usec =(soc_impl->timeout % 1000) * 1000;
+ // Select on the fds.
+ int sel_retval =
+ _Jv_select (soc_impl->native_fd + 1,
+ &read_fds, NULL, NULL, &timeout_value);
+ // We're only interested in the 0 return.
+ // error returns still require us to try to read
+ // the socket to see what happened.
+ if (sel_retval == 0)
+ {
+ ::java::net::SocketTimeoutException *timeoutException =
+ new ::java::net::SocketTimeoutException
+ (JvNewStringUTF ("Read timed out"));
+ throw timeoutException;
+ }
+ }
+
+ // Read the socket.
+ int r = ::recv (soc_impl->native_fd, (char *) bytes, count, 0);
+
+ if (r == 0)
+ {
+ throw_on_sock_closed (soc_impl);
+ return -1;
+ }
+
+ if (::java::lang::Thread::interrupted())
+ {
+ ::java::io::InterruptedIOException *iioe =
+ new ::java::io::InterruptedIOException
+ (JvNewStringUTF ("Read interrupted"));
+ iioe->bytesTransferred = r == -1 ? 0 : r;
+ throw iioe;
+ }
+ else if (r == -1)
+ {
+ throw_on_sock_closed (soc_impl);
+ // Some errors cause us to return end of stream...
+ if (errno == ENOTCONN)
+ return -1;
+
+ // Other errors need to be signalled.
+ throw new ::java::io::IOException (JvNewStringUTF (strerror (errno)));
+ }
+
+ return r;
+}
+
+// How many bytes are available?
+jint
+gnu::java::net::PlainSocketImpl::available(void)
+{
+#if defined(FIONREAD) || defined(HAVE_SELECT)
+ int num = 0;
+ int r = 0;
+ bool num_set = false;
+
+#if defined(FIONREAD)
+ r = ::ioctl (native_fd, FIONREAD, &num);
+
+ if (r == -1 && errno == ENOTTY)
+ {
+ // If the ioctl doesn't work, we don't care.
+ r = 0;
+ num = 0;
+ }
+ else
+ num_set = true;
+#elif defined(HAVE_SELECT)
+ if (native_fd < 0)
+ {
+ errno = EBADF;
+ r = -1;
+ }
+#endif
+
+ if (r == -1)
+ {
+ posix_error:
+ throw new ::java::io::IOException(JvNewStringUTF(strerror(errno)));
+ }
+
+ // If we didn't get anything we can use select.
+
+#if defined(HAVE_SELECT)
+ if (! num_set)
+ if (! num_set && native_fd >= 0 && native_fd < FD_SETSIZE)
+ {
+ fd_set rd;
+ FD_ZERO (&rd);
+ FD_SET (native_fd, &rd);
+ struct timeval tv;
+ tv.tv_sec = 0;
+ tv.tv_usec = 0;
+ r = _Jv_select (native_fd + 1, &rd, NULL, NULL, &tv);
+ if(r == -1)
+ goto posix_error;
+ num = r == 0 ? 0 : 1;
+ }
+#endif /* HAVE_SELECT */
+
+ return (jint) num;
+#else
+ throw new ::java::io::IOException (JvNewStringUTF ("unimplemented"));
+#endif
+}
+
+void
+gnu::java::net::PlainSocketImpl::setOption (jint optID, ::java::lang::Object *value)
+{
+ int val;
+ socklen_t val_len = sizeof (val);
+
+ if (native_fd < 0)
+ throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed"));
+
+ if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$))
+ {
+ ::java::lang::Boolean *boolobj =
+ static_cast< ::java::lang::Boolean *> (value);
+ if (boolobj->booleanValue())
+ val = 1;
+ else
+ {
+ if (optID == _Jv_SO_LINGER_)
+ val = -1;
+ else
+ val = 0;
+ }
+ }
+ else if (_Jv_IsInstanceOf (value, &::java::lang::Integer::class$))
+ {
+ ::java::lang::Integer *intobj =
+ static_cast< ::java::lang::Integer *> (value);
+ val = (int) intobj->intValue();
+ }
+ else
+ {
+ throw new ::java::lang::IllegalArgumentException (
+ JvNewStringLatin1 ("`value' must be Boolean or Integer"));
+ }
+
+ switch (optID)
+ {
+ case _Jv_TCP_NODELAY_ :
+#ifdef TCP_NODELAY
+ if (::setsockopt (native_fd, IPPROTO_TCP, TCP_NODELAY, (char *) &val,
+ val_len) != 0)
+ goto error;
+#else
+ throw new ::java::lang::InternalError
+ (JvNewStringUTF ("TCP_NODELAY not supported"));
+#endif /* TCP_NODELAY */
+ return;
+
+ case _Jv_SO_KEEPALIVE_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_KEEPALIVE, (char *) &val,
+ val_len) != 0)
+ goto error;
+ return;
+
+ case _Jv_SO_BROADCAST_ :
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("SO_BROADCAST not valid for TCP"));
+ return;
+
+ case _Jv_SO_OOBINLINE_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_OOBINLINE, (char *) &val,
+ val_len) != 0)
+ goto error;
+ return;
+
+ case _Jv_SO_LINGER_ :
+#ifdef SO_LINGER
+ struct linger l_val;
+ l_val.l_onoff = (val != -1);
+ l_val.l_linger = val;
+
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_LINGER, (char *) &l_val,
+ sizeof(l_val)) != 0)
+ goto error;
+#else
+ throw new ::java::lang::InternalError (
+ JvNewStringUTF ("SO_LINGER not supported"));
+#endif /* SO_LINGER */
+ return;
+
+ case _Jv_SO_SNDBUF_ :
+ case _Jv_SO_RCVBUF_ :
+#if defined(SO_SNDBUF) && defined(SO_RCVBUF)
+ int opt;
+ optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+ if (::setsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, val_len) != 0)
+ goto error;
+#else
+ throw new ::java::lang::InternalError (
+ JvNewStringUTF ("SO_RCVBUF/SO_SNDBUF not supported"));
+#endif
+ return;
+
+ case _Jv_SO_BINDADDR_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_BINDADDR: read only option"));
+ return;
+
+ case _Jv_IP_MULTICAST_IF_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_IF: not valid for TCP"));
+ return;
+
+ case _Jv_IP_MULTICAST_IF2_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_IF2: not valid for TCP"));
+ return;
+
+ case _Jv_IP_MULTICAST_LOOP_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_LOOP: not valid for TCP"));
+ return;
+
+ case _Jv_IP_TOS_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+ val_len) != 0)
+ goto error;
+ return;
+
+ case _Jv_SO_REUSEADDR_ :
+#if defined(SO_REUSEADDR)
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+ val_len) != 0)
+ goto error;
+ return;
+#else
+ throw new ::java::lang::InternalError (
+ JvNewStringUTF ("SO_REUSEADDR not supported"));
+#endif
+
+ case _Jv_SO_TIMEOUT_ :
+ timeout = val;
+ return;
+
+ default :
+ errno = ENOPROTOOPT;
+ }
+
+ error:
+ char* strerr = strerror (errno);
+ throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+}
+
+::java::lang::Object *
+gnu::java::net::PlainSocketImpl::getOption (jint optID)
+{
+ int val;
+ socklen_t val_len = sizeof(val);
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ struct linger l_val;
+ socklen_t l_val_len = sizeof(l_val);
+
+ switch (optID)
+ {
+#ifdef TCP_NODELAY
+ case _Jv_TCP_NODELAY_ :
+ if (::getsockopt (native_fd, IPPROTO_TCP, TCP_NODELAY, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ else
+ return new ::java::lang::Boolean (val != 0);
+#else
+ throw new ::java::lang::InternalError
+ (JvNewStringUTF ("TCP_NODELAY not supported"));
+#endif
+ break;
+
+ case _Jv_SO_LINGER_ :
+#ifdef SO_LINGER
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_LINGER, (char *) &l_val,
+ &l_val_len) != 0)
+ goto error;
+
+ if (l_val.l_onoff)
+ return new ::java::lang::Integer (l_val.l_linger);
+ else
+ return new ::java::lang::Boolean ((jboolean)false);
+#else
+ throw new ::java::lang::InternalError
+ (JvNewStringUTF ("SO_LINGER not supported"));
+#endif
+ break;
+
+ case _Jv_SO_KEEPALIVE_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_KEEPALIVE, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ else
+ return new ::java::lang::Boolean (val != 0);
+
+ case _Jv_SO_BROADCAST_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Boolean ((jboolean)val);
+
+ case _Jv_SO_OOBINLINE_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_OOBINLINE, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Boolean ((jboolean)val);
+
+ case _Jv_SO_RCVBUF_ :
+ case _Jv_SO_SNDBUF_ :
+#if defined(SO_SNDBUF) && defined(SO_RCVBUF)
+ int opt;
+ optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+ if (::getsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, &val_len) != 0)
+ goto error;
+ else
+ return new ::java::lang::Integer (val);
+#else
+ throw new ::java::lang::InternalError
+ (JvNewStringUTF ("SO_RCVBUF/SO_SNDBUF not supported"));
+#endif
+ break;
+ case _Jv_SO_BINDADDR_:
+ // cache the local address
+ if (localAddress == NULL)
+ {
+ jbyteArray laddr;
+
+ if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != 0)
+ goto error;
+
+ if (u.address.sin_family == AF_INET)
+ {
+ laddr = JvNewByteArray (4);
+ memcpy (elements (laddr), &u.address.sin_addr, 4);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ laddr = JvNewByteArray (16);
+ memcpy (elements (laddr), &u.address6.sin6_addr, 16);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("invalid family"));
+ localAddress = ::java::net::InetAddress::getByAddress (laddr);
+ }
+
+ return localAddress;
+ break;
+ case _Jv_IP_MULTICAST_IF_ :
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("IP_MULTICAST_IF: not valid for TCP"));
+ break;
+
+ case _Jv_IP_MULTICAST_IF2_ :
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("IP_MULTICAST_IF2: not valid for TCP"));
+ break;
+
+ case _Jv_IP_MULTICAST_LOOP_ :
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("IP_MULTICAST_LOOP: not valid for TCP"));
+ break;
+
+ case _Jv_IP_TOS_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+ &val_len) != 0)
+ goto error;
+ return new ::java::lang::Integer (val);
+ break;
+
+ case _Jv_SO_REUSEADDR_ :
+#if defined(SO_REUSEADDR)
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+ &val_len) != 0)
+ goto error;
+#else
+ throw new ::java::lang::InternalError (
+ JvNewStringUTF ("SO_REUSEADDR not supported"));
+#endif
+ break;
+
+ case _Jv_SO_TIMEOUT_ :
+ return new ::java::lang::Integer (timeout);
+ break;
+
+ default :
+ errno = ENOPROTOOPT;
+ }
+
+ error:
+ char* strerr = strerror (errno);
+ throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownInput (void)
+{
+ if (::shutdown (native_fd, 0))
+ throw new ::java::net::SocketException (JvNewStringUTF (strerror (errno)));
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownOutput (void)
+{
+ if (::shutdown (native_fd, 1))
+ throw new ::java::net::SocketException (JvNewStringUTF (strerror (errno)));
+}
diff --git a/libjava/gnu/java/net/natPlainSocketImplWin32.cc b/libjava/gnu/java/net/natPlainSocketImplWin32.cc
new file mode 100644
index 000000000..9377998f5
--- /dev/null
+++ b/libjava/gnu/java/net/natPlainSocketImplWin32.cc
@@ -0,0 +1,796 @@
+/* Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#undef STRICT
+#undef MAX_PRIORITY
+#undef MIN_PRIORITY
+
+#include <gnu/java/net/PlainSocketImpl.h>
+#include <gnu/java/net/PlainSocketImpl$SocketInputStream.h>
+#include <gnu/java/net/PlainSocketImpl$SocketOutputStream.h>
+#include <java/io/IOException.h>
+#include <java/net/BindException.h>
+#include <java/net/ConnectException.h>
+#include <java/net/InetAddress.h>
+#include <java/net/InetSocketAddress.h>
+#include <java/net/SocketException.h>
+#include <java/net/SocketTimeoutException.h>
+#include <java/lang/InternalError.h>
+#include <java/lang/Object.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Class.h>
+#include <java/lang/Integer.h>
+#include <java/lang/Thread.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/IllegalArgumentException.h>
+
+union SockAddr
+{
+ struct sockaddr_in address;
+#ifdef HAVE_INET6
+ struct sockaddr_in6 address6;
+#endif
+};
+
+void
+gnu::java::net::PlainSocketImpl::create (jboolean stream)
+{
+ SOCKET sock = ::socket (AF_INET, stream ? SOCK_STREAM : SOCK_DGRAM, 0);
+
+ if (sock == INVALID_SOCKET)
+ {
+ _Jv_ThrowIOException ();
+ }
+
+ // Cast this to a HANDLE so we can make
+ // it non-inheritable via _Jv_platform_close_on_exec.
+ HANDLE hSocket = (HANDLE) sock;
+ _Jv_platform_close_on_exec (hSocket);
+
+ // We use native_fd in place of fd here. From leaving fd null we avoid
+ // the double close problem in FileDescriptor.finalize.
+ native_fd = (jint) hSocket;
+}
+
+void
+gnu::java::net::PlainSocketImpl::bind (::java::net::InetAddress *host, jint lport)
+{
+ union SockAddr u;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+ jbyteArray haddress = host->addr;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+
+ if (host != NULL)
+ memcpy (&u.address.sin_addr, bytes, len);
+ else
+ u.address.sin_addr.s_addr = htonl (INADDR_ANY);
+
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (lport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (lport);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (::bind (native_fd, ptr, len) != SOCKET_ERROR)
+ {
+ socklen_t addrlen = sizeof(u);
+
+ if (lport != 0)
+ localport = lport;
+ else if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != SOCKET_ERROR)
+ localport = ntohs (u.address.sin_port);
+ else
+ goto error;
+
+ return;
+ }
+
+error:
+ DWORD dwErrorCode = WSAGetLastError ();
+ throw new ::java::net::BindException (_Jv_WinStrError (dwErrorCode));
+}
+
+static void
+throwConnectException (DWORD dwErrorCode)
+{
+ throw new ::java::net::ConnectException (_Jv_WinStrError (dwErrorCode));
+}
+
+static void
+throwConnectException ()
+{
+ throwConnectException (WSAGetLastError ());
+}
+
+void
+gnu::java::net::PlainSocketImpl::connect (::java::net::SocketAddress *addr,
+ jint timeout)
+{
+ ::java::net::InetSocketAddress *tmp = (::java::net::InetSocketAddress*) addr;
+ ::java::net::InetAddress *host = tmp->getAddress();
+ jint rport = tmp->getPort();
+
+ // Set the SocketImpl's address and port fields before we try to
+ // connect. Note that the fact that these are set doesn't imply
+ // that we're actually connected to anything. We need to record
+ // this data before we attempt the connect, since non-blocking
+ // SocketChannels will use this and almost certainly throw timeout
+ // exceptions.
+ address = host;
+ port = rport;
+
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ jbyteArray haddress = host->addr;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+ memcpy (&u.address.sin_addr, bytes, len);
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (rport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (rport);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+ if (timeout > 0)
+ {
+ // FIXME: we're creating a fresh WSAEVENT for each connect().
+ WSAEventWrapper aWSAEventWrapper(native_fd, FD_CONNECT);
+ WSAEVENT hEvent = aWSAEventWrapper.getEventHandle ();
+
+ if (::connect (native_fd, ptr, len) == SOCKET_ERROR)
+ {
+ if (WSAGetLastError () != WSAEWOULDBLOCK)
+ throwConnectException ();
+
+ DWORD dwRet =
+ WSAWaitForMultipleEvents (1, &hEvent, true, timeout, false);
+ // use true, false instead of TRUE, FALSE because the
+ // MS constants got undefined
+
+ // Reset and ignore our thread's interrupted flag.
+ // It's not possible to interrupt these sort of
+ // operations on Win32 anyway.
+ ::java::lang::Thread::interrupted();
+
+ if (dwRet == WSA_WAIT_FAILED)
+ throwConnectException ();
+ else if (dwRet == WSA_WAIT_TIMEOUT)
+ throw new ::java::net::SocketTimeoutException
+ (JvNewStringUTF ("connect timed out"));
+
+ // If we get here, we still need to check whether the actual
+ // connect() succeeded. Use any socket-specific error code
+ // instead of the thread-based one.
+ int nErrCode; int nErrLen=sizeof(nErrCode);
+ if (::getsockopt(native_fd, SOL_SOCKET, SO_ERROR, (char*) &nErrCode,
+ &nErrLen) == SOCKET_ERROR)
+ {
+ throwConnectException ();
+ }
+
+ if (nErrCode != NO_ERROR)
+ {
+ throwConnectException (nErrCode);
+ }
+ }
+ }
+ else
+ {
+ if (::connect (native_fd, ptr, len) == SOCKET_ERROR)
+ throwConnectException();
+ }
+
+ // A bind may not have been done on this socket; if so, set localport now.
+ if (localport == 0)
+ {
+ if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != SOCKET_ERROR)
+ localport = ntohs (u.address.sin_port);
+ else
+ throwConnectException();
+ }
+}
+
+void
+gnu::java::net::PlainSocketImpl::listen (jint backlog)
+{
+ if (::listen (native_fd, backlog) == SOCKET_ERROR)
+ {
+ _Jv_ThrowIOException ();
+ }
+}
+
+void
+gnu::java::net::PlainSocketImpl::accept (gnu::java::net::PlainSocketImpl *s)
+{
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ HANDLE hSocket = 0;
+ SOCKET new_socket = 0;
+
+ if (timeout > 0)
+ {
+ // FIXME: we're creating a fresh WSAEVENT for each accept().
+ // One possible alternative would be that native_fd really points
+ // to an extended structure consisting of the SOCKET, its
+ // associated WSAEVENT, etc.
+ WSAEventWrapper aWSAEventWrapper(native_fd, FD_ACCEPT);
+ WSAEVENT hEvent = aWSAEventWrapper.getEventHandle ();
+
+ for (;;)
+ {
+ new_socket = ::accept (native_fd, (sockaddr*) &u, &addrlen);
+
+ if (new_socket != INVALID_SOCKET)
+ {
+ // This new child socket is nonblocking because the parent
+ // socket became nonblocking via the WSAEventSelect() call,
+ // so we set its mode back to blocking.
+ WSAEventSelect (new_socket, hEvent, 0);
+ // undo the hEvent <-> FD_ACCEPT association inherited
+ // inherited from our parent socket
+
+ unsigned long lSockOpt = 0L;
+ // blocking mode
+ if (ioctlsocket(new_socket, FIONBIO, &lSockOpt) == SOCKET_ERROR)
+ {
+ goto error;
+ }
+ break;
+ }
+ else if (WSAGetLastError () != WSAEWOULDBLOCK)
+ {
+ goto error;
+ }
+
+ DWORD dwRet =
+ WSAWaitForMultipleEvents (1, &hEvent, true, timeout, false);
+ // use true, false instead of TRUE, FALSE because the
+ // MS constants got undefined
+
+ // Reset and ignore our thread's interrupted flag.
+ ::java::lang::Thread::interrupted();
+
+ if (dwRet == WSA_WAIT_FAILED)
+ goto error;
+ else if (dwRet == WSA_WAIT_TIMEOUT)
+ throw new ::java::net::SocketTimeoutException
+ (JvNewStringUTF ("Accept timed out"));
+ }
+ }
+ else
+ {
+ new_socket = ::accept (native_fd, (sockaddr*) &u, &addrlen);
+ }
+
+ if (new_socket == INVALID_SOCKET)
+ goto error;
+
+ // Cast this to a HANDLE so we can make
+ // it non-inheritable via _Jv_platform_close_on_exec.
+ hSocket = (HANDLE) new_socket;
+ _Jv_platform_close_on_exec (hSocket);
+
+ jbyteArray raddr;
+ jint rport;
+ if (u.address.sin_family == AF_INET)
+ {
+ raddr = JvNewByteArray (4);
+ memcpy (elements (raddr), &u.address.sin_addr, 4);
+ rport = ntohs (u.address.sin_port);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ raddr = JvNewByteArray (16);
+ memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+ rport = ntohs (u.address6.sin6_port);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+ s->native_fd = (jint) hSocket;
+ s->localport = localport;
+ s->address = ::java::net::InetAddress::getByAddress (raddr);
+ s->port = rport;
+ return;
+
+ error:
+ _Jv_ThrowIOException ();
+}
+
+// Close(shutdown) the socket.
+void
+gnu::java::net::PlainSocketImpl::close()
+{
+ // Avoid races from asynchronous finalization.
+ JvSynchronize sync (this);
+
+ // should we use shutdown here? how would that effect so_linger?
+ int res = ::closesocket (native_fd);
+
+ if (res == -1)
+ {
+ // These three errors are not errors according to tests performed
+ // on the reference implementation.
+ DWORD dwErr = WSAGetLastError();
+ if (dwErr != WSAENOTCONN && dwErr != WSAECONNRESET
+ && dwErr != WSAENOTSOCK)
+ _Jv_ThrowIOException ();
+ }
+ // Safe place to reset the file pointer.
+ native_fd = -1;
+ timeout = 0;
+}
+
+// Write a byte to the socket.
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jint b)
+{
+ jbyte d =(jbyte) b;
+ int r = 0;
+
+ while (r != 1)
+ {
+ r = ::send (this$0->native_fd, (char*) &d, 1, 0);
+ if (r == -1)
+ {
+ DWORD dwErr = WSAGetLastError();
+
+ // Reset and ignore our thread's interrupted flag.
+ // It's not possible to interrupt these sort of
+ // operations on Win32 anyway.
+ ::java::lang::Thread::interrupted();
+
+ // Some errors should not cause exceptions.
+ if (dwErr != WSAENOTCONN && dwErr != WSAECONNRESET
+ && dwErr != WSAENOTSOCK)
+ _Jv_ThrowIOException ();
+ break;
+ }
+ }
+}
+
+// Write some bytes to the socket.
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jbyteArray b,
+ jint offset, jint len)
+{
+ if (! b)
+ throw new ::java::lang::NullPointerException;
+ if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+ throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+ jbyte *bytes = elements (b) + offset;
+ int written = 0;
+ while (len > 0)
+ {
+ int r = ::send (this$0->native_fd, (char*) bytes, len, 0);
+
+ if (r == -1)
+ {
+ DWORD dwErr = WSAGetLastError();
+
+ // Reset and ignore our thread's interrupted flag.
+ ::java::lang::Thread::interrupted();
+
+ // Some errors should not cause exceptions.
+ if (dwErr != WSAENOTCONN && dwErr != WSAECONNRESET
+ && dwErr != WSAENOTSOCK)
+ _Jv_ThrowIOException ();
+ break;
+ }
+
+ written += r;
+ len -= r;
+ bytes += r;
+ }
+}
+
+void
+gnu::java::net::PlainSocketImpl::sendUrgentData (jint)
+{
+ throw new ::java::net::SocketException (JvNewStringLatin1 (
+ "PlainSocketImpl: sending of urgent data not supported by this socket"));
+}
+
+// read() helper
+static jint
+doRead(int native_fd, void* buf, int count, int timeout)
+{
+ int r = 0;
+ DWORD dwErrorCode = 0;
+ // we are forced to declare this here because
+ // a call to Thread::interrupted() blanks out
+ // WSAGetLastError().
+
+ // FIXME: we unconditionally set SO_RCVTIMEO here
+ // because we can't detect whether someone has
+ // gone from a non-zero to zero timeout. What we'd
+ // really need is a member state variable in addition
+ // to timeout
+ int nRet= ::setsockopt(native_fd, SOL_SOCKET, SO_RCVTIMEO,
+ (char*)&timeout, sizeof(timeout));
+ if (nRet != NO_ERROR)
+ {
+ dwErrorCode = WSAGetLastError ();
+ goto error;
+ }
+
+ r = ::recv (native_fd, (char*) buf, count, 0);
+
+ if (r == 0)
+ return -1;
+
+ dwErrorCode = WSAGetLastError ();
+ // save WSAGetLastError() before calling Thread.interrupted()
+
+ // Reset and ignore our thread's interrupted flag.
+ ::java::lang::Thread::interrupted();
+
+ if (r == -1)
+ {
+error:
+ // Some errors cause us to return end of stream...
+ if (dwErrorCode == WSAENOTCONN)
+ return -1;
+
+ // Other errors need to be signalled.
+ if (dwErrorCode == WSAETIMEDOUT)
+ throw new ::java::net::SocketTimeoutException
+ (JvNewStringUTF ("Read timed out") );
+ else
+ _Jv_ThrowIOException (dwErrorCode);
+ }
+
+ return r;
+}
+
+// Read a single byte from the socket.
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(void)
+{
+ jbyte b;
+ doRead(this$0->native_fd, &b, 1, this$0->timeout);
+ return b & 0xFF;
+}
+
+// Read count bytes into the buffer, starting at offset.
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(jbyteArray buffer,
+ jint offset, jint count)
+{
+ // If zero bytes were requested, short circuit so that recv
+ // doesn't signal EOF.
+ if (count == 0)
+ return 0;
+
+ if (! buffer)
+ throw new ::java::lang::NullPointerException;
+
+ jsize bsize = JvGetArrayLength (buffer);
+
+ if (offset < 0 || count < 0 || offset + count > bsize)
+ throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+ jbyte *bytes = elements (buffer) + offset;
+
+ // Read the socket.
+ return doRead(this$0->native_fd, bytes, count, this$0->timeout);
+}
+
+// How many bytes are available?
+jint
+gnu::java::net::PlainSocketImpl::available(void)
+{
+ unsigned long num = 0;
+
+ if (::ioctlsocket (native_fd, FIONREAD, &num) == SOCKET_ERROR)
+ _Jv_ThrowIOException ();
+
+ return (jint) num;
+}
+
+void
+gnu::java::net::PlainSocketImpl::setOption (jint optID, ::java::lang::Object *value)
+{
+ int val;
+ socklen_t val_len = sizeof (val);
+
+ if (native_fd < 0)
+ throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed"));
+
+ if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$))
+ {
+ ::java::lang::Boolean *boolobj =
+ static_cast< ::java::lang::Boolean *> (value);
+ if (boolobj->booleanValue())
+ val = 1;
+ else
+ {
+ if (optID == _Jv_SO_LINGER_)
+ val = -1;
+ else
+ val = 0;
+ }
+ }
+ else if (_Jv_IsInstanceOf (value, &::java::lang::Integer::class$))
+ {
+ ::java::lang::Integer *intobj =
+ static_cast< ::java::lang::Integer *> (value);
+ val = (int) intobj->intValue();
+ }
+ else
+ {
+ throw new ::java::lang::IllegalArgumentException (
+ JvNewStringLatin1 ("`value' must be Boolean or Integer"));
+ }
+
+ switch (optID)
+ {
+ case _Jv_TCP_NODELAY_ :
+ if (::setsockopt (native_fd, IPPROTO_TCP, TCP_NODELAY, (char *) &val,
+ val_len) == SOCKET_ERROR)
+ goto error;
+ return;
+
+ case _Jv_SO_KEEPALIVE_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_KEEPALIVE, (char *) &val,
+ val_len) == SOCKET_ERROR)
+ goto error;
+ break;
+
+ case _Jv_SO_BROADCAST_ :
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("SO_BROADCAST not valid for TCP"));
+ break;
+
+ case _Jv_SO_OOBINLINE_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_OOBINLINE, (char *) &val,
+ val_len) == SOCKET_ERROR)
+ goto error;
+ break;
+
+ case _Jv_SO_LINGER_ :
+ struct linger l_val;
+ l_val.l_onoff = (val != -1);
+ l_val.l_linger = val;
+
+ if (::setsockopt (native_fd, SOL_SOCKET, SO_LINGER, (char *) &l_val,
+ sizeof(l_val)) == SOCKET_ERROR)
+ goto error;
+ return;
+
+ case _Jv_SO_SNDBUF_ :
+ case _Jv_SO_RCVBUF_ :
+ int opt;
+ optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+ if (::setsockopt (native_fd, SOL_SOCKET, opt, (char *) &val,
+ val_len) == SOCKET_ERROR)
+ goto error;
+ return;
+
+ case _Jv_SO_BINDADDR_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_BINDADDR: read only option"));
+ return;
+
+ case _Jv_IP_MULTICAST_IF_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_IF: not valid for TCP"));
+ return;
+
+ case _Jv_IP_MULTICAST_IF2_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_IF2: not valid for TCP"));
+ break;
+
+ case _Jv_IP_MULTICAST_LOOP_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("IP_MULTICAST_LOOP: not valid for TCP"));
+ break;
+
+ case _Jv_IP_TOS_ :
+ if (::setsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+ val_len) == SOCKET_ERROR)
+ goto error;
+ break;
+
+ case _Jv_SO_REUSEADDR_ :
+ throw new ::java::net::SocketException (
+ JvNewStringUTF ("SO_REUSEADDR: not valid for TCP"));
+ return;
+
+ case _Jv_SO_TIMEOUT_ :
+ timeout = val;
+ return;
+
+ default :
+ WSASetLastError (WSAENOPROTOOPT);
+ }
+
+error:
+ _Jv_ThrowSocketException ();
+}
+
+::java::lang::Object *
+gnu::java::net::PlainSocketImpl::getOption (jint optID)
+{
+ int val;
+ socklen_t val_len = sizeof(val);
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ struct linger l_val;
+ socklen_t l_val_len = sizeof(l_val);
+
+ switch (optID)
+ {
+ case _Jv_TCP_NODELAY_ :
+ if (::getsockopt (native_fd, IPPROTO_TCP, TCP_NODELAY, (char *) &val,
+ &val_len) == SOCKET_ERROR)
+ goto error;
+ else
+ return new ::java::lang::Boolean (val != 0);
+ break;
+
+ case _Jv_SO_LINGER_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_LINGER, (char *) &l_val,
+ &l_val_len) == SOCKET_ERROR)
+ goto error;
+
+ if (l_val.l_onoff)
+ return new ::java::lang::Integer (l_val.l_linger);
+ else
+ return new ::java::lang::Boolean ((jboolean)false);
+ break;
+
+ case _Jv_SO_KEEPALIVE_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_KEEPALIVE, (char *) &val,
+ &val_len) == SOCKET_ERROR)
+ goto error;
+ else
+ return new ::java::lang::Boolean (val != 0);
+
+ case _Jv_SO_BROADCAST_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+ &val_len) == SOCKET_ERROR)
+ goto error;
+ return new ::java::lang::Boolean ((jboolean)val);
+
+ case _Jv_SO_OOBINLINE_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, SO_OOBINLINE, (char *) &val,
+ &val_len) == SOCKET_ERROR)
+ goto error;
+ return new ::java::lang::Boolean ((jboolean)val);
+
+ case _Jv_SO_RCVBUF_ :
+ case _Jv_SO_SNDBUF_ :
+ int opt;
+ optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+ if (::getsockopt (native_fd, SOL_SOCKET, opt, (char *) &val,
+ &val_len) == SOCKET_ERROR)
+ goto error;
+ else
+ return new ::java::lang::Integer (val);
+ break;
+ case _Jv_SO_BINDADDR_:
+ // cache the local address
+ if (localAddress == NULL)
+ {
+ jbyteArray laddr;
+
+ if (::getsockname (native_fd, (sockaddr*) &u,
+ &addrlen) == SOCKET_ERROR)
+ goto error;
+
+ if (u.address.sin_family == AF_INET)
+ {
+ laddr = JvNewByteArray (4);
+ memcpy (elements (laddr), &u.address.sin_addr, 4);
+ }
+#ifdef HAVE_INET6
+ else if (u.address.sin_family == AF_INET6)
+ {
+ laddr = JvNewByteArray (16);
+ memcpy (elements (laddr), &u.address6.sin6_addr, 16);
+ }
+#endif
+ else
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("invalid family"));
+ localAddress = ::java::net::InetAddress::getByAddress (laddr);
+ }
+
+ return localAddress;
+ break;
+ case _Jv_IP_MULTICAST_IF_ :
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("IP_MULTICAST_IF: not valid for TCP"));
+ break;
+
+ case _Jv_IP_MULTICAST_IF2_ :
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("IP_MULTICAST_IF2: not valid for TCP"));
+ break;
+
+ case _Jv_IP_MULTICAST_LOOP_ :
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("IP_MULTICAST_LOOP: not valid for TCP"));
+ break;
+
+ case _Jv_IP_TOS_ :
+ if (::getsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+ &val_len) == SOCKET_ERROR)
+ goto error;
+ return new ::java::lang::Integer (val);
+ break;
+
+ case _Jv_SO_REUSEADDR_ :
+ throw new ::java::net::SocketException
+ (JvNewStringUTF ("SO_REUSEADDR: not valid for TCP"));
+ break;
+
+ case _Jv_SO_TIMEOUT_ :
+ return new ::java::lang::Integer (timeout);
+ break;
+
+ default :
+ WSASetLastError (WSAENOPROTOOPT);
+ }
+
+error:
+ _Jv_ThrowSocketException ();
+ return 0;
+ // we should never get here
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownInput (void)
+{
+ if (::shutdown (native_fd, 0))
+ _Jv_ThrowSocketException ();
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownOutput (void)
+{
+ if (::shutdown (native_fd, 1))
+ _Jv_ThrowSocketException ();
+}
diff --git a/libjava/gnu/java/net/protocol/core/Connection.h b/libjava/gnu/java/net/protocol/core/Connection.h
new file mode 100644
index 000000000..d09908b4c
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/core/Connection.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_core_Connection__
+#define __gnu_java_net_protocol_core_Connection__
+
+#pragma interface
+
+#include <java/net/URLConnection.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace gcj
+ {
+ class Core;
+ }
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace core
+ {
+ class Connection;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::net::protocol::core::Connection : public ::java::net::URLConnection
+{
+
+public:
+ Connection(::java::net::URL *);
+ virtual void connect();
+ virtual ::java::io::InputStream * getInputStream();
+ virtual ::java::lang::String * getHeaderField(::java::lang::String *);
+ virtual ::java::util::Map * getHeaderFields();
+ virtual ::java::lang::String * getHeaderField(jint);
+ virtual ::java::lang::String * getHeaderFieldKey(jint);
+private:
+ ::java::lang::String * getKey(::java::lang::String *);
+ ::java::lang::String * getField(::java::lang::String *);
+ void getHeaders();
+ ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::net::URLConnection)))) hdrHash;
+ ::java::util::Vector * hdrVec;
+ jboolean gotHeaders;
+ ::gnu::gcj::Core * core;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_core_Connection__
diff --git a/libjava/gnu/java/net/protocol/core/Connection.java b/libjava/gnu/java/net/protocol/core/Connection.java
new file mode 100644
index 000000000..2319c0be9
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/core/Connection.java
@@ -0,0 +1,172 @@
+// Connection.java - Implementation of URLConnection for core protocol.
+
+/* Copyright (C) 2001, 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.java.net.protocol.core;
+
+import gnu.gcj.Core;
+import java.io.InputStream;
+import java.io.IOException;
+import java.net.ProtocolException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Map;
+import java.util.Vector;
+import java.util.Hashtable;
+import java.util.Enumeration;
+
+/**
+ * @author Anthony Green <green@redhat.com>
+ * @date August 13, 2001
+ */
+
+class Connection extends URLConnection
+{
+ private Hashtable hdrHash = new Hashtable();
+ private Vector hdrVec = new Vector();
+ private boolean gotHeaders = false;
+
+ private Core core;
+
+ public Connection (URL url)
+ {
+ super(url);
+ }
+
+ // Implementation of abstract method.
+ public void connect() throws IOException
+ {
+ // Call is ignored if already connected.
+ if (connected)
+ return;
+
+ // If not connected, then file needs to be opened.
+ core = Core.create (url.getFile());
+ connected = true;
+ }
+
+ public InputStream getInputStream() throws IOException
+ {
+ if (!connected)
+ connect();
+
+ if (! doInput)
+ throw new ProtocolException("Can't open InputStream if doInput is false");
+ return new CoreInputStream (core);
+ }
+
+ // Override default method in URLConnection.
+ public String getHeaderField(String name)
+ {
+ try
+ {
+ getHeaders();
+ }
+ catch (IOException x)
+ {
+ return null;
+ }
+ return (String) hdrHash.get(name.toLowerCase());
+ }
+
+ // Override default method in URLConnection.
+ public Map getHeaderFields()
+ {
+ try
+ {
+ getHeaders();
+ }
+ catch (IOException x)
+ {
+ return null;
+ }
+ return hdrHash;
+ }
+
+ // Override default method in URLConnection.
+ public String getHeaderField(int n)
+ {
+ try
+ {
+ getHeaders();
+ }
+ catch (IOException x)
+ {
+ return null;
+ }
+ if (n < hdrVec.size())
+ return getField ((String) hdrVec.elementAt(n));
+
+ return null;
+ }
+
+ // Override default method in URLConnection.
+ public String getHeaderFieldKey(int n)
+ {
+ try
+ {
+ getHeaders();
+ }
+ catch (IOException x)
+ {
+ return null;
+ }
+ if (n < hdrVec.size())
+ return getKey ((String) hdrVec.elementAt(n));
+
+ return null;
+ }
+
+ private String getKey(String str)
+ {
+ if (str == null)
+ return null;
+ int index = str.indexOf(':');
+ if (index >= 0)
+ return str.substring(0, index);
+ else
+ return null;
+ }
+
+ private String getField(String str)
+ {
+ if (str == null)
+ return null;
+ int index = str.indexOf(':');
+ if (index >= 0)
+ return str.substring(index + 1).trim();
+ else
+ return str;
+ }
+
+ private void getHeaders() throws IOException
+ {
+ if (gotHeaders)
+ return;
+ gotHeaders = true;
+
+ connect();
+
+ // Yes, it is overkill to use the hash table and vector here since
+ // we're only putting one header in the file, but in case we need
+ // to add others later and for consistency, we'll implement it this way.
+
+ // Add the only header we know about right now: Content-length.
+ long len = core.length;
+ String line = "Content-length: " + len;
+ hdrVec.addElement(line);
+
+ // The key will never be null in this scenario since we build up the
+ // headers ourselves. If we ever rely on getting a header from somewhere
+ // else, then we may have to check if the result of getKey() is null.
+ String key = getKey(line);
+ hdrHash.put(key.toLowerCase(), Long.toString(len));
+ }
+}
+
diff --git a/libjava/gnu/java/net/protocol/core/CoreInputStream.h b/libjava/gnu/java/net/protocol/core/CoreInputStream.h
new file mode 100644
index 000000000..d6beb3965
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/core/CoreInputStream.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_core_CoreInputStream__
+#define __gnu_java_net_protocol_core_CoreInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace gcj
+ {
+ class Core;
+ class RawData;
+ }
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace core
+ {
+ class CoreInputStream;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::core::CoreInputStream : public ::java::io::InputStream
+{
+
+ jint unsafeGetByte(jlong);
+ jint copyIntoByteArray(JArray< jbyte > *, jint, jint);
+public:
+ CoreInputStream(::gnu::gcj::Core *);
+ virtual jint available();
+ virtual void mark(jint);
+ virtual jboolean markSupported();
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual void reset();
+ virtual jlong skip(jlong);
+public: // actually protected
+ ::gnu::gcj::RawData * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) ptr;
+ jint pos;
+ jint mark__;
+ jint count;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_core_CoreInputStream__
diff --git a/libjava/gnu/java/net/protocol/core/CoreInputStream.java b/libjava/gnu/java/net/protocol/core/CoreInputStream.java
new file mode 100644
index 000000000..421bb1c47
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/core/CoreInputStream.java
@@ -0,0 +1,90 @@
+// Handler.java - URLStreamHandler for core protocol.
+
+/* Copyright (C) 2001 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.java.net.protocol.core;
+
+import gnu.gcj.Core;
+import gnu.gcj.RawData;
+import java.io.InputStream;
+import java.io.IOException;
+
+public class CoreInputStream extends InputStream
+{
+ /* A pointer to the object in memory. */
+ protected RawData ptr;
+
+ /* Position of the next byte in core to be read. */
+ protected int pos;
+
+ /* The currently marked position in the stream. */
+ protected int mark;
+
+ /* The index in core one greater than the last valid character. */
+ protected int count;
+
+ private native int unsafeGetByte (long offset);
+ private native int copyIntoByteArray (byte[] dest, int offset, int numBytes);
+
+ public CoreInputStream (Core core)
+ {
+ ptr = core.ptr;
+ count = core.length;
+ }
+
+ public synchronized int available()
+ {
+ return count - pos;
+ }
+
+ public synchronized void mark(int readAheadLimit)
+ {
+ // readAheadLimit is ignored per Java Class Lib. book, p.220.
+ mark = pos;
+ }
+
+ public boolean markSupported()
+ {
+ return true;
+ }
+
+ public synchronized int read()
+ {
+ if (pos < count)
+ return ((int) unsafeGetByte(pos++)) & 0xFF;
+ return -1;
+ }
+
+ public synchronized int read(byte[] b, int off, int len)
+ {
+ if (pos >= count)
+ return -1;
+
+ int numBytes = Math.min(count - pos, len);
+ copyIntoByteArray (b, off, numBytes);
+ pos += numBytes;
+ return numBytes;
+ }
+
+ public synchronized void reset()
+ {
+ pos = mark;
+ }
+
+ public synchronized long skip(long n)
+ {
+ // Even though the var numBytes is a long, in reality it can never
+ // be larger than an int since the result of subtracting 2 positive
+ // ints will always fit in an int. Since we have to return a long
+ // anyway, numBytes might as well just be a long.
+ long numBytes = Math.min ((long) (count - pos), n < 0 ? 0L : n);
+ pos += numBytes;
+ return numBytes;
+ }
+}
diff --git a/libjava/gnu/java/net/protocol/core/Handler.h b/libjava/gnu/java/net/protocol/core/Handler.h
new file mode 100644
index 000000000..364e21abb
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/core/Handler.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_core_Handler__
+#define __gnu_java_net_protocol_core_Handler__
+
+#pragma interface
+
+#include <java/net/URLStreamHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace core
+ {
+ class Handler;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLConnection;
+ }
+ }
+}
+
+class gnu::java::net::protocol::core::Handler : public ::java::net::URLStreamHandler
+{
+
+public:
+ Handler();
+public: // actually protected
+ virtual ::java::net::URLConnection * openConnection(::java::net::URL *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_core_Handler__
diff --git a/libjava/gnu/java/net/protocol/core/Handler.java b/libjava/gnu/java/net/protocol/core/Handler.java
new file mode 100644
index 000000000..8726172d2
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/core/Handler.java
@@ -0,0 +1,28 @@
+// Handler.java - URLStreamHandler for core protocol.
+
+/* Copyright (C) 2001 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.java.net.protocol.core;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLStreamHandler;
+
+/**
+ * @author Anthony Green <green@redhat.com>
+ * @date August 13, 2001.
+ */
+public class Handler extends URLStreamHandler
+{
+ protected URLConnection openConnection(URL url) throws IOException
+ {
+ return new Connection(url);
+ }
+}
diff --git a/libjava/gnu/java/net/protocol/core/natCoreInputStream.cc b/libjava/gnu/java/net/protocol/core/natCoreInputStream.cc
new file mode 100644
index 000000000..4053efcd1
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/core/natCoreInputStream.cc
@@ -0,0 +1,51 @@
+// natCoreInputStream.cc -- C++ side of CoreInputStream
+
+/* Copyright (C) 2001 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/* Author: Anthony Green <green@redhat.com>. */
+
+#include <config.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+#include <string.h>
+
+#include <java/lang/NullPointerException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <gnu/java/net/protocol/core/CoreInputStream.h>
+
+jint
+gnu::java::net::protocol::core::CoreInputStream::unsafeGetByte (jlong offset)
+{
+ return ((char*) ptr) [offset];
+}
+
+jint
+gnu::java::net::protocol::core::CoreInputStream::copyIntoByteArray (jbyteArray dest,
+ jint offset,
+ jint numBytes)
+{
+ if (!dest)
+ throw new ::java::lang::NullPointerException;
+
+ jsize destSize = JvGetArrayLength (dest);
+
+ if (offset < 0 || numBytes < 0 || offset + numBytes < 0
+ || offset + numBytes > destSize
+ || pos + numBytes > count)
+ throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+ void *pcore = (void *) &((char*) ptr) [pos];
+ void *pdest = (void *) (elements (dest) + offset);
+
+ memcpy (pdest, pcore, numBytes);
+
+ return 0;
+}
+
diff --git a/libjava/gnu/java/net/protocol/file/Connection$StaticData.h b/libjava/gnu/java/net/protocol/file/Connection$StaticData.h
new file mode 100644
index 000000000..46ed9ac95
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/file/Connection$StaticData.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_file_Connection$StaticData__
+#define __gnu_java_net_protocol_file_Connection$StaticData__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace file
+ {
+ class Connection$StaticData;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace text
+ {
+ class SimpleDateFormat;
+ }
+ }
+}
+
+class gnu::java::net::protocol::file::Connection$StaticData : public ::java::lang::Object
+{
+
+ Connection$StaticData();
+public: // actually package-private
+ static ::java::text::SimpleDateFormat * dateFormat;
+ static ::java::lang::String * lineSeparator;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_file_Connection$StaticData__
diff --git a/libjava/gnu/java/net/protocol/file/Connection.h b/libjava/gnu/java/net/protocol/file/Connection.h
new file mode 100644
index 000000000..160f80834
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/file/Connection.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_file_Connection__
+#define __gnu_java_net_protocol_file_Connection__
+
+#pragma interface
+
+#include <java/net/URLConnection.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace file
+ {
+ class Connection;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ namespace security
+ {
+ class Permission;
+ }
+ }
+}
+
+class gnu::java::net::protocol::file::Connection : public ::java::net::URLConnection
+{
+
+public:
+ Connection(::java::net::URL *);
+ static ::java::lang::String * unquote(::java::lang::String *);
+ virtual void connect();
+public: // actually package-private
+ virtual JArray< jbyte > * getDirectoryListing();
+public:
+ virtual ::java::io::InputStream * getInputStream();
+ virtual ::java::io::OutputStream * getOutputStream();
+ virtual jlong getLastModified();
+ virtual ::java::lang::String * getHeaderField(::java::lang::String *);
+ virtual jint getContentLength();
+ virtual ::java::security::Permission * getPermission();
+private:
+ static ::java::lang::String * DEFAULT_PERMISSION;
+ ::java::io::File * __attribute__((aligned(__alignof__( ::java::net::URLConnection)))) file;
+ JArray< jbyte > * directoryListing;
+ ::java::io::InputStream * inputStream;
+ ::java::io::OutputStream * outputStream;
+ ::java::io::FilePermission * permission;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_file_Connection__
diff --git a/libjava/gnu/java/net/protocol/file/Handler.h b/libjava/gnu/java/net/protocol/file/Handler.h
new file mode 100644
index 000000000..f3edf9a99
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/file/Handler.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_file_Handler__
+#define __gnu_java_net_protocol_file_Handler__
+
+#pragma interface
+
+#include <java/net/URLStreamHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace file
+ {
+ class Handler;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLConnection;
+ }
+ }
+}
+
+class gnu::java::net::protocol::file::Handler : public ::java::net::URLStreamHandler
+{
+
+public:
+ Handler();
+public: // actually protected
+ virtual ::java::net::URLConnection * openConnection(::java::net::URL *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_file_Handler__
diff --git a/libjava/gnu/java/net/protocol/ftp/ActiveModeDTP.h b/libjava/gnu/java/net/protocol/ftp/ActiveModeDTP.h
new file mode 100644
index 000000000..4ea352a73
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/ActiveModeDTP.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_ActiveModeDTP__
+#define __gnu_java_net_protocol_ftp_ActiveModeDTP__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class ActiveModeDTP;
+ class DTPInputStream;
+ class DTPOutputStream;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class InetAddress;
+ class ServerSocket;
+ class Socket;
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::ActiveModeDTP : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ActiveModeDTP(::java::net::InetAddress *, jint, jint, jint);
+public:
+ void run();
+ void waitFor();
+ ::java::io::InputStream * getInputStream();
+ ::java::io::OutputStream * getOutputStream();
+ void setTransferMode(jint);
+ void complete();
+ jboolean abort();
+ void transferComplete();
+public: // actually package-private
+ ::java::net::ServerSocket * __attribute__((aligned(__alignof__( ::java::lang::Object)))) server;
+ ::java::net::Socket * socket;
+ ::gnu::java::net::protocol::ftp::DTPInputStream * in;
+ ::gnu::java::net::protocol::ftp::DTPOutputStream * out;
+ jboolean completed;
+ jboolean inProgress;
+ jint transferMode;
+ ::java::io::IOException * exception;
+ ::java::lang::Thread * acceptThread;
+ jint connectionTimeout;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_ActiveModeDTP__
diff --git a/libjava/gnu/java/net/protocol/ftp/BlockInputStream.h b/libjava/gnu/java/net/protocol/ftp/BlockInputStream.h
new file mode 100644
index 000000000..a6c0e18bf
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/BlockInputStream.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_BlockInputStream__
+#define __gnu_java_net_protocol_ftp_BlockInputStream__
+
+#pragma interface
+
+#include <gnu/java/net/protocol/ftp/DTPInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class BlockInputStream;
+ class DTP;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::BlockInputStream : public ::gnu::java::net::protocol::ftp::DTPInputStream
+{
+
+public: // actually package-private
+ BlockInputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::InputStream *);
+public:
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *);
+ virtual jint read(JArray< jbyte > *, jint, jint);
+public: // actually package-private
+ virtual void readHeader();
+ static const jint EOF = 64;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::net::protocol::ftp::DTPInputStream)))) descriptor;
+ jint max;
+ jint count;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_BlockInputStream__
diff --git a/libjava/gnu/java/net/protocol/ftp/BlockOutputStream.h b/libjava/gnu/java/net/protocol/ftp/BlockOutputStream.h
new file mode 100644
index 000000000..dd712fd2a
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/BlockOutputStream.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_BlockOutputStream__
+#define __gnu_java_net_protocol_ftp_BlockOutputStream__
+
+#pragma interface
+
+#include <gnu/java/net/protocol/ftp/DTPOutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class BlockOutputStream;
+ class DTP;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::BlockOutputStream : public ::gnu::java::net::protocol::ftp::DTPOutputStream
+{
+
+public: // actually package-private
+ BlockOutputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::OutputStream *);
+public:
+ virtual void write(jint);
+ virtual void write(JArray< jbyte > *);
+ virtual void write(JArray< jbyte > *, jint, jint);
+ virtual void close();
+public: // actually package-private
+ static const jbyte RECORD = -128;
+ static const jbyte EOF = 64;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_BlockOutputStream__
diff --git a/libjava/gnu/java/net/protocol/ftp/CompressedInputStream.h b/libjava/gnu/java/net/protocol/ftp/CompressedInputStream.h
new file mode 100644
index 000000000..75de07ded
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/CompressedInputStream.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_CompressedInputStream__
+#define __gnu_java_net_protocol_ftp_CompressedInputStream__
+
+#pragma interface
+
+#include <gnu/java/net/protocol/ftp/DTPInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class CompressedInputStream;
+ class DTP;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::CompressedInputStream : public ::gnu::java::net::protocol::ftp::DTPInputStream
+{
+
+public: // actually package-private
+ CompressedInputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::InputStream *);
+public:
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *);
+ virtual jint read(JArray< jbyte > *, jint, jint);
+public: // actually package-private
+ virtual void readHeader();
+ virtual void readCodeHeader();
+ static const jint EOF = 64;
+ static const jint RAW = 0;
+ static const jint COMPRESSED = 128;
+ static const jint FILLER = 192;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::net::protocol::ftp::DTPInputStream)))) descriptor;
+ jint max;
+ jint count;
+ jint state;
+ jint rep;
+ jint n;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_CompressedInputStream__
diff --git a/libjava/gnu/java/net/protocol/ftp/CompressedOutputStream.h b/libjava/gnu/java/net/protocol/ftp/CompressedOutputStream.h
new file mode 100644
index 000000000..243ac7c7a
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/CompressedOutputStream.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_CompressedOutputStream__
+#define __gnu_java_net_protocol_ftp_CompressedOutputStream__
+
+#pragma interface
+
+#include <gnu/java/net/protocol/ftp/DTPOutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class CompressedOutputStream;
+ class DTP;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::CompressedOutputStream : public ::gnu::java::net::protocol::ftp::DTPOutputStream
+{
+
+public: // actually package-private
+ CompressedOutputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::OutputStream *);
+public:
+ virtual void write(jint);
+ virtual void write(JArray< jbyte > *);
+ virtual void write(JArray< jbyte > *, jint, jint);
+public: // actually package-private
+ virtual JArray< jbyte > * compress(JArray< jbyte > *, jint, jint);
+ virtual jint flush_compressed(JArray< jbyte > *, jint, jint, jbyte);
+ virtual jint flush_raw(JArray< jbyte > *, jint, JArray< jbyte > *, jint, jint);
+ virtual JArray< jbyte > * realloc(JArray< jbyte > *, jint);
+public:
+ virtual void close();
+public: // actually package-private
+ static const jbyte RECORD = -128;
+ static const jbyte EOF = 64;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_CompressedOutputStream__
diff --git a/libjava/gnu/java/net/protocol/ftp/DTP.h b/libjava/gnu/java/net/protocol/ftp/DTP.h
new file mode 100644
index 000000000..132e9020a
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/DTP.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_DTP__
+#define __gnu_java_net_protocol_ftp_DTP__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class DTP;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::DTP : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::io::InputStream * getInputStream() = 0;
+ virtual ::java::io::OutputStream * getOutputStream() = 0;
+ virtual void setTransferMode(jint) = 0;
+ virtual void complete() = 0;
+ virtual jboolean abort() = 0;
+ virtual void transferComplete() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_net_protocol_ftp_DTP__
diff --git a/libjava/gnu/java/net/protocol/ftp/DTPInputStream.h b/libjava/gnu/java/net/protocol/ftp/DTPInputStream.h
new file mode 100644
index 000000000..257479948
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/DTPInputStream.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_DTPInputStream__
+#define __gnu_java_net_protocol_ftp_DTPInputStream__
+
+#pragma interface
+
+#include <java/io/FilterInputStream.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class DTP;
+ class DTPInputStream;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::DTPInputStream : public ::java::io::FilterInputStream
+{
+
+public: // actually package-private
+ DTPInputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::InputStream *);
+ virtual void setTransferComplete(jboolean);
+public:
+ virtual void close();
+public: // actually package-private
+ ::gnu::java::net::protocol::ftp::DTP * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) dtp;
+ jboolean transferComplete;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_DTPInputStream__
diff --git a/libjava/gnu/java/net/protocol/ftp/DTPOutputStream.h b/libjava/gnu/java/net/protocol/ftp/DTPOutputStream.h
new file mode 100644
index 000000000..1e59c7afb
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/DTPOutputStream.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_DTPOutputStream__
+#define __gnu_java_net_protocol_ftp_DTPOutputStream__
+
+#pragma interface
+
+#include <java/io/FilterOutputStream.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class DTP;
+ class DTPOutputStream;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::DTPOutputStream : public ::java::io::FilterOutputStream
+{
+
+public: // actually package-private
+ DTPOutputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::OutputStream *);
+ virtual void setTransferComplete(jboolean);
+public:
+ virtual void close();
+public: // actually package-private
+ ::gnu::java::net::protocol::ftp::DTP * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) dtp;
+ jboolean transferComplete;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_DTPOutputStream__
diff --git a/libjava/gnu/java/net/protocol/ftp/FTPConnection.h b/libjava/gnu/java/net/protocol/ftp/FTPConnection.h
new file mode 100644
index 000000000..d0b1183f9
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/FTPConnection.h
@@ -0,0 +1,165 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_FTPConnection__
+#define __gnu_java_net_protocol_ftp_FTPConnection__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class CRLFOutputStream;
+ class LineInputStream;
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class DTP;
+ class FTPConnection;
+ class FTPResponse;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class Socket;
+ }
+ }
+ namespace javax
+ {
+ namespace net
+ {
+ namespace ssl
+ {
+ class TrustManager;
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::FTPConnection : public ::java::lang::Object
+{
+
+public:
+ FTPConnection(::java::lang::String *);
+ FTPConnection(::java::lang::String *, jint);
+ FTPConnection(::java::lang::String *, jint, jint, jint, jboolean);
+ virtual jboolean authenticate(::java::lang::String *, ::java::lang::String *);
+ virtual jboolean starttls(jboolean);
+ virtual jboolean starttls(jboolean, ::javax::net::ssl::TrustManager *);
+ virtual jboolean changeWorkingDirectory(::java::lang::String *);
+ virtual jboolean changeToParentDirectory();
+ virtual void reinitialize();
+ virtual void logout();
+public: // actually protected
+ virtual void initialiseDTP();
+public:
+ virtual void setPassive(jboolean);
+ virtual jint getRepresentationType();
+ virtual void setRepresentationType(jint);
+ virtual jint getFileStructure();
+ virtual void setFileStructure(jint);
+ virtual jint getTransferMode();
+ virtual void setTransferMode(jint);
+ virtual ::java::io::InputStream * retrieve(::java::lang::String *);
+ virtual ::java::io::OutputStream * store(::java::lang::String *);
+ virtual ::java::io::OutputStream * append(::java::lang::String *);
+ virtual void allocate(jlong);
+ virtual jboolean rename(::java::lang::String *, ::java::lang::String *);
+ virtual jboolean abort();
+ virtual jboolean delete$(::java::lang::String *);
+ virtual jboolean removeDirectory(::java::lang::String *);
+ virtual jboolean makeDirectory(::java::lang::String *);
+ virtual ::java::lang::String * getWorkingDirectory();
+ virtual ::java::io::InputStream * list(::java::lang::String *);
+ virtual ::java::util::List * nameList(::java::lang::String *);
+ virtual ::java::lang::String * system();
+ virtual void noop();
+public: // actually protected
+ virtual void send(::java::lang::String *);
+ virtual ::gnu::java::net::protocol::ftp::FTPResponse * getResponse();
+ virtual ::gnu::java::net::protocol::ftp::FTPResponse * readResponse();
+public: // actually package-private
+ static jint parseCode(::java::lang::String *);
+public:
+ static const jint FTP_PORT = 21;
+ static const jint FTP_DATA_PORT = 20;
+public: // actually protected
+ static ::java::lang::String * USER;
+ static ::java::lang::String * PASS;
+ static ::java::lang::String * ACCT;
+ static ::java::lang::String * CWD;
+ static ::java::lang::String * CDUP;
+ static ::java::lang::String * SMNT;
+ static ::java::lang::String * REIN;
+ static ::java::lang::String * QUIT;
+ static ::java::lang::String * PORT;
+ static ::java::lang::String * PASV;
+ static ::java::lang::String * TYPE;
+ static ::java::lang::String * STRU;
+ static ::java::lang::String * MODE;
+ static ::java::lang::String * RETR;
+ static ::java::lang::String * STOR;
+ static ::java::lang::String * STOU;
+ static ::java::lang::String * APPE;
+ static ::java::lang::String * ALLO;
+ static ::java::lang::String * REST;
+ static ::java::lang::String * RNFR;
+ static ::java::lang::String * RNTO;
+ static ::java::lang::String * ABOR;
+ static ::java::lang::String * DELE;
+ static ::java::lang::String * RMD;
+ static ::java::lang::String * MKD;
+ static ::java::lang::String * PWD;
+ static ::java::lang::String * LIST;
+ static ::java::lang::String * NLST;
+ static ::java::lang::String * SITE;
+ static ::java::lang::String * SYST;
+ static ::java::lang::String * STAT;
+ static ::java::lang::String * HELP;
+ static ::java::lang::String * NOOP;
+ static ::java::lang::String * AUTH;
+ static ::java::lang::String * PBSZ;
+ static ::java::lang::String * PROT;
+ static ::java::lang::String * CCC;
+ static ::java::lang::String * TLS;
+public:
+ static const jint TYPE_ASCII = 1;
+ static const jint TYPE_EBCDIC = 2;
+ static const jint TYPE_BINARY = 3;
+ static const jint STRUCTURE_FILE = 1;
+ static const jint STRUCTURE_RECORD = 2;
+ static const jint STRUCTURE_PAGE = 3;
+ static const jint MODE_STREAM = 1;
+ static const jint MODE_BLOCK = 2;
+ static const jint MODE_COMPRESSED = 3;
+private:
+ static ::java::lang::String * US_ASCII;
+public: // actually protected
+ ::java::net::Socket * __attribute__((aligned(__alignof__( ::java::lang::Object)))) socket;
+ ::gnu::java::net::LineInputStream * in;
+ ::gnu::java::net::CRLFOutputStream * out;
+ jint connectionTimeout;
+ jint timeout;
+ jboolean debug;
+ ::gnu::java::net::protocol::ftp::DTP * dtp;
+ jint representationType;
+ jint fileStructure;
+ jint transferMode;
+ jboolean passive;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_FTPConnection__
diff --git a/libjava/gnu/java/net/protocol/ftp/FTPException.h b/libjava/gnu/java/net/protocol/ftp/FTPException.h
new file mode 100644
index 000000000..b22c2f24a
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/FTPException.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_FTPException__
+#define __gnu_java_net_protocol_ftp_FTPException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class FTPException;
+ class FTPResponse;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::FTPException : public ::java::io::IOException
+{
+
+public:
+ FTPException(::gnu::java::net::protocol::ftp::FTPResponse *);
+ virtual ::gnu::java::net::protocol::ftp::FTPResponse * getResponse();
+public: // actually protected
+ ::gnu::java::net::protocol::ftp::FTPResponse * __attribute__((aligned(__alignof__( ::java::io::IOException)))) response;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_FTPException__
diff --git a/libjava/gnu/java/net/protocol/ftp/FTPResponse.h b/libjava/gnu/java/net/protocol/ftp/FTPResponse.h
new file mode 100644
index 000000000..b7faeb997
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/FTPResponse.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_FTPResponse__
+#define __gnu_java_net_protocol_ftp_FTPResponse__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class FTPResponse;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::FTPResponse : public ::java::lang::Object
+{
+
+public:
+ FTPResponse(jint, ::java::lang::String *);
+ FTPResponse(jint, ::java::lang::String *, ::java::lang::String *);
+ jint getCode();
+ ::java::lang::String * getMessage();
+ ::java::lang::String * getData();
+public: // actually protected
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) code;
+ ::java::lang::String * message;
+ ::java::lang::String * data;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_FTPResponse__
diff --git a/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.h b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.h
new file mode 100644
index 000000000..ab8c4e0c8
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingInputStream__
+#define __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingInputStream__
+
+#pragma interface
+
+#include <java/io/FilterInputStream.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class FTPURLConnection;
+ class FTPURLConnection$ClosingInputStream;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::FTPURLConnection$ClosingInputStream : public ::java::io::FilterInputStream
+{
+
+public: // actually package-private
+ FTPURLConnection$ClosingInputStream(::gnu::java::net::protocol::ftp::FTPURLConnection *, ::java::io::InputStream *);
+public:
+ virtual void close();
+public: // actually package-private
+ ::gnu::java::net::protocol::ftp::FTPURLConnection * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingInputStream__
diff --git a/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.h b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.h
new file mode 100644
index 000000000..7cdb24cf0
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingOutputStream__
+#define __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingOutputStream__
+
+#pragma interface
+
+#include <java/io/FilterOutputStream.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class FTPURLConnection;
+ class FTPURLConnection$ClosingOutputStream;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::FTPURLConnection$ClosingOutputStream : public ::java::io::FilterOutputStream
+{
+
+public: // actually package-private
+ FTPURLConnection$ClosingOutputStream(::gnu::java::net::protocol::ftp::FTPURLConnection *, ::java::io::OutputStream *);
+public:
+ virtual void close();
+public: // actually package-private
+ ::gnu::java::net::protocol::ftp::FTPURLConnection * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingOutputStream__
diff --git a/libjava/gnu/java/net/protocol/ftp/FTPURLConnection.h b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection.h
new file mode 100644
index 000000000..a4139287e
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_FTPURLConnection__
+#define __gnu_java_net_protocol_ftp_FTPURLConnection__
+
+#pragma interface
+
+#include <java/net/URLConnection.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class FTPConnection;
+ class FTPURLConnection;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::FTPURLConnection : public ::java::net::URLConnection
+{
+
+public:
+ FTPURLConnection(::java::net::URL *);
+ virtual void connect();
+ virtual void setDoInput(jboolean);
+ virtual void setDoOutput(jboolean);
+ virtual ::java::io::InputStream * getInputStream();
+ virtual ::java::io::OutputStream * getOutputStream();
+ virtual ::java::lang::String * getRequestProperty(::java::lang::String *);
+ virtual ::java::util::Map * getRequestProperties();
+private:
+ void addRequestPropertyValue(::java::util::Map *, ::java::lang::String *);
+public:
+ virtual void setRequestProperty(::java::lang::String *, ::java::lang::String *);
+ virtual void addRequestProperty(::java::lang::String *, ::java::lang::String *);
+public: // actually protected
+ ::gnu::java::net::protocol::ftp::FTPConnection * __attribute__((aligned(__alignof__( ::java::net::URLConnection)))) connection;
+ jboolean passive;
+ jint representationType;
+ jint fileStructure;
+ jint transferMode;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_FTPURLConnection__
diff --git a/libjava/gnu/java/net/protocol/ftp/Handler.h b/libjava/gnu/java/net/protocol/ftp/Handler.h
new file mode 100644
index 000000000..05839d6ab
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/Handler.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_Handler__
+#define __gnu_java_net_protocol_ftp_Handler__
+
+#pragma interface
+
+#include <java/net/URLStreamHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class Handler;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLConnection;
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::Handler : public ::java::net::URLStreamHandler
+{
+
+public:
+ Handler();
+public: // actually protected
+ virtual jint getDefaultPort();
+public:
+ virtual ::java::net::URLConnection * openConnection(::java::net::URL *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_Handler__
diff --git a/libjava/gnu/java/net/protocol/ftp/PassiveModeDTP.h b/libjava/gnu/java/net/protocol/ftp/PassiveModeDTP.h
new file mode 100644
index 000000000..01a4a8a78
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/PassiveModeDTP.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_PassiveModeDTP__
+#define __gnu_java_net_protocol_ftp_PassiveModeDTP__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class DTPInputStream;
+ class DTPOutputStream;
+ class PassiveModeDTP;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class InetAddress;
+ class Socket;
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::PassiveModeDTP : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PassiveModeDTP(::java::lang::String *, jint, ::java::net::InetAddress *, jint, jint);
+public:
+ ::java::io::InputStream * getInputStream();
+ ::java::io::OutputStream * getOutputStream();
+ void setTransferMode(jint);
+ void complete();
+ jboolean abort();
+ void transferComplete();
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) address;
+ jint port;
+ ::java::net::Socket * socket;
+ ::gnu::java::net::protocol::ftp::DTPInputStream * in;
+ ::gnu::java::net::protocol::ftp::DTPOutputStream * out;
+ jboolean completed;
+ jboolean inProgress;
+ jint transferMode;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_PassiveModeDTP__
diff --git a/libjava/gnu/java/net/protocol/ftp/StreamInputStream.h b/libjava/gnu/java/net/protocol/ftp/StreamInputStream.h
new file mode 100644
index 000000000..2a344be90
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/StreamInputStream.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_StreamInputStream__
+#define __gnu_java_net_protocol_ftp_StreamInputStream__
+
+#pragma interface
+
+#include <gnu/java/net/protocol/ftp/DTPInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class DTP;
+ class StreamInputStream;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::StreamInputStream : public ::gnu::java::net::protocol::ftp::DTPInputStream
+{
+
+public: // actually package-private
+ StreamInputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::InputStream *);
+public:
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *);
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_StreamInputStream__
diff --git a/libjava/gnu/java/net/protocol/ftp/StreamOutputStream.h b/libjava/gnu/java/net/protocol/ftp/StreamOutputStream.h
new file mode 100644
index 000000000..7787c3b5e
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/ftp/StreamOutputStream.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_ftp_StreamOutputStream__
+#define __gnu_java_net_protocol_ftp_StreamOutputStream__
+
+#pragma interface
+
+#include <gnu/java/net/protocol/ftp/DTPOutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace ftp
+ {
+ class DTP;
+ class StreamOutputStream;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::ftp::StreamOutputStream : public ::gnu::java::net::protocol::ftp::DTPOutputStream
+{
+
+public: // actually package-private
+ StreamOutputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::OutputStream *);
+public:
+ virtual void write(jint);
+ virtual void write(JArray< jbyte > *);
+ virtual void write(JArray< jbyte > *, jint, jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_ftp_StreamOutputStream__
diff --git a/libjava/gnu/java/net/protocol/gcjlib/Connection.h b/libjava/gnu/java/net/protocol/gcjlib/Connection.h
new file mode 100644
index 000000000..9ecf032ef
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/gcjlib/Connection.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_gcjlib_Connection__
+#define __gnu_java_net_protocol_gcjlib_Connection__
+
+#pragma interface
+
+#include <java/net/URLConnection.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace gcj
+ {
+ class Core;
+ }
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace gcjlib
+ {
+ class Connection;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::net::protocol::gcjlib::Connection : public ::java::net::URLConnection
+{
+
+public:
+ Connection(::java::net::URL *);
+ virtual void connect();
+ virtual ::java::io::InputStream * getInputStream();
+ virtual ::java::lang::String * getHeaderField(::java::lang::String *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::URLConnection)))) solib;
+ ::java::lang::String * name;
+ ::gnu::gcj::Core * core;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_gcjlib_Connection__
diff --git a/libjava/gnu/java/net/protocol/gcjlib/Connection.java b/libjava/gnu/java/net/protocol/gcjlib/Connection.java
new file mode 100644
index 000000000..4e6e462f2
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/gcjlib/Connection.java
@@ -0,0 +1,83 @@
+// Connection.java - Implementation of URLConnection for gcjlib
+// protocol.
+
+/* Copyright (C) 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.java.net.protocol.gcjlib;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+import gnu.gcj.Core;
+import gnu.gcj.runtime.SharedLibHelper;
+import gnu.java.net.protocol.core.CoreInputStream;
+
+/**
+ * @author Tom Tromey <tromey@redhat.com>
+ * @date January 10, 2003
+ */
+class Connection extends URLConnection
+{
+ String solib;
+ String name;
+ Core core;
+
+ public Connection (URL url) throws MalformedURLException
+ {
+ super (url);
+ int index = url.getFile().indexOf ("!/");
+
+ if (index == -1)
+ throw new MalformedURLException ("couldn't find !/ in gcjlib URL");
+
+ name = url.getFile().substring (index + 2);
+ solib = url.getFile().substring (0, index);
+ }
+
+ public void connect() throws IOException
+ {
+ if (core != null)
+ return;
+ // We can't create a new SharedLibHelper here, since we don't know
+ // what parent class loader to use.
+ SharedLibHelper helper = SharedLibHelper.findHelper(solib);
+ if (helper == null)
+ throw new IOException("library not loaded: " + solib);
+ core = helper.findCore(name);
+ if (core == null)
+ throw new IOException("couldn't find core object: " + name);
+ }
+
+ public InputStream getInputStream() throws IOException
+ {
+ connect();
+ return new CoreInputStream(core);
+ }
+
+ public String getHeaderField(String field)
+ {
+ try
+ {
+ if (!connected)
+ connect();
+
+ if (field.equals("content-type"))
+ return guessContentTypeFromName(name);
+ else if (field.equals("content-length"))
+ return Long.toString(core.length);
+ }
+ catch (IOException e)
+ {
+ // Fall through.
+ }
+ return null;
+ }
+}
diff --git a/libjava/gnu/java/net/protocol/gcjlib/Handler.h b/libjava/gnu/java/net/protocol/gcjlib/Handler.h
new file mode 100644
index 000000000..40813aeb5
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/gcjlib/Handler.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_gcjlib_Handler__
+#define __gnu_java_net_protocol_gcjlib_Handler__
+
+#pragma interface
+
+#include <java/net/URLStreamHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace gcjlib
+ {
+ class Handler;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLConnection;
+ }
+ }
+}
+
+class gnu::java::net::protocol::gcjlib::Handler : public ::java::net::URLStreamHandler
+{
+
+public:
+ Handler();
+public: // actually protected
+ virtual ::java::net::URLConnection * openConnection(::java::net::URL *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_gcjlib_Handler__
diff --git a/libjava/gnu/java/net/protocol/gcjlib/Handler.java b/libjava/gnu/java/net/protocol/gcjlib/Handler.java
new file mode 100644
index 000000000..60f5bcc25
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/gcjlib/Handler.java
@@ -0,0 +1,24 @@
+// Handler.java - URLStreamHandler for gcjlib protocol.
+
+/* Copyright (C) 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.java.net.protocol.gcjlib;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLStreamHandler;
+
+public class Handler extends URLStreamHandler
+{
+ protected URLConnection openConnection (URL url) throws IOException
+ {
+ return new Connection (url);
+ }
+}
diff --git a/libjava/gnu/java/net/protocol/http/Authenticator.h b/libjava/gnu/java/net/protocol/http/Authenticator.h
new file mode 100644
index 000000000..c2390d2b3
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/Authenticator.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_Authenticator__
+#define __gnu_java_net_protocol_http_Authenticator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Authenticator;
+ class Credentials;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::Authenticator : public ::java::lang::Object
+{
+
+public:
+ virtual ::gnu::java::net::protocol::http::Credentials * getCredentials(::java::lang::String *, jint) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_net_protocol_http_Authenticator__
diff --git a/libjava/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.h b/libjava/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.h
new file mode 100644
index 000000000..2d9b51957
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_ByteArrayRequestBodyWriter__
+#define __gnu_java_net_protocol_http_ByteArrayRequestBodyWriter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class ByteArrayRequestBodyWriter;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::ByteArrayRequestBodyWriter : public ::java::lang::Object
+{
+
+public:
+ ByteArrayRequestBodyWriter(JArray< jbyte > *);
+ virtual jint getContentLength();
+ virtual void reset();
+ virtual jint write(JArray< jbyte > *);
+public: // actually protected
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) content;
+ jint pos;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_ByteArrayRequestBodyWriter__
diff --git a/libjava/gnu/java/net/protocol/http/ChunkedInputStream.h b/libjava/gnu/java/net/protocol/http/ChunkedInputStream.h
new file mode 100644
index 000000000..4a362e96b
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/ChunkedInputStream.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_ChunkedInputStream__
+#define __gnu_java_net_protocol_http_ChunkedInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class ChunkedInputStream;
+ class Headers;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::ChunkedInputStream : public ::java::io::InputStream
+{
+
+public:
+ ChunkedInputStream(::java::io::InputStream *, ::gnu::java::net::protocol::http::Headers *);
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual jint available();
+ virtual void close();
+public: // actually package-private
+ ::gnu::java::net::protocol::http::Headers * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) headers;
+private:
+ ::java::io::InputStream * in;
+public: // actually package-private
+ jint size;
+ jint count;
+ jboolean meta;
+ jboolean eof;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_ChunkedInputStream__
diff --git a/libjava/gnu/java/net/protocol/http/Cookie.h b/libjava/gnu/java/net/protocol/http/Cookie.h
new file mode 100644
index 000000000..3c2364060
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/Cookie.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_Cookie__
+#define __gnu_java_net_protocol_http_Cookie__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Cookie;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::Cookie : public ::java::lang::Object
+{
+
+public:
+ Cookie(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, ::java::util::Date *);
+ virtual ::java::lang::String * getName();
+ virtual ::java::lang::String * getValue();
+ virtual ::java::lang::String * getComment();
+ virtual ::java::lang::String * getDomain();
+ virtual ::java::lang::String * getPath();
+ virtual jboolean isSecure();
+ virtual ::java::util::Date * getExpiryDate();
+ virtual ::java::lang::String * toString();
+ virtual ::java::lang::String * toString(jboolean, jboolean);
+public: // actually protected
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ ::java::lang::String * value;
+ ::java::lang::String * comment;
+ ::java::lang::String * domain;
+ ::java::lang::String * path;
+ jboolean secure;
+ ::java::util::Date * expires;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_Cookie__
diff --git a/libjava/gnu/java/net/protocol/http/CookieManager.h b/libjava/gnu/java/net/protocol/http/CookieManager.h
new file mode 100644
index 000000000..f06ac974b
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/CookieManager.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_CookieManager__
+#define __gnu_java_net_protocol_http_CookieManager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Cookie;
+ class CookieManager;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::CookieManager : public ::java::lang::Object
+{
+
+public:
+ virtual void setCookie(::gnu::java::net::protocol::http::Cookie *) = 0;
+ virtual JArray< ::gnu::java::net::protocol::http::Cookie * > * getCookies(::java::lang::String *, jboolean, ::java::lang::String *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_net_protocol_http_CookieManager__
diff --git a/libjava/gnu/java/net/protocol/http/Credentials.h b/libjava/gnu/java/net/protocol/http/Credentials.h
new file mode 100644
index 000000000..e877d54d9
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/Credentials.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_Credentials__
+#define __gnu_java_net_protocol_http_Credentials__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Credentials;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::Credentials : public ::java::lang::Object
+{
+
+public:
+ Credentials(::java::lang::String *, ::java::lang::String *);
+ virtual ::java::lang::String * getUsername();
+ virtual ::java::lang::String * getPassword();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) username;
+ ::java::lang::String * password;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_Credentials__
diff --git a/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.h b/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.h
new file mode 100644
index 000000000..727cb83ae
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_HTTPConnection$Pool$Reaper__
+#define __gnu_java_net_protocol_http_HTTPConnection$Pool$Reaper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class HTTPConnection$Pool;
+ class HTTPConnection$Pool$Reaper;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::HTTPConnection$Pool$Reaper : public ::java::lang::Object
+{
+
+public: // actually package-private
+ HTTPConnection$Pool$Reaper(::gnu::java::net::protocol::http::HTTPConnection$Pool *);
+public:
+ virtual void run();
+public: // actually package-private
+ ::gnu::java::net::protocol::http::HTTPConnection$Pool * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_HTTPConnection$Pool$Reaper__
diff --git a/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool.h b/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool.h
new file mode 100644
index 000000000..62aaa265b
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_HTTPConnection$Pool__
+#define __gnu_java_net_protocol_http_HTTPConnection$Pool__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class HTTPConnection;
+ class HTTPConnection$Pool;
+ class HTTPConnection$Pool$Reaper;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::HTTPConnection$Pool : public ::java::lang::Object
+{
+
+ HTTPConnection$Pool();
+ static jboolean matches(::gnu::java::net::protocol::http::HTTPConnection *, ::java::lang::String *, jint, jboolean);
+public: // actually package-private
+ virtual ::gnu::java::net::protocol::http::HTTPConnection * get(::java::lang::String *, jint, jboolean, jint, jint);
+ virtual void put(::gnu::java::net::protocol::http::HTTPConnection *);
+ virtual void removeOldest();
+ static ::gnu::java::net::protocol::http::HTTPConnection$Pool * instance;
+ ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) connectionPool;
+ jint maxConnections;
+ jint connectionTTL;
+ ::gnu::java::net::protocol::http::HTTPConnection$Pool$Reaper * reaper;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_HTTPConnection$Pool__
diff --git a/libjava/gnu/java/net/protocol/http/HTTPConnection.h b/libjava/gnu/java/net/protocol/http/HTTPConnection.h
new file mode 100644
index 000000000..e0d1c4628
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/HTTPConnection.h
@@ -0,0 +1,128 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_HTTPConnection__
+#define __gnu_java_net_protocol_http_HTTPConnection__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class CookieManager;
+ class HTTPConnection;
+ class HTTPConnection$Pool;
+ class Request;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class Socket;
+ }
+ }
+ namespace javax
+ {
+ namespace net
+ {
+ namespace ssl
+ {
+ class HandshakeCompletedListener;
+ class SSLSocketFactory;
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::HTTPConnection : public ::java::lang::Object
+{
+
+public:
+ HTTPConnection(::java::lang::String *);
+ HTTPConnection(::java::lang::String *, jboolean);
+ HTTPConnection(::java::lang::String *, jboolean, jint, jint);
+ HTTPConnection(::java::lang::String *, jint);
+ HTTPConnection(::java::lang::String *, jint, jboolean);
+ HTTPConnection(::java::lang::String *, jint, jboolean, jint, jint);
+ virtual ::java::lang::String * getHostName();
+ virtual jint getPort();
+ virtual jboolean isSecure();
+ virtual ::java::lang::String * getVersion();
+ virtual void setVersion(jint, jint);
+ virtual void setProxy(::java::lang::String *, jint);
+ virtual jboolean isUsingProxy();
+ virtual void setCookieManager(::gnu::java::net::protocol::http::CookieManager *);
+ virtual ::gnu::java::net::protocol::http::CookieManager * getCookieManager();
+public: // actually package-private
+ virtual void setPool(::gnu::java::net::protocol::http::HTTPConnection$Pool *);
+ virtual void release();
+public:
+ virtual ::gnu::java::net::protocol::http::Request * newRequest(::java::lang::String *, ::java::lang::String *);
+ virtual void close();
+public: // actually protected
+ virtual ::java::net::Socket * getSocket();
+public: // actually package-private
+ virtual ::javax::net::ssl::SSLSocketFactory * getSSLSocketFactory();
+ virtual void setSSLSocketFactory(::javax::net::ssl::SSLSocketFactory *);
+public: // actually protected
+ virtual ::java::io::InputStream * getInputStream();
+ virtual ::java::io::OutputStream * getOutputStream();
+ virtual void closeConnection();
+ virtual ::java::lang::String * getURI();
+public: // actually package-private
+ virtual jint getNonceCount(::java::lang::String *);
+ virtual void incrementNonce(::java::lang::String *);
+ virtual void addHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *);
+ virtual void removeHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *);
+public:
+ static const jint HTTP_PORT = 80;
+ static const jint HTTPS_PORT = 443;
+private:
+ static ::java::lang::String * userAgent;
+public: // actually protected
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hostname;
+ jint port;
+ jboolean secure;
+ jint connectionTimeout;
+ jint timeout;
+ ::java::lang::String * proxyHostname;
+ jint proxyPort;
+ jint majorVersion;
+ jint minorVersion;
+private:
+ ::java::util::List * handshakeCompletedListeners;
+public: // actually protected
+ ::java::net::Socket * socket;
+private:
+ ::javax::net::ssl::SSLSocketFactory * sslSocketFactory;
+public: // actually protected
+ ::java::io::InputStream * in;
+ ::java::io::OutputStream * out;
+private:
+ ::java::util::Map * nonceCounts;
+public: // actually protected
+ ::gnu::java::net::protocol::http::CookieManager * cookieManager;
+private:
+ ::gnu::java::net::protocol::http::HTTPConnection$Pool * pool;
+public: // actually package-private
+ jint useCount;
+ jlong timeLastUsed;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_HTTPConnection__
diff --git a/libjava/gnu/java/net/protocol/http/HTTPDateFormat.h b/libjava/gnu/java/net/protocol/http/HTTPDateFormat.h
new file mode 100644
index 000000000..2a305bac8
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/HTTPDateFormat.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_HTTPDateFormat__
+#define __gnu_java_net_protocol_http_HTTPDateFormat__
+
+#pragma interface
+
+#include <java/text/DateFormat.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class HTTPDateFormat;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace text
+ {
+ class FieldPosition;
+ class NumberFormat;
+ class ParsePosition;
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::HTTPDateFormat : public ::java::text::DateFormat
+{
+
+public:
+ HTTPDateFormat();
+ virtual ::java::lang::StringBuffer * format(::java::util::Date *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *);
+ virtual ::java::util::Date * parse(::java::lang::String *, ::java::text::ParsePosition *);
+private:
+ jint skipWhitespace(::java::lang::String *, jint);
+ jint skipNonWhitespace(::java::lang::String *, jint);
+ jint skipTo(::java::lang::String *, jint, jchar);
+public:
+ virtual void setCalendar(::java::util::Calendar *);
+ virtual void setNumberFormat(::java::text::NumberFormat *);
+public: // actually package-private
+ static JArray< ::java::lang::String * > * DAYS_OF_WEEK;
+ static JArray< ::java::lang::String * > * MONTHS;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_HTTPDateFormat__
diff --git a/libjava/gnu/java/net/protocol/http/HTTPURLConnection$1.h b/libjava/gnu/java/net/protocol/http/HTTPURLConnection$1.h
new file mode 100644
index 000000000..678a71ac4
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/HTTPURLConnection$1.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_HTTPURLConnection$1__
+#define __gnu_java_net_protocol_http_HTTPURLConnection$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Credentials;
+ class HTTPURLConnection;
+ class HTTPURLConnection$1;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::HTTPURLConnection$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ HTTPURLConnection$1(::gnu::java::net::protocol::http::HTTPURLConnection *, ::gnu::java::net::protocol::http::Credentials *);
+public:
+ virtual ::gnu::java::net::protocol::http::Credentials * getCredentials(::java::lang::String *, jint);
+public: // actually package-private
+ ::gnu::java::net::protocol::http::HTTPURLConnection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+ ::gnu::java::net::protocol::http::Credentials * val$creds;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_HTTPURLConnection$1__
diff --git a/libjava/gnu/java/net/protocol/http/HTTPURLConnection.h b/libjava/gnu/java/net/protocol/http/HTTPURLConnection.h
new file mode 100644
index 000000000..460928e6b
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/HTTPURLConnection.h
@@ -0,0 +1,115 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_HTTPURLConnection__
+#define __gnu_java_net_protocol_http_HTTPURLConnection__
+
+#pragma interface
+
+#include <javax/net/ssl/HttpsURLConnection.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class HTTPConnection;
+ class HTTPURLConnection;
+ class Headers;
+ class Request;
+ class Response;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ namespace security
+ {
+ namespace cert
+ {
+ class Certificate;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace net
+ {
+ namespace ssl
+ {
+ class HandshakeCompletedEvent;
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::HTTPURLConnection : public ::javax::net::ssl::HttpsURLConnection
+{
+
+public:
+ HTTPURLConnection(::java::net::URL *);
+ virtual void connect();
+public: // actually package-private
+ virtual ::gnu::java::net::protocol::http::HTTPConnection * getConnection(::java::lang::String *, jint, jboolean);
+public:
+ virtual void disconnect();
+ virtual jboolean usingProxy();
+ virtual void setRequestMethod(::java::lang::String *);
+ virtual ::java::lang::String * getRequestProperty(::java::lang::String *);
+ virtual ::java::util::Map * getRequestProperties();
+ virtual void setRequestProperty(::java::lang::String *, ::java::lang::String *);
+ virtual void addRequestProperty(::java::lang::String *, ::java::lang::String *);
+ virtual ::java::io::OutputStream * getOutputStream();
+ virtual ::java::io::InputStream * getInputStream();
+ virtual ::java::io::InputStream * getErrorStream();
+ virtual ::java::util::Map * getHeaderFields();
+public: // actually package-private
+ virtual ::java::lang::String * getStatusLine(::gnu::java::net::protocol::http::Response *);
+public:
+ virtual ::java::lang::String * getHeaderField(jint);
+ virtual ::java::lang::String * getHeaderFieldKey(jint);
+ virtual ::java::lang::String * getHeaderField(::java::lang::String *);
+ virtual jlong getHeaderFieldDate(::java::lang::String *, jlong);
+ virtual ::java::lang::String * getContentType();
+ virtual jint getResponseCode();
+ virtual ::java::lang::String * getResponseMessage();
+ virtual ::java::lang::String * getCipherSuite();
+ virtual JArray< ::java::security::cert::Certificate * > * getLocalCertificates();
+ virtual JArray< ::java::security::cert::Certificate * > * getServerCertificates();
+ virtual void handshakeCompleted(::javax::net::ssl::HandshakeCompletedEvent *);
+ virtual void setReadTimeout(jint);
+private:
+ ::gnu::java::net::protocol::http::HTTPConnection * __attribute__((aligned(__alignof__( ::javax::net::ssl::HttpsURLConnection)))) connection;
+public: // actually package-private
+ ::java::lang::String * proxyHostname;
+ jint proxyPort;
+ ::java::lang::String * agent;
+ jboolean keepAlive;
+private:
+ ::gnu::java::net::protocol::http::Request * request;
+ ::gnu::java::net::protocol::http::Headers * requestHeaders;
+ ::java::io::ByteArrayOutputStream * requestSink;
+ jboolean requestMethodSetExplicitly;
+ ::gnu::java::net::protocol::http::Response * response;
+ ::java::io::InputStream * responseSink;
+ ::java::io::InputStream * errorSink;
+ ::javax::net::ssl::HandshakeCompletedEvent * handshakeEvent;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_HTTPURLConnection__
diff --git a/libjava/gnu/java/net/protocol/http/Handler.h b/libjava/gnu/java/net/protocol/http/Handler.h
new file mode 100644
index 000000000..bd96f2d8b
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/Handler.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_Handler__
+#define __gnu_java_net_protocol_http_Handler__
+
+#pragma interface
+
+#include <java/net/URLStreamHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Handler;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLConnection;
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::Handler : public ::java::net::URLStreamHandler
+{
+
+public:
+ Handler();
+public: // actually protected
+ virtual jint getDefaultPort();
+public:
+ virtual ::java::net::URLConnection * openConnection(::java::net::URL *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_Handler__
diff --git a/libjava/gnu/java/net/protocol/http/Headers$HeaderElement.h b/libjava/gnu/java/net/protocol/http/Headers$HeaderElement.h
new file mode 100644
index 000000000..ecf4982f0
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/Headers$HeaderElement.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_Headers$HeaderElement__
+#define __gnu_java_net_protocol_http_Headers$HeaderElement__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Headers$HeaderElement;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::Headers$HeaderElement : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Headers$HeaderElement(::java::lang::String *, ::java::lang::String *);
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ ::java::lang::String * value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_Headers$HeaderElement__
diff --git a/libjava/gnu/java/net/protocol/http/Headers.h b/libjava/gnu/java/net/protocol/http/Headers.h
new file mode 100644
index 000000000..cad6e68a7
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/Headers.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_Headers__
+#define __gnu_java_net_protocol_http_Headers__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Headers;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace text
+ {
+ class DateFormat;
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::Headers : public ::java::lang::Object
+{
+
+public:
+ Headers();
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::lang::String * getValue(::java::lang::String *);
+ virtual jint getIntValue(::java::lang::String *);
+ virtual jlong getLongValue(::java::lang::String *);
+ virtual ::java::util::Date * getDateValue(::java::lang::String *);
+ virtual void put(::java::lang::String *, ::java::lang::String *);
+ virtual void putAll(::gnu::java::net::protocol::http::Headers *);
+ virtual void remove(::java::lang::String *);
+ virtual void parse(::java::io::InputStream *);
+ virtual void addValue(::java::lang::String *, ::java::lang::String *);
+ virtual ::java::util::Map * getAsMap();
+ virtual ::java::lang::String * getHeaderName(jint);
+ virtual ::java::lang::String * getHeaderValue(jint);
+private:
+ ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) headers;
+ static ::java::text::DateFormat * dateFormat;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_Headers__
diff --git a/libjava/gnu/java/net/protocol/http/LimitedLengthInputStream.h b/libjava/gnu/java/net/protocol/http/LimitedLengthInputStream.h
new file mode 100644
index 000000000..e70bbcc03
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/LimitedLengthInputStream.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_LimitedLengthInputStream__
+#define __gnu_java_net_protocol_http_LimitedLengthInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class HTTPConnection;
+ class LimitedLengthInputStream;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::LimitedLengthInputStream : public ::java::io::InputStream
+{
+
+ void handleClose();
+public: // actually package-private
+ LimitedLengthInputStream(::java::io::InputStream *, jlong, jboolean, ::gnu::java::net::protocol::http::HTTPConnection *, jboolean);
+public:
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *);
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual jlong skip(jlong);
+ virtual jint available();
+ virtual void close();
+private:
+ jlong __attribute__((aligned(__alignof__( ::java::io::InputStream)))) remainingLen;
+ jboolean restrictLen;
+ ::gnu::java::net::protocol::http::HTTPConnection * connection;
+ jboolean eof;
+ ::java::io::InputStream * in;
+ jboolean doClose;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_LimitedLengthInputStream__
diff --git a/libjava/gnu/java/net/protocol/http/Request.h b/libjava/gnu/java/net/protocol/http/Request.h
new file mode 100644
index 000000000..2cf4693cf
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/Request.h
@@ -0,0 +1,87 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_Request__
+#define __gnu_java_net_protocol_http_Request__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Authenticator;
+ class HTTPConnection;
+ class Headers;
+ class Request;
+ class RequestBodyWriter;
+ class Response;
+ class ResponseHeaderHandler;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::Request : public ::java::lang::Object
+{
+
+public: // actually protected
+ Request(::gnu::java::net::protocol::http::HTTPConnection *, ::java::lang::String *, ::java::lang::String *);
+public:
+ virtual ::gnu::java::net::protocol::http::HTTPConnection * getConnection();
+ virtual ::java::lang::String * getMethod();
+ virtual ::java::lang::String * getPath();
+ virtual ::java::lang::String * getRequestURI();
+ virtual ::gnu::java::net::protocol::http::Headers * getHeaders();
+ virtual ::java::lang::String * getHeader(::java::lang::String *);
+ virtual jint getIntHeader(::java::lang::String *);
+ virtual ::java::util::Date * getDateHeader(::java::lang::String *);
+ virtual void setHeader(::java::lang::String *, ::java::lang::String *);
+ virtual void setRequestBody(JArray< jbyte > *);
+ virtual void setRequestBodyWriter(::gnu::java::net::protocol::http::RequestBodyWriter *);
+ virtual void setResponseHeaderHandler(::java::lang::String *, ::gnu::java::net::protocol::http::ResponseHeaderHandler *);
+ virtual void setAuthenticator(::gnu::java::net::protocol::http::Authenticator *);
+ virtual ::gnu::java::net::protocol::http::Response * dispatch();
+public: // actually package-private
+ virtual ::gnu::java::net::protocol::http::Response * readResponse(::java::io::InputStream *);
+ virtual void notifyHeaderHandlers(::gnu::java::net::protocol::http::Headers *);
+private:
+ ::java::io::InputStream * createResponseBodyStream(::gnu::java::net::protocol::http::Headers *, jint, jint, ::java::io::InputStream *, jboolean);
+public: // actually package-private
+ virtual jboolean authenticate(::gnu::java::net::protocol::http::Response *, jint);
+ virtual ::java::util::Properties * parseAuthParams(::java::lang::String *);
+ virtual ::java::lang::String * unquote(::java::lang::String *);
+ virtual ::java::lang::String * getNonceCount(::java::lang::String *);
+ virtual JArray< jbyte > * generateNonce();
+ virtual ::java::lang::String * toHexString(JArray< jbyte > *);
+ virtual void handleSetCookie(::java::lang::String *);
+public: // actually protected
+ ::gnu::java::net::protocol::http::HTTPConnection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) connection;
+ ::java::lang::String * method;
+ ::java::lang::String * path;
+ ::gnu::java::net::protocol::http::Headers * requestHeaders;
+ ::gnu::java::net::protocol::http::RequestBodyWriter * requestBodyWriter;
+ ::java::util::Map * responseHeaderHandlers;
+ ::gnu::java::net::protocol::http::Authenticator * authenticator;
+private:
+ jboolean dispatched;
+public: // actually package-private
+ JArray< jbyte > * nonce;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_Request__
diff --git a/libjava/gnu/java/net/protocol/http/RequestBodyWriter.h b/libjava/gnu/java/net/protocol/http/RequestBodyWriter.h
new file mode 100644
index 000000000..1bd32bc86
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/RequestBodyWriter.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_RequestBodyWriter__
+#define __gnu_java_net_protocol_http_RequestBodyWriter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class RequestBodyWriter;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::RequestBodyWriter : public ::java::lang::Object
+{
+
+public:
+ virtual jint getContentLength() = 0;
+ virtual void reset() = 0;
+ virtual jint write(JArray< jbyte > *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_net_protocol_http_RequestBodyWriter__
diff --git a/libjava/gnu/java/net/protocol/http/Response.h b/libjava/gnu/java/net/protocol/http/Response.h
new file mode 100644
index 000000000..928b21247
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/Response.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_Response__
+#define __gnu_java_net_protocol_http_Response__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Headers;
+ class Response;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::Response : public ::java::lang::Object
+{
+
+public: // actually protected
+ Response(jint, jint, jint, ::java::lang::String *, ::gnu::java::net::protocol::http::Headers *, ::java::io::InputStream *);
+public:
+ virtual jint getMajorVersion();
+ virtual jint getMinorVersion();
+ virtual jint getCode();
+ virtual jint getCodeClass();
+ virtual ::java::lang::String * getMessage();
+ virtual ::gnu::java::net::protocol::http::Headers * getHeaders();
+ virtual ::java::lang::String * getHeader(::java::lang::String *);
+ virtual jint getIntHeader(::java::lang::String *);
+ virtual jlong getLongHeader(::java::lang::String *);
+ virtual ::java::util::Date * getDateHeader(::java::lang::String *);
+ virtual jboolean isRedirect();
+ virtual jboolean isError();
+ virtual ::java::io::InputStream * getBody();
+public: // actually protected
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) majorVersion;
+ jint minorVersion;
+ jint code;
+ ::java::lang::String * message;
+ ::gnu::java::net::protocol::http::Headers * headers;
+ ::java::io::InputStream * body;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_Response__
diff --git a/libjava/gnu/java/net/protocol/http/ResponseHeaderHandler.h b/libjava/gnu/java/net/protocol/http/ResponseHeaderHandler.h
new file mode 100644
index 000000000..055c019a1
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/ResponseHeaderHandler.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_ResponseHeaderHandler__
+#define __gnu_java_net_protocol_http_ResponseHeaderHandler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class ResponseHeaderHandler;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::ResponseHeaderHandler : public ::java::lang::Object
+{
+
+public:
+ virtual void setValue(::java::lang::String *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_net_protocol_http_ResponseHeaderHandler__
diff --git a/libjava/gnu/java/net/protocol/http/SimpleCookieManager.h b/libjava/gnu/java/net/protocol/http/SimpleCookieManager.h
new file mode 100644
index 000000000..fc0b0bf32
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/http/SimpleCookieManager.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_http_SimpleCookieManager__
+#define __gnu_java_net_protocol_http_SimpleCookieManager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace http
+ {
+ class Cookie;
+ class SimpleCookieManager;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::net::protocol::http::SimpleCookieManager : public ::java::lang::Object
+{
+
+public:
+ SimpleCookieManager();
+ virtual void setCookie(::gnu::java::net::protocol::http::Cookie *);
+ virtual JArray< ::gnu::java::net::protocol::http::Cookie * > * getCookies(::java::lang::String *, jboolean, ::java::lang::String *);
+private:
+ void addCookies(::java::util::ArrayList *, ::java::lang::String *, jboolean, ::java::lang::String *, ::java::util::Date *);
+public: // actually protected
+ ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cookies;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_http_SimpleCookieManager__
diff --git a/libjava/gnu/java/net/protocol/https/Handler.h b/libjava/gnu/java/net/protocol/https/Handler.h
new file mode 100644
index 000000000..ce077f08f
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/https/Handler.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_https_Handler__
+#define __gnu_java_net_protocol_https_Handler__
+
+#pragma interface
+
+#include <java/net/URLStreamHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace https
+ {
+ class Handler;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLConnection;
+ }
+ }
+}
+
+class gnu::java::net::protocol::https::Handler : public ::java::net::URLStreamHandler
+{
+
+public:
+ Handler();
+public: // actually protected
+ virtual jint getDefaultPort();
+public:
+ virtual ::java::net::URLConnection * openConnection(::java::net::URL *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_https_Handler__
diff --git a/libjava/gnu/java/net/protocol/jar/Connection$JarFileCache.h b/libjava/gnu/java/net/protocol/jar/Connection$JarFileCache.h
new file mode 100644
index 000000000..03744bc67
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/jar/Connection$JarFileCache.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_jar_Connection$JarFileCache__
+#define __gnu_java_net_protocol_jar_Connection$JarFileCache__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace jar
+ {
+ class Connection$JarFileCache;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::net::protocol::jar::Connection$JarFileCache : public ::java::lang::Object
+{
+
+public:
+ Connection$JarFileCache();
+ static ::java::util::jar::JarFile * get(::java::net::URL *, jboolean);
+private:
+ static ::java::util::Hashtable * cache;
+ static const jint READBUFSIZE = 4096;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_jar_Connection$JarFileCache__
diff --git a/libjava/gnu/java/net/protocol/jar/Connection.h b/libjava/gnu/java/net/protocol/jar/Connection.h
new file mode 100644
index 000000000..5456919fb
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/jar/Connection.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_jar_Connection__
+#define __gnu_java_net_protocol_jar_Connection__
+
+#pragma interface
+
+#include <java/net/JarURLConnection.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace jar
+ {
+ class Connection;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ namespace text
+ {
+ class SimpleDateFormat;
+ }
+ }
+}
+
+class gnu::java::net::protocol::jar::Connection : public ::java::net::JarURLConnection
+{
+
+public: // actually protected
+ Connection(::java::net::URL *);
+public:
+ void connect();
+ ::java::io::InputStream * getInputStream();
+ ::java::util::jar::JarFile * getJarFile();
+ ::java::lang::String * getHeaderField(::java::lang::String *);
+ jint getContentLength();
+ jlong getLastModified();
+private:
+ static ::java::text::SimpleDateFormat * dateFormat;
+ ::java::util::jar::JarFile * __attribute__((aligned(__alignof__( ::java::net::JarURLConnection)))) jar_file;
+ ::java::util::jar::JarEntry * jar_entry;
+ ::java::net::URL * jar_url;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_jar_Connection__
diff --git a/libjava/gnu/java/net/protocol/jar/Handler.h b/libjava/gnu/java/net/protocol/jar/Handler.h
new file mode 100644
index 000000000..b5fb6b66e
--- /dev/null
+++ b/libjava/gnu/java/net/protocol/jar/Handler.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_net_protocol_jar_Handler__
+#define __gnu_java_net_protocol_jar_Handler__
+
+#pragma interface
+
+#include <java/net/URLStreamHandler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ namespace protocol
+ {
+ namespace jar
+ {
+ class Handler;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ class URLConnection;
+ }
+ }
+}
+
+class gnu::java::net::protocol::jar::Handler : public ::java::net::URLStreamHandler
+{
+
+public:
+ Handler();
+public: // actually protected
+ virtual ::java::net::URLConnection * openConnection(::java::net::URL *);
+ virtual void parseURL(::java::net::URL *, ::java::lang::String *, jint, jint);
+private:
+ static ::java::lang::String * flat(::java::lang::String *);
+public: // actually protected
+ virtual ::java::lang::String * toExternalForm(::java::net::URL *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_net_protocol_jar_Handler__
diff --git a/libjava/gnu/java/nio/ChannelInputStream.h b/libjava/gnu/java/nio/ChannelInputStream.h
new file mode 100644
index 000000000..04b624440
--- /dev/null
+++ b/libjava/gnu/java/nio/ChannelInputStream.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ChannelInputStream__
+#define __gnu_java_nio_ChannelInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class ChannelInputStream;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class ReadableByteChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ChannelInputStream : public ::java::io::InputStream
+{
+
+public:
+ ChannelInputStream(::java::nio::channels::ReadableByteChannel *);
+ jint read(JArray< jbyte > *, jint, jint);
+ jint read();
+private:
+ ::java::nio::channels::ReadableByteChannel * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) ch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ChannelInputStream__
diff --git a/libjava/gnu/java/nio/ChannelOutputStream.h b/libjava/gnu/java/nio/ChannelOutputStream.h
new file mode 100644
index 000000000..7ff1b8d80
--- /dev/null
+++ b/libjava/gnu/java/nio/ChannelOutputStream.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ChannelOutputStream__
+#define __gnu_java_nio_ChannelOutputStream__
+
+#pragma interface
+
+#include <java/io/OutputStream.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class ChannelOutputStream;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class WritableByteChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ChannelOutputStream : public ::java::io::OutputStream
+{
+
+public:
+ ChannelOutputStream(::java::nio::channels::WritableByteChannel *);
+ void write(jint);
+private:
+ ::java::nio::channels::WritableByteChannel * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) ch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ChannelOutputStream__
diff --git a/libjava/gnu/java/nio/ChannelReader.h b/libjava/gnu/java/nio/ChannelReader.h
new file mode 100644
index 000000000..337473f4f
--- /dev/null
+++ b/libjava/gnu/java/nio/ChannelReader.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ChannelReader__
+#define __gnu_java_nio_ChannelReader__
+
+#pragma interface
+
+#include <java/io/Reader.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class ChannelReader;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace channels
+ {
+ class ReadableByteChannel;
+ }
+ namespace charset
+ {
+ class CharsetDecoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ChannelReader : public ::java::io::Reader
+{
+
+public:
+ ChannelReader(::java::nio::channels::ReadableByteChannel *, ::java::nio::charset::CharsetDecoder *, jint);
+ virtual jint read(JArray< jchar > *, jint, jint);
+ virtual void close();
+private:
+ static const jint DEFAULT_BUFFER_CAP = 8192;
+ ::java::nio::channels::ReadableByteChannel * __attribute__((aligned(__alignof__( ::java::io::Reader)))) channel;
+ ::java::nio::charset::CharsetDecoder * decoder;
+ ::java::nio::ByteBuffer * byteBuffer;
+ ::java::nio::CharBuffer * charBuffer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ChannelReader__
diff --git a/libjava/gnu/java/nio/ChannelWriter.h b/libjava/gnu/java/nio/ChannelWriter.h
new file mode 100644
index 000000000..f78d294bd
--- /dev/null
+++ b/libjava/gnu/java/nio/ChannelWriter.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ChannelWriter__
+#define __gnu_java_nio_ChannelWriter__
+
+#pragma interface
+
+#include <java/io/Writer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class ChannelWriter;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace channels
+ {
+ class WritableByteChannel;
+ }
+ namespace charset
+ {
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ChannelWriter : public ::java::io::Writer
+{
+
+ void writeBuffer();
+public:
+ ChannelWriter(::java::nio::channels::WritableByteChannel *, ::java::nio::charset::CharsetEncoder *, jint);
+ virtual void flush();
+ virtual void close();
+ virtual void write(JArray< jchar > *, jint, jint);
+private:
+ static const jint DEFAULT_BUFFER_CAP = 8192;
+ ::java::nio::channels::WritableByteChannel * __attribute__((aligned(__alignof__( ::java::io::Writer)))) byteChannel;
+ ::java::nio::charset::CharsetEncoder * enc;
+ ::java::nio::ByteBuffer * byteBuffer;
+ ::java::nio::CharBuffer * charBuffer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ChannelWriter__
diff --git a/libjava/gnu/java/nio/DatagramChannelImpl.h b/libjava/gnu/java/nio/DatagramChannelImpl.h
new file mode 100644
index 000000000..26595caa5
--- /dev/null
+++ b/libjava/gnu/java/nio/DatagramChannelImpl.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_DatagramChannelImpl__
+#define __gnu_java_nio_DatagramChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/DatagramChannel.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class DatagramChannelImpl;
+ class NIODatagramSocket;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class DatagramSocket;
+ class SocketAddress;
+ }
+ namespace nio
+ {
+ class ByteBuffer;
+ namespace channels
+ {
+ class DatagramChannel;
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::DatagramChannelImpl : public ::java::nio::channels::DatagramChannel
+{
+
+public:
+ jboolean isInChannelOperation();
+ void setInChannelOperation(jboolean);
+public: // actually protected
+ DatagramChannelImpl(::java::nio::channels::spi::SelectorProvider *);
+public:
+ jint getNativeFD();
+ ::java::net::DatagramSocket * socket();
+public: // actually protected
+ void implCloseSelectableChannel();
+ void implConfigureBlocking(jboolean);
+public:
+ ::java::nio::channels::DatagramChannel * connect(::java::net::SocketAddress *);
+ ::java::nio::channels::DatagramChannel * disconnect();
+ jboolean isConnected();
+ jint write(::java::nio::ByteBuffer *);
+ jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ jint read(::java::nio::ByteBuffer *);
+ jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ ::java::net::SocketAddress * receive(::java::nio::ByteBuffer *);
+ jint send(::java::nio::ByteBuffer *, ::java::net::SocketAddress *);
+private:
+ ::gnu::java::nio::NIODatagramSocket * __attribute__((aligned(__alignof__( ::java::nio::channels::DatagramChannel)))) socket__;
+ jboolean inChannelOperation;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_DatagramChannelImpl__
diff --git a/libjava/gnu/java/nio/DatagramChannelImpl.java b/libjava/gnu/java/nio/DatagramChannelImpl.java
new file mode 100644
index 000000000..de1d2e6a3
--- /dev/null
+++ b/libjava/gnu/java/nio/DatagramChannelImpl.java
@@ -0,0 +1,302 @@
+/* DatagramChannelImpl.java --
+ Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import gnu.java.net.PlainDatagramSocketImpl;
+import java.io.IOException;
+import java.net.DatagramPacket;
+import java.net.DatagramSocket;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.net.SocketTimeoutException;
+import java.nio.ByteBuffer;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.DatagramChannel;
+import java.nio.channels.NotYetConnectedException;
+import java.nio.channels.spi.SelectorProvider;
+
+/**
+ * @author Michael Koch
+ */
+public final class DatagramChannelImpl extends DatagramChannel
+{
+ private NIODatagramSocket socket;
+
+ /**
+ * Indicates whether this channel initiated whatever operation
+ * is being invoked on our datagram socket.
+ */
+ private boolean inChannelOperation;
+
+ /**
+ * Indicates whether our datagram socket should ignore whether
+ * we are set to non-blocking mode. Certain operations on our
+ * socket throw an <code>IllegalBlockingModeException</code> if
+ * we are in non-blocking mode, <i>except</i> if the operation
+ * is initiated by us.
+ */
+ public final boolean isInChannelOperation()
+ {
+ return inChannelOperation;
+ }
+
+ /**
+ * Sets our indicator of whether we are initiating an I/O operation
+ * on our socket.
+ */
+ public final void setInChannelOperation(boolean b)
+ {
+ inChannelOperation = b;
+ }
+
+ protected DatagramChannelImpl (SelectorProvider provider)
+ throws IOException
+ {
+ super (provider);
+ socket = new NIODatagramSocket (new PlainDatagramSocketImpl(), this);
+ configureBlocking(true);
+ }
+
+ public int getNativeFD()
+ {
+ return socket.getPlainDatagramSocketImpl().getNativeFD();
+ }
+
+ public DatagramSocket socket ()
+ {
+ return socket;
+ }
+
+ protected void implCloseSelectableChannel ()
+ throws IOException
+ {
+ socket.close ();
+ }
+
+ protected void implConfigureBlocking (boolean blocking)
+ throws IOException
+ {
+ socket.setSoTimeout (blocking ? 0 : NIOConstants.DEFAULT_TIMEOUT);
+ }
+
+ public DatagramChannel connect (SocketAddress remote)
+ throws IOException
+ {
+ if (!isOpen())
+ throw new ClosedChannelException();
+
+ socket.connect (remote);
+ return this;
+ }
+
+ public DatagramChannel disconnect ()
+ throws IOException
+ {
+ socket.disconnect ();
+ return this;
+ }
+
+ public boolean isConnected ()
+ {
+ return socket.isConnected ();
+ }
+
+ public int write (ByteBuffer src)
+ throws IOException
+ {
+ if (!isConnected ())
+ throw new NotYetConnectedException ();
+
+ return send (src, socket.getRemoteSocketAddress());
+ }
+
+ public long write (ByteBuffer[] srcs, int offset, int length)
+ throws IOException
+ {
+ if (!isConnected())
+ throw new NotYetConnectedException();
+
+ if ((offset < 0)
+ || (offset > srcs.length)
+ || (length < 0)
+ || (length > (srcs.length - offset)))
+ throw new IndexOutOfBoundsException();
+
+ long result = 0;
+
+ for (int index = offset; index < offset + length; index++)
+ result += write (srcs [index]);
+
+ return result;
+ }
+
+ public int read (ByteBuffer dst)
+ throws IOException
+ {
+ if (!isConnected ())
+ throw new NotYetConnectedException ();
+
+ int remaining = dst.remaining();
+ receive (dst);
+ return remaining - dst.remaining();
+ }
+
+ public long read (ByteBuffer[] dsts, int offset, int length)
+ throws IOException
+ {
+ if (!isConnected())
+ throw new NotYetConnectedException();
+
+ if ((offset < 0)
+ || (offset > dsts.length)
+ || (length < 0)
+ || (length > (dsts.length - offset)))
+ throw new IndexOutOfBoundsException();
+
+ long result = 0;
+
+ for (int index = offset; index < offset + length; index++)
+ result += read (dsts [index]);
+
+ return result;
+ }
+
+ public SocketAddress receive (ByteBuffer dst)
+ throws IOException
+ {
+ if (!isOpen())
+ throw new ClosedChannelException();
+
+ try
+ {
+ DatagramPacket packet;
+ int len = dst.remaining();
+
+ if (dst.hasArray())
+ {
+ packet = new DatagramPacket (dst.array(),
+ dst.arrayOffset() + dst.position(),
+ len);
+ }
+ else
+ {
+ packet = new DatagramPacket (new byte [len], len);
+ }
+
+ boolean completed = false;
+
+ try
+ {
+ begin();
+ setInChannelOperation(true);
+ socket.receive (packet);
+ completed = true;
+ }
+ finally
+ {
+ end (completed);
+ setInChannelOperation(false);
+ }
+
+ if (!dst.hasArray())
+ {
+ dst.put (packet.getData(), packet.getOffset(), packet.getLength());
+ }
+ else
+ {
+ dst.position (dst.position() + packet.getLength());
+ }
+
+ return packet.getSocketAddress();
+ }
+ catch (SocketTimeoutException e)
+ {
+ return null;
+ }
+ }
+
+ public int send (ByteBuffer src, SocketAddress target)
+ throws IOException
+ {
+ if (!isOpen())
+ throw new ClosedChannelException();
+
+ if (target instanceof InetSocketAddress
+ && ((InetSocketAddress) target).isUnresolved())
+ throw new IOException("Target address not resolved");
+
+ byte[] buffer;
+ int offset = 0;
+ int len = src.remaining();
+
+ if (src.hasArray())
+ {
+ buffer = src.array();
+ offset = src.arrayOffset() + src.position();
+ }
+ else
+ {
+ buffer = new byte [len];
+ src.get (buffer);
+ }
+
+ DatagramPacket packet = new DatagramPacket (buffer, offset, len, target);
+
+ boolean completed = false;
+ try
+ {
+ begin();
+ setInChannelOperation(true);
+ socket.send(packet);
+ completed = true;
+ }
+ finally
+ {
+ end (completed);
+ setInChannelOperation(false);
+ }
+
+ if (src.hasArray())
+ {
+ src.position (src.position() + len);
+ }
+
+ return len;
+ }
+}
diff --git a/libjava/gnu/java/nio/DatagramChannelSelectionKey.h b/libjava/gnu/java/nio/DatagramChannelSelectionKey.h
new file mode 100644
index 000000000..629eed378
--- /dev/null
+++ b/libjava/gnu/java/nio/DatagramChannelSelectionKey.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_DatagramChannelSelectionKey__
+#define __gnu_java_nio_DatagramChannelSelectionKey__
+
+#pragma interface
+
+#include <gnu/java/nio/SelectionKeyImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class DatagramChannelSelectionKey;
+ class SelectorImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ namespace spi
+ {
+ class AbstractSelectableChannel;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::DatagramChannelSelectionKey : public ::gnu::java::nio::SelectionKeyImpl
+{
+
+public:
+ DatagramChannelSelectionKey(::java::nio::channels::spi::AbstractSelectableChannel *, ::gnu::java::nio::SelectorImpl *);
+ jint getNativeFD();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_DatagramChannelSelectionKey__
diff --git a/libjava/gnu/java/nio/DatagramChannelSelectionKey.java b/libjava/gnu/java/nio/DatagramChannelSelectionKey.java
new file mode 100644
index 000000000..81b87e548
--- /dev/null
+++ b/libjava/gnu/java/nio/DatagramChannelSelectionKey.java
@@ -0,0 +1,59 @@
+/* DatagramChannelSelectionKey.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import java.nio.channels.spi.AbstractSelectableChannel;
+
+/**
+ * @author Michael Koch
+ */
+public final class DatagramChannelSelectionKey
+ extends SelectionKeyImpl
+{
+ public DatagramChannelSelectionKey (AbstractSelectableChannel channel,
+ SelectorImpl selector)
+ {
+ super (channel, selector);
+ }
+
+ public int getNativeFD()
+ {
+ return ((DatagramChannelImpl) ch).getNativeFD();
+ }
+}
diff --git a/libjava/gnu/java/nio/FileLockImpl.h b/libjava/gnu/java/nio/FileLockImpl.h
new file mode 100644
index 000000000..ba1668be3
--- /dev/null
+++ b/libjava/gnu/java/nio/FileLockImpl.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_FileLockImpl__
+#define __gnu_java_nio_FileLockImpl__
+
+#pragma interface
+
+#include <java/nio/channels/FileLock.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class FileLockImpl;
+ namespace channels
+ {
+ class FileChannelImpl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::FileLockImpl : public ::java::nio::channels::FileLock
+{
+
+public:
+ FileLockImpl(::gnu::java::nio::channels::FileChannelImpl *, jlong, jlong, jboolean);
+public: // actually protected
+ void finalize();
+public:
+ jboolean isValid();
+ void release();
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::nio::channels::FileLock)))) valid;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_FileLockImpl__
diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java
new file mode 100644
index 000000000..673ca2522
--- /dev/null
+++ b/libjava/gnu/java/nio/FileLockImpl.java
@@ -0,0 +1,104 @@
+/* FileLockImpl.java -- FileLock associated with a FileChannelImpl.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import gnu.java.nio.channels.FileChannelImpl;
+
+import java.io.IOException;
+import java.nio.channels.FileLock;
+
+/**
+ * A FileLock associated with a FileChannelImpl.
+ *
+ * @author Michael Koch
+ * @since 1.4
+ */
+public final class FileLockImpl extends FileLock
+{
+ /**
+ * Whether or not this lock is valid, false when channel is closed or
+ * release has been explicitly called.
+ */
+ private boolean valid;
+
+ public FileLockImpl (FileChannelImpl channel, long position,
+ long size, boolean shared)
+ {
+ super (channel, position, size, shared);
+ valid = true;
+ }
+
+ /**
+ * Releases this lock.
+ */
+ protected void finalize()
+ {
+ try
+ {
+ release();
+ }
+ catch (IOException e)
+ {
+ // Ignore this.
+ }
+ }
+
+ /**
+ * Whether or not this lock is valid, false when channel is closed or
+ * release has been explicitly called.
+ */
+ public boolean isValid()
+ {
+ if (valid)
+ valid = channel().isOpen();
+ return valid;
+ }
+
+ /**
+ * Releases the lock if it is still valid. Marks this lock as invalid.
+ */
+ public void release() throws IOException
+ {
+ if (isValid())
+ {
+ valid = false;
+ ((FileChannelImpl) channel()).unlock(position(), size());
+ }
+ }
+}
diff --git a/libjava/gnu/java/nio/InputStreamChannel.h b/libjava/gnu/java/nio/InputStreamChannel.h
new file mode 100644
index 000000000..b6631695d
--- /dev/null
+++ b/libjava/gnu/java/nio/InputStreamChannel.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_InputStreamChannel__
+#define __gnu_java_nio_InputStreamChannel__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class InputStreamChannel;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::nio::InputStreamChannel : public ::java::lang::Object
+{
+
+public:
+ InputStreamChannel(::java::io::InputStream *);
+ void close();
+ jboolean isOpen();
+ jint read(::java::nio::ByteBuffer *);
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) closed;
+ ::java::io::InputStream * in;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_InputStreamChannel__
diff --git a/libjava/gnu/java/nio/NIOConstants.h b/libjava/gnu/java/nio/NIOConstants.h
new file mode 100644
index 000000000..a27e4286d
--- /dev/null
+++ b/libjava/gnu/java/nio/NIOConstants.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_NIOConstants__
+#define __gnu_java_nio_NIOConstants__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class NIOConstants;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::NIOConstants : public ::java::lang::Object
+{
+
+public:
+ NIOConstants();
+ static const jint DEFAULT_TIMEOUT = 50;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_NIOConstants__
diff --git a/libjava/gnu/java/nio/NIODatagramSocket.h b/libjava/gnu/java/nio/NIODatagramSocket.h
new file mode 100644
index 000000000..3e76ec9c4
--- /dev/null
+++ b/libjava/gnu/java/nio/NIODatagramSocket.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_NIODatagramSocket__
+#define __gnu_java_nio_NIODatagramSocket__
+
+#pragma interface
+
+#include <java/net/DatagramSocket.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainDatagramSocketImpl;
+ }
+ namespace nio
+ {
+ class DatagramChannelImpl;
+ class NIODatagramSocket;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class DatagramChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::NIODatagramSocket : public ::java::net::DatagramSocket
+{
+
+public:
+ NIODatagramSocket(::gnu::java::net::PlainDatagramSocketImpl *, ::gnu::java::nio::DatagramChannelImpl *);
+ ::gnu::java::net::PlainDatagramSocketImpl * getPlainDatagramSocketImpl();
+ ::java::nio::channels::DatagramChannel * getChannel();
+private:
+ ::gnu::java::net::PlainDatagramSocketImpl * __attribute__((aligned(__alignof__( ::java::net::DatagramSocket)))) impl;
+ ::gnu::java::nio::DatagramChannelImpl * channel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_NIODatagramSocket__
diff --git a/libjava/gnu/java/nio/NIOServerSocket.h b/libjava/gnu/java/nio/NIOServerSocket.h
new file mode 100644
index 000000000..908a664af
--- /dev/null
+++ b/libjava/gnu/java/nio/NIOServerSocket.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_NIOServerSocket__
+#define __gnu_java_nio_NIOServerSocket__
+
+#pragma interface
+
+#include <java/net/ServerSocket.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ }
+ namespace nio
+ {
+ class NIOServerSocket;
+ class ServerSocketChannelImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class Socket;
+ }
+ namespace nio
+ {
+ namespace channels
+ {
+ class ServerSocketChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::NIOServerSocket : public ::java::net::ServerSocket
+{
+
+public: // actually protected
+ NIOServerSocket(::gnu::java::nio::ServerSocketChannelImpl *);
+public:
+ ::gnu::java::net::PlainSocketImpl * getPlainSocketImpl();
+ ::java::nio::channels::ServerSocketChannel * getChannel();
+ ::java::net::Socket * accept();
+private:
+ ::gnu::java::nio::ServerSocketChannelImpl * __attribute__((aligned(__alignof__( ::java::net::ServerSocket)))) channel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_NIOServerSocket__
diff --git a/libjava/gnu/java/nio/NIOServerSocket.java b/libjava/gnu/java/nio/NIOServerSocket.java
new file mode 100644
index 000000000..0383e1a1a
--- /dev/null
+++ b/libjava/gnu/java/nio/NIOServerSocket.java
@@ -0,0 +1,80 @@
+/* NIOServerSocket.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import gnu.java.net.PlainSocketImpl;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.nio.channels.ServerSocketChannel;
+import java.nio.channels.SocketChannel;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class NIOServerSocket extends ServerSocket
+{
+ private ServerSocketChannelImpl channel;
+
+ protected NIOServerSocket (ServerSocketChannelImpl channel)
+ throws IOException
+ {
+ super();
+ this.channel = channel;
+ }
+
+ public native PlainSocketImpl getPlainSocketImpl();
+
+ public ServerSocketChannel getChannel()
+ {
+ return channel;
+ }
+
+ public Socket accept() throws IOException
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkListen (getLocalPort());
+
+ SocketChannel socketChannel = channel.provider().openSocketChannel();
+ implAccept (socketChannel.socket());
+ return socketChannel.socket();
+ }
+}
diff --git a/libjava/gnu/java/nio/NIOSocket.h b/libjava/gnu/java/nio/NIOSocket.h
new file mode 100644
index 000000000..b987a6c9e
--- /dev/null
+++ b/libjava/gnu/java/nio/NIOSocket.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_NIOSocket__
+#define __gnu_java_nio_NIOSocket__
+
+#pragma interface
+
+#include <java/net/Socket.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ }
+ namespace nio
+ {
+ class NIOSocket;
+ class SocketChannelImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class SocketChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::NIOSocket : public ::java::net::Socket
+{
+
+public: // actually protected
+ NIOSocket(::gnu::java::net::PlainSocketImpl *, ::gnu::java::nio::SocketChannelImpl *);
+public:
+ ::gnu::java::net::PlainSocketImpl * getPlainSocketImpl();
+public: // actually package-private
+ void setChannel(::gnu::java::nio::SocketChannelImpl *);
+public:
+ ::java::nio::channels::SocketChannel * getChannel();
+private:
+ ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::net::Socket)))) impl;
+ ::gnu::java::nio::SocketChannelImpl * channel;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_NIOSocket__
diff --git a/libjava/gnu/java/nio/NIOSocket.java b/libjava/gnu/java/nio/NIOSocket.java
new file mode 100644
index 000000000..4d812bf44
--- /dev/null
+++ b/libjava/gnu/java/nio/NIOSocket.java
@@ -0,0 +1,77 @@
+/* NIOSocket.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import gnu.java.net.PlainSocketImpl;
+import java.io.IOException;
+import java.net.Socket;
+import java.nio.channels.SocketChannel;
+
+/**
+ * @author Michael Koch
+ */
+public final class NIOSocket extends Socket
+{
+ private PlainSocketImpl impl;
+ private SocketChannelImpl channel;
+
+ protected NIOSocket (PlainSocketImpl impl, SocketChannelImpl channel)
+ throws IOException
+ {
+ super (impl);
+ this.impl = impl;
+ this.channel = channel;
+ }
+
+ public final PlainSocketImpl getPlainSocketImpl()
+ {
+ return impl;
+ }
+
+ final void setChannel (SocketChannelImpl channel)
+ {
+ this.impl = channel.getPlainSocketImpl();
+ this.channel = channel;
+ }
+
+ public final SocketChannel getChannel()
+ {
+ return channel;
+ }
+}
diff --git a/libjava/gnu/java/nio/OutputStreamChannel.h b/libjava/gnu/java/nio/OutputStreamChannel.h
new file mode 100644
index 000000000..3a47ab97b
--- /dev/null
+++ b/libjava/gnu/java/nio/OutputStreamChannel.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_OutputStreamChannel__
+#define __gnu_java_nio_OutputStreamChannel__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class OutputStreamChannel;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::nio::OutputStreamChannel : public ::java::lang::Object
+{
+
+public:
+ OutputStreamChannel(::java::io::OutputStream *);
+ void close();
+ jboolean isOpen();
+ jint write(::java::nio::ByteBuffer *);
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) closed;
+ ::java::io::OutputStream * out;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_OutputStreamChannel__
diff --git a/libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h b/libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h
new file mode 100644
index 000000000..648de594b
--- /dev/null
+++ b/libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_PipeImpl$SinkChannelImpl__
+#define __gnu_java_nio_PipeImpl$SinkChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/Pipe$SinkChannel.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class PipeImpl$SinkChannelImpl;
+ class VMChannel;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ namespace channels
+ {
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::PipeImpl$SinkChannelImpl : public ::java::nio::channels::Pipe$SinkChannel
+{
+
+public:
+ PipeImpl$SinkChannelImpl(::java::nio::channels::spi::SelectorProvider *, jint);
+public: // actually protected
+ void implCloseSelectableChannel();
+ void implConfigureBlocking(jboolean);
+public:
+ jint write(::java::nio::ByteBuffer *);
+ jlong write(JArray< ::java::nio::ByteBuffer * > *);
+ jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ jint getNativeFD();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::nio::channels::Pipe$SinkChannel)))) native_fd;
+ ::gnu::java::nio::VMChannel * vmch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_PipeImpl$SinkChannelImpl__
diff --git a/libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h b/libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h
new file mode 100644
index 000000000..fdc744bbf
--- /dev/null
+++ b/libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_PipeImpl$SourceChannelImpl__
+#define __gnu_java_nio_PipeImpl$SourceChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/Pipe$SourceChannel.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class PipeImpl$SourceChannelImpl;
+ class VMChannel;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ namespace channels
+ {
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::PipeImpl$SourceChannelImpl : public ::java::nio::channels::Pipe$SourceChannel
+{
+
+public:
+ PipeImpl$SourceChannelImpl(::java::nio::channels::spi::SelectorProvider *, jint);
+public: // actually protected
+ void implCloseSelectableChannel();
+ void implConfigureBlocking(jboolean);
+public:
+ jint read(::java::nio::ByteBuffer *);
+ jlong read(JArray< ::java::nio::ByteBuffer * > *);
+ jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ jint getNativeFD();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::nio::channels::Pipe$SourceChannel)))) native_fd;
+ ::gnu::java::nio::VMChannel * vmch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_PipeImpl$SourceChannelImpl__
diff --git a/libjava/gnu/java/nio/PipeImpl.h b/libjava/gnu/java/nio/PipeImpl.h
new file mode 100644
index 000000000..63bfafb56
--- /dev/null
+++ b/libjava/gnu/java/nio/PipeImpl.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_PipeImpl__
+#define __gnu_java_nio_PipeImpl__
+
+#pragma interface
+
+#include <java/nio/channels/Pipe.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class PipeImpl;
+ class PipeImpl$SinkChannelImpl;
+ class PipeImpl$SourceChannelImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class Pipe$SinkChannel;
+ class Pipe$SourceChannel;
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::PipeImpl : public ::java::nio::channels::Pipe
+{
+
+public:
+ PipeImpl(::java::nio::channels::spi::SelectorProvider *);
+ virtual ::java::nio::channels::Pipe$SinkChannel * sink();
+ virtual ::java::nio::channels::Pipe$SourceChannel * source();
+private:
+ ::gnu::java::nio::PipeImpl$SinkChannelImpl * __attribute__((aligned(__alignof__( ::java::nio::channels::Pipe)))) sink__;
+ ::gnu::java::nio::PipeImpl$SourceChannelImpl * source__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_PipeImpl__
diff --git a/libjava/gnu/java/nio/PipeImpl.java b/libjava/gnu/java/nio/PipeImpl.java
new file mode 100644
index 000000000..cccaa3988
--- /dev/null
+++ b/libjava/gnu/java/nio/PipeImpl.java
@@ -0,0 +1,178 @@
+/* PipeImpl.java --
+ Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.nio;
+
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.channels.Pipe;
+import java.nio.channels.spi.SelectorProvider;
+
+class PipeImpl extends Pipe
+{
+ public static final class SourceChannelImpl extends Pipe.SourceChannel
+ {
+ private int native_fd;
+ private VMChannel vmch;
+
+ public SourceChannelImpl (SelectorProvider selectorProvider,
+ int native_fd)
+ {
+ super (selectorProvider);
+ this.native_fd = native_fd;
+ vmch = VMChannel.getVMChannel(this);
+ }
+
+ protected final void implCloseSelectableChannel()
+ throws IOException
+ {
+ throw new Error ("Not implemented");
+ }
+
+ protected void implConfigureBlocking (boolean blocking)
+ throws IOException
+ {
+ vmch.setBlocking(blocking);
+ }
+
+ public final int read (ByteBuffer src)
+ throws IOException
+ {
+ return vmch.read(src);
+ }
+
+ public final long read (ByteBuffer[] srcs)
+ throws IOException
+ {
+ return vmch.readScattering(srcs, 0, srcs.length);
+ }
+
+ public final synchronized long read (ByteBuffer[] srcs, int offset,
+ int len)
+ throws IOException
+ {
+ if (offset < 0
+ || offset > srcs.length
+ || len < 0
+ || len > srcs.length - offset)
+ throw new IndexOutOfBoundsException();
+
+ return vmch.readScattering(srcs, offset, len);
+ }
+
+ public final int getNativeFD()
+ {
+ return native_fd;
+ }
+ }
+
+ public static final class SinkChannelImpl extends Pipe.SinkChannel
+ {
+ private int native_fd;
+ private VMChannel vmch;
+
+ public SinkChannelImpl (SelectorProvider selectorProvider,
+ int native_fd)
+ {
+ super (selectorProvider);
+ this.native_fd = native_fd;
+ vmch = VMChannel.getVMChannel(this);
+ }
+
+ protected final void implCloseSelectableChannel()
+ throws IOException
+ {
+ throw new Error ("Not implemented");
+ }
+
+ protected final void implConfigureBlocking (boolean blocking)
+ throws IOException
+ {
+ vmch.setBlocking(blocking);
+ }
+
+ public final int write (ByteBuffer dst)
+ throws IOException
+ {
+ return vmch.write(dst);
+ }
+
+ public final long write (ByteBuffer[] srcs)
+ throws IOException
+ {
+ return vmch.writeGathering(srcs, 0, srcs.length);
+ }
+
+ public final synchronized long write (ByteBuffer[] srcs, int offset, int len)
+ throws IOException
+ {
+ if (offset < 0
+ || offset > srcs.length
+ || len < 0
+ || len > srcs.length - offset)
+ throw new IndexOutOfBoundsException();
+
+ return vmch.writeGathering(srcs, offset, len);
+ }
+
+ public final int getNativeFD()
+ {
+ return native_fd;
+ }
+ }
+
+ private SinkChannelImpl sink;
+ private SourceChannelImpl source;
+
+ public PipeImpl (SelectorProvider provider)
+ throws IOException
+ {
+ super();
+ VMPipe.init (this, provider);
+ }
+
+ public Pipe.SinkChannel sink()
+ {
+ return sink;
+ }
+
+ public Pipe.SourceChannel source()
+ {
+ return source;
+ }
+}
diff --git a/libjava/gnu/java/nio/SelectionKeyImpl.h b/libjava/gnu/java/nio/SelectionKeyImpl.h
new file mode 100644
index 000000000..29e0dca2c
--- /dev/null
+++ b/libjava/gnu/java/nio/SelectionKeyImpl.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SelectionKeyImpl__
+#define __gnu_java_nio_SelectionKeyImpl__
+
+#pragma interface
+
+#include <java/nio/channels/spi/AbstractSelectionKey.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectionKeyImpl;
+ class SelectorImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class SelectableChannel;
+ class SelectionKey;
+ class Selector;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SelectionKeyImpl : public ::java::nio::channels::spi::AbstractSelectionKey
+{
+
+public:
+ SelectionKeyImpl(::java::nio::channels::SelectableChannel *, ::gnu::java::nio::SelectorImpl *);
+ virtual ::java::nio::channels::SelectableChannel * channel();
+ virtual jint readyOps();
+ virtual ::java::nio::channels::SelectionKey * readyOps(jint);
+ virtual jint interestOps();
+ virtual ::java::nio::channels::SelectionKey * interestOps(jint);
+ virtual ::java::nio::channels::Selector * selector();
+ virtual jint getNativeFD() = 0;
+private:
+ jint __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelectionKey)))) readyOps__;
+ jint interestOps__;
+ ::gnu::java::nio::SelectorImpl * impl;
+public: // actually package-private
+ ::java::nio::channels::SelectableChannel * ch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SelectionKeyImpl__
diff --git a/libjava/gnu/java/nio/SelectorImpl.h b/libjava/gnu/java/nio/SelectorImpl.h
new file mode 100644
index 000000000..5db33c8aa
--- /dev/null
+++ b/libjava/gnu/java/nio/SelectorImpl.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SelectorImpl__
+#define __gnu_java_nio_SelectorImpl__
+
+#pragma interface
+
+#include <java/nio/channels/spi/AbstractSelector.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectorImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class SelectableChannel;
+ class SelectionKey;
+ class Selector;
+ namespace spi
+ {
+ class AbstractSelectableChannel;
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SelectorImpl : public ::java::nio::channels::spi::AbstractSelector
+{
+
+public:
+ SelectorImpl(::java::nio::channels::spi::SelectorProvider *);
+public: // actually protected
+ virtual void finalize();
+ virtual void implCloseSelector();
+public:
+ virtual ::java::util::Set * keys();
+ virtual jint selectNow();
+ virtual jint select();
+private:
+ JArray< jint > * getFDsAsArray(jint);
+public:
+ virtual jint select(jlong);
+ virtual ::java::util::Set * selectedKeys();
+ virtual ::java::nio::channels::Selector * wakeup();
+private:
+ void deregisterCancelledKeys();
+public: // actually protected
+ virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::SelectableChannel *, jint, ::java::lang::Object *);
+ virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::spi::AbstractSelectableChannel *, jint, ::java::lang::Object *);
+private:
+ ::java::util::Set * __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelector)))) keys__;
+ ::java::util::Set * selected;
+ ::java::lang::Object * selectThreadMutex;
+ ::java::lang::Thread * selectThread;
+ jboolean unhandledWakeup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SelectorImpl__
diff --git a/libjava/gnu/java/nio/SelectorProviderImpl.h b/libjava/gnu/java/nio/SelectorProviderImpl.h
new file mode 100644
index 000000000..e2ad8e41d
--- /dev/null
+++ b/libjava/gnu/java/nio/SelectorProviderImpl.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SelectorProviderImpl__
+#define __gnu_java_nio_SelectorProviderImpl__
+
+#pragma interface
+
+#include <java/nio/channels/spi/SelectorProvider.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectorProviderImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class DatagramChannel;
+ class Pipe;
+ class ServerSocketChannel;
+ class SocketChannel;
+ namespace spi
+ {
+ class AbstractSelector;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SelectorProviderImpl : public ::java::nio::channels::spi::SelectorProvider
+{
+
+public:
+ SelectorProviderImpl();
+ virtual ::java::nio::channels::DatagramChannel * openDatagramChannel();
+ virtual ::java::nio::channels::Pipe * openPipe();
+ virtual ::java::nio::channels::spi::AbstractSelector * openSelector();
+ virtual ::java::nio::channels::ServerSocketChannel * openServerSocketChannel();
+ virtual ::java::nio::channels::SocketChannel * openSocketChannel();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SelectorProviderImpl__
diff --git a/libjava/gnu/java/nio/SelectorProviderImpl.java b/libjava/gnu/java/nio/SelectorProviderImpl.java
new file mode 100644
index 000000000..03da80e69
--- /dev/null
+++ b/libjava/gnu/java/nio/SelectorProviderImpl.java
@@ -0,0 +1,84 @@
+/* SelectorProviderImpl.java --
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.nio;
+
+import java.io.IOException;
+import java.nio.channels.DatagramChannel;
+import java.nio.channels.Pipe;
+import java.nio.channels.ServerSocketChannel;
+import java.nio.channels.SocketChannel;
+import java.nio.channels.spi.AbstractSelector;
+import java.nio.channels.spi.SelectorProvider;
+
+public class SelectorProviderImpl extends SelectorProvider
+{
+ public SelectorProviderImpl ()
+ {
+ }
+
+ public DatagramChannel openDatagramChannel ()
+ throws IOException
+ {
+ return new DatagramChannelImpl (this);
+ }
+
+ public Pipe openPipe ()
+ throws IOException
+ {
+ return new PipeImpl (this);
+ }
+
+ public AbstractSelector openSelector ()
+ throws IOException
+ {
+ return new SelectorImpl (this);
+ }
+
+ public ServerSocketChannel openServerSocketChannel ()
+ throws IOException
+ {
+ return new ServerSocketChannelImpl (this);
+ }
+
+ public SocketChannel openSocketChannel ()
+ throws IOException
+ {
+ return new SocketChannelImpl (this);
+ }
+
+}
diff --git a/libjava/gnu/java/nio/ServerSocketChannelImpl.h b/libjava/gnu/java/nio/ServerSocketChannelImpl.h
new file mode 100644
index 000000000..28f6d9811
--- /dev/null
+++ b/libjava/gnu/java/nio/ServerSocketChannelImpl.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ServerSocketChannelImpl__
+#define __gnu_java_nio_ServerSocketChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/ServerSocketChannel.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class NIOServerSocket;
+ class ServerSocketChannelImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class ServerSocket;
+ }
+ namespace nio
+ {
+ namespace channels
+ {
+ class SocketChannel;
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ServerSocketChannelImpl : public ::java::nio::channels::ServerSocketChannel
+{
+
+public: // actually protected
+ ServerSocketChannelImpl(::java::nio::channels::spi::SelectorProvider *);
+public:
+ jint getNativeFD();
+ void finalizer();
+public: // actually protected
+ void implCloseSelectableChannel();
+ void implConfigureBlocking(jboolean);
+public:
+ ::java::nio::channels::SocketChannel * accept();
+ ::java::net::ServerSocket * socket();
+private:
+ ::gnu::java::nio::NIOServerSocket * __attribute__((aligned(__alignof__( ::java::nio::channels::ServerSocketChannel)))) serverSocket;
+ jboolean connected;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ServerSocketChannelImpl__
diff --git a/libjava/gnu/java/nio/ServerSocketChannelImpl.java b/libjava/gnu/java/nio/ServerSocketChannelImpl.java
new file mode 100644
index 000000000..8b9499c89
--- /dev/null
+++ b/libjava/gnu/java/nio/ServerSocketChannelImpl.java
@@ -0,0 +1,129 @@
+/* ServerSocketChannelImpl.java --
+ Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.SocketTimeoutException;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.NotYetBoundException;
+import java.nio.channels.ServerSocketChannel;
+import java.nio.channels.SocketChannel;
+import java.nio.channels.spi.SelectorProvider;
+
+public final class ServerSocketChannelImpl extends ServerSocketChannel
+{
+ private NIOServerSocket serverSocket;
+ private boolean connected;
+
+ protected ServerSocketChannelImpl (SelectorProvider provider)
+ throws IOException
+ {
+ super (provider);
+ serverSocket = new NIOServerSocket (this);
+ configureBlocking(true);
+ }
+
+ public int getNativeFD()
+ {
+ return serverSocket.getPlainSocketImpl().getNativeFD();
+ }
+
+ public void finalizer()
+ {
+ if (connected)
+ {
+ try
+ {
+ close ();
+ }
+ catch (Exception e)
+ {
+ }
+ }
+ }
+
+ protected void implCloseSelectableChannel () throws IOException
+ {
+ connected = false;
+ serverSocket.close();
+ }
+
+ protected void implConfigureBlocking (boolean blocking) throws IOException
+ {
+ serverSocket.setSoTimeout (blocking ? 0 : NIOConstants.DEFAULT_TIMEOUT);
+ }
+
+ public SocketChannel accept () throws IOException
+ {
+ if (!isOpen())
+ throw new ClosedChannelException();
+
+ if (!serverSocket.isBound())
+ throw new NotYetBoundException();
+
+ boolean completed = false;
+
+ try
+ {
+ begin();
+ serverSocket.getPlainSocketImpl().setInChannelOperation(true);
+ // indicate that a channel is initiating the accept operation
+ // so that the socket ignores the fact that we might be in
+ // non-blocking mode.
+ NIOSocket socket = (NIOSocket) serverSocket.accept();
+ completed = true;
+ return socket.getChannel();
+ }
+ catch (SocketTimeoutException e)
+ {
+ return null;
+ }
+ finally
+ {
+ serverSocket.getPlainSocketImpl().setInChannelOperation(false);
+ end (completed);
+ }
+ }
+
+ public ServerSocket socket ()
+ {
+ return serverSocket;
+ }
+}
diff --git a/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h b/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h
new file mode 100644
index 000000000..43e35932c
--- /dev/null
+++ b/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_ServerSocketChannelSelectionKey__
+#define __gnu_java_nio_ServerSocketChannelSelectionKey__
+
+#pragma interface
+
+#include <gnu/java/nio/SelectionKeyImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectorImpl;
+ class ServerSocketChannelSelectionKey;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ namespace spi
+ {
+ class AbstractSelectableChannel;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::ServerSocketChannelSelectionKey : public ::gnu::java::nio::SelectionKeyImpl
+{
+
+public:
+ ServerSocketChannelSelectionKey(::java::nio::channels::spi::AbstractSelectableChannel *, ::gnu::java::nio::SelectorImpl *);
+ jint getNativeFD();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_ServerSocketChannelSelectionKey__
diff --git a/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.java b/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.java
new file mode 100644
index 000000000..aa329000d
--- /dev/null
+++ b/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.java
@@ -0,0 +1,56 @@
+/* ServerSocketChannelSelectionKey.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import java.nio.channels.spi.AbstractSelectableChannel;
+
+public final class ServerSocketChannelSelectionKey
+ extends SelectionKeyImpl
+{
+ public ServerSocketChannelSelectionKey (AbstractSelectableChannel channel,
+ SelectorImpl selector)
+ {
+ super (channel, selector);
+ }
+
+ public int getNativeFD()
+ {
+ return ((ServerSocketChannelImpl) ch).getNativeFD();
+ }
+}
diff --git a/libjava/gnu/java/nio/SocketChannelImpl.h b/libjava/gnu/java/nio/SocketChannelImpl.h
new file mode 100644
index 000000000..b180918d6
--- /dev/null
+++ b/libjava/gnu/java/nio/SocketChannelImpl.h
@@ -0,0 +1,82 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SocketChannelImpl__
+#define __gnu_java_nio_SocketChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/SocketChannel.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ }
+ namespace nio
+ {
+ class NIOSocket;
+ class SocketChannelImpl;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class Socket;
+ class SocketAddress;
+ }
+ namespace nio
+ {
+ class ByteBuffer;
+ namespace channels
+ {
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SocketChannelImpl : public ::java::nio::channels::SocketChannel
+{
+
+public: // actually package-private
+ SocketChannelImpl(::java::nio::channels::spi::SelectorProvider *);
+ SocketChannelImpl(::java::nio::channels::spi::SelectorProvider *, ::gnu::java::nio::NIOSocket *);
+public:
+ void finalizer();
+public: // actually package-private
+ ::gnu::java::net::PlainSocketImpl * getPlainSocketImpl();
+ jint getNativeFD();
+public: // actually protected
+ void implCloseSelectableChannel();
+ void implConfigureBlocking(jboolean);
+public:
+ jboolean connect(::java::net::SocketAddress *);
+ jboolean finishConnect();
+ jboolean isConnected();
+ jboolean isConnectionPending();
+ ::java::net::Socket * socket();
+ jint read(::java::nio::ByteBuffer *);
+ jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ jint write(::java::nio::ByteBuffer *);
+ jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+private:
+ ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::nio::channels::SocketChannel)))) impl;
+ ::gnu::java::nio::NIOSocket * socket__;
+ jboolean connectionPending;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SocketChannelImpl__
diff --git a/libjava/gnu/java/nio/SocketChannelImpl.java b/libjava/gnu/java/nio/SocketChannelImpl.java
new file mode 100644
index 000000000..5925712be
--- /dev/null
+++ b/libjava/gnu/java/nio/SocketChannelImpl.java
@@ -0,0 +1,357 @@
+/* SocketChannelImpl.java --
+ Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import gnu.java.net.PlainSocketImpl;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.net.SocketAddress;
+import java.net.SocketTimeoutException;
+import java.nio.ByteBuffer;
+import java.nio.channels.AlreadyConnectedException;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.ConnectionPendingException;
+import java.nio.channels.NoConnectionPendingException;
+import java.nio.channels.NotYetConnectedException;
+import java.nio.channels.SelectionKey;
+import java.nio.channels.Selector;
+import java.nio.channels.SocketChannel;
+import java.nio.channels.UnresolvedAddressException;
+import java.nio.channels.UnsupportedAddressTypeException;
+import java.nio.channels.spi.SelectorProvider;
+
+public final class SocketChannelImpl extends SocketChannel
+{
+ private PlainSocketImpl impl;
+ private NIOSocket socket;
+ private boolean connectionPending;
+
+ SocketChannelImpl (SelectorProvider provider)
+ throws IOException
+ {
+ super (provider);
+ impl = new PlainSocketImpl();
+ impl.create(true);
+ socket = new NIOSocket (impl, this);
+ configureBlocking(true);
+ }
+
+ SocketChannelImpl (SelectorProvider provider,
+ NIOSocket socket)
+ throws IOException
+ {
+ super (provider);
+ this.impl = socket.getPlainSocketImpl();
+ this.socket = socket;
+ }
+
+ public void finalizer()
+ {
+ if (isConnected())
+ {
+ try
+ {
+ close ();
+ }
+ catch (Exception e)
+ {
+ }
+ }
+ }
+
+ PlainSocketImpl getPlainSocketImpl()
+ {
+ return impl;
+ }
+
+ int getNativeFD()
+ {
+ return socket.getPlainSocketImpl().getNativeFD();
+ }
+
+ protected void implCloseSelectableChannel () throws IOException
+ {
+ socket.close();
+ }
+
+ protected void implConfigureBlocking (boolean blocking) throws IOException
+ {
+ socket.setSoTimeout (blocking ? 0 : NIOConstants.DEFAULT_TIMEOUT);
+ }
+
+ public boolean connect (SocketAddress remote) throws IOException
+ {
+ if (!isOpen())
+ throw new ClosedChannelException();
+
+ if (isConnected())
+ throw new AlreadyConnectedException();
+
+ if (connectionPending)
+ throw new ConnectionPendingException();
+
+ if (!(remote instanceof InetSocketAddress))
+ throw new UnsupportedAddressTypeException();
+
+ if (((InetSocketAddress) remote).isUnresolved())
+ throw new UnresolvedAddressException();
+
+ try
+ {
+ socket.getPlainSocketImpl().setInChannelOperation(true);
+ // indicate that a channel is initiating the accept operation
+ // so that the socket ignores the fact that we might be in
+ // non-blocking mode.
+
+ if (isBlocking())
+ {
+ // Do blocking connect.
+ socket.connect (remote);
+ return true;
+ }
+
+ // Do non-blocking connect.
+ try
+ {
+ socket.connect (remote, NIOConstants.DEFAULT_TIMEOUT);
+ return true;
+ }
+ catch (SocketTimeoutException e)
+ {
+ connectionPending = true;
+ return false;
+ }
+ }
+ finally
+ {
+ socket.getPlainSocketImpl().setInChannelOperation(false);
+ }
+ }
+
+ public boolean finishConnect ()
+ throws IOException
+ {
+ if (!isOpen())
+ throw new ClosedChannelException();
+
+ if (!isConnected() && !connectionPending)
+ throw new NoConnectionPendingException();
+
+ if (isConnected())
+ return true;
+
+ // FIXME: Handle blocking/non-blocking mode.
+
+ Selector selector = provider().openSelector();
+ register(selector, SelectionKey.OP_CONNECT);
+
+ if (isBlocking())
+ {
+ selector.select(); // blocking until channel is connected.
+ connectionPending = false;
+ return true;
+ }
+
+ int ready = selector.selectNow(); // non-blocking
+ if (ready == 1)
+ {
+ connectionPending = false;
+ return true;
+ }
+
+ return false;
+ }
+
+ public boolean isConnected ()
+ {
+ return socket.isConnected();
+ }
+
+ public boolean isConnectionPending ()
+ {
+ return connectionPending;
+ }
+
+ public Socket socket ()
+ {
+ return socket;
+ }
+
+ public int read(ByteBuffer dst) throws IOException
+ {
+ if (!isConnected())
+ throw new NotYetConnectedException();
+
+ byte[] data;
+ int offset = 0;
+ InputStream input = socket.getInputStream();
+ int available = input.available();
+ int len = dst.remaining();
+
+ if ((! isBlocking()) && available == 0)
+ return 0;
+
+ if (dst.hasArray())
+ {
+ offset = dst.arrayOffset() + dst.position();
+ data = dst.array();
+ }
+ else
+ {
+ data = new byte [len];
+ }
+
+ int readBytes = 0;
+ boolean completed = false;
+
+ try
+ {
+ begin();
+ socket.getPlainSocketImpl().setInChannelOperation(true);
+ readBytes = input.read (data, offset, len);
+ completed = true;
+ }
+ finally
+ {
+ end (completed);
+ socket.getPlainSocketImpl().setInChannelOperation(false);
+ }
+
+ if (readBytes > 0)
+ if (dst.hasArray())
+ {
+ dst.position (dst.position() + readBytes);
+ }
+ else
+ {
+ dst.put (data, offset, readBytes);
+ }
+
+ return readBytes;
+ }
+
+ public long read (ByteBuffer[] dsts, int offset, int length)
+ throws IOException
+ {
+ if (!isConnected())
+ throw new NotYetConnectedException();
+
+ if ((offset < 0)
+ || (offset > dsts.length)
+ || (length < 0)
+ || (length > (dsts.length - offset)))
+ throw new IndexOutOfBoundsException();
+
+ long readBytes = 0;
+
+ for (int index = offset; index < length; index++)
+ readBytes += read (dsts [index]);
+
+ return readBytes;
+ }
+
+ public int write (ByteBuffer src)
+ throws IOException
+ {
+ if (!isConnected())
+ throw new NotYetConnectedException();
+
+ byte[] data;
+ int offset = 0;
+ int len = src.remaining();
+
+ if (!src.hasArray())
+ {
+ data = new byte [len];
+ src.get (data, 0, len);
+ }
+ else
+ {
+ offset = src.arrayOffset() + src.position();
+ data = src.array();
+ }
+
+ OutputStream output = socket.getOutputStream();
+ boolean completed = false;
+
+ try
+ {
+ begin();
+ socket.getPlainSocketImpl().setInChannelOperation(true);
+ output.write (data, offset, len);
+ completed = true;
+ }
+ finally
+ {
+ end (completed);
+ socket.getPlainSocketImpl().setInChannelOperation(false);
+ }
+
+ if (src.hasArray())
+ {
+ src.position (src.position() + len);
+ }
+
+ return len;
+ }
+
+ public long write (ByteBuffer[] srcs, int offset, int length)
+ throws IOException
+ {
+ if (!isConnected())
+ throw new NotYetConnectedException();
+
+ if ((offset < 0)
+ || (offset > srcs.length)
+ || (length < 0)
+ || (length > (srcs.length - offset)))
+ throw new IndexOutOfBoundsException();
+
+ long writtenBytes = 0;
+
+ for (int index = offset; index < length; index++)
+ writtenBytes += write (srcs [index]);
+
+ return writtenBytes;
+ }
+}
diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKey.h b/libjava/gnu/java/nio/SocketChannelSelectionKey.h
new file mode 100644
index 000000000..f9d5f297f
--- /dev/null
+++ b/libjava/gnu/java/nio/SocketChannelSelectionKey.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SocketChannelSelectionKey__
+#define __gnu_java_nio_SocketChannelSelectionKey__
+
+#pragma interface
+
+#include <gnu/java/nio/SelectionKeyImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectorImpl;
+ class SocketChannelSelectionKey;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ namespace spi
+ {
+ class AbstractSelectableChannel;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SocketChannelSelectionKey : public ::gnu::java::nio::SelectionKeyImpl
+{
+
+public:
+ SocketChannelSelectionKey(::java::nio::channels::spi::AbstractSelectableChannel *, ::gnu::java::nio::SelectorImpl *);
+ jint getNativeFD();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SocketChannelSelectionKey__
diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKey.java b/libjava/gnu/java/nio/SocketChannelSelectionKey.java
new file mode 100644
index 000000000..75b4dfd87
--- /dev/null
+++ b/libjava/gnu/java/nio/SocketChannelSelectionKey.java
@@ -0,0 +1,58 @@
+/* SocketChannelSelectionKey.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import java.nio.channels.spi.AbstractSelectableChannel;
+
+public final class SocketChannelSelectionKey
+ extends SelectionKeyImpl
+{
+ public SocketChannelSelectionKey (AbstractSelectableChannel channel,
+ SelectorImpl selector)
+ {
+ super (channel, selector);
+ }
+
+ public int getNativeFD()
+ {
+ NIOSocket socket =
+ (NIOSocket) ((SocketChannelImpl) ch).socket();
+ return socket.getPlainSocketImpl().getNativeFD();
+ }
+}
diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h
new file mode 100644
index 000000000..b3ab4900f
--- /dev/null
+++ b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_SocketChannelSelectionKeyImpl__
+#define __gnu_java_nio_SocketChannelSelectionKeyImpl__
+
+#pragma interface
+
+#include <gnu/java/nio/SelectionKeyImpl.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class SelectorImpl;
+ class SocketChannelImpl;
+ class SocketChannelSelectionKeyImpl;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::SocketChannelSelectionKeyImpl : public ::gnu::java::nio::SelectionKeyImpl
+{
+
+public:
+ SocketChannelSelectionKeyImpl(::gnu::java::nio::SocketChannelImpl *, ::gnu::java::nio::SelectorImpl *);
+ virtual jint getNativeFD();
+public: // actually package-private
+ ::gnu::java::nio::SocketChannelImpl * __attribute__((aligned(__alignof__( ::gnu::java::nio::SelectionKeyImpl)))) ch;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_SocketChannelSelectionKeyImpl__
diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java
new file mode 100644
index 000000000..30fb2dfba
--- /dev/null
+++ b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java
@@ -0,0 +1,69 @@
+/* SocketChannelSelectionKey.java -- Selection key for Socket Channel
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+
+/**
+ * @author Michael Barker <mike@middlesoft.co.uk>
+ *
+ */
+public class SocketChannelSelectionKeyImpl extends SelectionKeyImpl
+{
+
+ SocketChannelImpl ch;
+
+ /**
+ * @param ch
+ * @param impl
+ */
+ public SocketChannelSelectionKeyImpl(SocketChannelImpl ch, SelectorImpl impl)
+ {
+ super(ch, impl);
+ this.ch = (SocketChannelImpl) ch;
+ }
+
+ /**
+ * Returns the native file/socket descriptor as an int.
+ */
+ public int getNativeFD()
+ {
+ return ch.getPlainSocketImpl().getNativeFD();
+ }
+
+}
diff --git a/libjava/gnu/java/nio/VMChannel.h b/libjava/gnu/java/nio/VMChannel.h
new file mode 100644
index 000000000..288805137
--- /dev/null
+++ b/libjava/gnu/java/nio/VMChannel.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_VMChannel__
+#define __gnu_java_nio_VMChannel__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace net
+ {
+ class PlainSocketImpl;
+ }
+ namespace nio
+ {
+ class PipeImpl$SinkChannelImpl;
+ class PipeImpl$SourceChannelImpl;
+ class VMChannel;
+ namespace channels
+ {
+ class FileChannelImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::nio::VMChannel : public ::java::lang::Object
+{
+
+ VMChannel(jint);
+public:
+ static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::net::PlainSocketImpl *);
+ static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::nio::PipeImpl$SourceChannelImpl *);
+ static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::nio::PipeImpl$SinkChannelImpl *);
+ static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::nio::channels::FileChannelImpl *);
+ virtual void setBlocking(jint, jboolean);
+ virtual void setBlocking(jboolean);
+public: // actually package-private
+ virtual jint read(jint, ::java::nio::ByteBuffer *);
+public:
+ virtual jint read(::java::nio::ByteBuffer *);
+public: // actually package-private
+ virtual jlong readScattering(jint, JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+public:
+ virtual jlong readScattering(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+public: // actually package-private
+ virtual jint write(jint, ::java::nio::ByteBuffer *);
+public:
+ virtual jint write(::java::nio::ByteBuffer *);
+public: // actually package-private
+ virtual jlong writeGathering(jint, JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+public:
+ virtual jlong writeGathering(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+private:
+ static void initIDs();
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) fd;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_VMChannel__
diff --git a/libjava/gnu/java/nio/VMChannel.java b/libjava/gnu/java/nio/VMChannel.java
new file mode 100644
index 000000000..fdea8ff62
--- /dev/null
+++ b/libjava/gnu/java/nio/VMChannel.java
@@ -0,0 +1,197 @@
+/* VMChannel.java -- Native interface suppling channel operations.
+ Copyright (C) 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import gnu.classpath.Configuration;
+import gnu.java.net.PlainSocketImpl;
+import gnu.java.nio.PipeImpl.SinkChannelImpl;
+import gnu.java.nio.PipeImpl.SourceChannelImpl;
+import gnu.java.nio.channels.FileChannelImpl;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+
+/**
+ * Native interface to support configuring of channel to run in a non-blocking
+ * manner and support scatter/gather io operations.
+ *
+ * @author Michael Barker <mike@middlesoft.co.uk>
+ *
+ */
+public class VMChannel
+{
+ private final int fd;
+
+ private VMChannel(int fd)
+ {
+ this.fd = fd;
+ }
+
+ public static VMChannel getVMChannel(PlainSocketImpl socket)
+ {
+ return new VMChannel(socket.getNativeFD());
+ }
+
+ public static VMChannel getVMChannel(SourceChannelImpl source)
+ {
+ return new VMChannel(source.getNativeFD());
+ }
+
+ public static VMChannel getVMChannel(SinkChannelImpl sink)
+ {
+ return new VMChannel(sink.getNativeFD());
+ }
+
+ public static VMChannel getVMChannel(FileChannelImpl file)
+ {
+ return new VMChannel(file.getNativeFD());
+ }
+
+ static
+ {
+ // load the shared library needed for native methods.
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary ("javanio");
+ }
+ initIDs();
+ }
+
+ /**
+ * Set the file descriptor to have the required blocking
+ * setting.
+ *
+ * @param fd
+ * @param blocking
+ */
+ public native void setBlocking(int fd, boolean blocking);
+
+ public void setBlocking(boolean blocking)
+ {
+ setBlocking(fd, blocking);
+ }
+
+
+ /**
+ * Reads a byte buffer directly using the supplied file descriptor.
+ * Assumes that the buffer is a DirectBuffer.
+ *
+ * @param fd Native file descriptor to read from.
+ * @param dst Direct Byte Buffer to read to.
+ * @return Number of bytes read.
+ * @throws IOException If an error occurs or dst is not a direct buffers.
+ */
+ native int read(int fd, ByteBuffer dst)
+ throws IOException;
+
+ public int read(ByteBuffer dst)
+ throws IOException
+ {
+ return read(fd, dst);
+ }
+
+ /**
+ * Reads into byte buffers directly using the supplied file descriptor.
+ * Assumes that the buffer list contains DirectBuffers. Will perform a
+ * scattering read.
+ *
+ * @param fd Native file descriptor to read from.
+ * @param dsts An array direct byte buffers.
+ * @param offset Index of the first buffer to read to.
+ * @param length The number of buffers to read to.
+ * @return Number of bytes read.
+ * @throws IOException If an error occurs or the dsts are not direct buffers.
+ */
+ native long readScattering(int fd, ByteBuffer[] dsts, int offset, int length)
+ throws IOException;
+
+ public long readScattering(ByteBuffer[] dsts, int offset, int length)
+ throws IOException
+ {
+ if (offset + length > dsts.length)
+ throw new IndexOutOfBoundsException("offset + length > dsts.length");
+
+ return readScattering(fd, dsts, offset, length);
+ }
+
+ /**
+ * Writes from a direct byte bufer using the supplied file descriptor.
+ * Assumes the buffer is a DirectBuffer.
+ *
+ * @param fd
+ * @param src
+ * @return Number of bytes written.
+ * @throws IOException
+ */
+ native int write(int fd, ByteBuffer src)
+ throws IOException;
+
+ public int write(ByteBuffer src)
+ throws IOException
+ {
+ return write(fd, src);
+ }
+
+ /**
+ * Writes from byte buffers directly using the supplied file descriptor.
+ * Assumes the that buffer list constains DirectBuffers. Will perform
+ * as gathering write.
+ *
+ * @param fd
+ * @param srcs
+ * @param offset
+ * @param length
+ * @return Number of bytes written.
+ * @throws IOException
+ */
+ native long writeGathering(int fd, ByteBuffer[] srcs, int offset, int length)
+ throws IOException;
+
+ public long writeGathering(ByteBuffer[] srcs, int offset, int length)
+ throws IOException
+ {
+ if (offset + length > srcs.length)
+ throw new IndexOutOfBoundsException("offset + length > srcs.length");
+
+ return writeGathering(fd, srcs, offset, length);
+ }
+
+ private native static void initIDs();
+
+}
diff --git a/libjava/gnu/java/nio/VMChannelOwner.h b/libjava/gnu/java/nio/VMChannelOwner.h
new file mode 100644
index 000000000..eca43b543
--- /dev/null
+++ b/libjava/gnu/java/nio/VMChannelOwner.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_VMChannelOwner__
+#define __gnu_java_nio_VMChannelOwner__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class VMChannel;
+ class VMChannelOwner;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::VMChannelOwner : public ::java::lang::Object
+{
+
+public:
+ virtual ::gnu::java::nio::VMChannel * getVMChannel() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_nio_VMChannelOwner__
diff --git a/libjava/gnu/java/nio/VMPipe.h b/libjava/gnu/java/nio/VMPipe.h
new file mode 100644
index 000000000..3a94c1e38
--- /dev/null
+++ b/libjava/gnu/java/nio/VMPipe.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_VMPipe__
+#define __gnu_java_nio_VMPipe__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class PipeImpl;
+ class VMPipe;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ namespace spi
+ {
+ class SelectorProvider;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::VMPipe : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMPipe();
+ static void init(::gnu::java::nio::PipeImpl *, ::java::nio::channels::spi::SelectorProvider *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_VMPipe__
diff --git a/libjava/gnu/java/nio/VMPipe.java b/libjava/gnu/java/nio/VMPipe.java
new file mode 100644
index 000000000..11dd2aa7b
--- /dev/null
+++ b/libjava/gnu/java/nio/VMPipe.java
@@ -0,0 +1,64 @@
+/* VMPipe.java -- Reference implementation for VM hooks used by PipeImpl
+ Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.nio;
+
+import java.io.IOException;
+import java.nio.channels.spi.SelectorProvider;
+import gnu.classpath.Configuration;
+
+/**
+ * This class contains the native methods for gnu.java.nio.PipeImpl
+ * As such, it needs help from the VM.
+ *
+ * @author Patrik Reali
+ */
+final class VMPipe
+{
+
+ static
+ {
+ // load the shared library needed for native methods.
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary ("javanio");
+ }
+ }
+
+ static native void init(PipeImpl self, SelectorProvider provider)
+ throws IOException;
+}
diff --git a/libjava/gnu/java/nio/VMSelector.h b/libjava/gnu/java/nio/VMSelector.h
new file mode 100644
index 000000000..cc177ff9e
--- /dev/null
+++ b/libjava/gnu/java/nio/VMSelector.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_VMSelector__
+#define __gnu_java_nio_VMSelector__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ class VMSelector;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::VMSelector : public ::java::lang::Object
+{
+
+public:
+ VMSelector();
+public: // actually package-private
+ static jint select(JArray< jint > *, JArray< jint > *, JArray< jint > *, jlong);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_VMSelector__
diff --git a/libjava/gnu/java/nio/VMSelector.java b/libjava/gnu/java/nio/VMSelector.java
new file mode 100644
index 000000000..488132d24
--- /dev/null
+++ b/libjava/gnu/java/nio/VMSelector.java
@@ -0,0 +1,59 @@
+/* VMSelector.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.nio;
+
+import gnu.classpath.Configuration;
+import java.io.IOException;
+
+public final class VMSelector
+{
+ static
+ {
+ // load the shared library needed for native methods.
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary ("javanio");
+ }
+ }
+
+ // A timeout value of 0 means block forever.
+ static native int select (int[] read, int[] write,
+ int[] except, long timeout)
+ throws IOException;
+
+}
diff --git a/libjava/gnu/java/nio/channels/FileChannelImpl.h b/libjava/gnu/java/nio/channels/FileChannelImpl.h
new file mode 100644
index 000000000..34099c52f
--- /dev/null
+++ b/libjava/gnu/java/nio/channels/FileChannelImpl.h
@@ -0,0 +1,118 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_channels_FileChannelImpl__
+#define __gnu_java_nio_channels_FileChannelImpl__
+
+#pragma interface
+
+#include <java/nio/channels/FileChannel.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class FileChannelImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class MappedByteBuffer;
+ namespace channels
+ {
+ class FileChannel;
+ class FileChannel$MapMode;
+ class FileLock;
+ class ReadableByteChannel;
+ class WritableByteChannel;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::channels::FileChannelImpl : public ::java::nio::channels::FileChannel
+{
+
+ static void init();
+public:
+ FileChannelImpl();
+ static ::gnu::java::nio::channels::FileChannelImpl * create(::java::io::File *, jint);
+private:
+ FileChannelImpl(::java::io::File *, jint);
+public: // actually package-private
+ FileChannelImpl(jint, jint);
+private:
+ jint open(::java::lang::String *, jint);
+public:
+ jint available();
+private:
+ jlong implPosition();
+ void seek(jlong);
+ void implTruncate(jlong);
+public:
+ void unlock(jlong, jlong);
+ jlong size();
+public: // actually protected
+ void implCloseChannel();
+ void finalize();
+public:
+ jint read(::java::nio::ByteBuffer *);
+ jint read(::java::nio::ByteBuffer *, jlong);
+ jint read();
+ jint read(JArray< jbyte > *, jint, jint);
+ jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ jint write(::java::nio::ByteBuffer *);
+ jint write(::java::nio::ByteBuffer *, jlong);
+ void write(JArray< jbyte > *, jint, jint);
+ void write(jint);
+ jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+ ::java::nio::MappedByteBuffer * mapImpl(jchar, jlong, jint);
+ ::java::nio::MappedByteBuffer * map(::java::nio::channels::FileChannel$MapMode *, jlong, jlong);
+ void force(jboolean);
+private:
+ jint smallTransferTo(jlong, jint, ::java::nio::channels::WritableByteChannel *);
+public:
+ jlong transferTo(jlong, jlong, ::java::nio::channels::WritableByteChannel *);
+private:
+ jint smallTransferFrom(::java::nio::channels::ReadableByteChannel *, jlong, jint);
+public:
+ jlong transferFrom(::java::nio::channels::ReadableByteChannel *, jlong, jlong);
+ ::java::nio::channels::FileLock * tryLock(jlong, jlong, jboolean);
+private:
+ jboolean lock(jlong, jlong, jboolean, jboolean);
+public:
+ ::java::nio::channels::FileLock * lock(jlong, jlong, jboolean);
+ jlong position();
+ ::java::nio::channels::FileChannel * position(jlong);
+ ::java::nio::channels::FileChannel * truncate(jlong);
+ jint getNativeFD();
+ static const jint READ = 1;
+ static const jint WRITE = 2;
+ static const jint APPEND = 4;
+ static const jint EXCL = 8;
+ static const jint SYNC = 16;
+ static const jint DSYNC = 32;
+private:
+ jint __attribute__((aligned(__alignof__( ::java::nio::channels::FileChannel)))) fd;
+ jlong pos;
+ jint mode;
+public:
+ static ::gnu::java::nio::channels::FileChannelImpl * in;
+ static ::gnu::java::nio::channels::FileChannelImpl * out;
+ static ::gnu::java::nio::channels::FileChannelImpl * err;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_channels_FileChannelImpl__
diff --git a/libjava/gnu/java/nio/channels/FileChannelImpl.java b/libjava/gnu/java/nio/channels/FileChannelImpl.java
new file mode 100644
index 000000000..c1f79a436
--- /dev/null
+++ b/libjava/gnu/java/nio/channels/FileChannelImpl.java
@@ -0,0 +1,544 @@
+/* FileChannelImpl.java --
+ Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio.channels;
+
+import gnu.classpath.Configuration;
+import gnu.java.nio.FileLockImpl;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.MappedByteBuffer;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+import java.nio.channels.NonReadableChannelException;
+import java.nio.channels.NonWritableChannelException;
+import java.nio.channels.ReadableByteChannel;
+import java.nio.channels.WritableByteChannel;
+
+/**
+ * This file is not user visible !
+ * But alas, Java does not have a concept of friendly packages
+ * so this class is public.
+ * Instances of this class are created by invoking getChannel
+ * Upon a Input/Output/RandomAccessFile object.
+ */
+public final class FileChannelImpl extends FileChannel
+{
+ // These are mode values for open().
+ public static final int READ = 1;
+ public static final int WRITE = 2;
+ public static final int APPEND = 4;
+
+ // EXCL is used only when making a temp file.
+ public static final int EXCL = 8;
+ public static final int SYNC = 16;
+ public static final int DSYNC = 32;
+
+ private static native void init();
+
+ static
+ {
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary("javanio");
+ }
+
+ init();
+ }
+
+ /**
+ * This is the actual native file descriptor value
+ */
+ // System's notion of file descriptor. It might seem redundant to
+ // initialize this given that it is reassigned in the constructors.
+ // However, this is necessary because if open() throws an exception
+ // we want to make sure this has the value -1. This is the most
+ // efficient way to accomplish that.
+ private int fd = -1;
+
+ private long pos;
+ private int mode;
+
+ public FileChannelImpl ()
+ {
+ }
+
+ /* Open a file. MODE is a combination of the above mode flags. */
+ /* This is a static factory method, so that VM implementors can decide
+ * substitute subclasses of FileChannelImpl. */
+ public static FileChannelImpl create(File file, int mode)
+ throws FileNotFoundException
+ {
+ return new FileChannelImpl(file, mode);
+ }
+
+ /* Open a file. MODE is a combination of the above mode flags. */
+ private FileChannelImpl (File file, int mode) throws FileNotFoundException
+ {
+ final String path = file.getPath();
+ fd = open (path, mode);
+ this.mode = mode;
+
+ // First open the file and then check if it is a a directory
+ // to avoid race condition.
+ if (file.isDirectory())
+ {
+ try
+ {
+ close();
+ }
+ catch (IOException e)
+ {
+ /* ignore it */
+ }
+
+ throw new FileNotFoundException(path + " is a directory");
+ }
+ }
+
+ /* Used by init() (native code) */
+ FileChannelImpl (int fd, int mode)
+ {
+ this.fd = fd;
+ this.mode = mode;
+ }
+
+ public static FileChannelImpl in;
+ public static FileChannelImpl out;
+ public static FileChannelImpl err;
+
+ private native int open (String path, int mode) throws FileNotFoundException;
+
+ public native int available () throws IOException;
+ private native long implPosition () throws IOException;
+ private native void seek (long newPosition) throws IOException;
+ private native void implTruncate (long size) throws IOException;
+
+ public native void unlock (long pos, long len) throws IOException;
+
+ public native long size () throws IOException;
+
+ protected native void implCloseChannel() throws IOException;
+
+ /**
+ * Makes sure the Channel is properly closed.
+ */
+ protected void finalize() throws IOException
+ {
+ this.close();
+ }
+
+ public int read (ByteBuffer dst) throws IOException
+ {
+ int result;
+ byte[] buffer = new byte [dst.remaining ()];
+
+ result = read (buffer, 0, buffer.length);
+
+ if (result > 0)
+ dst.put (buffer, 0, result);
+
+ return result;
+ }
+
+ public int read (ByteBuffer dst, long position)
+ throws IOException
+ {
+ if (position < 0)
+ throw new IllegalArgumentException ();
+ long oldPosition = implPosition ();
+ position (position);
+ int result = read(dst);
+ position (oldPosition);
+
+ return result;
+ }
+
+ public native int read ()
+ throws IOException;
+
+ public native int read (byte[] buffer, int offset, int length)
+ throws IOException;
+
+ public long read (ByteBuffer[] dsts, int offset, int length)
+ throws IOException
+ {
+ long result = 0;
+
+ for (int i = offset; i < offset + length; i++)
+ {
+ result += read (dsts [i]);
+ }
+
+ return result;
+ }
+
+ public int write (ByteBuffer src) throws IOException
+ {
+ int len = src.remaining ();
+ if (src.hasArray())
+ {
+ byte[] buffer = src.array();
+ write(buffer, src.arrayOffset() + src.position(), len);
+ src.position(src.position() + len);
+ }
+ else
+ {
+ // Use a more efficient native method! FIXME!
+ byte[] buffer = new byte [len];
+ src.get (buffer, 0, len);
+ write (buffer, 0, len);
+ }
+ return len;
+ }
+
+ public int write (ByteBuffer src, long position)
+ throws IOException
+ {
+ if (position < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ if ((mode & WRITE) == 0)
+ throw new NonWritableChannelException ();
+
+ int result;
+ long oldPosition;
+
+ oldPosition = implPosition ();
+ seek (position);
+ result = write(src);
+ seek (oldPosition);
+
+ return result;
+ }
+
+ public native void write (byte[] buffer, int offset, int length)
+ throws IOException;
+
+ public native void write (int b) throws IOException;
+
+ public long write(ByteBuffer[] srcs, int offset, int length)
+ throws IOException
+ {
+ long result = 0;
+
+ for (int i = offset;i < offset + length;i++)
+ {
+ result += write (srcs[i]);
+ }
+
+ return result;
+ }
+
+ public native MappedByteBuffer mapImpl (char mode, long position, int size)
+ throws IOException;
+
+ public MappedByteBuffer map (FileChannel.MapMode mode,
+ long position, long size)
+ throws IOException
+ {
+ char nmode = 0;
+ if (mode == MapMode.READ_ONLY)
+ {
+ nmode = 'r';
+ if ((this.mode & READ) == 0)
+ throw new NonReadableChannelException();
+ }
+ else if (mode == MapMode.READ_WRITE || mode == MapMode.PRIVATE)
+ {
+ nmode = mode == MapMode.READ_WRITE ? '+' : 'c';
+ if ((this.mode & (READ|WRITE)) != (READ|WRITE))
+ throw new NonWritableChannelException();
+ }
+ else
+ throw new IllegalArgumentException ();
+
+ if (position < 0 || size < 0 || size > Integer.MAX_VALUE)
+ throw new IllegalArgumentException ();
+ return mapImpl(nmode, position, (int) size);
+ }
+
+ /**
+ * msync with the disk
+ */
+ public void force (boolean metaData) throws IOException
+ {
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+ }
+
+ // like transferTo, but with a count of less than 2Gbytes
+ private int smallTransferTo (long position, int count,
+ WritableByteChannel target)
+ throws IOException
+ {
+ ByteBuffer buffer;
+ try
+ {
+ // Try to use a mapped buffer if we can. If this fails for
+ // any reason we'll fall back to using a ByteBuffer.
+ buffer = map (MapMode.READ_ONLY, position, count);
+ }
+ catch (IOException e)
+ {
+ buffer = ByteBuffer.allocate (count);
+ read (buffer, position);
+ buffer.flip();
+ }
+
+ return target.write (buffer);
+ }
+
+ public long transferTo (long position, long count,
+ WritableByteChannel target)
+ throws IOException
+ {
+ if (position < 0
+ || count < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ if ((mode & READ) == 0)
+ throw new NonReadableChannelException ();
+
+ final int pageSize = 65536;
+ long total = 0;
+
+ while (count > 0)
+ {
+ int transferred
+ = smallTransferTo (position, (int)Math.min (count, pageSize),
+ target);
+ if (transferred < 0)
+ break;
+ total += transferred;
+ position += transferred;
+ count -= transferred;
+ }
+
+ return total;
+ }
+
+ // like transferFrom, but with a count of less than 2Gbytes
+ private int smallTransferFrom (ReadableByteChannel src, long position,
+ int count)
+ throws IOException
+ {
+ ByteBuffer buffer = null;
+
+ if (src instanceof FileChannel)
+ {
+ try
+ {
+ // Try to use a mapped buffer if we can. If this fails
+ // for any reason we'll fall back to using a ByteBuffer.
+ buffer = ((FileChannel)src).map (MapMode.READ_ONLY, position,
+ count);
+ }
+ catch (IOException e)
+ {
+ }
+ }
+
+ if (buffer == null)
+ {
+ buffer = ByteBuffer.allocate ((int) count);
+ src.read (buffer);
+ buffer.flip();
+ }
+
+ return write (buffer, position);
+ }
+
+ public long transferFrom (ReadableByteChannel src, long position,
+ long count)
+ throws IOException
+ {
+ if (position < 0
+ || count < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ if ((mode & WRITE) == 0)
+ throw new NonWritableChannelException ();
+
+ final int pageSize = 65536;
+ long total = 0;
+
+ while (count > 0)
+ {
+ int transferred = smallTransferFrom (src, position,
+ (int)Math.min (count, pageSize));
+ if (transferred < 0)
+ break;
+ total += transferred;
+ position += transferred;
+ count -= transferred;
+ }
+
+ return total;
+ }
+
+ public FileLock tryLock (long position, long size, boolean shared)
+ throws IOException
+ {
+ if (position < 0
+ || size < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ if (shared && (mode & READ) == 0)
+ throw new NonReadableChannelException ();
+
+ if (!shared && (mode & WRITE) == 0)
+ throw new NonWritableChannelException ();
+
+ boolean completed = false;
+
+ try
+ {
+ begin();
+ boolean lockable = lock(position, size, shared, false);
+ completed = true;
+ return (lockable
+ ? new FileLockImpl(this, position, size, shared)
+ : null);
+ }
+ finally
+ {
+ end(completed);
+ }
+ }
+
+ /** Try to acquire a lock at the given position and size.
+ * On success return true.
+ * If wait as specified, block until we can get it.
+ * Otherwise return false.
+ */
+ private native boolean lock(long position, long size,
+ boolean shared, boolean wait) throws IOException;
+
+ public FileLock lock (long position, long size, boolean shared)
+ throws IOException
+ {
+ if (position < 0
+ || size < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ boolean completed = false;
+
+ try
+ {
+ boolean lockable = lock(position, size, shared, true);
+ completed = true;
+ return (lockable
+ ? new FileLockImpl(this, position, size, shared)
+ : null);
+ }
+ finally
+ {
+ end(completed);
+ }
+ }
+
+ public long position ()
+ throws IOException
+ {
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ return implPosition ();
+ }
+
+ public FileChannel position (long newPosition)
+ throws IOException
+ {
+ if (newPosition < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ // FIXME note semantics if seeking beyond eof.
+ // We should seek lazily - only on a write.
+ seek (newPosition);
+ return this;
+ }
+
+ public FileChannel truncate (long size)
+ throws IOException
+ {
+ if (size < 0)
+ throw new IllegalArgumentException ();
+
+ if (!isOpen ())
+ throw new ClosedChannelException ();
+
+ if ((mode & WRITE) == 0)
+ throw new NonWritableChannelException ();
+
+ if (size < size ())
+ implTruncate (size);
+
+ return this;
+ }
+
+ /**
+ * @return The native file descriptor.
+ */
+ public int getNativeFD()
+ {
+ return fd;
+ }
+}
diff --git a/libjava/gnu/java/nio/channels/natFileChannelEcos.cc b/libjava/gnu/java/nio/channels/natFileChannelEcos.cc
new file mode 100644
index 000000000..78575e7e6
--- /dev/null
+++ b/libjava/gnu/java/nio/channels/natFileChannelEcos.cc
@@ -0,0 +1,192 @@
+// natFileDescriptor.cc - Native part of FileDescriptor class.
+
+/* Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <errno.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+#include <java/io/FileDescriptor.h>
+#include <java/io/SyncFailedException.h>
+#include <java/io/IOException.h>
+#include <java/io/EOFException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/String.h>
+#include <java/io/FileNotFoundException.h>
+#include <gnu/java/nio/MappedByteBufferImpl.h>
+#include <java/nio/channels/FileChannel.h>
+#include <java/nio/channels/FileLock.h>
+#include <gnu/java/nio/channels/FileChannelImpl.h>
+
+using gnu::gcj::RawData;
+using java::io::IOException;
+using gnu::java::nio::MappedByteBufferImpl;
+using java::io::InterruptedIOException;
+using java::io::FileNotFoundException;
+using java::lang::ArrayIndexOutOfBoundsException;
+using java::lang::NullPointerException;
+using gnu::java::nio::channels::FileChannelImpl;
+
+extern "C" void diag_write_char (char c);
+
+static void
+diag_write (char *data, int len)
+{
+ while (len > 0)
+ {
+ diag_write_char (*data++);
+ len--;
+ }
+}
+
+#define NO_FSYNC_MESSAGE "sync unsupported"
+
+void
+FileChannelImpl::init(void)
+{
+ in = new FileChannelImpl((jint) 0, FileChannelImpl::READ);
+ out = new FileChannelImpl((jint) 1, FileChannelImpl::WRITE);
+ err = new FileChannelImpl((jint) 2, FileChannelImpl::WRITE);
+}
+
+#if 0
+jboolean
+FileChannelImpl::valid (void)
+{
+ return true;
+}
+
+void
+FileChannelImpl::sync (void)
+{
+ // Some files don't support fsync. We don't bother reporting these
+ // as errors.
+#ifdef HAVE_FSYNC
+#else
+ throw new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE));
+#endif
+}
+#endif
+
+jint
+FileChannelImpl::open (jstring, jint)
+{
+ return fd;
+}
+
+void
+FileChannelImpl::write (jint)
+{
+ char d = (char) b;
+ ::diag_write (&d, 1);
+}
+
+void
+FileChannelImpl::write (jbyteArray b, jint offset, jint len)
+{
+ if (! b)
+ throw new NullPointerException;
+ if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+ throw new ArrayIndexOutOfBoundsException;
+ char *bytes = (char *)elements (b) + offset;
+ ::diag_write (bytes, len);
+}
+
+void
+FileChannelImpl::implCloseChannel (void)
+{
+}
+
+void
+FileChannelImpl::implTruncate (jlong)
+{
+}
+
+void
+FileChannelImpl::seek (jlong)
+{
+}
+
+jlong
+FileChannelImpl::size (void)
+{
+ return 0;
+}
+
+jlong
+FileChannelImpl::implPosition (void)
+{
+ return 0;
+}
+
+jint
+FileChannelImpl::read (void)
+{
+ return 0;
+}
+
+jint
+FileChannelImpl::read (jbyteArray buffer, jint offset, jint count)
+{
+ return 0;
+}
+
+jint
+FileChannelImpl::available (void)
+{
+ return 0;
+}
+
+jboolean
+FileChannelImpl::lock (jlong, jlong, jboolean, jboolean)
+{
+ throw new IOException (JvNewStringLatin1
+ ("gnu.java.nio.FileChannelImpl.lock() not implemented"));
+}
+
+void
+FileChannelImpl::unlock (jlong, jlong)
+{
+ throw new IOException (JvNewStringLatin1
+ ("gnu.java.nio.channels.FileChannelImpl.unlock() not implemented"));
+}
+
+java::nio::MappedByteBuffer *
+FileChannelImpl::mapImpl (jchar, jlong, jint)
+{
+ return NULL;
+}
+
+void
+MappedByteBufferImpl::unmapImpl ()
+{
+}
+
+void
+MappedByteBufferImpl::loadImpl ()
+{
+}
+
+jboolean
+MappedByteBufferImpl::isLoadedImpl ()
+{
+ return true;
+}
+
+void
+MappedByteBufferImpl::forceImpl ()
+{
+}
diff --git a/libjava/gnu/java/nio/channels/natFileChannelPosix.cc b/libjava/gnu/java/nio/channels/natFileChannelPosix.cc
new file mode 100644
index 000000000..e05904c50
--- /dev/null
+++ b/libjava/gnu/java/nio/channels/natFileChannelPosix.cc
@@ -0,0 +1,557 @@
+
+// natFileChannelImplPosix.cc - Native part of FileChannelImpl class.
+
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gcj/cni.h>
+#include <gcj/javaprims.h>
+#include <jvm.h>
+
+#include "posix.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+
+#include <gnu/gcj/RawData.h>
+#include <gnu/java/nio/FileLockImpl.h>
+#include <gnu/java/nio/channels/FileChannelImpl.h>
+#include <java/io/FileNotFoundException.h>
+#include <java/io/IOException.h>
+#include <java/io/SyncFailedException.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/io/EOFException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/System.h>
+#include <java/lang/String.h>
+#include <java/lang/StringBuffer.h>
+#include <java/lang/Thread.h>
+#include <java/nio/ByteBuffer.h>
+#include <java/nio/MappedByteBufferImpl.h>
+#include <java/nio/channels/FileChannel.h>
+#include <java/nio/channels/FileLock.h>
+#include <gnu/java/nio/channels/FileChannelImpl.h>
+
+#ifdef HAVE_SYS_IOCTL_H
+#define BSD_COMP /* Get FIONREAD on Solaris2. */
+#include <sys/ioctl.h>
+#endif
+
+// Pick up FIONREAD on Solaris 2.5.
+#ifdef HAVE_SYS_FILIO_H
+#include <sys/filio.h>
+#endif
+
+#ifdef HAVE_MMAP
+#include <sys/mman.h>
+
+// Use overload resolution to find out the argument types.
+// E.g. Solaris 2.6 uses different argument types for munmap and msync.
+// This is in case _POSIX_C_SOURCES is smaller than 3.
+
+template <typename T_implPtr, typename T_implLen>
+static inline int
+munmap_adaptor(int (*munmap)(T_implPtr caddr, T_implLen sizet),
+ void* caddr, size_t sizet)
+{
+ return munmap ((T_implPtr) caddr, (T_implLen) sizet);
+}
+
+template <typename T_implPtr, typename T_implLen, typename T_msync>
+static inline int
+msync_adaptor(int (*msync)(T_implPtr caddr, T_implLen sizet, T_msync msynct),
+ void* caddr, size_t sizet, int msynct)
+{
+ return msync ((T_implPtr) caddr, (T_implLen) sizet, (T_msync) msynct);
+}
+#endif
+
+using gnu::gcj::RawData;
+using java::io::IOException;
+using java::nio::MappedByteBufferImpl;
+using java::io::InterruptedIOException;
+using java::io::FileNotFoundException;
+using java::lang::ArrayIndexOutOfBoundsException;
+using gnu::java::nio::channels::FileChannelImpl;
+
+#define NO_FSYNC_MESSAGE "sync unsupported"
+
+void
+FileChannelImpl::init(void)
+{
+ in = new FileChannelImpl((jint) 0, FileChannelImpl::READ);
+ out = new FileChannelImpl((jint) 1, FileChannelImpl::WRITE);
+ err = new FileChannelImpl((jint) 2, FileChannelImpl::WRITE);
+}
+
+#if 0
+jboolean
+FileChannelImpl::valid (void)
+{
+ struct stat sb;
+ return fd >= 0 && ::fstat (fd, &sb) == 0;
+}
+
+void
+FileChannelImpl::sync (void)
+{
+ // Some files don't support fsync. We don't bother reporting these
+ // as errors.
+#ifdef HAVE_FSYNC
+ if (::fsync (fd) && errno != EROFS && errno != EINVAL)
+ throw new SyncFailedException (JvNewStringLatin1 (strerror (errno)));
+#else
+ throw new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE));
+#endif
+}
+#endif
+
+jint
+FileChannelImpl::open (jstring path, jint jflags)
+{
+ fd = -1;
+ char *buf = (char *) _Jv_AllocBytes (_Jv_GetStringUTFLength (path) + 1);
+ jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
+ buf[total] = '\0';
+ int flags = 0;
+#ifdef O_BINARY
+ flags |= O_BINARY;
+#endif
+
+ JvAssert ((jflags & READ) || (jflags & WRITE));
+ int mode = 0666;
+ if ((jflags & READ) && (jflags & WRITE))
+ flags |= O_RDWR | O_CREAT;
+ else if ((jflags & READ))
+ flags |= O_RDONLY;
+ else
+ {
+ flags |= O_WRONLY | O_CREAT;
+ if ((jflags & APPEND))
+ flags |= O_APPEND;
+ else
+ flags |= O_TRUNC;
+
+ if ((jflags & EXCL))
+ {
+ flags |= O_EXCL;
+ // In this case we are making a temp file.
+ mode = 0600;
+ }
+ }
+
+ if ((jflags & SYNC))
+ flags |= O_SYNC;
+
+ if ((jflags & DSYNC))
+ flags |= O_DSYNC;
+
+ int fd = ::open (buf, flags, mode);
+ if (fd == -1 && errno == EMFILE)
+ {
+ // Because finalize () calls close () we might be able to continue.
+ ::java::lang::System::gc ();
+ ::java::lang::System::runFinalization ();
+ fd = ::open (buf, flags, mode);
+ }
+ if (fd == -1)
+ {
+ // We choose the formatting here for JDK compatibility, believe
+ // it or not.
+ ::java::lang::StringBuffer *msg = new ::java::lang::StringBuffer (path);
+ msg->append (JvNewStringUTF (" ("));
+ msg->append (JvNewStringUTF (strerror (errno)));
+ msg->append (JvNewStringUTF (")"));
+ throw new ::java::io::FileNotFoundException (msg->toString ());
+ }
+
+ return fd;
+}
+
+void
+FileChannelImpl::write (jint b)
+{
+ jbyte d = (jbyte) b;
+ int r = 0;
+ while (r != 1)
+ {
+ r = ::write (fd, &d, 1);
+ if (r == -1)
+ {
+ if (::java::lang::Thread::interrupted())
+ {
+ ::java::io::InterruptedIOException *iioe
+ = new ::java::io::InterruptedIOException (JvNewStringLatin1 (strerror (errno)));
+ iioe->bytesTransferred = r == -1 ? 0 : r;
+ throw iioe;
+ }
+ if (errno != EINTR)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ }
+ }
+ pos++;
+}
+
+void
+FileChannelImpl::write (jbyteArray b, jint offset, jint len)
+{
+ if (! b)
+ throw new ::java::lang::NullPointerException;
+ if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+ throw new ArrayIndexOutOfBoundsException;
+ jbyte *bytes = elements (b) + offset;
+
+ int written = 0;
+ while (len > 0)
+ {
+ int r = ::write (fd, bytes, len);
+ if (r == -1)
+ {
+ if (::java::lang::Thread::interrupted())
+ {
+ InterruptedIOException *iioe
+ = new InterruptedIOException (JvNewStringLatin1 (strerror (errno)));
+ iioe->bytesTransferred = written;
+ throw iioe;
+ }
+ if (errno != EINTR)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ continue;
+ }
+
+ written += r;
+ len -= r;
+ bytes += r;
+ pos += r;
+ }
+}
+
+void
+FileChannelImpl::implCloseChannel (void)
+{
+ jint save = fd;
+ fd = -1;
+ if (::close (save))
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+}
+
+void
+FileChannelImpl::implTruncate (jlong size)
+{
+ struct stat sb;
+
+#ifdef HAVE_FTRUNCATE
+ if (::fstat (fd, &sb))
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+
+ if ((jlong) sb.st_size == size)
+ return;
+
+ // If the file is too short, we extend it. We can't rely on
+ // ftruncate() extending the file. So we lseek() to 1 byte less
+ // than we want, and then we write a single byte at the end.
+ if ((jlong) sb.st_size < size)
+ {
+ if (::lseek (fd, (off_t) (size - 1), SEEK_SET) == -1)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ char out = '\0';
+ int r = ::write (fd, &out, 1);
+ if (r <= 0 || ::lseek (fd, pos, SEEK_SET) == -1)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ }
+ else
+ {
+ if (::ftruncate (fd, (off_t) size))
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ if (pos > size
+ && ::lseek (fd, (off_t) size, SEEK_SET) == -1)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ pos = size;
+ }
+#else /* HAVE_FTRUNCATE */
+ throw new IOException (JvNewStringLatin1 ("FileDescriptor.setLength not implemented"));
+#endif /* HAVE_FTRUNCATE */
+}
+
+void
+FileChannelImpl::seek (jlong newPos)
+{
+ off_t r = ::lseek (fd, (off_t) newPos, SEEK_SET);
+ if (r == -1)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ pos = r;
+}
+
+jlong
+FileChannelImpl::size (void)
+{
+ struct stat sb;
+ if (::fstat (fd, &sb))
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ return sb.st_size;
+}
+
+jlong
+FileChannelImpl::implPosition (void)
+{
+ return pos;
+}
+
+jint
+FileChannelImpl::read (void)
+{
+ jbyte b;
+ int r;
+ do
+ {
+ r = ::read (fd, &b, 1);
+ if (r == 0)
+ return -1;
+ if (r == -1)
+ {
+ if (::java::lang::Thread::interrupted())
+ {
+ InterruptedIOException *iioe
+ = new InterruptedIOException (JvNewStringLatin1 (strerror (errno)));
+ iioe->bytesTransferred = r == -1 ? 0 : r;
+ throw iioe;
+ }
+ if (errno != EINTR)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ }
+ }
+ while (r != 1);
+ pos++;
+ return b & 0xFF;
+}
+
+jint
+FileChannelImpl::read (jbyteArray buffer, jint offset, jint count)
+{
+ if (! buffer)
+ throw new ::java::lang::NullPointerException;
+ jsize bsize = JvGetArrayLength (buffer);
+ if (offset < 0 || count < 0 || offset + count > bsize)
+ throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+ // Must return 0 if an attempt is made to read 0 bytes.
+ if (count == 0)
+ return 0;
+
+ jbyte *bytes = elements (buffer) + offset;
+ int r;
+ do
+ {
+ r = ::read (fd, bytes, count);
+ if (r == 0)
+ return -1;
+ if (r == -1)
+ {
+ if (::java::lang::Thread::interrupted())
+ {
+ InterruptedIOException *iioe
+ = new InterruptedIOException (JvNewStringLatin1 (strerror (errno)));
+ iioe->bytesTransferred = r == -1 ? 0 : r;
+ throw iioe;
+ }
+ if (errno != EINTR)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ }
+ }
+ while (r <= 0);
+ pos += r;
+ return r;
+}
+
+jint
+FileChannelImpl::available (void)
+{
+#if defined (FIONREAD) || defined (HAVE_SELECT) || defined (HAVE_FSTAT)
+ int num = 0;
+ int r = 0;
+ bool num_set = false;
+
+#if defined (FIONREAD)
+ r = ::ioctl (fd, FIONREAD, &num);
+ if (r == -1 && errno == ENOTTY)
+ {
+ // If the ioctl doesn't work, we don't care.
+ r = 0;
+ num = 0;
+ }
+ else
+ num_set = true;
+#elif defined (HAVE_SELECT)
+ if (fd < 0)
+ {
+ errno = EBADF;
+ r = -1;
+ }
+#endif
+
+ if (r == -1)
+ {
+ posix_error:
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ }
+
+ // If we didn't get anything, and we have fstat, then see if see if
+ // we're reading a regular file. On many systems, FIONREAD does not
+ // work on regular files; select() likewise returns a useless
+ // result. This is run incorrectly when FIONREAD does work on
+ // regular files and we are at the end of the file. However, this
+ // case probably isn't very important.
+#if defined (HAVE_FSTAT)
+ if (! num_set)
+ {
+ struct stat sb;
+ off_t where = 0;
+ if (fstat (fd, &sb) != -1
+ && S_ISREG (sb.st_mode)
+ && (where = lseek (fd, 0, SEEK_CUR)) != (off_t) -1)
+ {
+ num = (int) (sb.st_size - where);
+ num_set = true;
+ }
+ }
+#endif /* HAVE_FSTAT */
+
+#if defined (HAVE_SELECT)
+ if (! num_set)
+ {
+ fd_set rd;
+ FD_ZERO (&rd);
+ FD_SET (fd, &rd);
+ struct timeval tv;
+ tv.tv_sec = 0;
+ tv.tv_usec = 0;
+ r = _Jv_select (fd + 1, &rd, NULL, NULL, &tv);
+ if (r == -1)
+ goto posix_error;
+ num = r == 0 ? 0 : 1;
+ }
+#endif /* HAVE_SELECT */
+
+ return (jint) num;
+#else
+ return 0;
+#endif
+}
+
+jboolean
+FileChannelImpl::lock
+(jlong pos, jlong len, jboolean shared, jboolean wait)
+{
+ struct flock lockdata;
+
+ lockdata.l_type = shared ? F_RDLCK : F_WRLCK;
+ lockdata.l_whence = SEEK_SET;
+ lockdata.l_start = pos;
+ lockdata.l_len = len;
+
+ if (::fcntl (fd, wait ? F_SETLKW : F_SETLK, &lockdata) == -1)
+ {
+ if (! wait && (errno == EACCES || errno == EAGAIN))
+ return false;
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ }
+ return true;
+}
+
+void
+FileChannelImpl::unlock (jlong pos, jlong len)
+{
+ struct flock lockdata;
+
+ lockdata.l_type = F_UNLCK;
+ lockdata.l_whence = SEEK_SET;
+ lockdata.l_start = pos;
+ lockdata.l_len = len;
+
+ if (::fcntl (fd, F_SETLK, &lockdata) == -1)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+}
+
+java::nio::MappedByteBuffer *
+FileChannelImpl::mapImpl (jchar mmode, jlong position, jint size)
+{
+#if defined(HAVE_MMAP)
+ int prot, flags;
+ if (mmode == 'r')
+ {
+ prot = PROT_READ;
+ flags = MAP_PRIVATE;
+ }
+ else
+ {
+ prot = PROT_READ|PROT_WRITE;
+ flags = mmode == '+' ? MAP_SHARED : MAP_PRIVATE;
+
+ // If the file is too short, we must extend it. While using
+ // ftruncate() to extend a file is not portable in general, it
+ // should work on all systems where you can mmap() a file.
+ struct stat st;
+ if (fstat (fd, &st) == -1)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ if (position + size > st.st_size)
+ {
+ if (ftruncate (fd, position + size) == -1)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ }
+ }
+ jint page_size = ::getpagesize();
+ jint offset = position & ~(page_size-1);
+ jint align = position - offset;
+ void* ptr = ::mmap(NULL, size + align, prot, flags, fd, offset);
+ MappedByteBufferImpl *buf
+ = new MappedByteBufferImpl ((RawData *) ((char *) ptr + align),
+ size, mmode == 'r');
+ if (ptr == (void *) MAP_FAILED)
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
+ buf->implPtr = reinterpret_cast<RawData*> (ptr);
+ buf->implLen = size+align;
+ return buf;
+#else
+ throw new IOException (JvNewStringUTF ("mmap not implemented"));
+#endif
+}
+
+void
+MappedByteBufferImpl::unmapImpl ()
+{
+#if defined(HAVE_MMAP)
+ munmap_adaptor(munmap, implPtr, implLen);
+#endif
+}
+
+void
+MappedByteBufferImpl::loadImpl ()
+{
+}
+
+jboolean
+MappedByteBufferImpl::isLoadedImpl ()
+{
+ return true;
+}
+
+void
+MappedByteBufferImpl::forceImpl ()
+{
+#if defined(HAVE_MMAP)
+ ::msync_adaptor(msync, implPtr, implLen, MS_SYNC);
+#endif
+}
diff --git a/libjava/gnu/java/nio/channels/natFileChannelWin32.cc b/libjava/gnu/java/nio/channels/natFileChannelWin32.cc
new file mode 100644
index 000000000..ab238e623
--- /dev/null
+++ b/libjava/gnu/java/nio/channels/natFileChannelWin32.cc
@@ -0,0 +1,466 @@
+// natFileChannelImplWin32.cc - Native part of FileChannelImpl class.
+
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+ Foundation, Inc.
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+// FIXME: In order to support interrupting of IO operations, we
+// need to change to use the windows asynchronous IO functions
+
+#include <config.h>
+#include <platform.h>
+
+#include <gcj/cni.h>
+#include <gcj/javaprims.h>
+#include <jvm.h>
+
+#include <stdio.h>
+
+#include <gnu/gcj/RawData.h>
+#include <gnu/java/nio/FileLockImpl.h>
+#include <gnu/java/nio/channels/FileChannelImpl.h>
+#include <java/io/FileNotFoundException.h>
+#include <java/io/IOException.h>
+#include <java/io/SyncFailedException.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/io/EOFException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/System.h>
+#include <java/lang/String.h>
+#include <java/lang/Thread.h>
+#include <java/nio/ByteBuffer.h>
+#include <java/nio/MappedByteBufferImpl.h>
+#include <java/nio/channels/FileChannel.h>
+#include <java/nio/channels/FileLock.h>
+#include <gnu/java/nio/channels/FileChannelImpl.h>
+
+using gnu::gcj::RawData;
+using java::io::IOException;
+using java::nio::MappedByteBufferImpl;
+using java::io::InterruptedIOException;
+using java::io::FileNotFoundException;
+using java::lang::ArrayIndexOutOfBoundsException;
+using gnu::java::nio::channels::FileChannelImpl;
+
+#undef STRICT
+
+static bool testCanUseGetHandleInfo()
+{
+ /* Test to see whether GetHandleInformation can be used
+ for console input or screen buffers. This is better
+ a kludgy OS version check. */
+ DWORD dwFlags;
+ return GetHandleInformation (GetStdHandle (STD_INPUT_HANDLE),
+ &dwFlags) != 0;
+}
+
+// FIXME: casting a FILE (pointer) to a jint will not work on Win64 --
+// we should be using gnu.gcj.RawData's.
+
+void
+FileChannelImpl::init(void)
+{
+ in = new FileChannelImpl((jint)(GetStdHandle (STD_INPUT_HANDLE)),
+ FileChannelImpl::READ);
+ out = new FileChannelImpl((jint)(GetStdHandle (STD_OUTPUT_HANDLE)),
+ FileChannelImpl::WRITE);
+ err = new FileChannelImpl((jint)(GetStdHandle (STD_ERROR_HANDLE)),
+ FileChannelImpl::WRITE);
+}
+
+#if 0
+FileChannelImpl::sync (void) {
+ if (! FlushFileBuffers ((HANDLE)fd))
+ {
+ DWORD dwErrorCode = GetLastError ();
+ throw new SyncFailedException (_Jv_WinStrError (dwErrorCode));
+ }
+}
+#endif
+
+jint
+FileChannelImpl::open (jstring path, jint jflags) {
+
+ HANDLE handle = NULL;
+ DWORD access = 0;
+ DWORD create = OPEN_EXISTING;
+
+ JV_TEMP_STRING_WIN32(cpath, path)
+
+ JvAssert((jflags & READ) || (jflags & WRITE));
+
+ if ((jflags & READ) && (jflags & WRITE))
+ {
+ access = GENERIC_READ | GENERIC_WRITE;
+ if (jflags & EXCL)
+ create = CREATE_NEW; // this will raise error if file exists.
+ else
+ create = OPEN_ALWAYS; // equivalent to O_CREAT
+ }
+ else if (jflags & READ)
+ {
+ access = GENERIC_READ;
+ create = OPEN_EXISTING; // ignore EXCL
+ }
+ else
+ {
+ access = GENERIC_WRITE;
+ if (jflags & EXCL)
+ create = CREATE_NEW;
+ else if (jflags & APPEND)
+ create = OPEN_ALWAYS;
+ else
+ create = CREATE_ALWAYS;
+ }
+
+ handle = CreateFile(cpath, access, FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL, create, 0, NULL);
+
+ if (handle == INVALID_HANDLE_VALUE)
+ {
+ DWORD dwErrorCode = GetLastError ();
+ throw new FileNotFoundException (_Jv_WinStrError (cpath, dwErrorCode));
+ }
+
+ // For APPEND mode, move the file pointer to the end of the file.
+ if (jflags & APPEND)
+ {
+ DWORD low = SetFilePointer (handle, 0, NULL, FILE_END);
+ if ((low == (DWORD) 0xffffffff) && (GetLastError () != NO_ERROR))
+ {
+ DWORD dwErrorCode = GetLastError ();
+ throw new FileNotFoundException (_Jv_WinStrError (cpath, dwErrorCode));
+ }
+ }
+
+ // Make this handle non-inheritable so that child
+ // processes don't inadvertently prevent us from
+ // closing this file.
+ _Jv_platform_close_on_exec (handle);
+
+ return (jint) handle;
+}
+
+void
+FileChannelImpl::write (jint b)
+{
+ DWORD bytesWritten;
+ jbyte buf = (jbyte)b;
+
+ if (WriteFile ((HANDLE)fd, &buf, 1, &bytesWritten, NULL))
+ {
+ if (::java::lang::Thread::interrupted())
+ {
+ InterruptedIOException *iioe = new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
+ iioe->bytesTransferred = bytesWritten;
+ throw iioe;
+ }
+ if (bytesWritten != 1)
+ _Jv_ThrowIOException ();
+ }
+ else
+ _Jv_ThrowIOException ();
+ // FIXME: loop until bytesWritten == 1
+}
+
+void
+FileChannelImpl::write(jbyteArray b, jint offset, jint len)
+{
+ if (! b)
+ throw new ::java::lang::NullPointerException;
+ if(offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+ throw new ArrayIndexOutOfBoundsException;
+
+ jbyte *buf = elements (b) + offset;
+ DWORD bytesWritten;
+
+ if (WriteFile ((HANDLE)fd, buf, len, &bytesWritten, NULL))
+ {
+ if (::java::lang::Thread::interrupted())
+ {
+ InterruptedIOException *iioe = new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
+ iioe->bytesTransferred = bytesWritten;
+ throw iioe;
+ }
+ }
+ else
+ _Jv_ThrowIOException ();
+ // FIXME: loop until bytesWritten == len
+}
+
+void
+FileChannelImpl::implCloseChannel (void)
+{
+ HANDLE save = (HANDLE)fd;
+ fd = (jint)INVALID_HANDLE_VALUE;
+ if (! CloseHandle (save))
+ _Jv_ThrowIOException ();
+}
+
+void
+FileChannelImpl::implTruncate (jlong size)
+{
+ LONG liOrigFilePointer;
+ LONG liNewFilePointer;
+ LONG liEndFilePointer;
+
+ // Get the original file pointer.
+ if (SetFilePointer((HANDLE) fd, (LONG) 0, &liOrigFilePointer,
+ FILE_CURRENT) != (BOOL) 0
+ && (GetLastError() != NO_ERROR))
+ _Jv_ThrowIOException ();
+
+ // Get the length of the file.
+ if (SetFilePointer((HANDLE) fd, (LONG) 0, &liEndFilePointer,
+ FILE_END) != (BOOL) 0
+ && (GetLastError() != NO_ERROR))
+ _Jv_ThrowIOException ();
+
+ if ((jlong)liEndFilePointer == size)
+ {
+ // Restore the file pointer.
+ if (liOrigFilePointer != liEndFilePointer)
+ {
+ if (SetFilePointer((HANDLE) fd, liOrigFilePointer, &liNewFilePointer,
+ FILE_BEGIN) != (BOOL) 0
+ && (GetLastError() != NO_ERROR))
+ _Jv_ThrowIOException ();
+ }
+ return;
+ }
+
+ // Seek to the new end of file.
+ if (SetFilePointer((HANDLE) fd, (LONG) size, &liNewFilePointer,
+ FILE_BEGIN) != (BOOL) 0
+ && (GetLastError() != NO_ERROR))
+ _Jv_ThrowIOException ();
+
+ // Truncate the file at this point.
+ if (SetEndOfFile((HANDLE) fd) != (BOOL) 0 && (GetLastError() != NO_ERROR))
+ _Jv_ThrowIOException ();
+
+ if (liOrigFilePointer < liNewFilePointer)
+ {
+ // Restore the file pointer.
+ if (SetFilePointer((HANDLE) fd, liOrigFilePointer, &liNewFilePointer,
+ FILE_BEGIN) != (BOOL) 0
+ && (GetLastError() != NO_ERROR))
+ _Jv_ThrowIOException ();
+ }
+}
+
+void
+FileChannelImpl::seek (jlong newPos)
+{
+ LONG high = pos >> 32;
+ DWORD low = SetFilePointer ((HANDLE)fd, (DWORD)(0xffffffff & newPos), &high, FILE_BEGIN);
+ if ((low == 0xffffffff) && (GetLastError () != NO_ERROR))
+ _Jv_ThrowIOException ();
+}
+
+jlong
+FileChannelImpl::implPosition (void)
+{
+ LONG high = 0;
+ DWORD low = SetFilePointer ((HANDLE)fd, 0, &high, FILE_CURRENT);
+ if ((low == 0xffffffff) && (GetLastError() != NO_ERROR))
+ _Jv_ThrowIOException ();
+ return (((jlong)high) << 32L) | (jlong)low;
+}
+
+jlong
+FileChannelImpl::size (void)
+{
+ DWORD high;
+ DWORD low;
+
+ low = GetFileSize ((HANDLE)fd, &high);
+ // FIXME: Error checking
+ return (((jlong)high) << 32L) | (jlong)low;
+}
+
+jint
+FileChannelImpl::read (void)
+{
+ CHAR buf;
+ DWORD read;
+
+ if (! ReadFile ((HANDLE)fd, &buf, 1, &read, NULL))
+ {
+ if (GetLastError () == ERROR_BROKEN_PIPE)
+ return -1;
+ else
+ _Jv_ThrowIOException ();
+ }
+
+ if (! read)
+ return -1;
+ else
+ return (jint)(buf & 0xff);
+}
+
+jint
+FileChannelImpl::read (jbyteArray buffer, jint offset, jint count)
+{
+ if (! buffer)
+ throw new ::java::lang::NullPointerException;
+
+ jsize bsize = JvGetArrayLength (buffer);
+ if (offset < 0 || count < 0 || offset + count > bsize)
+ throw new ArrayIndexOutOfBoundsException;
+
+ // Must return 0 if an attempt is made to read 0 bytes.
+ if (count == 0)
+ return 0;
+
+ jbyte *bytes = elements (buffer) + offset;
+
+ DWORD read;
+ if (! ReadFile((HANDLE)fd, bytes, count, &read, NULL))
+ {
+ if (GetLastError () == ERROR_BROKEN_PIPE)
+ return -1;
+ else
+ _Jv_ThrowIOException ();
+ }
+
+ if (read == 0) return -1;
+
+ return (jint)read;
+}
+
+jint
+FileChannelImpl::available (void)
+{
+ // FIXME:
+ return size() - position();
+}
+
+jboolean
+FileChannelImpl::lock (jlong pos, jlong len, jboolean shared, jboolean wait)
+{
+ DWORD flags = 0;
+ OVERLAPPED ovlpd;
+
+ ZeroMemory(&ovlpd,sizeof(OVERLAPPED));
+
+ if(!shared)
+ flags |= LOCKFILE_EXCLUSIVE_LOCK;
+ if(!wait)
+ flags |= LOCKFILE_FAIL_IMMEDIATELY;
+
+ ovlpd.Offset = (DWORD)pos;
+ ovlpd.OffsetHigh = pos>>32;
+
+ DWORD lenlow = (DWORD)len;
+ DWORD lenhigh = len>>32;
+
+ BOOL ret = LockFileEx((HANDLE)fd,flags,0,lenlow,lenhigh,&ovlpd);
+
+ if(ret==ERROR_IO_PENDING && !shared && wait)
+ ret = GetOverlappedResult((HANDLE)fd,&ovlpd,NULL,wait);
+
+ if(!ret)
+ _Jv_ThrowIOException(GetLastError());
+
+ return true;
+}
+
+void
+FileChannelImpl::unlock (jlong pos, jlong len)
+{
+ OVERLAPPED ovlpd;
+
+ ZeroMemory(&ovlpd,sizeof(OVERLAPPED));
+
+ ovlpd.Offset = (DWORD)pos;
+ ovlpd.OffsetHigh = pos>>32;
+
+ DWORD lenlow = (DWORD)len;
+ DWORD lenhigh = len>>32;
+
+ BOOL ret = UnlockFileEx((HANDLE)fd,0,lenlow,lenhigh,&ovlpd);
+
+ if(!ret)
+ _Jv_ThrowIOException(GetLastError());
+}
+
+java::nio::MappedByteBuffer *
+FileChannelImpl::mapImpl (jchar mmode, jlong position, jint size)
+{
+ SYSTEM_INFO siSysInfo;
+ GetSystemInfo(&siSysInfo);
+ DWORD page_size = siSysInfo.dwPageSize;
+ jlong offset = position & ~(page_size-1);
+ jint align = position - offset;
+ jlong high = position + size;
+ jlong max_size;
+ if (mmode == '+')
+ max_size = high - offset;
+ else
+ max_size = 0;
+ DWORD access, protect;
+ if (mmode == 'r')
+ {
+ access = FILE_MAP_READ;
+ protect = PAGE_READONLY;
+ }
+ else if (mmode == '+')
+ {
+ access = FILE_MAP_WRITE;
+ protect = PAGE_READWRITE;
+ }
+ else
+ {
+ access = FILE_MAP_COPY;
+ protect = PAGE_WRITECOPY;
+ }
+ HANDLE hFileMapping = CreateFileMapping((HANDLE) fd,
+ (LPSECURITY_ATTRIBUTES) NULL,
+ protect,
+ (DWORD) (max_size >> 32),
+ (DWORD) max_size,
+ (LPCTSTR) NULL);
+ if (hFileMapping == NULL)
+ throw new IOException();
+ void *ptr = MapViewOfFile(hFileMapping, access,
+ (DWORD) (offset >> 32), (DWORD) offset,
+ (SIZE_T) (high - offset));
+ if (ptr == NULL)
+ throw new IOException();
+ MappedByteBufferImpl *buf
+ = new MappedByteBufferImpl((RawData *) ((char *) ptr + align),
+ size, mode == 'r');
+ buf->implPtr = reinterpret_cast<RawData*> (ptr);
+ buf->implLen = (jlong) (size_t) hFileMapping;
+ return buf;
+}
+
+void
+MappedByteBufferImpl::unmapImpl ()
+{
+ UnmapViewOfFile((void*)implPtr);
+ CloseHandle((HANDLE) (size_t) implLen);
+}
+
+void
+MappedByteBufferImpl::loadImpl ()
+{
+}
+
+jboolean
+MappedByteBufferImpl::isLoadedImpl ()
+{
+ return true;
+}
+
+void
+MappedByteBufferImpl::forceImpl ()
+{
+}
diff --git a/libjava/gnu/java/nio/charset/ByteCharset$1.h b/libjava/gnu/java/nio/charset/ByteCharset$1.h
new file mode 100644
index 000000000..d99d7fa59
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ByteCharset$1.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ByteCharset$1__
+#define __gnu_java_nio_charset_ByteCharset$1__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteDecodeLoopHelper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteCharset$1;
+ class ByteCharset$Decoder;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ByteCharset$1 : public ::gnu::java::nio::charset::ByteDecodeLoopHelper
+{
+
+public: // actually package-private
+ ByteCharset$1(::gnu::java::nio::charset::ByteCharset$Decoder *);
+public: // actually protected
+ virtual jboolean isMappable(jbyte);
+ virtual jchar mapToChar(jbyte);
+public: // actually package-private
+ ::gnu::java::nio::charset::ByteCharset$Decoder * __attribute__((aligned(__alignof__( ::gnu::java::nio::charset::ByteDecodeLoopHelper)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ByteCharset$1__
diff --git a/libjava/gnu/java/nio/charset/ByteCharset$2.h b/libjava/gnu/java/nio/charset/ByteCharset$2.h
new file mode 100644
index 000000000..4a1db5249
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ByteCharset$2.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ByteCharset$2__
+#define __gnu_java_nio_charset_ByteCharset$2__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteEncodeLoopHelper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteCharset$2;
+ class ByteCharset$Encoder;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ByteCharset$2 : public ::gnu::java::nio::charset::ByteEncodeLoopHelper
+{
+
+public: // actually package-private
+ ByteCharset$2(::gnu::java::nio::charset::ByteCharset$Encoder *);
+public: // actually protected
+ virtual jboolean isMappable(jchar);
+ virtual jbyte mapToByte(jchar);
+public: // actually package-private
+ ::gnu::java::nio::charset::ByteCharset$Encoder * __attribute__((aligned(__alignof__( ::gnu::java::nio::charset::ByteEncodeLoopHelper)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ByteCharset$2__
diff --git a/libjava/gnu/java/nio/charset/ByteCharset$Decoder.h b/libjava/gnu/java/nio/charset/ByteCharset$Decoder.h
new file mode 100644
index 000000000..0f5dd6c65
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ByteCharset$Decoder.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ByteCharset$Decoder__
+#define __gnu_java_nio_charset_ByteCharset$Decoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetDecoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteCharset;
+ class ByteCharset$Decoder;
+ class ByteDecodeLoopHelper;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ByteCharset$Decoder : public ::java::nio::charset::CharsetDecoder
+{
+
+public: // actually package-private
+ ByteCharset$Decoder(::gnu::java::nio::charset::ByteCharset *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+public: // actually package-private
+ static JArray< jchar > * access$0(::gnu::java::nio::charset::ByteCharset$Decoder *);
+private:
+ JArray< jchar > * __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetDecoder)))) lookup;
+ ::gnu::java::nio::charset::ByteDecodeLoopHelper * helper;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ByteCharset$Decoder__
diff --git a/libjava/gnu/java/nio/charset/ByteCharset$Encoder.h b/libjava/gnu/java/nio/charset/ByteCharset$Encoder.h
new file mode 100644
index 000000000..019bb4b5d
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ByteCharset$Encoder.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ByteCharset$Encoder__
+#define __gnu_java_nio_charset_ByteCharset$Encoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetEncoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteCharset;
+ class ByteCharset$Encoder;
+ class ByteEncodeLoopHelper;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ByteCharset$Encoder : public ::java::nio::charset::CharsetEncoder
+{
+
+public: // actually package-private
+ ByteCharset$Encoder(::gnu::java::nio::charset::ByteCharset *);
+public:
+ jboolean canEncode(jchar);
+ jboolean canEncode(::java::lang::CharSequence *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+public: // actually package-private
+ static JArray< jbyte > * access$0(::gnu::java::nio::charset::ByteCharset$Encoder *);
+private:
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetEncoder)))) lookup;
+ ::gnu::java::nio::charset::ByteEncodeLoopHelper * helper;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ByteCharset$Encoder__
diff --git a/libjava/gnu/java/nio/charset/ByteCharset.h b/libjava/gnu/java/nio/charset/ByteCharset.h
new file mode 100644
index 000000000..aa0890cb1
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ByteCharset.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ByteCharset__
+#define __gnu_java_nio_charset_ByteCharset__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteCharset;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ByteCharset : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ ByteCharset(::java::lang::String *, JArray< ::java::lang::String * > *, JArray< jchar > *);
+public:
+ virtual jboolean contains(::java::nio::charset::Charset *);
+public: // actually package-private
+ virtual JArray< jchar > * getLookupTable();
+public:
+ virtual ::java::nio::charset::CharsetDecoder * newDecoder();
+ virtual ::java::nio::charset::CharsetEncoder * newEncoder();
+public: // actually protected
+ JArray< jchar > * __attribute__((aligned(__alignof__( ::java::nio::charset::Charset)))) lookupTable;
+ static const jchar NONE = 65533;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ByteCharset__
diff --git a/libjava/gnu/java/nio/charset/ByteDecodeLoopHelper.h b/libjava/gnu/java/nio/charset/ByteDecodeLoopHelper.h
new file mode 100644
index 000000000..1a373a1bf
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ByteDecodeLoopHelper.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ByteDecodeLoopHelper__
+#define __gnu_java_nio_charset_ByteDecodeLoopHelper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteDecodeLoopHelper;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ByteDecodeLoopHelper : public ::java::lang::Object
+{
+
+public:
+ ByteDecodeLoopHelper();
+public: // actually protected
+ virtual jboolean isMappable(jbyte) = 0;
+ virtual jchar mapToChar(jbyte) = 0;
+public: // actually package-private
+ virtual ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+private:
+ ::java::nio::charset::CoderResult * normalDecodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+ ::java::nio::charset::CoderResult * arrayDecodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ByteDecodeLoopHelper__
diff --git a/libjava/gnu/java/nio/charset/ByteEncodeLoopHelper.h b/libjava/gnu/java/nio/charset/ByteEncodeLoopHelper.h
new file mode 100644
index 000000000..0b67645e7
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ByteEncodeLoopHelper.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ByteEncodeLoopHelper__
+#define __gnu_java_nio_charset_ByteEncodeLoopHelper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteEncodeLoopHelper;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ByteEncodeLoopHelper : public ::java::lang::Object
+{
+
+public:
+ ByteEncodeLoopHelper();
+public: // actually protected
+ virtual jboolean isMappable(jchar) = 0;
+ virtual jbyte mapToByte(jchar) = 0;
+public: // actually package-private
+ virtual ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+private:
+ ::java::nio::charset::CoderResult * normalEncodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+ ::java::nio::charset::CoderResult * arrayEncodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ByteEncodeLoopHelper__
diff --git a/libjava/gnu/java/nio/charset/Cp424.h b/libjava/gnu/java/nio/charset/Cp424.h
new file mode 100644
index 000000000..29ea29f67
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp424.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp424__
+#define __gnu_java_nio_charset_Cp424__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp424;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp424 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp424();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp424__
diff --git a/libjava/gnu/java/nio/charset/Cp437.h b/libjava/gnu/java/nio/charset/Cp437.h
new file mode 100644
index 000000000..5593ff0ca
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp437.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp437__
+#define __gnu_java_nio_charset_Cp437__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp437;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp437 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp437();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp437__
diff --git a/libjava/gnu/java/nio/charset/Cp737.h b/libjava/gnu/java/nio/charset/Cp737.h
new file mode 100644
index 000000000..583075b7c
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp737.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp737__
+#define __gnu_java_nio_charset_Cp737__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp737;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp737 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp737();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp737__
diff --git a/libjava/gnu/java/nio/charset/Cp775.h b/libjava/gnu/java/nio/charset/Cp775.h
new file mode 100644
index 000000000..995b7f621
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp775.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp775__
+#define __gnu_java_nio_charset_Cp775__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp775;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp775 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp775();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp775__
diff --git a/libjava/gnu/java/nio/charset/Cp850.h b/libjava/gnu/java/nio/charset/Cp850.h
new file mode 100644
index 000000000..e1a17deda
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp850.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp850__
+#define __gnu_java_nio_charset_Cp850__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp850;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp850 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp850();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp850__
diff --git a/libjava/gnu/java/nio/charset/Cp852.h b/libjava/gnu/java/nio/charset/Cp852.h
new file mode 100644
index 000000000..e5ff8292d
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp852.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp852__
+#define __gnu_java_nio_charset_Cp852__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp852;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp852 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp852();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp852__
diff --git a/libjava/gnu/java/nio/charset/Cp855.h b/libjava/gnu/java/nio/charset/Cp855.h
new file mode 100644
index 000000000..2ff372c76
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp855.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp855__
+#define __gnu_java_nio_charset_Cp855__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp855;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp855 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp855();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp855__
diff --git a/libjava/gnu/java/nio/charset/Cp857.h b/libjava/gnu/java/nio/charset/Cp857.h
new file mode 100644
index 000000000..eba0a48a4
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp857.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp857__
+#define __gnu_java_nio_charset_Cp857__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp857;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp857 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp857();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp857__
diff --git a/libjava/gnu/java/nio/charset/Cp860.h b/libjava/gnu/java/nio/charset/Cp860.h
new file mode 100644
index 000000000..a93098358
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp860.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp860__
+#define __gnu_java_nio_charset_Cp860__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp860;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp860 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp860();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp860__
diff --git a/libjava/gnu/java/nio/charset/Cp861.h b/libjava/gnu/java/nio/charset/Cp861.h
new file mode 100644
index 000000000..04d202c7f
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp861.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp861__
+#define __gnu_java_nio_charset_Cp861__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp861;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp861 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp861();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp861__
diff --git a/libjava/gnu/java/nio/charset/Cp862.h b/libjava/gnu/java/nio/charset/Cp862.h
new file mode 100644
index 000000000..8ddc349f5
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp862.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp862__
+#define __gnu_java_nio_charset_Cp862__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp862;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp862 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp862();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp862__
diff --git a/libjava/gnu/java/nio/charset/Cp863.h b/libjava/gnu/java/nio/charset/Cp863.h
new file mode 100644
index 000000000..76902574a
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp863.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp863__
+#define __gnu_java_nio_charset_Cp863__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp863;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp863 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp863();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp863__
diff --git a/libjava/gnu/java/nio/charset/Cp864.h b/libjava/gnu/java/nio/charset/Cp864.h
new file mode 100644
index 000000000..3f245f7ad
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp864.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp864__
+#define __gnu_java_nio_charset_Cp864__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp864;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp864 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp864();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp864__
diff --git a/libjava/gnu/java/nio/charset/Cp865.h b/libjava/gnu/java/nio/charset/Cp865.h
new file mode 100644
index 000000000..78c43729e
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp865.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp865__
+#define __gnu_java_nio_charset_Cp865__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp865;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp865 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp865();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp865__
diff --git a/libjava/gnu/java/nio/charset/Cp866.h b/libjava/gnu/java/nio/charset/Cp866.h
new file mode 100644
index 000000000..2c6375a9e
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp866.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp866__
+#define __gnu_java_nio_charset_Cp866__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp866;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp866 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp866();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp866__
diff --git a/libjava/gnu/java/nio/charset/Cp869.h b/libjava/gnu/java/nio/charset/Cp869.h
new file mode 100644
index 000000000..bc67408de
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp869.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp869__
+#define __gnu_java_nio_charset_Cp869__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp869;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp869 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp869();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp869__
diff --git a/libjava/gnu/java/nio/charset/Cp874.h b/libjava/gnu/java/nio/charset/Cp874.h
new file mode 100644
index 000000000..590f84d77
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Cp874.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Cp874__
+#define __gnu_java_nio_charset_Cp874__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Cp874;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Cp874 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Cp874();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Cp874__
diff --git a/libjava/gnu/java/nio/charset/EncodingHelper.h b/libjava/gnu/java/nio/charset/EncodingHelper.h
new file mode 100644
index 000000000..7fbd28968
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/EncodingHelper.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_EncodingHelper__
+#define __gnu_java_nio_charset_EncodingHelper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class EncodingHelper;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::EncodingHelper : public ::java::lang::Object
+{
+
+public:
+ EncodingHelper();
+ static ::java::lang::String * getDefaultEncoding();
+ static ::java::lang::String * getOldCanonical(::java::lang::String *);
+ static jboolean isISOLatin1(::java::lang::String *);
+ static ::java::nio::charset::Charset * getCharset(::java::lang::String *);
+ static ::java::nio::charset::Charset * getDefaultCharset();
+private:
+ static ::java::util::HashMap * canonicalNames;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_EncodingHelper__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1$1.h b/libjava/gnu/java/nio/charset/ISO_8859_1$1.h
new file mode 100644
index 000000000..a13c36def
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_1$1.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_1$1__
+#define __gnu_java_nio_charset_ISO_8859_1$1__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteDecodeLoopHelper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_1$1;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_1$1 : public ::gnu::java::nio::charset::ByteDecodeLoopHelper
+{
+
+public: // actually package-private
+ ISO_8859_1$1();
+public: // actually protected
+ virtual jboolean isMappable(jbyte);
+ virtual jchar mapToChar(jbyte);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_1$1__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1$2.h b/libjava/gnu/java/nio/charset/ISO_8859_1$2.h
new file mode 100644
index 000000000..52294261e
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_1$2.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_1$2__
+#define __gnu_java_nio_charset_ISO_8859_1$2__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteEncodeLoopHelper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_1$2;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_1$2 : public ::gnu::java::nio::charset::ByteEncodeLoopHelper
+{
+
+public: // actually package-private
+ ISO_8859_1$2();
+public: // actually protected
+ virtual jboolean isMappable(jchar);
+ virtual jbyte mapToByte(jchar);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_1$2__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h b/libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h
new file mode 100644
index 000000000..25e97ee0d
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_1$Decoder__
+#define __gnu_java_nio_charset_ISO_8859_1$Decoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetDecoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteDecodeLoopHelper;
+ class ISO_8859_1$Decoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_1$Decoder : public ::java::nio::charset::CharsetDecoder
+{
+
+public: // actually package-private
+ ISO_8859_1$Decoder(::java::nio::charset::Charset *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+private:
+ static ::gnu::java::nio::charset::ByteDecodeLoopHelper * helper;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_1$Decoder__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h b/libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h
new file mode 100644
index 000000000..e4da289cc
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_1$Encoder__
+#define __gnu_java_nio_charset_ISO_8859_1$Encoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetEncoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteEncodeLoopHelper;
+ class ISO_8859_1$Encoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_1$Encoder : public ::java::nio::charset::CharsetEncoder
+{
+
+public: // actually package-private
+ ISO_8859_1$Encoder(::java::nio::charset::Charset *);
+public:
+ jboolean canEncode(jchar);
+ jboolean canEncode(::java::lang::CharSequence *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+private:
+ static ::gnu::java::nio::charset::ByteEncodeLoopHelper * helper;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_1$Encoder__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1.h b/libjava/gnu/java/nio/charset/ISO_8859_1.h
new file mode 100644
index 000000000..dc03558f9
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_1.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_1__
+#define __gnu_java_nio_charset_ISO_8859_1__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_1;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_1 : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ ISO_8859_1();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_1__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_13.h b/libjava/gnu/java/nio/charset/ISO_8859_13.h
new file mode 100644
index 000000000..dfe4240af
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_13.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_13__
+#define __gnu_java_nio_charset_ISO_8859_13__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_13;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_13 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_13();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_13__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_15.h b/libjava/gnu/java/nio/charset/ISO_8859_15.h
new file mode 100644
index 000000000..617e2271b
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_15.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_15__
+#define __gnu_java_nio_charset_ISO_8859_15__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_15;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_15 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_15();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_15__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_2.h b/libjava/gnu/java/nio/charset/ISO_8859_2.h
new file mode 100644
index 000000000..e201ddc55
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_2.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_2__
+#define __gnu_java_nio_charset_ISO_8859_2__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_2;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_2 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_2();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_2__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_3.h b/libjava/gnu/java/nio/charset/ISO_8859_3.h
new file mode 100644
index 000000000..3c468fd52
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_3.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_3__
+#define __gnu_java_nio_charset_ISO_8859_3__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_3;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_3 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_3();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_3__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_4.h b/libjava/gnu/java/nio/charset/ISO_8859_4.h
new file mode 100644
index 000000000..f338bf002
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_4.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_4__
+#define __gnu_java_nio_charset_ISO_8859_4__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_4;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_4 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_4();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_4__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_5.h b/libjava/gnu/java/nio/charset/ISO_8859_5.h
new file mode 100644
index 000000000..4d626d022
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_5.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_5__
+#define __gnu_java_nio_charset_ISO_8859_5__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_5;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_5 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_5();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_5__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_6.h b/libjava/gnu/java/nio/charset/ISO_8859_6.h
new file mode 100644
index 000000000..0ce45f24d
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_6.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_6__
+#define __gnu_java_nio_charset_ISO_8859_6__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_6;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_6 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_6();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_6__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_7.h b/libjava/gnu/java/nio/charset/ISO_8859_7.h
new file mode 100644
index 000000000..0c661fa92
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_7.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_7__
+#define __gnu_java_nio_charset_ISO_8859_7__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_7;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_7 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_7();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_7__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_8.h b/libjava/gnu/java/nio/charset/ISO_8859_8.h
new file mode 100644
index 000000000..96a255e43
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_8.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_8__
+#define __gnu_java_nio_charset_ISO_8859_8__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_8;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_8 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_8();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_8__
diff --git a/libjava/gnu/java/nio/charset/ISO_8859_9.h b/libjava/gnu/java/nio/charset/ISO_8859_9.h
new file mode 100644
index 000000000..a5030b788
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/ISO_8859_9.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_ISO_8859_9__
+#define __gnu_java_nio_charset_ISO_8859_9__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ISO_8859_9;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::ISO_8859_9 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ ISO_8859_9();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_ISO_8859_9__
diff --git a/libjava/gnu/java/nio/charset/KOI_8.h b/libjava/gnu/java/nio/charset/KOI_8.h
new file mode 100644
index 000000000..db07f142b
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/KOI_8.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_KOI_8__
+#define __gnu_java_nio_charset_KOI_8__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class KOI_8;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::KOI_8 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ KOI_8();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_KOI_8__
diff --git a/libjava/gnu/java/nio/charset/MS874.h b/libjava/gnu/java/nio/charset/MS874.h
new file mode 100644
index 000000000..c22c860b6
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MS874.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MS874__
+#define __gnu_java_nio_charset_MS874__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MS874;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MS874 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MS874();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MS874__
diff --git a/libjava/gnu/java/nio/charset/MacCentralEurope.h b/libjava/gnu/java/nio/charset/MacCentralEurope.h
new file mode 100644
index 000000000..c91c915f0
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacCentralEurope.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacCentralEurope__
+#define __gnu_java_nio_charset_MacCentralEurope__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacCentralEurope;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacCentralEurope : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacCentralEurope();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacCentralEurope__
diff --git a/libjava/gnu/java/nio/charset/MacCroatian.h b/libjava/gnu/java/nio/charset/MacCroatian.h
new file mode 100644
index 000000000..8c03767f2
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacCroatian.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacCroatian__
+#define __gnu_java_nio_charset_MacCroatian__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacCroatian;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacCroatian : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacCroatian();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacCroatian__
diff --git a/libjava/gnu/java/nio/charset/MacCyrillic.h b/libjava/gnu/java/nio/charset/MacCyrillic.h
new file mode 100644
index 000000000..4190da579
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacCyrillic.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacCyrillic__
+#define __gnu_java_nio_charset_MacCyrillic__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacCyrillic;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacCyrillic : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacCyrillic();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacCyrillic__
diff --git a/libjava/gnu/java/nio/charset/MacDingbat.h b/libjava/gnu/java/nio/charset/MacDingbat.h
new file mode 100644
index 000000000..05995390b
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacDingbat.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacDingbat__
+#define __gnu_java_nio_charset_MacDingbat__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacDingbat;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacDingbat : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacDingbat();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacDingbat__
diff --git a/libjava/gnu/java/nio/charset/MacGreek.h b/libjava/gnu/java/nio/charset/MacGreek.h
new file mode 100644
index 000000000..df1f52fbb
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacGreek.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacGreek__
+#define __gnu_java_nio_charset_MacGreek__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacGreek;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacGreek : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacGreek();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacGreek__
diff --git a/libjava/gnu/java/nio/charset/MacIceland.h b/libjava/gnu/java/nio/charset/MacIceland.h
new file mode 100644
index 000000000..e8878e8ee
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacIceland.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacIceland__
+#define __gnu_java_nio_charset_MacIceland__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacIceland;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacIceland : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacIceland();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacIceland__
diff --git a/libjava/gnu/java/nio/charset/MacRoman.h b/libjava/gnu/java/nio/charset/MacRoman.h
new file mode 100644
index 000000000..a648b80cd
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacRoman.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacRoman__
+#define __gnu_java_nio_charset_MacRoman__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacRoman;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacRoman : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacRoman();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacRoman__
diff --git a/libjava/gnu/java/nio/charset/MacRomania.h b/libjava/gnu/java/nio/charset/MacRomania.h
new file mode 100644
index 000000000..ecc89ed4f
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacRomania.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacRomania__
+#define __gnu_java_nio_charset_MacRomania__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacRomania;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacRomania : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacRomania();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacRomania__
diff --git a/libjava/gnu/java/nio/charset/MacSymbol.h b/libjava/gnu/java/nio/charset/MacSymbol.h
new file mode 100644
index 000000000..e9ca0b1b4
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacSymbol.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacSymbol__
+#define __gnu_java_nio_charset_MacSymbol__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacSymbol;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacSymbol : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacSymbol();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacSymbol__
diff --git a/libjava/gnu/java/nio/charset/MacThai.h b/libjava/gnu/java/nio/charset/MacThai.h
new file mode 100644
index 000000000..dbf916687
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacThai.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacThai__
+#define __gnu_java_nio_charset_MacThai__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacThai;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacThai : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacThai();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacThai__
diff --git a/libjava/gnu/java/nio/charset/MacTurkish.h b/libjava/gnu/java/nio/charset/MacTurkish.h
new file mode 100644
index 000000000..077c35d26
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/MacTurkish.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_MacTurkish__
+#define __gnu_java_nio_charset_MacTurkish__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class MacTurkish;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::MacTurkish : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ MacTurkish();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_MacTurkish__
diff --git a/libjava/gnu/java/nio/charset/Provider$1.h b/libjava/gnu/java/nio/charset/Provider$1.h
new file mode 100644
index 000000000..4db0425cd
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Provider$1.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Provider$1__
+#define __gnu_java_nio_charset_Provider$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Provider;
+ class Provider$1;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Provider$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Provider$1();
+public:
+ virtual ::gnu::java::nio::charset::Provider * Provider$1$run();
+ virtual ::java::lang::Object * run();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Provider$1__
diff --git a/libjava/gnu/java/nio/charset/Provider.h b/libjava/gnu/java/nio/charset/Provider.h
new file mode 100644
index 000000000..04495ed8c
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Provider.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Provider__
+#define __gnu_java_nio_charset_Provider__
+
+#pragma interface
+
+#include <java/nio/charset/spi/CharsetProvider.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Provider;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Provider : public ::java::nio::charset::spi::CharsetProvider
+{
+
+public: // actually package-private
+ Provider();
+private:
+ void loadExtended();
+public:
+ ::java::util::Iterator * charsets();
+ ::java::nio::charset::Charset * charsetForName(::java::lang::String *);
+private:
+ void addCharset(::java::nio::charset::Charset *);
+public:
+ static ::gnu::java::nio::charset::Provider * provider();
+private:
+ static ::gnu::java::nio::charset::Provider * singleton;
+ ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::nio::charset::spi::CharsetProvider)))) canonicalNames;
+ ::java::util::HashMap * charsets__;
+ jboolean extendedLoaded;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Provider__
diff --git a/libjava/gnu/java/nio/charset/US_ASCII$1.h b/libjava/gnu/java/nio/charset/US_ASCII$1.h
new file mode 100644
index 000000000..ca8ff5980
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/US_ASCII$1.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_US_ASCII$1__
+#define __gnu_java_nio_charset_US_ASCII$1__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteDecodeLoopHelper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class US_ASCII$1;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::US_ASCII$1 : public ::gnu::java::nio::charset::ByteDecodeLoopHelper
+{
+
+public: // actually package-private
+ US_ASCII$1();
+public: // actually protected
+ virtual jboolean isMappable(jbyte);
+ virtual jchar mapToChar(jbyte);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_US_ASCII$1__
diff --git a/libjava/gnu/java/nio/charset/US_ASCII$2.h b/libjava/gnu/java/nio/charset/US_ASCII$2.h
new file mode 100644
index 000000000..5a62bd950
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/US_ASCII$2.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_US_ASCII$2__
+#define __gnu_java_nio_charset_US_ASCII$2__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteEncodeLoopHelper.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class US_ASCII$2;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::US_ASCII$2 : public ::gnu::java::nio::charset::ByteEncodeLoopHelper
+{
+
+public: // actually package-private
+ US_ASCII$2();
+public: // actually protected
+ virtual jboolean isMappable(jchar);
+ virtual jbyte mapToByte(jchar);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_US_ASCII$2__
diff --git a/libjava/gnu/java/nio/charset/US_ASCII$Decoder.h b/libjava/gnu/java/nio/charset/US_ASCII$Decoder.h
new file mode 100644
index 000000000..9659ac2e7
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/US_ASCII$Decoder.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_US_ASCII$Decoder__
+#define __gnu_java_nio_charset_US_ASCII$Decoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetDecoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteDecodeLoopHelper;
+ class US_ASCII$Decoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::US_ASCII$Decoder : public ::java::nio::charset::CharsetDecoder
+{
+
+public: // actually package-private
+ US_ASCII$Decoder(::java::nio::charset::Charset *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+private:
+ static ::gnu::java::nio::charset::ByteDecodeLoopHelper * helper;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_US_ASCII$Decoder__
diff --git a/libjava/gnu/java/nio/charset/US_ASCII$Encoder.h b/libjava/gnu/java/nio/charset/US_ASCII$Encoder.h
new file mode 100644
index 000000000..467f6b770
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/US_ASCII$Encoder.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_US_ASCII$Encoder__
+#define __gnu_java_nio_charset_US_ASCII$Encoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetEncoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class ByteEncodeLoopHelper;
+ class US_ASCII$Encoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::US_ASCII$Encoder : public ::java::nio::charset::CharsetEncoder
+{
+
+public: // actually package-private
+ US_ASCII$Encoder(::java::nio::charset::Charset *);
+public:
+ jboolean canEncode(jchar);
+ jboolean canEncode(::java::lang::CharSequence *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+private:
+ static ::gnu::java::nio::charset::ByteEncodeLoopHelper * helper;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_US_ASCII$Encoder__
diff --git a/libjava/gnu/java/nio/charset/US_ASCII.h b/libjava/gnu/java/nio/charset/US_ASCII.h
new file mode 100644
index 000000000..297cf1114
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/US_ASCII.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_US_ASCII__
+#define __gnu_java_nio_charset_US_ASCII__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class US_ASCII;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::US_ASCII : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ US_ASCII();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_US_ASCII__
diff --git a/libjava/gnu/java/nio/charset/UTF_16.h b/libjava/gnu/java/nio/charset/UTF_16.h
new file mode 100644
index 000000000..afb0fd8fa
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_16.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_16__
+#define __gnu_java_nio_charset_UTF_16__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_16;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_16 : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ UTF_16();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_16__
diff --git a/libjava/gnu/java/nio/charset/UTF_16BE.h b/libjava/gnu/java/nio/charset/UTF_16BE.h
new file mode 100644
index 000000000..8b2bccfed
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_16BE.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_16BE__
+#define __gnu_java_nio_charset_UTF_16BE__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_16BE;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_16BE : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ UTF_16BE();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_16BE__
diff --git a/libjava/gnu/java/nio/charset/UTF_16Decoder.h b/libjava/gnu/java/nio/charset/UTF_16Decoder.h
new file mode 100644
index 000000000..b23c3e72b
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_16Decoder.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_16Decoder__
+#define __gnu_java_nio_charset_UTF_16Decoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetDecoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_16Decoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_16Decoder : public ::java::nio::charset::CharsetDecoder
+{
+
+public: // actually package-private
+ UTF_16Decoder(::java::nio::charset::Charset *, jint);
+public: // actually protected
+ ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+ void implReset();
+public: // actually package-private
+ static const jint BIG_ENDIAN = 0;
+ static const jint LITTLE_ENDIAN = 1;
+ static const jint UNKNOWN_ENDIAN = 2;
+ static const jint MAYBE_BIG_ENDIAN = 3;
+ static const jint MAYBE_LITTLE_ENDIAN = 4;
+private:
+ static const jchar BYTE_ORDER_MARK = 65279;
+ static const jchar REVERSED_BYTE_ORDER_MARK = 65534;
+ jint __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetDecoder)))) originalByteOrder;
+ jint byteOrder;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_16Decoder__
diff --git a/libjava/gnu/java/nio/charset/UTF_16Encoder.h b/libjava/gnu/java/nio/charset/UTF_16Encoder.h
new file mode 100644
index 000000000..9dc499484
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_16Encoder.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_16Encoder__
+#define __gnu_java_nio_charset_UTF_16Encoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetEncoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_16Encoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class ByteOrder;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_16Encoder : public ::java::nio::charset::CharsetEncoder
+{
+
+public: // actually package-private
+ UTF_16Encoder(::java::nio::charset::Charset *, jint, jboolean);
+public: // actually protected
+ ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+ void implReset();
+public: // actually package-private
+ static const jint BIG_ENDIAN = 0;
+ static const jint LITTLE_ENDIAN = 1;
+private:
+ static const jchar BYTE_ORDER_MARK = 65279;
+ ::java::nio::ByteOrder * __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetEncoder)))) byteOrder;
+ jboolean useByteOrderMark;
+ jboolean needsByteOrderMark;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_16Encoder__
diff --git a/libjava/gnu/java/nio/charset/UTF_16LE.h b/libjava/gnu/java/nio/charset/UTF_16LE.h
new file mode 100644
index 000000000..8b5ee1b35
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_16LE.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_16LE__
+#define __gnu_java_nio_charset_UTF_16LE__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_16LE;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_16LE : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ UTF_16LE();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_16LE__
diff --git a/libjava/gnu/java/nio/charset/UTF_8$Decoder.h b/libjava/gnu/java/nio/charset/UTF_8$Decoder.h
new file mode 100644
index 000000000..89ec73287
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_8$Decoder.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_8$Decoder__
+#define __gnu_java_nio_charset_UTF_8$Decoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetDecoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_8$Decoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_8$Decoder : public ::java::nio::charset::CharsetDecoder
+{
+
+public: // actually package-private
+ UTF_8$Decoder(::java::nio::charset::Charset *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *);
+private:
+ static jboolean isContinuation(jbyte);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_8$Decoder__
diff --git a/libjava/gnu/java/nio/charset/UTF_8$Encoder.h b/libjava/gnu/java/nio/charset/UTF_8$Encoder.h
new file mode 100644
index 000000000..13745f293
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_8$Encoder.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_8$Encoder__
+#define __gnu_java_nio_charset_UTF_8$Encoder__
+
+#pragma interface
+
+#include <java/nio/charset/CharsetEncoder.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_8$Encoder;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ class CharBuffer;
+ namespace charset
+ {
+ class Charset;
+ class CoderResult;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_8$Encoder : public ::java::nio::charset::CharsetEncoder
+{
+
+public: // actually package-private
+ UTF_8$Encoder(::java::nio::charset::Charset *);
+public: // actually protected
+ ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_8$Encoder__
diff --git a/libjava/gnu/java/nio/charset/UTF_8.h b/libjava/gnu/java/nio/charset/UTF_8.h
new file mode 100644
index 000000000..0be5e400a
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UTF_8.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UTF_8__
+#define __gnu_java_nio_charset_UTF_8__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UTF_8;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UTF_8 : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ UTF_8();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UTF_8__
diff --git a/libjava/gnu/java/nio/charset/UnicodeLittle.h b/libjava/gnu/java/nio/charset/UnicodeLittle.h
new file mode 100644
index 000000000..8086fd8a6
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/UnicodeLittle.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_UnicodeLittle__
+#define __gnu_java_nio_charset_UnicodeLittle__
+
+#pragma interface
+
+#include <java/nio/charset/Charset.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class UnicodeLittle;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ class CharsetEncoder;
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::UnicodeLittle : public ::java::nio::charset::Charset
+{
+
+public: // actually package-private
+ UnicodeLittle();
+public:
+ jboolean contains(::java::nio::charset::Charset *);
+ ::java::nio::charset::CharsetDecoder * newDecoder();
+ ::java::nio::charset::CharsetEncoder * newEncoder();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_UnicodeLittle__
diff --git a/libjava/gnu/java/nio/charset/Windows1250.h b/libjava/gnu/java/nio/charset/Windows1250.h
new file mode 100644
index 000000000..3e0bdae7e
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1250.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1250__
+#define __gnu_java_nio_charset_Windows1250__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1250;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1250 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1250();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1250__
diff --git a/libjava/gnu/java/nio/charset/Windows1251.h b/libjava/gnu/java/nio/charset/Windows1251.h
new file mode 100644
index 000000000..5671f5a47
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1251.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1251__
+#define __gnu_java_nio_charset_Windows1251__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1251;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1251 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1251();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1251__
diff --git a/libjava/gnu/java/nio/charset/Windows1252.h b/libjava/gnu/java/nio/charset/Windows1252.h
new file mode 100644
index 000000000..f1e18a51b
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1252.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1252__
+#define __gnu_java_nio_charset_Windows1252__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1252;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1252 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1252();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1252__
diff --git a/libjava/gnu/java/nio/charset/Windows1253.h b/libjava/gnu/java/nio/charset/Windows1253.h
new file mode 100644
index 000000000..4c9199d6f
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1253.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1253__
+#define __gnu_java_nio_charset_Windows1253__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1253;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1253 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1253();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1253__
diff --git a/libjava/gnu/java/nio/charset/Windows1254.h b/libjava/gnu/java/nio/charset/Windows1254.h
new file mode 100644
index 000000000..d14346deb
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1254.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1254__
+#define __gnu_java_nio_charset_Windows1254__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1254;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1254 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1254();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1254__
diff --git a/libjava/gnu/java/nio/charset/Windows1255.h b/libjava/gnu/java/nio/charset/Windows1255.h
new file mode 100644
index 000000000..e8367b4a4
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1255.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1255__
+#define __gnu_java_nio_charset_Windows1255__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1255;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1255 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1255();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1255__
diff --git a/libjava/gnu/java/nio/charset/Windows1256.h b/libjava/gnu/java/nio/charset/Windows1256.h
new file mode 100644
index 000000000..c29502bd4
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1256.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1256__
+#define __gnu_java_nio_charset_Windows1256__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1256;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1256 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1256();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1256__
diff --git a/libjava/gnu/java/nio/charset/Windows1257.h b/libjava/gnu/java/nio/charset/Windows1257.h
new file mode 100644
index 000000000..6f9c0ec4a
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1257.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1257__
+#define __gnu_java_nio_charset_Windows1257__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1257;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1257 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1257();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1257__
diff --git a/libjava/gnu/java/nio/charset/Windows1258.h b/libjava/gnu/java/nio/charset/Windows1258.h
new file mode 100644
index 000000000..2c7ea3185
--- /dev/null
+++ b/libjava/gnu/java/nio/charset/Windows1258.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_nio_charset_Windows1258__
+#define __gnu_java_nio_charset_Windows1258__
+
+#pragma interface
+
+#include <gnu/java/nio/charset/ByteCharset.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Windows1258;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::nio::charset::Windows1258 : public ::gnu::java::nio::charset::ByteCharset
+{
+
+public:
+ Windows1258();
+private:
+ static JArray< jchar > * lookup;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_nio_charset_Windows1258__
diff --git a/libjava/gnu/java/nio/natNIOServerSocket.cc b/libjava/gnu/java/nio/natNIOServerSocket.cc
new file mode 100644
index 000000000..2d3fb2db7
--- /dev/null
+++ b/libjava/gnu/java/nio/natNIOServerSocket.cc
@@ -0,0 +1,24 @@
+// natNIOServerSocket.cc
+
+/* Copyright (C) 2003 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gnu/java/net/PlainSocketImpl.h>
+#include <gnu/java/nio/NIOServerSocket.h>
+#include <java/net/ServerSocket.h>
+#include <java/net/SocketImpl.h>
+
+gnu::java::net::PlainSocketImpl*
+gnu::java::nio::NIOServerSocket::getPlainSocketImpl()
+{
+ return (gnu::java::net::PlainSocketImpl*)
+ ::java::net::ServerSocket::getImpl();
+}
diff --git a/libjava/gnu/java/nio/natVMChannel.cc b/libjava/gnu/java/nio/natVMChannel.cc
new file mode 100644
index 000000000..4b4da7896
--- /dev/null
+++ b/libjava/gnu/java/nio/natVMChannel.cc
@@ -0,0 +1,46 @@
+#include <config.h>
+
+#include <gnu/java/nio/VMChannel.h>
+#include <gcj/cni.h>
+#include <java/lang/UnsupportedOperationException.h>
+
+void
+gnu::java::nio::VMChannel::setBlocking (jint, jboolean)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::setBlocking (jint, jboolean) not implemented"));
+}
+
+
+jint
+gnu::java::nio::VMChannel::read (jint, ::java::nio::ByteBuffer *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::read (jint, ::java::nio::ByteBuffer *) not implemented"));
+}
+
+
+jlong
+gnu::java::nio::VMChannel::readScattering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::readScattering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint) not implemented"));
+}
+
+
+jint
+gnu::java::nio::VMChannel::write (jint, ::java::nio::ByteBuffer *)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::write (jint, ::java::nio::ByteBuffer *) not implemented"));
+}
+
+
+jlong
+gnu::java::nio::VMChannel::writeGathering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint)
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::writeGathering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint) not implemented"));
+}
+
+
+void
+gnu::java::nio::VMChannel::initIDs ()
+{
+ throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::initIDs () not implemented"));
+}
diff --git a/libjava/gnu/java/nio/natVMPipeEcos.cc b/libjava/gnu/java/nio/natVMPipeEcos.cc
new file mode 100644
index 000000000..c806fb49e
--- /dev/null
+++ b/libjava/gnu/java/nio/natVMPipeEcos.cc
@@ -0,0 +1,27 @@
+// natVMPipeImplEcos.cc
+
+/* Copyright (C) 2003, 2004, 2007 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <gnu/java/nio/PipeImpl.h>
+#include <gnu/java/nio/VMPipe.h>
+#include <java/io/IOException.h>
+
+void
+gnu::java::nio::VMPipe::init (gnu::java::nio::PipeImpl *self,
+ ::java::nio::channels::spi::SelectorProvider*)
+{
+ throw new ::java::io::IOException (JvNewStringUTF ("nativeInit() not implemented"));
+}
diff --git a/libjava/gnu/java/nio/natVMPipePosix.cc b/libjava/gnu/java/nio/natVMPipePosix.cc
new file mode 100644
index 000000000..3de136a6e
--- /dev/null
+++ b/libjava/gnu/java/nio/natVMPipePosix.cc
@@ -0,0 +1,41 @@
+// natVMPipeImplPosix.cc
+
+/* Copyright (C) 2003, 2004, 2007 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <gnu/java/nio/PipeImpl.h>
+#include <gnu/java/nio/VMPipe.h>
+//#include <gnu/java/nio/PipeImpl$SinkChannelImpl.h>
+//#include <gnu/java/nio/PipeImpl$SourceChannelImpl.h>
+#include <java/io/IOException.h>
+#include <java/nio/channels/spi/SelectorProvider.h>
+
+void
+gnu::java::nio::VMPipe::init (gnu::java::nio::PipeImpl*, /*self*/
+ ::java::nio::channels::spi::SelectorProvider*
+ /*provider*/)
+{
+ int filedes [2];
+
+ if (_Jv_pipe (filedes) < 0)
+ throw new ::java::io::IOException (JvNewStringUTF (strerror (errno)));
+
+ /* FIXME
+ source = new gnu::java::nio::PipeImpl$SourceChannelImpl
+ (this, provider, filedes [0]);
+ sink = new gnu::java::nio::PipeImpl$SinkChannelImpl
+ (this, provider, filedes [1]);
+ */
+}
diff --git a/libjava/gnu/java/nio/natVMPipeWin32.cc b/libjava/gnu/java/nio/natVMPipeWin32.cc
new file mode 100644
index 000000000..5278c7a89
--- /dev/null
+++ b/libjava/gnu/java/nio/natVMPipeWin32.cc
@@ -0,0 +1,40 @@
+// natVMPipeImplWin32.cc
+
+/* Copyright (C) 2003, 2004, 2007 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <gnu/java/nio/PipeImpl.h>
+#include <gnu/java/nio/VMPipe.h>
+//#include <gnu/java/nio/PipeImpl$SinkChannelImpl.h>
+//#include <gnu/java/nio/PipeImpl$SourceChannelImpl.h>
+#include <java/io/IOException.h>
+#include <java/nio/channels/spi/SelectorProvider.h>
+
+void
+gnu::java::nio::VMPipe::init (gnu::java::nio::PipeImpl *self,
+ ::java::nio::channels::spi::SelectorProvider* /*provider*/)
+{
+ int filedes [2];
+
+ if (_Jv_pipe (filedes) < 0)
+ throw new ::java::io::IOException (JvNewStringUTF (strerror (errno)));
+
+ /* FIXME
+ source = new gnu::java::nio::PipeImpl$SourceChannelImpl
+ (this, provider, filedes [0]);
+ sink = new gnu::java::nio::PipeImpl$SinkChannelImpl
+ (this, provider, filedes [1]);
+ */
+}
diff --git a/libjava/gnu/java/nio/natVMSelectorEcos.cc b/libjava/gnu/java/nio/natVMSelectorEcos.cc
new file mode 100644
index 000000000..f2ebff809
--- /dev/null
+++ b/libjava/gnu/java/nio/natVMSelectorEcos.cc
@@ -0,0 +1,25 @@
+// natVMSelectorImplEcos.cc
+
+/* Copyright (C) 2003, 2004, 2007 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <errno.h>
+#include <string.h>
+
+#include <gnu/java/nio/VMSelector.h>
+#include <java/io/IOException.h>
+
+jint
+gnu::java::nio::VMSelector::select (jintArray read, jintArray write,
+ jintArray except, jlong timeout)
+{
+ throw new ::java::io::IOException (JvNewStringUTF ("implSelect() not implemented"));
+}
diff --git a/libjava/gnu/java/nio/natVMSelectorPosix.cc b/libjava/gnu/java/nio/natVMSelectorPosix.cc
new file mode 100644
index 000000000..9f026792a
--- /dev/null
+++ b/libjava/gnu/java/nio/natVMSelectorPosix.cc
@@ -0,0 +1,127 @@
+// natVMSelectorImplPosix.cc
+
+/* Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <errno.h>
+#include <string.h>
+
+#include <gnu/java/nio/VMSelector.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/io/IOException.h>
+#include <java/lang/Thread.h>
+
+static void
+helper_put_filedescriptors (jintArray fdArray, fd_set& fds, int& max_fd)
+{
+ jint* tmpFDArray = elements (fdArray);
+
+ for (int index = 0; index < JvGetArrayLength (fdArray); index++)
+ {
+ int fd = tmpFDArray [index];
+ if (fd > 0)
+ {
+ FD_SET (tmpFDArray [index], &fds);
+
+ if (tmpFDArray [index] > max_fd)
+ max_fd = tmpFDArray [index];
+ }
+ }
+}
+
+static void
+helper_get_filedescriptors (jintArray& fdArray, fd_set fds)
+{
+ jint* tmpFDArray = elements (fdArray);
+
+ for (int index = 0; index < JvGetArrayLength (fdArray); index++)
+ {
+ int fd = tmpFDArray [index];
+ if (fd < 0 || !FD_ISSET (fd, &fds))
+ tmpFDArray [index] = 0;
+ }
+}
+
+static void
+helper_reset (jintArray& fdArray)
+{
+ jint* tmpFDArray = elements (fdArray);
+
+ for (int index = 0; index < JvGetArrayLength (fdArray); index++)
+ tmpFDArray [index] = 0;
+}
+
+jint
+gnu::java::nio::VMSelector::select (jintArray read, jintArray write,
+ jintArray except, jlong timeout)
+{
+ jint result;
+ int max_fd = 0;
+ fd_set read_fds;
+ fd_set write_fds;
+ fd_set except_fds;
+ struct timeval real_time_data;
+ struct timeval *time_data = NULL;
+
+ // If a legal timeout value isn't given, use NULL.
+ // This means an infinite timeout. The specification
+ // also says that a zero timeout should be treated
+ // as infinite. Otherwise (if the timeout value is legal),
+ // fill our timeval struct and use it for the select.
+ if (timeout > 0)
+ {
+ real_time_data.tv_sec = timeout / 1000;
+ real_time_data.tv_usec = (timeout % 1000) * 1000;
+ time_data = &real_time_data;
+ }
+
+ // Reset all fd_set structures
+ FD_ZERO (&read_fds);
+ FD_ZERO (&write_fds);
+ FD_ZERO (&except_fds);
+
+ // Fill the fd_set data structures for the _Jv_select() call.
+ helper_put_filedescriptors (read, read_fds, max_fd);
+ helper_put_filedescriptors (write, write_fds, max_fd);
+ helper_put_filedescriptors (except, except_fds, max_fd);
+
+ // Actually do the select
+ try
+ {
+ result = _Jv_select (max_fd + 1, &read_fds, &write_fds,
+ &except_fds, time_data);
+ }
+ catch (::java::io::InterruptedIOException *e)
+ {
+ // The behavior of JRE 1.4.1 is that no exception is thrown
+ // when the thread is interrupted, but the thread's interrupt
+ // status is set. Clear all of our select sets and return 0,
+ // indicating that nothing was selected.
+ ::java::lang::Thread::currentThread ()->interrupt ();
+ helper_reset (read);
+ helper_reset (write);
+ helper_reset (except);
+ return 0;
+ }
+
+ if (result < 0)
+ {
+ char* strerr = strerror (errno);
+ throw new ::java::io::IOException (JvNewStringUTF (strerr));
+ }
+
+ // Set the file descriptors according to the values returned from select().
+ helper_get_filedescriptors (read, read_fds);
+ helper_get_filedescriptors (write, write_fds);
+ helper_get_filedescriptors (except, except_fds);
+
+ return result;
+}
diff --git a/libjava/gnu/java/nio/natVMSelectorWin32.cc b/libjava/gnu/java/nio/natVMSelectorWin32.cc
new file mode 100644
index 000000000..790de22e4
--- /dev/null
+++ b/libjava/gnu/java/nio/natVMSelectorWin32.cc
@@ -0,0 +1,93 @@
+// natVMSelectorImplWin32.cc
+
+/* Copyright (C) 2003, 2004, 2007 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gnu/java/nio/VMSelector.h>
+#include <java/lang/Thread.h>
+
+jint
+gnu::java::nio::VMSelector::select (jintArray read, jintArray write,
+ jintArray except, jlong timeout)
+{
+ // FIXME: The API for implSelect is biased towards POSIX implementations.
+ jint* pReadFD = elements (read);
+ int nNbReadFDs = JvGetArrayLength (read);
+
+ jint* pWriteFD = elements (write);
+ int nNbWriteFDs = JvGetArrayLength (write);
+
+ int nNbEvents = nNbReadFDs + nNbWriteFDs;
+
+ // Create and initialize our event wrapper array
+
+ // FIXME: We're creating fresh WSAEVENTs for each call.
+ // This is inefficient. It would probably be better to cache these
+ // in the Win32 socket implementation class.
+ WSAEventWrapper aArray[nNbEvents];
+
+ int nCurIndex = 0;
+ for (int i=0; i < nNbReadFDs; ++i)
+ aArray[nCurIndex++].init(pReadFD[i], FD_ACCEPT | FD_READ);
+
+ for (int i=0; i < nNbWriteFDs; ++i)
+ aArray[nCurIndex++].init(pWriteFD[i], FD_WRITE);
+
+ // Build our array of WSAEVENTs to wait on. Also throw in our thread's
+ // interrupt event in order to detect thread interruption.
+ HANDLE arh[nNbEvents + 1];
+ for (int i=0; i < nNbEvents; ++i)
+ arh[i] = aArray[i].getEventHandle();
+ arh[nNbEvents] = _Jv_Win32GetInterruptEvent ();
+
+ // A timeout value of 0 needs to be treated as infinite.
+ if (timeout <= 0)
+ timeout = WSA_INFINITE;
+
+ // Do the select.
+ DWORD dwRet = WSAWaitForMultipleEvents (nNbEvents+1, arh, 0, timeout, false);
+
+ if (dwRet == WSA_WAIT_FAILED)
+ _Jv_ThrowIOException ();
+
+ // Before we do anything else, clear output file descriptor arrays.
+ memset(pReadFD, 0, sizeof(jint) * nNbReadFDs);
+ memset(pWriteFD, 0, sizeof(jint) * nNbWriteFDs);
+ memset(elements (except), 0, sizeof(jint) * JvGetArrayLength (except));
+
+ if (dwRet == DWORD(WSA_WAIT_EVENT_0 + nNbEvents))
+ {
+ // We were interrupted. Set the current thread's interrupt
+ // status and get out of here, with nothing selected..
+ ::java::lang::Thread::currentThread ()->interrupt ();
+ return 0;
+ }
+ else if (dwRet < DWORD(WSA_WAIT_EVENT_0 + nNbEvents))
+ {
+ int nSelectedEventIndex = dwRet - WSA_WAIT_EVENT_0;
+
+ // Record the selected file descriptor.
+ // FIXME: This implementation only allows one file descriptor
+ // to be selected at a time. Remedy this by looping on
+ // WSAWaitForMultipleEvents 'til nothing more is selected.
+ jint fd = aArray[nSelectedEventIndex].getFD();
+ if (nSelectedEventIndex < nNbReadFDs)
+ pReadFD[0] = fd;
+ else
+ pWriteFD[0] = fd;
+
+ return 1;
+ }
+ else
+ // None of the event objects was signalled, so nothing was
+ // selected.
+ return 0;
+}
diff --git a/libjava/gnu/java/rmi/RMIMarshalledObjectInputStream.h b/libjava/gnu/java/rmi/RMIMarshalledObjectInputStream.h
new file mode 100644
index 000000000..ad170da54
--- /dev/null
+++ b/libjava/gnu/java/rmi/RMIMarshalledObjectInputStream.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_RMIMarshalledObjectInputStream__
+#define __gnu_java_rmi_RMIMarshalledObjectInputStream__
+
+#pragma interface
+
+#include <gnu/java/rmi/server/RMIObjectInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ class RMIMarshalledObjectInputStream;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::RMIMarshalledObjectInputStream : public ::gnu::java::rmi::server::RMIObjectInputStream
+{
+
+public:
+ RMIMarshalledObjectInputStream(JArray< jbyte > *, JArray< jbyte > *);
+public: // actually protected
+ virtual ::java::lang::Object * getAnnotation();
+private:
+ ::java::io::ObjectInputStream * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::RMIObjectInputStream)))) locStream;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_RMIMarshalledObjectInputStream__
diff --git a/libjava/gnu/java/rmi/RMIMarshalledObjectOutputStream.h b/libjava/gnu/java/rmi/RMIMarshalledObjectOutputStream.h
new file mode 100644
index 000000000..6a1c87e36
--- /dev/null
+++ b/libjava/gnu/java/rmi/RMIMarshalledObjectOutputStream.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_RMIMarshalledObjectOutputStream__
+#define __gnu_java_rmi_RMIMarshalledObjectOutputStream__
+
+#pragma interface
+
+#include <gnu/java/rmi/server/RMIObjectOutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ class RMIMarshalledObjectOutputStream;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::RMIMarshalledObjectOutputStream : public ::gnu::java::rmi::server::RMIObjectOutputStream
+{
+
+public:
+ RMIMarshalledObjectOutputStream(::java::io::OutputStream *);
+public: // actually protected
+ virtual void setAnnotation(::java::lang::String *);
+public:
+ virtual void flush();
+ virtual JArray< jbyte > * getLocBytes();
+private:
+ ::java::io::ObjectOutputStream * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::RMIObjectOutputStream)))) locStream;
+ ::java::io::ByteArrayOutputStream * locBytesStream;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_RMIMarshalledObjectOutputStream__
diff --git a/libjava/gnu/java/rmi/activation/ActivationSystemTransient.h b/libjava/gnu/java/rmi/activation/ActivationSystemTransient.h
new file mode 100644
index 000000000..81607a34f
--- /dev/null
+++ b/libjava/gnu/java/rmi/activation/ActivationSystemTransient.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_activation_ActivationSystemTransient__
+#define __gnu_java_rmi_activation_ActivationSystemTransient__
+
+#pragma interface
+
+#include <gnu/java/rmi/activation/DefaultActivationSystem.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace activation
+ {
+ class ActivationSystemTransient;
+ class BidiTable;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class MarshalledObject;
+ namespace activation
+ {
+ class ActivationDesc;
+ class ActivationGroupDesc;
+ class ActivationGroupID;
+ class ActivationID;
+ class ActivationInstantiator;
+ class ActivationMonitor;
+ class ActivationSystem;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::activation::ActivationSystemTransient : public ::gnu::java::rmi::activation::DefaultActivationSystem
+{
+
+public: // actually protected
+ ActivationSystemTransient(::gnu::java::rmi::activation::BidiTable *, ::gnu::java::rmi::activation::BidiTable *);
+ ActivationSystemTransient();
+public:
+ static ::java::rmi::activation::ActivationSystem * getInstance();
+ virtual ::java::rmi::MarshalledObject * activate(::java::rmi::activation::ActivationID *, jboolean);
+ virtual ::java::rmi::activation::ActivationMonitor * activeGroup(::java::rmi::activation::ActivationGroupID *, ::java::rmi::activation::ActivationInstantiator *, jlong);
+ virtual ::java::rmi::activation::ActivationDesc * getActivationDesc(::java::rmi::activation::ActivationID *);
+ virtual ::java::rmi::activation::ActivationGroupDesc * getActivationGroupDesc(::java::rmi::activation::ActivationGroupID *);
+ virtual ::java::rmi::activation::ActivationGroupID * registerGroup(::java::rmi::activation::ActivationGroupDesc *);
+ virtual ::java::rmi::activation::ActivationID * registerObject(::java::rmi::activation::ActivationDesc *);
+ virtual ::java::rmi::activation::ActivationDesc * setActivationDesc(::java::rmi::activation::ActivationID *, ::java::rmi::activation::ActivationDesc *);
+ virtual ::java::rmi::activation::ActivationGroupDesc * setActivationGroupDesc(::java::rmi::activation::ActivationGroupID *, ::java::rmi::activation::ActivationGroupDesc *);
+ virtual void shutdown();
+ virtual void unregisterGroup(::java::rmi::activation::ActivationGroupID *);
+ virtual void unregisterObject(::java::rmi::activation::ActivationID *);
+ virtual void activeObject(::java::rmi::activation::ActivationID *, ::java::rmi::MarshalledObject *);
+ virtual void inactiveGroup(::java::rmi::activation::ActivationGroupID *, jlong);
+ virtual void inactiveObject(::java::rmi::activation::ActivationID *);
+public: // actually protected
+ ::gnu::java::rmi::activation::BidiTable * __attribute__((aligned(__alignof__( ::gnu::java::rmi::activation::DefaultActivationSystem)))) groupDescs;
+ ::gnu::java::rmi::activation::BidiTable * descriptions;
+ ::java::util::Map * groupInstantiators;
+ ::java::util::Map * activatedObjects;
+public: // actually package-private
+ static jlong groupIncarnations;
+ static ::java::rmi::activation::ActivationSystem * singleton;
+public:
+ static jboolean debug;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_activation_ActivationSystemTransient__
diff --git a/libjava/gnu/java/rmi/activation/BidiTable.h b/libjava/gnu/java/rmi/activation/BidiTable.h
new file mode 100644
index 000000000..74a78f11a
--- /dev/null
+++ b/libjava/gnu/java/rmi/activation/BidiTable.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_activation_BidiTable__
+#define __gnu_java_rmi_activation_BidiTable__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace activation
+ {
+ class BidiTable;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::activation::BidiTable : public ::java::lang::Object
+{
+
+public:
+ BidiTable();
+public: // actually protected
+ BidiTable(jint);
+public:
+ virtual ::java::lang::Object * getKey(::java::lang::Object *);
+ virtual void put(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual void removeKey(::java::lang::Object *);
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual void shutdown();
+ virtual jint size();
+ virtual JArray< ::java::lang::Object * > * keys();
+private:
+ static const jlong serialVersionUID = 1LL;
+public: // actually protected
+ ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) k2v;
+ ::java::util::Map * v2k;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_activation_BidiTable__
diff --git a/libjava/gnu/java/rmi/activation/DefaultActivationGroup.h b/libjava/gnu/java/rmi/activation/DefaultActivationGroup.h
new file mode 100644
index 000000000..2f1cb0eec
--- /dev/null
+++ b/libjava/gnu/java/rmi/activation/DefaultActivationGroup.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_activation_DefaultActivationGroup__
+#define __gnu_java_rmi_activation_DefaultActivationGroup__
+
+#pragma interface
+
+#include <java/rmi/activation/ActivationGroup.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace activation
+ {
+ class DefaultActivationGroup;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class MarshalledObject;
+ class Remote;
+ namespace activation
+ {
+ class ActivationDesc;
+ class ActivationGroupID;
+ class ActivationID;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::activation::DefaultActivationGroup : public ::java::rmi::activation::ActivationGroup
+{
+
+public:
+ DefaultActivationGroup(::java::rmi::activation::ActivationGroupID *, ::java::rmi::MarshalledObject *);
+ virtual void activeObject(::java::rmi::activation::ActivationID *, ::java::rmi::Remote *);
+ virtual ::java::rmi::MarshalledObject * newInstance(::java::rmi::activation::ActivationID *, ::java::rmi::activation::ActivationDesc *);
+private:
+ static const jlong serialVersionUID = 1LL;
+public: // actually package-private
+ static JArray< ::java::lang::Class * > * cConstructorTypes;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_activation_DefaultActivationGroup__
diff --git a/libjava/gnu/java/rmi/activation/DefaultActivationSystem.h b/libjava/gnu/java/rmi/activation/DefaultActivationSystem.h
new file mode 100644
index 000000000..457c112ed
--- /dev/null
+++ b/libjava/gnu/java/rmi/activation/DefaultActivationSystem.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_activation_DefaultActivationSystem__
+#define __gnu_java_rmi_activation_DefaultActivationSystem__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace activation
+ {
+ class DefaultActivationSystem;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace activation
+ {
+ class ActivationSystem;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::activation::DefaultActivationSystem : public ::java::lang::Object
+{
+
+public:
+ DefaultActivationSystem();
+ static ::java::rmi::activation::ActivationSystem * get();
+public: // actually package-private
+ static ::java::rmi::activation::ActivationSystem * system;
+ static jint ACTIVATION_REGISTRY_PORT;
+ static ::java::lang::String * AS_PORT_PROPERTY;
+ static ::java::lang::String * ACTIVATION_SYSTEM_NAME;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_activation_DefaultActivationSystem__
diff --git a/libjava/gnu/java/rmi/dgc/DGCImpl$RefProtector.h b/libjava/gnu/java/rmi/dgc/DGCImpl$RefProtector.h
new file mode 100644
index 000000000..ed869a290
--- /dev/null
+++ b/libjava/gnu/java/rmi/dgc/DGCImpl$RefProtector.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_dgc_DGCImpl$RefProtector__
+#define __gnu_java_rmi_dgc_DGCImpl$RefProtector__
+
+#pragma interface
+
+#include <java/util/TimerTask.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace dgc
+ {
+ class DGCImpl;
+ class DGCImpl$RefProtector;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class ObjID;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::dgc::DGCImpl$RefProtector : public ::java::util::TimerTask
+{
+
+public: // actually package-private
+ DGCImpl$RefProtector(::gnu::java::rmi::dgc::DGCImpl *, JArray< ::java::rmi::server::ObjID * > *, jlong);
+public:
+ virtual void run();
+public: // actually package-private
+ JArray< ::java::util::Collection * > * __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) references;
+ ::gnu::java::rmi::dgc::DGCImpl * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_dgc_DGCImpl$RefProtector__
diff --git a/libjava/gnu/java/rmi/dgc/DGCImpl.h b/libjava/gnu/java/rmi/dgc/DGCImpl.h
new file mode 100644
index 000000000..e0f91a199
--- /dev/null
+++ b/libjava/gnu/java/rmi/dgc/DGCImpl.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_dgc_DGCImpl__
+#define __gnu_java_rmi_dgc_DGCImpl__
+
+#pragma interface
+
+#include <gnu/java/rmi/server/UnicastServerRef.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace dgc
+ {
+ class DGCImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace dgc
+ {
+ class Lease;
+ class VMID;
+ }
+ namespace server
+ {
+ class ObjID;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::dgc::DGCImpl : public ::gnu::java::rmi::server::UnicastServerRef
+{
+
+public:
+ DGCImpl();
+ virtual ::java::rmi::dgc::Lease * dirty(JArray< ::java::rmi::server::ObjID * > *, jlong, ::java::rmi::dgc::Lease *);
+ virtual void clean(JArray< ::java::rmi::server::ObjID * > *, jlong, ::java::rmi::dgc::VMID *, jboolean);
+private:
+ static const jlong serialVersionUID = 1LL;
+public: // actually package-private
+ static const jlong LEASE_VALUE = 600000LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_dgc_DGCImpl__
diff --git a/libjava/gnu/java/rmi/dgc/DGCImpl_Skel.h b/libjava/gnu/java/rmi/dgc/DGCImpl_Skel.h
new file mode 100644
index 000000000..3133f2ca4
--- /dev/null
+++ b/libjava/gnu/java/rmi/dgc/DGCImpl_Skel.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_dgc_DGCImpl_Skel__
+#define __gnu_java_rmi_dgc_DGCImpl_Skel__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace dgc
+ {
+ class DGCImpl_Skel;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class Remote;
+ namespace server
+ {
+ class Operation;
+ class RemoteCall;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::dgc::DGCImpl_Skel : public ::java::lang::Object
+{
+
+public:
+ DGCImpl_Skel();
+ JArray< ::java::rmi::server::Operation * > * getOperations();
+ void dispatch(::java::rmi::Remote *, ::java::rmi::server::RemoteCall *, jint, jlong);
+private:
+ static const jlong interfaceHash = -669196253586618813LL;
+ static JArray< ::java::rmi::server::Operation * > * operations;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_dgc_DGCImpl_Skel__
diff --git a/libjava/gnu/java/rmi/dgc/DGCImpl_Stub.h b/libjava/gnu/java/rmi/dgc/DGCImpl_Stub.h
new file mode 100644
index 000000000..f37555ad9
--- /dev/null
+++ b/libjava/gnu/java/rmi/dgc/DGCImpl_Stub.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_dgc_DGCImpl_Stub__
+#define __gnu_java_rmi_dgc_DGCImpl_Stub__
+
+#pragma interface
+
+#include <java/rmi/server/RemoteStub.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace dgc
+ {
+ class DGCImpl_Stub;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace dgc
+ {
+ class Lease;
+ class VMID;
+ }
+ namespace server
+ {
+ class ObjID;
+ class Operation;
+ class RemoteRef;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::dgc::DGCImpl_Stub : public ::java::rmi::server::RemoteStub
+{
+
+public:
+ DGCImpl_Stub();
+ DGCImpl_Stub(::java::rmi::server::RemoteRef *);
+ void clean(JArray< ::java::rmi::server::ObjID * > *, jlong, ::java::rmi::dgc::VMID *, jboolean);
+ ::java::rmi::dgc::Lease * dirty(JArray< ::java::rmi::server::ObjID * > *, jlong, ::java::rmi::dgc::Lease *);
+private:
+ static const jlong serialVersionUID = 2LL;
+ static const jlong interfaceHash = -669196253586618813LL;
+ static jboolean useNewInvoke;
+ static JArray< ::java::rmi::server::Operation * > * operations;
+ static ::java::lang::reflect::Method * $method_clean_0;
+ static ::java::lang::reflect::Method * $method_dirty_1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_dgc_DGCImpl_Stub__
diff --git a/libjava/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.h b/libjava/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.h
new file mode 100644
index 000000000..7d3193404
--- /dev/null
+++ b/libjava/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_dgc_LeaseRenewingTask$LeaseTimerTask__
+#define __gnu_java_rmi_dgc_LeaseRenewingTask$LeaseTimerTask__
+
+#pragma interface
+
+#include <java/util/TimerTask.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace dgc
+ {
+ class LeaseRenewingTask;
+ class LeaseRenewingTask$LeaseTimerTask;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::dgc::LeaseRenewingTask$LeaseTimerTask : public ::java::util::TimerTask
+{
+
+public: // actually package-private
+ LeaseRenewingTask$LeaseTimerTask(::gnu::java::rmi::dgc::LeaseRenewingTask *);
+public:
+ virtual void run();
+public: // actually package-private
+ ::gnu::java::rmi::dgc::LeaseRenewingTask * __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_dgc_LeaseRenewingTask$LeaseTimerTask__
diff --git a/libjava/gnu/java/rmi/dgc/LeaseRenewingTask.h b/libjava/gnu/java/rmi/dgc/LeaseRenewingTask.h
new file mode 100644
index 000000000..506bdcc14
--- /dev/null
+++ b/libjava/gnu/java/rmi/dgc/LeaseRenewingTask.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_dgc_LeaseRenewingTask__
+#define __gnu_java_rmi_dgc_LeaseRenewingTask__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace dgc
+ {
+ class LeaseRenewingTask;
+ }
+ namespace server
+ {
+ class UnicastRef;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace dgc
+ {
+ class Lease;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::dgc::LeaseRenewingTask : public ::java::lang::Object
+{
+
+public:
+ LeaseRenewingTask(::gnu::java::rmi::server::UnicastRef *);
+ static void scheduleLeases(::gnu::java::rmi::server::UnicastRef *);
+ virtual void schedule(::java::rmi::dgc::Lease *);
+ virtual void renew();
+ virtual ::java::rmi::dgc::Lease * notifyDGC(::gnu::java::rmi::server::UnicastRef *);
+ static jlong REQUEST_LEASE_DURATION;
+public: // actually package-private
+ ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ref;
+ ::java::rmi::dgc::Lease * lease;
+ static ::java::util::Timer * timer;
+ static ::java::util::WeakHashMap * existingTasks;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_dgc_LeaseRenewingTask__
diff --git a/libjava/gnu/java/rmi/registry/RegistryImpl.h b/libjava/gnu/java/rmi/registry/RegistryImpl.h
new file mode 100644
index 000000000..d4ae01945
--- /dev/null
+++ b/libjava/gnu/java/rmi/registry/RegistryImpl.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_registry_RegistryImpl__
+#define __gnu_java_rmi_registry_RegistryImpl__
+
+#pragma interface
+
+#include <java/rmi/server/UnicastRemoteObject.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace registry
+ {
+ class RegistryImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class Remote;
+ namespace server
+ {
+ class RMIClientSocketFactory;
+ class RMIServerSocketFactory;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::registry::RegistryImpl : public ::java::rmi::server::UnicastRemoteObject
+{
+
+public:
+ RegistryImpl(jint);
+ RegistryImpl(jint, ::java::rmi::server::RMIClientSocketFactory *, ::java::rmi::server::RMIServerSocketFactory *);
+ virtual ::java::rmi::Remote * lookup(::java::lang::String *);
+ virtual void bind(::java::lang::String *, ::java::rmi::Remote *);
+ virtual void unbind(::java::lang::String *);
+ virtual void rebind(::java::lang::String *, ::java::rmi::Remote *);
+ virtual JArray< ::java::lang::String * > * list();
+ static void version();
+ static void help();
+ static void main(JArray< ::java::lang::String * > *);
+private:
+ ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::rmi::server::UnicastRemoteObject)))) bindings;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_registry_RegistryImpl__
diff --git a/libjava/gnu/java/rmi/registry/RegistryImpl_Skel.h b/libjava/gnu/java/rmi/registry/RegistryImpl_Skel.h
new file mode 100644
index 000000000..898d8e888
--- /dev/null
+++ b/libjava/gnu/java/rmi/registry/RegistryImpl_Skel.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_registry_RegistryImpl_Skel__
+#define __gnu_java_rmi_registry_RegistryImpl_Skel__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace registry
+ {
+ class RegistryImpl_Skel;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class Remote;
+ namespace server
+ {
+ class Operation;
+ class RemoteCall;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::registry::RegistryImpl_Skel : public ::java::lang::Object
+{
+
+public:
+ RegistryImpl_Skel();
+ JArray< ::java::rmi::server::Operation * > * getOperations();
+ void dispatch(::java::rmi::Remote *, ::java::rmi::server::RemoteCall *, jint, jlong);
+private:
+ static const jlong interfaceHash = 4905912898345647071LL;
+ static JArray< ::java::rmi::server::Operation * > * operations;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_registry_RegistryImpl_Skel__
diff --git a/libjava/gnu/java/rmi/registry/RegistryImpl_Stub.h b/libjava/gnu/java/rmi/registry/RegistryImpl_Stub.h
new file mode 100644
index 000000000..898344264
--- /dev/null
+++ b/libjava/gnu/java/rmi/registry/RegistryImpl_Stub.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_registry_RegistryImpl_Stub__
+#define __gnu_java_rmi_registry_RegistryImpl_Stub__
+
+#pragma interface
+
+#include <java/rmi/server/RemoteStub.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace registry
+ {
+ class RegistryImpl_Stub;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class Remote;
+ namespace server
+ {
+ class Operation;
+ class RemoteRef;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::registry::RegistryImpl_Stub : public ::java::rmi::server::RemoteStub
+{
+
+public:
+ RegistryImpl_Stub();
+ RegistryImpl_Stub(::java::rmi::server::RemoteRef *);
+ void bind(::java::lang::String *, ::java::rmi::Remote *);
+ JArray< ::java::lang::String * > * list();
+ ::java::rmi::Remote * lookup(::java::lang::String *);
+ void rebind(::java::lang::String *, ::java::rmi::Remote *);
+ void unbind(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = 2LL;
+ static const jlong interfaceHash = 4905912898345647071LL;
+ static jboolean useNewInvoke;
+ static JArray< ::java::rmi::server::Operation * > * operations;
+ static ::java::lang::reflect::Method * $method_bind_0;
+ static ::java::lang::reflect::Method * $method_list_1;
+ static ::java::lang::reflect::Method * $method_lookup_2;
+ static ::java::lang::reflect::Method * $method_rebind_3;
+ static ::java::lang::reflect::Method * $method_unbind_4;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_registry_RegistryImpl_Stub__
diff --git a/libjava/gnu/java/rmi/server/ActivatableRef.h b/libjava/gnu/java/rmi/server/ActivatableRef.h
new file mode 100644
index 000000000..6a9025ae7
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/ActivatableRef.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_ActivatableRef__
+#define __gnu_java_rmi_server_ActivatableRef__
+
+#pragma interface
+
+#include <gnu/java/rmi/server/UnicastRef.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class ActivatableRef;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class Remote;
+ namespace activation
+ {
+ class ActivationID;
+ }
+ namespace server
+ {
+ class ObjID;
+ class RMIClientSocketFactory;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::ActivatableRef : public ::gnu::java::rmi::server::UnicastRef
+{
+
+public:
+ ActivatableRef();
+ ActivatableRef(::java::rmi::server::ObjID *, ::java::lang::String *, jint, ::java::rmi::server::RMIClientSocketFactory *);
+ ActivatableRef(::java::rmi::server::ObjID *);
+ virtual ::java::lang::String * getRefClass(::java::io::ObjectOutput *);
+ virtual void readExternal(::java::io::ObjectInput *);
+ virtual void writeExternal(::java::io::ObjectOutput *);
+public: // actually protected
+ virtual ::java::lang::Object * invokeCommon(::java::rmi::Remote *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jint, jlong);
+private:
+ static const jlong serialVersionUID = 1LL;
+public: // actually package-private
+ ::java::rmi::activation::ActivationID * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::UnicastRef)))) actId;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_ActivatableRef__
diff --git a/libjava/gnu/java/rmi/server/ActivatableServerRef.h b/libjava/gnu/java/rmi/server/ActivatableServerRef.h
new file mode 100644
index 000000000..5241331e9
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/ActivatableServerRef.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_ActivatableServerRef__
+#define __gnu_java_rmi_server_ActivatableServerRef__
+
+#pragma interface
+
+#include <gnu/java/rmi/server/UnicastServerRef.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class ActivatableServerRef;
+ class UnicastConnection;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class Remote;
+ namespace activation
+ {
+ class ActivationID;
+ }
+ namespace server
+ {
+ class ObjID;
+ class RMIServerSocketFactory;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::ActivatableServerRef : public ::gnu::java::rmi::server::UnicastServerRef
+{
+
+public:
+ ActivatableServerRef();
+ ActivatableServerRef(::java::rmi::server::ObjID *, ::java::rmi::activation::ActivationID *, jint, ::java::rmi::server::RMIServerSocketFactory *);
+ virtual void inactivate();
+public: // actually protected
+ virtual void activate();
+public:
+ virtual ::java::lang::Object * incomingMessageCall(::gnu::java::rmi::server::UnicastConnection *, jint, jlong);
+ virtual ::java::rmi::Remote * exportObject(::java::rmi::Remote *);
+ virtual ::java::rmi::Remote * exportClass(::java::lang::Class *);
+ virtual ::java::lang::String * getRefClass(::java::io::ObjectOutput *);
+ virtual void readExternal(::java::io::ObjectInput *);
+ virtual void writeExternal(::java::io::ObjectOutput *);
+private:
+ static const jlong serialVersionUID = 1LL;
+public:
+ ::java::rmi::activation::ActivationID * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::UnicastServerRef)))) actId;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_ActivatableServerRef__
diff --git a/libjava/gnu/java/rmi/server/CombinedClassLoader.h b/libjava/gnu/java/rmi/server/CombinedClassLoader.h
new file mode 100644
index 000000000..5d4c6c9e6
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/CombinedClassLoader.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_CombinedClassLoader__
+#define __gnu_java_rmi_server_CombinedClassLoader__
+
+#pragma interface
+
+#include <java/lang/ClassLoader.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class CombinedClassLoader;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::rmi::server::CombinedClassLoader : public ::java::lang::ClassLoader
+{
+
+public:
+ CombinedClassLoader(::java::util::Collection *);
+public: // actually protected
+ virtual ::java::lang::Class * findClass(::java::lang::String *);
+ virtual ::java::net::URL * findResource(::java::lang::String *);
+ virtual ::java::util::Enumeration * findResources(::java::lang::String *);
+public: // actually package-private
+ JArray< ::java::lang::ClassLoader * > * __attribute__((aligned(__alignof__( ::java::lang::ClassLoader)))) loaders;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_CombinedClassLoader__
diff --git a/libjava/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.h b/libjava/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.h
new file mode 100644
index 000000000..664fc4e12
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_ConnectionRunnerPool$ConnectionRunner__
+#define __gnu_java_rmi_server_ConnectionRunnerPool$ConnectionRunner__
+
+#pragma interface
+
+#include <java/lang/Thread.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class ConnectionRunnerPool$ConnectionRunner;
+ class UnicastConnection;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::ConnectionRunnerPool$ConnectionRunner : public ::java::lang::Thread
+{
+
+public:
+ ConnectionRunnerPool$ConnectionRunner(::java::lang::ThreadGroup *, ::java::lang::String *);
+ virtual void run();
+ virtual void dispatch(::gnu::java::rmi::server::UnicastConnection *);
+public: // actually package-private
+ virtual void exit();
+private:
+ ::gnu::java::rmi::server::UnicastConnection * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) conn;
+ jboolean volatile exiting;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_ConnectionRunnerPool$ConnectionRunner__
diff --git a/libjava/gnu/java/rmi/server/ConnectionRunnerPool.h b/libjava/gnu/java/rmi/server/ConnectionRunnerPool.h
new file mode 100644
index 000000000..eccfb3836
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/ConnectionRunnerPool.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_ConnectionRunnerPool__
+#define __gnu_java_rmi_server_ConnectionRunnerPool__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class ConnectionRunnerPool;
+ class ConnectionRunnerPool$ConnectionRunner;
+ class UnicastConnection;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::ConnectionRunnerPool : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ConnectionRunnerPool();
+public:
+ static void setSize(jint);
+ static void setMaxSize(jint);
+private:
+ static ::gnu::java::rmi::server::ConnectionRunnerPool$ConnectionRunner * getConnectionRunner();
+public:
+ static void dispatchConnection(::gnu::java::rmi::server::UnicastConnection *);
+ static void exit();
+private:
+ static jint size;
+ static jint max_size;
+public: // actually package-private
+ static ::java::util::ArrayList * freelist;
+private:
+ static ::java::lang::ThreadGroup * group;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_ConnectionRunnerPool__
diff --git a/libjava/gnu/java/rmi/server/ProtocolConstants.h b/libjava/gnu/java/rmi/server/ProtocolConstants.h
new file mode 100644
index 000000000..d9b08e7f9
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/ProtocolConstants.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_ProtocolConstants__
+#define __gnu_java_rmi_server_ProtocolConstants__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class ProtocolConstants;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::ProtocolConstants : public ::java::lang::Object
+{
+
+public:
+ static const jint PROTOCOL_HEADER = 1246907721;
+ static const jint PROTOCOL_VERSION = 2;
+ static const jint STREAM_PROTOCOL = 75;
+ static const jint SINGLE_OP_PROTOCOL = 76;
+ static const jint MULTIPLEX_PROTOCOL = 77;
+ static const jint PROTOCOL_ACK = 78;
+ static const jint PROTOCOL_NACK = 79;
+ static const jint MESSAGE_CALL = 80;
+ static const jint MESSAGE_CALL_ACK = 81;
+ static const jint MESSAGE_PING = 82;
+ static const jint MESSAGE_PING_ACK = 83;
+ static const jint MESSAGE_DGCACK = 84;
+ static const jint RETURN_ACK = 1;
+ static const jint RETURN_NACK = 2;
+ static const jint DEFAULT_PROTOCOL = 75;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_rmi_server_ProtocolConstants__
diff --git a/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.h b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.h
new file mode 100644
index 000000000..4afe17039
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_RMIClassLoaderImpl$CacheKey__
+#define __gnu_java_rmi_server_RMIClassLoaderImpl$CacheKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIClassLoaderImpl$CacheKey;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::RMIClassLoaderImpl$CacheKey : public ::java::lang::Object
+{
+
+public:
+ RMIClassLoaderImpl$CacheKey(::java::lang::String *, ::java::lang::ClassLoader *);
+ virtual jboolean equals(::java::lang::Object *);
+private:
+ jboolean equals(::java::lang::Object *, ::java::lang::Object *);
+public:
+ virtual jint hashCode();
+ virtual ::java::lang::String * toString();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mCodeBase;
+ ::java::lang::ClassLoader * mContextClassLoader;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_RMIClassLoaderImpl$CacheKey__
diff --git a/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.h b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.h
new file mode 100644
index 000000000..ed9b9364b
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_RMIClassLoaderImpl$MyClassLoader__
+#define __gnu_java_rmi_server_RMIClassLoaderImpl$MyClassLoader__
+
+#pragma interface
+
+#include <java/net/URLClassLoader.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIClassLoaderImpl$MyClassLoader;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ }
+}
+
+class gnu::java::rmi::server::RMIClassLoaderImpl$MyClassLoader : public ::java::net::URLClassLoader
+{
+
+public: // actually package-private
+ RMIClassLoaderImpl$MyClassLoader(JArray< ::java::net::URL * > *, ::java::lang::ClassLoader *, ::java::lang::String *);
+public:
+ static ::java::lang::String * urlToAnnotation(JArray< ::java::net::URL * > *);
+ virtual ::java::lang::String * getClassAnnotation();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader)))) annotation;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_RMIClassLoaderImpl$MyClassLoader__
diff --git a/libjava/gnu/java/rmi/server/RMIClassLoaderImpl.h b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl.h
new file mode 100644
index 000000000..abcb8fc69
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_RMIClassLoaderImpl__
+#define __gnu_java_rmi_server_RMIClassLoaderImpl__
+
+#pragma interface
+
+#include <java/rmi/server/RMIClassLoaderSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIClassLoaderImpl;
+ class RMIClassLoaderImpl$MyClassLoader;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIClassLoaderSpi;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::RMIClassLoaderImpl : public ::java::rmi::server::RMIClassLoaderSpi
+{
+
+ RMIClassLoaderImpl();
+public:
+ static ::java::rmi::server::RMIClassLoaderSpi * getInstance();
+ virtual ::java::lang::Class * loadClass(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *);
+ virtual ::java::lang::Class * loadProxyClass(::java::lang::String *, JArray< ::java::lang::String * > *, ::java::lang::ClassLoader *);
+ virtual ::java::lang::ClassLoader * getClassLoader(::java::lang::String *);
+ virtual ::java::lang::String * getClassAnnotation(::java::lang::Class *);
+private:
+ static ::gnu::java::rmi::server::RMIClassLoaderImpl * instance;
+ static ::java::util::Map * cacheLoaders;
+ static ::java::util::Map * cacheAnnotations;
+ static ::gnu::java::rmi::server::RMIClassLoaderImpl$MyClassLoader * defaultClassLoader;
+ static ::java::lang::String * defaultAnnotation;
+ static ::java::net::URL * defaultCodebase;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_RMIClassLoaderImpl__
diff --git a/libjava/gnu/java/rmi/server/RMIDefaultSocketFactory.h b/libjava/gnu/java/rmi/server/RMIDefaultSocketFactory.h
new file mode 100644
index 000000000..32da29512
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/RMIDefaultSocketFactory.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_RMIDefaultSocketFactory__
+#define __gnu_java_rmi_server_RMIDefaultSocketFactory__
+
+#pragma interface
+
+#include <java/rmi/server/RMISocketFactory.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIDefaultSocketFactory;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class ServerSocket;
+ class Socket;
+ }
+ }
+}
+
+class gnu::java::rmi::server::RMIDefaultSocketFactory : public ::java::rmi::server::RMISocketFactory
+{
+
+public:
+ RMIDefaultSocketFactory();
+ virtual ::java::net::Socket * createSocket(::java::lang::String *, jint);
+ virtual ::java::net::ServerSocket * createServerSocket(jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_RMIDefaultSocketFactory__
diff --git a/libjava/gnu/java/rmi/server/RMIHashes.h b/libjava/gnu/java/rmi/server/RMIHashes.h
new file mode 100644
index 000000000..0bb00ec11
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/RMIHashes.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_RMIHashes__
+#define __gnu_java_rmi_server_RMIHashes__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIHashes;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::RMIHashes : public ::java::lang::Object
+{
+
+public:
+ RMIHashes();
+ static jlong getMethodHash(::java::lang::reflect::Method *);
+ static jlong getInterfaceHash(::java::lang::Class *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_RMIHashes__
diff --git a/libjava/gnu/java/rmi/server/RMIIncomingThread.h b/libjava/gnu/java/rmi/server/RMIIncomingThread.h
new file mode 100644
index 000000000..5938877f2
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/RMIIncomingThread.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_RMIIncomingThread__
+#define __gnu_java_rmi_server_RMIIncomingThread__
+
+#pragma interface
+
+#include <java/lang/Thread.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIIncomingThread;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::RMIIncomingThread : public ::java::lang::Thread
+{
+
+public:
+ RMIIncomingThread(::java::lang::Runnable *, ::java::lang::String *);
+ virtual ::java::lang::String * toString();
+ virtual ::java::lang::String * getClientHost();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) clientHost;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_RMIIncomingThread__
diff --git a/libjava/gnu/java/rmi/server/RMIObjectInputStream.h b/libjava/gnu/java/rmi/server/RMIObjectInputStream.h
new file mode 100644
index 000000000..3af69a288
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/RMIObjectInputStream.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_RMIObjectInputStream__
+#define __gnu_java_rmi_server_RMIObjectInputStream__
+
+#pragma interface
+
+#include <java/io/ObjectInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIObjectInputStream;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::RMIObjectInputStream : public ::java::io::ObjectInputStream
+{
+
+public:
+ RMIObjectInputStream(::java::io::InputStream *);
+public: // actually protected
+ virtual ::java::lang::Class * resolveClass(::java::io::ObjectStreamClass *);
+ virtual ::java::lang::Object * getAnnotation();
+ virtual ::java::lang::Class * resolveProxyClass(JArray< ::java::lang::String * > *);
+ virtual ::java::lang::Object * readValue(::java::lang::Class *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_RMIObjectInputStream__
diff --git a/libjava/gnu/java/rmi/server/RMIObjectOutputStream.h b/libjava/gnu/java/rmi/server/RMIObjectOutputStream.h
new file mode 100644
index 000000000..6f6382d94
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/RMIObjectOutputStream.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_RMIObjectOutputStream__
+#define __gnu_java_rmi_server_RMIObjectOutputStream__
+
+#pragma interface
+
+#include <java/io/ObjectOutputStream.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIObjectOutputStream;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::RMIObjectOutputStream : public ::java::io::ObjectOutputStream
+{
+
+public:
+ RMIObjectOutputStream(::java::io::OutputStream *);
+public: // actually protected
+ virtual void setAnnotation(::java::lang::String *);
+ virtual void annotateClass(::java::lang::Class *);
+ virtual void annotateProxyClass(::java::lang::Class *);
+ virtual ::java::lang::Object * replaceObject(::java::lang::Object *);
+ virtual void writeValue(::java::lang::Object *, ::java::lang::Class *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_RMIObjectOutputStream__
diff --git a/libjava/gnu/java/rmi/server/RMIVoidValue.h b/libjava/gnu/java/rmi/server/RMIVoidValue.h
new file mode 100644
index 000000000..fab4664a9
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/RMIVoidValue.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_RMIVoidValue__
+#define __gnu_java_rmi_server_RMIVoidValue__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIVoidValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::RMIVoidValue : public ::java::lang::Object
+{
+
+ RMIVoidValue();
+public: // actually package-private
+ static ::gnu::java::rmi::server::RMIVoidValue * INSTANCE;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_RMIVoidValue__
diff --git a/libjava/gnu/java/rmi/server/TripleKey.h b/libjava/gnu/java/rmi/server/TripleKey.h
new file mode 100644
index 000000000..dbc2d429b
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/TripleKey.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_TripleKey__
+#define __gnu_java_rmi_server_TripleKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class TripleKey;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::TripleKey : public ::java::lang::Object
+{
+
+public: // actually package-private
+ TripleKey(::java::lang::String *, jint, ::java::lang::Object *);
+public:
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) host;
+ jint port;
+ ::java::lang::Object * other;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_TripleKey__
diff --git a/libjava/gnu/java/rmi/server/UnicastConnection.h b/libjava/gnu/java/rmi/server/UnicastConnection.h
new file mode 100644
index 000000000..98f5d0d7b
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/UnicastConnection.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_UnicastConnection__
+#define __gnu_java_rmi_server_UnicastConnection__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class UnicastConnection;
+ class UnicastConnectionManager;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class Socket;
+ }
+ }
+}
+
+class gnu::java::rmi::server::UnicastConnection : public ::java::lang::Object
+{
+
+public: // actually package-private
+ UnicastConnection(::gnu::java::rmi::server::UnicastConnectionManager *, ::java::net::Socket *);
+ virtual void acceptConnection();
+ virtual void makeConnection(jint);
+ virtual ::java::io::DataInputStream * getDataInputStream();
+ virtual ::java::io::DataOutputStream * getDataOutputStream();
+ virtual ::java::io::ObjectInputStream * getObjectInputStream();
+ virtual ::java::io::ObjectInputStream * startObjectInputStream();
+ virtual ::java::io::ObjectOutputStream * getObjectOutputStream();
+ virtual ::java::io::ObjectOutputStream * startObjectOutputStream();
+ virtual void disconnect();
+ static jboolean isExpired(::gnu::java::rmi::server::UnicastConnection *, jlong);
+ static void resetTime(::gnu::java::rmi::server::UnicastConnection *);
+public:
+ virtual void run();
+public: // actually package-private
+ ::gnu::java::rmi::server::UnicastConnectionManager * __attribute__((aligned(__alignof__( ::java::lang::Object)))) manager;
+ ::java::net::Socket * sock;
+ ::java::io::DataInputStream * din;
+ ::java::io::DataOutputStream * dout;
+ ::java::io::ObjectInputStream * oin;
+ ::java::io::ObjectOutputStream * oout;
+ jlong reviveTime;
+ jlong expireTime;
+public:
+ static const jlong CONNECTION_TIMEOUT = 10000LL;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_UnicastConnection__
diff --git a/libjava/gnu/java/rmi/server/UnicastConnectionManager$1.h b/libjava/gnu/java/rmi/server/UnicastConnectionManager$1.h
new file mode 100644
index 000000000..94deb02c7
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/UnicastConnectionManager$1.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_UnicastConnectionManager$1__
+#define __gnu_java_rmi_server_UnicastConnectionManager$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class UnicastConnectionManager$1;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::UnicastConnectionManager$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ UnicastConnectionManager$1();
+public:
+ virtual void run();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_UnicastConnectionManager$1__
diff --git a/libjava/gnu/java/rmi/server/UnicastConnectionManager.h b/libjava/gnu/java/rmi/server/UnicastConnectionManager.h
new file mode 100644
index 000000000..26c19ccc2
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/UnicastConnectionManager.h
@@ -0,0 +1,94 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_UnicastConnectionManager__
+#define __gnu_java_rmi_server_UnicastConnectionManager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class UnicastConnection;
+ class UnicastConnectionManager;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class ServerSocket;
+ }
+ namespace rmi
+ {
+ namespace server
+ {
+ class RMIClientSocketFactory;
+ class RMIServerSocketFactory;
+ class RMISocketFactory;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::UnicastConnectionManager : public ::java::lang::Object
+{
+
+ static void startScavenger();
+ UnicastConnectionManager(::java::lang::String *, jint, ::java::rmi::server::RMIClientSocketFactory *);
+ UnicastConnectionManager(jint, ::java::rmi::server::RMIServerSocketFactory *);
+public:
+ static ::gnu::java::rmi::server::UnicastConnectionManager * getInstance(::java::lang::String *, jint, ::java::rmi::server::RMIClientSocketFactory *);
+ static ::gnu::java::rmi::server::UnicastConnectionManager * getInstance(jint, ::java::rmi::server::RMIServerSocketFactory *);
+ virtual ::gnu::java::rmi::server::UnicastConnection * getConnection();
+private:
+ ::gnu::java::rmi::server::UnicastConnection * getServerConnection();
+ ::gnu::java::rmi::server::UnicastConnection * getClientConnection();
+public:
+ virtual ::java::lang::String * toString();
+ virtual void discardConnection(::gnu::java::rmi::server::UnicastConnection *);
+ virtual void startServer();
+ virtual void stopServer();
+ virtual void run();
+public: // actually package-private
+ virtual void write(::java::io::ObjectOutput *);
+ static ::gnu::java::rmi::server::UnicastConnectionManager * read(::java::io::ObjectInput *);
+private:
+ static ::java::lang::String * localhost;
+ static ::java::util::Hashtable * servers;
+public: // actually package-private
+ static ::java::util::Hashtable * clients;
+ ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) connections;
+private:
+ ::java::lang::Thread * volatile serverThread;
+ ::java::net::ServerSocket * ssock;
+public: // actually package-private
+ ::java::lang::String * serverName;
+ jint serverPort;
+ static ::java::lang::Thread * scavenger;
+ ::java::lang::Object * serverobj;
+private:
+ static ::java::rmi::server::RMISocketFactory * defaultSocketFactory;
+ ::java::rmi::server::RMIServerSocketFactory * serverFactory;
+ ::java::rmi::server::RMIClientSocketFactory * clientFactory;
+ static jint ncsock;
+ static jint nssock;
+ static jint ncmanager;
+ static jint nsmanager;
+ static const jboolean debug = 0;
+ static ::java::lang::Object * GLOBAL_LOCK;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_UnicastConnectionManager__
diff --git a/libjava/gnu/java/rmi/server/UnicastRef.h b/libjava/gnu/java/rmi/server/UnicastRef.h
new file mode 100644
index 000000000..089b35df9
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/UnicastRef.h
@@ -0,0 +1,91 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_UnicastRef__
+#define __gnu_java_rmi_server_UnicastRef__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class UnicastConnection;
+ class UnicastConnectionManager;
+ class UnicastRef;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class Remote;
+ namespace dgc
+ {
+ class Lease;
+ }
+ namespace server
+ {
+ class ObjID;
+ class Operation;
+ class RMIClientSocketFactory;
+ class RemoteCall;
+ class RemoteObject;
+ class RemoteRef;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::UnicastRef : public ::java::lang::Object
+{
+
+public:
+ UnicastRef();
+ UnicastRef(::java::rmi::server::ObjID *, ::java::lang::String *, jint, ::java::rmi::server::RMIClientSocketFactory *);
+ UnicastRef(::java::rmi::server::ObjID *);
+ virtual ::java::lang::Object * invoke(::java::rmi::Remote *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jlong);
+ virtual ::java::rmi::dgc::Lease * notifyDGC(::java::rmi::dgc::Lease *);
+public: // actually protected
+ virtual ::java::lang::Object * invokeCommon(::java::rmi::Remote *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jint, jlong);
+ virtual ::java::lang::Object * invokeCommon(::gnu::java::rmi::server::UnicastConnection *, ::java::rmi::Remote *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jint, jlong);
+public:
+ virtual ::java::rmi::server::RemoteCall * newCall(::java::rmi::server::RemoteObject *, JArray< ::java::rmi::server::Operation * > *, jint, jlong);
+ virtual void invoke(::java::rmi::server::RemoteCall *);
+ virtual void done(::java::rmi::server::RemoteCall *);
+ virtual void writeExternal(::java::io::ObjectOutput *);
+ virtual void readExternal(::java::io::ObjectInput *);
+ virtual jboolean remoteEquals(::java::rmi::server::RemoteRef *);
+ virtual jint remoteHashCode();
+ virtual ::java::lang::String * getRefClass(::java::io::ObjectOutput *);
+ virtual ::java::lang::String * remoteToString();
+ virtual void dump(::gnu::java::rmi::server::UnicastConnection *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+private:
+ static const jlong serialVersionUID = 1LL;
+public:
+ ::java::rmi::server::ObjID * __attribute__((aligned(__alignof__( ::java::lang::Object)))) objid;
+public: // actually package-private
+ ::gnu::java::rmi::server::UnicastConnectionManager * manager;
+ static jlong dgcSequence;
+ static ::java::rmi::server::ObjID * dgcId;
+ JArray< ::java::rmi::server::ObjID * > * this_id;
+ static jint DIRTY;
+ static const jlong dgcInterfaceHash = -669196253586618813LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_UnicastRef__
diff --git a/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.h b/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.h
new file mode 100644
index 000000000..acf348091
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectInputStream__
+#define __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectInputStream__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class UnicastRemoteCall;
+ class UnicastRemoteCall$DummyObjectInputStream;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::UnicastRemoteCall$DummyObjectInputStream : public ::java::lang::Object
+{
+
+public: // actually package-private
+ UnicastRemoteCall$DummyObjectInputStream(::gnu::java::rmi::server::UnicastRemoteCall *);
+public:
+ virtual jboolean readBoolean();
+ virtual jbyte readByte();
+ virtual jchar readChar();
+ virtual jdouble readDouble();
+ virtual jfloat readFloat();
+ virtual jint readInt();
+ virtual jlong readLong();
+ virtual jshort readShort();
+ virtual ::java::lang::Object * readObject();
+ virtual jint read(JArray< jbyte > *);
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual jint read();
+ virtual jlong skip(jlong);
+ virtual jint available();
+ virtual void readFully(JArray< jbyte > *);
+ virtual void readFully(JArray< jbyte > *, jint, jint);
+ virtual ::java::lang::String * readLine();
+ virtual ::java::lang::String * readUTF();
+ virtual jint readUnsignedByte();
+ virtual jint readUnsignedShort();
+ virtual jint skipBytes(jint);
+ virtual void close();
+public: // actually package-private
+ ::gnu::java::rmi::server::UnicastRemoteCall * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectInputStream__
diff --git a/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.h b/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.h
new file mode 100644
index 000000000..7a903b646
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectOutputStream__
+#define __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectOutputStream__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class UnicastRemoteCall;
+ class UnicastRemoteCall$DummyObjectOutputStream;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::UnicastRemoteCall$DummyObjectOutputStream : public ::java::lang::Object
+{
+
+public: // actually package-private
+ UnicastRemoteCall$DummyObjectOutputStream(::gnu::java::rmi::server::UnicastRemoteCall *);
+public:
+ virtual void writeBoolean(jboolean);
+ virtual void writeByte(jint);
+ virtual void writeChar(jint);
+ virtual void writeDouble(jdouble);
+ virtual void writeFloat(jfloat);
+ virtual void writeInt(jint);
+ virtual void writeLong(jlong);
+ virtual void writeShort(jint);
+ virtual void writeObject(::java::lang::Object *);
+ virtual void write(JArray< jbyte > *);
+ virtual void write(JArray< jbyte > *, jint, jint);
+ virtual void write(jint);
+ virtual void writeBytes(::java::lang::String *);
+ virtual void writeChars(::java::lang::String *);
+ virtual void writeUTF(::java::lang::String *);
+ virtual void flush();
+ virtual void close();
+public: // actually package-private
+ ::gnu::java::rmi::server::UnicastRemoteCall * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectOutputStream__
diff --git a/libjava/gnu/java/rmi/server/UnicastRemoteCall.h b/libjava/gnu/java/rmi/server/UnicastRemoteCall.h
new file mode 100644
index 000000000..d6808a6e3
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/UnicastRemoteCall.h
@@ -0,0 +1,81 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_UnicastRemoteCall__
+#define __gnu_java_rmi_server_UnicastRemoteCall__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class UnicastConnection;
+ class UnicastRemoteCall;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class ObjID;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::UnicastRemoteCall : public ::java::lang::Object
+{
+
+public: // actually package-private
+ UnicastRemoteCall(::gnu::java::rmi::server::UnicastConnection *);
+ UnicastRemoteCall(::gnu::java::rmi::server::UnicastConnection *, ::java::rmi::server::ObjID *, jint, jlong);
+ virtual ::gnu::java::rmi::server::UnicastConnection * getConnection();
+public:
+ virtual ::java::io::ObjectOutput * getOutputStream();
+ virtual void releaseOutputStream();
+ virtual ::java::io::ObjectInput * startInputStream();
+ virtual ::java::io::ObjectInput * getInputStream();
+ virtual void releaseInputStream();
+ virtual ::java::io::ObjectOutput * getResultStream(jboolean);
+ virtual void executeCall();
+ virtual void done();
+public: // actually package-private
+ virtual jboolean isReturnValue();
+ virtual ::java::lang::Object * returnValue();
+ virtual JArray< ::java::lang::Object * > * getArguments();
+ virtual ::java::lang::Object * getObject();
+ virtual jint getOpnum();
+ virtual jlong getHash();
+ virtual void setReturnValue(::java::lang::Object *);
+private:
+ ::gnu::java::rmi::server::UnicastConnection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) conn;
+ ::java::lang::Object * result;
+ ::java::lang::Object * object;
+ jint opnum;
+ jlong hash;
+public: // actually package-private
+ ::java::util::Vector * vec;
+ jint ptr;
+private:
+ ::java::rmi::server::ObjID * objid;
+ ::java::io::ObjectOutput * oout;
+ ::java::io::ObjectInput * oin;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_UnicastRemoteCall__
diff --git a/libjava/gnu/java/rmi/server/UnicastRemoteStub.h b/libjava/gnu/java/rmi/server/UnicastRemoteStub.h
new file mode 100644
index 000000000..14c9e5a5a
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/UnicastRemoteStub.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_UnicastRemoteStub__
+#define __gnu_java_rmi_server_UnicastRemoteStub__
+
+#pragma interface
+
+#include <java/rmi/server/RemoteStub.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class UnicastRemoteStub;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class RemoteRef;
+ class RemoteStub;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::UnicastRemoteStub : public ::java::rmi::server::RemoteStub
+{
+
+public:
+ UnicastRemoteStub();
+ static void setStubRef(::java::rmi::server::RemoteStub *, ::java::rmi::server::RemoteRef *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_UnicastRemoteStub__
diff --git a/libjava/gnu/java/rmi/server/UnicastServer.h b/libjava/gnu/java/rmi/server/UnicastServer.h
new file mode 100644
index 000000000..5ebf3633c
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/UnicastServer.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_UnicastServer__
+#define __gnu_java_rmi_server_UnicastServer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace dgc
+ {
+ class DGCImpl;
+ }
+ namespace server
+ {
+ class ActivatableServerRef;
+ class UnicastConnection;
+ class UnicastServer;
+ class UnicastServerRef;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class Remote;
+ namespace activation
+ {
+ class ActivationID;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::UnicastServer : public ::java::lang::Object
+{
+
+public:
+ UnicastServer();
+ static void exportObject(::gnu::java::rmi::server::UnicastServerRef *);
+ static void registerActivatable(::gnu::java::rmi::server::ActivatableServerRef *);
+ static void exportActivatableObject(::gnu::java::rmi::server::ActivatableServerRef *);
+ static ::gnu::java::rmi::server::ActivatableServerRef * getActivatableRef(::java::rmi::activation::ActivationID *);
+ static void unregisterActivatable(::java::rmi::activation::ActivationID *);
+ static jboolean unexportObject(::gnu::java::rmi::server::UnicastServerRef *, jboolean);
+ static ::gnu::java::rmi::server::UnicastServerRef * getExportedRef(::java::rmi::Remote *);
+ static ::java::util::Collection * getExported(::java::lang::Object *);
+private:
+ static void startDGC();
+public:
+ static void dispatch(::gnu::java::rmi::server::UnicastConnection *);
+private:
+ static void incomingMessageCall(::gnu::java::rmi::server::UnicastConnection *);
+ static ::java::util::Map * objects;
+ static ::java::util::Map * refcache;
+public:
+ static ::java::util::Map * actIds;
+private:
+ static ::gnu::java::rmi::dgc::DGCImpl * dgc;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_UnicastServer__
diff --git a/libjava/gnu/java/rmi/server/UnicastServerRef.h b/libjava/gnu/java/rmi/server/UnicastServerRef.h
new file mode 100644
index 000000000..62299d9cd
--- /dev/null
+++ b/libjava/gnu/java/rmi/server/UnicastServerRef.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_rmi_server_UnicastServerRef__
+#define __gnu_java_rmi_server_UnicastServerRef__
+
+#pragma interface
+
+#include <gnu/java/rmi/server/UnicastRef.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace rmi
+ {
+ namespace server
+ {
+ class UnicastConnection;
+ class UnicastServerRef;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace rmi
+ {
+ class Remote;
+ namespace server
+ {
+ class ObjID;
+ class RMIServerSocketFactory;
+ class RemoteRef;
+ class Skeleton;
+ }
+ }
+ }
+}
+
+class gnu::java::rmi::server::UnicastServerRef : public ::gnu::java::rmi::server::UnicastRef
+{
+
+public: // actually package-private
+ UnicastServerRef();
+public:
+ UnicastServerRef(::java::rmi::server::ObjID *, jint, ::java::rmi::server::RMIServerSocketFactory *);
+ virtual ::java::rmi::Remote * exportObject(::java::rmi::Remote *);
+ virtual ::java::rmi::Remote * getStub();
+ virtual jboolean unexportObject(::java::rmi::Remote *, jboolean);
+public: // actually protected
+ virtual ::java::lang::Class * findStubSkelClass(::java::lang::Class *);
+ virtual ::java::lang::Object * getHelperClass(::java::lang::Class *, ::java::lang::String *);
+public:
+ virtual ::java::lang::String * getClientHost();
+public: // actually protected
+ virtual void buildMethodHash(::java::lang::Class *, jboolean);
+public: // actually package-private
+ virtual ::java::lang::Class * getMethodReturnType(jint, jlong);
+public:
+ virtual ::java::lang::Object * incomingMessageCall(::gnu::java::rmi::server::UnicastConnection *, jint, jlong);
+public: // actually package-private
+ virtual ::java::rmi::Remote * createProxyStub(::java::lang::Class *, ::java::rmi::server::RemoteRef *);
+private:
+ static const jlong serialVersionUID = -5585608108300801246LL;
+ static JArray< ::java::lang::Class * > * stubprototype;
+public: // actually package-private
+ ::java::rmi::Remote * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::UnicastRef)))) myself;
+public: // actually protected
+ ::java::rmi::server::Skeleton * skel;
+ ::java::rmi::Remote * stub;
+ ::java::util::Hashtable * methods;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_rmi_server_UnicastServerRef__
diff --git a/libjava/gnu/java/security/Configuration.h b/libjava/gnu/java/security/Configuration.h
new file mode 100644
index 000000000..ea2bb7049
--- /dev/null
+++ b/libjava/gnu/java/security/Configuration.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_Configuration__
+#define __gnu_java_security_Configuration__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class Configuration;
+ }
+ }
+ }
+}
+
+class gnu::java::security::Configuration : public ::java::lang::Object
+{
+
+public:
+ static const jboolean DEBUG = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_Configuration__
diff --git a/libjava/gnu/java/security/Engine.h b/libjava/gnu/java/security/Engine.h
new file mode 100644
index 000000000..53447ecb3
--- /dev/null
+++ b/libjava/gnu/java/security/Engine.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_Engine__
+#define __gnu_java_security_Engine__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class Engine;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class Provider;
+ }
+ }
+}
+
+class gnu::java::security::Engine : public ::java::lang::Object
+{
+
+ Engine();
+public:
+ static ::java::lang::Object * getInstance(::java::lang::String *, ::java::lang::String *, ::java::security::Provider *);
+ static ::java::lang::Object * getInstance(::java::lang::String *, ::java::lang::String *, ::java::security::Provider *, JArray< ::java::lang::Object * > *);
+private:
+ static ::java::lang::reflect::Constructor * getCompatibleConstructor(::java::lang::Class *, JArray< ::java::lang::Object * > *);
+ static ::java::lang::String * ALG_ALIAS;
+ static const jint MAX_ALIASES = 5;
+ static JArray< ::java::lang::Object * > * NO_ARGS;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_Engine__
diff --git a/libjava/gnu/java/security/OID.h b/libjava/gnu/java/security/OID.h
new file mode 100644
index 000000000..40347732d
--- /dev/null
+++ b/libjava/gnu/java/security/OID.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_OID__
+#define __gnu_java_security_OID__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ }
+ }
+ }
+}
+
+class gnu::java::security::OID : public ::java::lang::Object
+{
+
+public:
+ OID(JArray< jint > *);
+ OID(JArray< jint > *, jboolean);
+ OID(::java::lang::String *);
+ OID(::java::lang::String *, jboolean);
+ OID(::java::io::InputStream *, jint);
+ OID(::java::io::InputStream *, jint, jboolean);
+ OID(JArray< jbyte > *);
+ OID(JArray< jbyte > *, jboolean);
+ virtual JArray< jint > * getIDs();
+ virtual JArray< jbyte > * getDER();
+ virtual ::gnu::java::security::OID * getParent();
+ virtual ::gnu::java::security::OID * getChild(jint);
+ virtual ::gnu::java::security::OID * getRoot();
+ virtual jboolean isRelative();
+ virtual ::java::lang::Object * clone();
+ virtual ::java::lang::String * toString();
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint compareTo(::java::lang::Object *);
+private:
+ static JArray< jint > * fromDER(JArray< jbyte > *, jboolean);
+ static JArray< jint > * fromString(::java::lang::String *);
+ static void encodeSubID(::java::io::ByteArrayOutputStream *, jint);
+public: // actually package-private
+ static const jlong serialVersionUID = 5722492029044597779LL;
+private:
+ JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) components;
+ ::java::lang::String * strRep;
+ JArray< jbyte > * der;
+ jboolean relative;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_OID__
diff --git a/libjava/gnu/java/security/PolicyFile$1.h b/libjava/gnu/java/security/PolicyFile$1.h
new file mode 100644
index 000000000..9b16a0ec4
--- /dev/null
+++ b/libjava/gnu/java/security/PolicyFile$1.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_PolicyFile$1__
+#define __gnu_java_security_PolicyFile$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class PolicyFile;
+ class PolicyFile$1;
+ }
+ }
+ }
+}
+
+class gnu::java::security::PolicyFile$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PolicyFile$1(::gnu::java::security::PolicyFile *, ::java::util::List *);
+public:
+ virtual ::java::lang::Object * run();
+public: // actually package-private
+ ::gnu::java::security::PolicyFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+ ::java::util::List * val$policyFiles;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_PolicyFile$1__
diff --git a/libjava/gnu/java/security/PolicyFile.h b/libjava/gnu/java/security/PolicyFile.h
new file mode 100644
index 000000000..768e3d98c
--- /dev/null
+++ b/libjava/gnu/java/security/PolicyFile.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_PolicyFile__
+#define __gnu_java_security_PolicyFile__
+
+#pragma interface
+
+#include <java/security/Policy.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class PolicyFile;
+ namespace action
+ {
+ class GetPropertyAction;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace net
+ {
+ class URL;
+ }
+ namespace security
+ {
+ class CodeSource;
+ class PermissionCollection;
+ }
+ }
+}
+
+class gnu::java::security::PolicyFile : public ::java::security::Policy
+{
+
+public:
+ PolicyFile();
+ ::java::security::PermissionCollection * getPermissions(::java::security::CodeSource *);
+ void refresh();
+ ::java::lang::String * toString();
+private:
+ void parse(::java::net::URL *);
+ static ::java::lang::String * expand(::java::lang::String *);
+ static void error(::java::net::URL *, ::java::io::StreamTokenizer *, ::java::lang::String *);
+public: // actually protected
+ static ::java::util::logging::Logger * logger;
+private:
+ static ::gnu::java::security::action::GetPropertyAction * prop;
+ static ::java::lang::String * fs;
+ static ::java::lang::String * DEFAULT_POLICY;
+ static ::java::lang::String * DEFAULT_USER_POLICY;
+ ::java::util::Map * __attribute__((aligned(__alignof__( ::java::security::Policy)))) cs2pc;
+ static const jint STATE_BEGIN = 0;
+ static const jint STATE_GRANT = 1;
+ static const jint STATE_PERMS = 2;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_PolicyFile__
diff --git a/libjava/gnu/java/security/Properties$1.h b/libjava/gnu/java/security/Properties$1.h
new file mode 100644
index 000000000..30082876d
--- /dev/null
+++ b/libjava/gnu/java/security/Properties$1.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_Properties$1__
+#define __gnu_java_security_Properties$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class Properties;
+ class Properties$1;
+ }
+ }
+ }
+}
+
+class gnu::java::security::Properties$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Properties$1(::gnu::java::security::Properties *);
+public:
+ virtual ::java::lang::Object * run();
+public: // actually package-private
+ ::gnu::java::security::Properties * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_Properties$1__
diff --git a/libjava/gnu/java/security/Properties.h b/libjava/gnu/java/security/Properties.h
new file mode 100644
index 000000000..d28d18e9c
--- /dev/null
+++ b/libjava/gnu/java/security/Properties.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_Properties__
+#define __gnu_java_security_Properties__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class Properties;
+ }
+ }
+ }
+}
+
+class gnu::java::security::Properties : public ::java::lang::Object
+{
+
+ Properties();
+public:
+ static ::java::lang::String * getProperty(::java::lang::String *);
+ static void setProperty(::java::lang::String *, ::java::lang::String *);
+ static jboolean isReproducible();
+ static jboolean checkForWeakKeys();
+ static jboolean doRSABlinding();
+ static void setReproducible(jboolean);
+ static void setCheckForWeakKeys(jboolean);
+ static void setDoRSABlinding(jboolean);
+private:
+ static ::gnu::java::security::Properties * instance();
+ void init();
+ void handleBooleanProperty(::java::lang::String *);
+ static ::java::util::logging::Logger * log;
+public:
+ static ::java::lang::String * VERSION;
+ static ::java::lang::String * PROPERTIES_FILE;
+ static ::java::lang::String * REPRODUCIBLE_PRNG;
+ static ::java::lang::String * CHECK_WEAK_KEYS;
+ static ::java::lang::String * DO_RSA_BLINDING;
+private:
+ static ::java::lang::String * TRUE;
+ static ::java::lang::String * FALSE;
+ static ::java::util::HashMap * props;
+ static ::gnu::java::security::Properties * singleton;
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) reproducible;
+ jboolean checkForWeakKeys__;
+ jboolean doRSABlinding__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_Properties__
diff --git a/libjava/gnu/java/security/Registry.h b/libjava/gnu/java/security/Registry.h
new file mode 100644
index 000000000..164bb9f8e
--- /dev/null
+++ b/libjava/gnu/java/security/Registry.h
@@ -0,0 +1,187 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_Registry__
+#define __gnu_java_security_Registry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class Registry;
+ }
+ }
+ }
+}
+
+class gnu::java::security::Registry : public ::java::lang::Object
+{
+
+public:
+ static ::java::lang::String * GNU_SECURITY;
+ static ::java::lang::String * GNU_CRYPTO;
+ static ::java::lang::String * GNU_SASL;
+ static ::java::lang::String * VERSION_STRING;
+ static ::java::lang::String * ANUBIS_CIPHER;
+ static ::java::lang::String * BLOWFISH_CIPHER;
+ static ::java::lang::String * DES_CIPHER;
+ static ::java::lang::String * KHAZAD_CIPHER;
+ static ::java::lang::String * RIJNDAEL_CIPHER;
+ static ::java::lang::String * SERPENT_CIPHER;
+ static ::java::lang::String * SQUARE_CIPHER;
+ static ::java::lang::String * TRIPLEDES_CIPHER;
+ static ::java::lang::String * TWOFISH_CIPHER;
+ static ::java::lang::String * CAST5_CIPHER;
+ static ::java::lang::String * NULL_CIPHER;
+ static ::java::lang::String * AES_CIPHER;
+ static ::java::lang::String * DESEDE_CIPHER;
+ static ::java::lang::String * CAST128_CIPHER;
+ static ::java::lang::String * CAST_128_CIPHER;
+ static ::java::lang::String * KWA_PREFIX;
+ static ::java::lang::String * AES_KWA;
+ static ::java::lang::String * AES128_KWA;
+ static ::java::lang::String * AES192_KWA;
+ static ::java::lang::String * AES256_KWA;
+ static ::java::lang::String * RIJNDAEL_KWA;
+ static ::java::lang::String * TRIPLEDES_KWA;
+ static ::java::lang::String * DESEDE_KWA;
+ static ::java::lang::String * WHIRLPOOL_HASH;
+ static ::java::lang::String * RIPEMD128_HASH;
+ static ::java::lang::String * RIPEMD160_HASH;
+ static ::java::lang::String * SHA160_HASH;
+ static ::java::lang::String * SHA256_HASH;
+ static ::java::lang::String * SHA384_HASH;
+ static ::java::lang::String * SHA512_HASH;
+ static ::java::lang::String * TIGER_HASH;
+ static ::java::lang::String * HAVAL_HASH;
+ static ::java::lang::String * MD5_HASH;
+ static ::java::lang::String * MD4_HASH;
+ static ::java::lang::String * MD2_HASH;
+ static ::java::lang::String * RIPEMD_128_HASH;
+ static ::java::lang::String * RIPEMD_160_HASH;
+ static ::java::lang::String * SHA_1_HASH;
+ static ::java::lang::String * SHA1_HASH;
+ static ::java::lang::String * SHA_HASH;
+ static ::java::lang::String * ECB_MODE;
+ static ::java::lang::String * CTR_MODE;
+ static ::java::lang::String * ICM_MODE;
+ static ::java::lang::String * OFB_MODE;
+ static ::java::lang::String * CBC_MODE;
+ static ::java::lang::String * CFB_MODE;
+ static ::java::lang::String * EAX_MODE;
+ static ::java::lang::String * PKCS5_PAD;
+ static ::java::lang::String * PKCS7_PAD;
+ static ::java::lang::String * TBC_PAD;
+ static ::java::lang::String * EME_PKCS1_V1_5_PAD;
+ static ::java::lang::String * SSL3_PAD;
+ static ::java::lang::String * TLS1_PAD;
+ static ::java::lang::String * ISO10126_PAD;
+ static ::java::lang::String * ARCFOUR_PRNG;
+ static ::java::lang::String * RC4_PRNG;
+ static ::java::lang::String * ICM_PRNG;
+ static ::java::lang::String * MD_PRNG;
+ static ::java::lang::String * UMAC_PRNG;
+ static ::java::lang::String * PBKDF2_PRNG_PREFIX;
+ static ::java::lang::String * CSPRNG_PRNG;
+ static ::java::lang::String * FORTUNA_PRNG;
+ static ::java::lang::String * FORTUNA_GENERATOR_PRNG;
+ static ::java::lang::String * DSS_KPG;
+ static ::java::lang::String * RSA_KPG;
+ static ::java::lang::String * DH_KPG;
+ static ::java::lang::String * SRP_KPG;
+ static ::java::lang::String * DSA_KPG;
+ static ::java::lang::String * DSS_SIG;
+ static ::java::lang::String * RSA_SIG_PREFIX;
+ static ::java::lang::String * RSA_PSS_ENCODING;
+ static ::java::lang::String * RSA_PSS_SIG;
+ static ::java::lang::String * RSA_PKCS1_V1_5_ENCODING;
+ static ::java::lang::String * RSA_PKCS1_V1_5_SIG;
+ static ::java::lang::String * DSA_SIG;
+ static ::java::lang::String * DH_KA;
+ static ::java::lang::String * ELGAMAL_KA;
+ static ::java::lang::String * SRP6_KA;
+ static ::java::lang::String * SRP_SASL_KA;
+ static ::java::lang::String * SRP_TLS_KA;
+ static ::java::lang::String * HMAC_NAME_PREFIX;
+ static ::java::lang::String * OMAC_PREFIX;
+ static ::java::lang::String * UHASH32;
+ static ::java::lang::String * UMAC32;
+ static ::java::lang::String * TMMH16;
+ static ::java::lang::String * RAW_ENCODING;
+ static ::java::lang::String * X509_ENCODING;
+ static ::java::lang::String * PKCS8_ENCODING;
+ static ::java::lang::String * ASN1_ENCODING;
+ static ::java::lang::String * RAW_ENCODING_SHORT_NAME;
+ static ::java::lang::String * X509_ENCODING_SORT_NAME;
+ static ::java::lang::String * PKCS8_ENCODING_SHORT_NAME;
+ static ::java::lang::String * ASN1_ENCODING_SHORT_NAME;
+ static const jint RAW_ENCODING_ID = 1;
+ static const jint X509_ENCODING_ID = 2;
+ static const jint PKCS8_ENCODING_ID = 3;
+ static const jint ASN1_ENCODING_ID = 4;
+ static ::java::lang::String * DSA_OID_STRING;
+ static ::java::lang::String * RSA_OID_STRING;
+ static ::java::lang::String * DH_OID_STRING;
+ static JArray< jbyte > * MAGIC_RAW_DSS_PUBLIC_KEY;
+ static JArray< jbyte > * MAGIC_RAW_DSS_PRIVATE_KEY;
+ static JArray< jbyte > * MAGIC_RAW_DSS_SIGNATURE;
+ static JArray< jbyte > * MAGIC_RAW_RSA_PUBLIC_KEY;
+ static JArray< jbyte > * MAGIC_RAW_RSA_PRIVATE_KEY;
+ static JArray< jbyte > * MAGIC_RAW_RSA_PSS_SIGNATURE;
+ static JArray< jbyte > * MAGIC_RAW_RSA_PKCS1V1_5_SIGNATURE;
+ static JArray< jbyte > * MAGIC_RAW_DH_PUBLIC_KEY;
+ static JArray< jbyte > * MAGIC_RAW_DH_PRIVATE_KEY;
+ static JArray< jbyte > * MAGIC_RAW_SRP_PUBLIC_KEY;
+ static JArray< jbyte > * MAGIC_RAW_SRP_PRIVATE_KEY;
+ static ::java::lang::String * SASL_PREFIX;
+ static ::java::lang::String * SASL_USERNAME;
+ static ::java::lang::String * SASL_PASSWORD;
+ static ::java::lang::String * SASL_AUTH_INFO_PROVIDER_PKGS;
+ static ::java::lang::String * SASL_AUTHORISATION_ID;
+ static ::java::lang::String * SASL_PROTOCOL;
+ static ::java::lang::String * SASL_SERVER_NAME;
+ static ::java::lang::String * SASL_CALLBACK_HANDLER;
+ static ::java::lang::String * SASL_CHANNEL_BINDING;
+ static const jint SASL_ONE_BYTE_MAX_LIMIT = 255;
+ static const jint SASL_TWO_BYTE_MAX_LIMIT = 65535;
+ static const jint SASL_FOUR_BYTE_MAX_LIMIT = 2147483383;
+ static const jint SASL_BUFFER_MAX_LIMIT = 2147483643;
+ static ::java::lang::String * SASL_ANONYMOUS_MECHANISM;
+ static ::java::lang::String * SASL_CRAM_MD5_MECHANISM;
+ static ::java::lang::String * SASL_PLAIN_MECHANISM;
+ static ::java::lang::String * SASL_SRP_MECHANISM;
+ static ::java::lang::String * SASL_HMAC_MD5_IALG;
+ static ::java::lang::String * SASL_HMAC_SHA_IALG;
+ static ::java::lang::String * QOP_AUTH;
+ static ::java::lang::String * QOP_AUTH_INT;
+ static ::java::lang::String * QOP_AUTH_CONF;
+ static ::java::lang::String * STRENGTH_HIGH;
+ static ::java::lang::String * STRENGTH_MEDIUM;
+ static ::java::lang::String * STRENGTH_LOW;
+ static ::java::lang::String * SERVER_AUTH_TRUE;
+ static ::java::lang::String * SERVER_AUTH_FALSE;
+ static ::java::lang::String * REUSE_TRUE;
+ static ::java::lang::String * REUSE_FALSE;
+ static JArray< jbyte > * GKR_MAGIC;
+ static const jint GKR_PRIVATE_KEYS = 1;
+ static const jint GKR_PUBLIC_CREDENTIALS = 2;
+ static const jint GKR_CERTIFICATES = 4;
+ static const jint GKR_HMAC_MD5_128 = 0;
+ static const jint GKR_HMAC_SHA_160 = 1;
+ static const jint GKR_HMAC_MD5_96 = 2;
+ static const jint GKR_HMAC_SHA_96 = 3;
+ static const jint GKR_CIPHER_AES_128_OFB = 0;
+ static const jint GKR_CIPHER_AES_128_CBC = 1;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_Registry__
diff --git a/libjava/gnu/java/security/Requires.h b/libjava/gnu/java/security/Requires.h
new file mode 100644
index 000000000..879a873a2
--- /dev/null
+++ b/libjava/gnu/java/security/Requires.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_Requires__
+#define __gnu_java_security_Requires__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class Requires;
+ }
+ }
+ }
+}
+
+class gnu::java::security::Requires : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::Class * permissionClass() = 0;
+ virtual ::java::lang::String * target() = 0;
+ virtual ::java::lang::String * action() = 0;
+ virtual ::java::lang::Class * annotationType() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_Requires__
diff --git a/libjava/gnu/java/security/action/GetPropertyAction.h b/libjava/gnu/java/security/action/GetPropertyAction.h
new file mode 100644
index 000000000..e3ab18316
--- /dev/null
+++ b/libjava/gnu/java/security/action/GetPropertyAction.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_action_GetPropertyAction__
+#define __gnu_java_security_action_GetPropertyAction__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace action
+ {
+ class GetPropertyAction;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::action::GetPropertyAction : public ::java::lang::Object
+{
+
+public:
+ GetPropertyAction();
+ GetPropertyAction(::java::lang::String *);
+ GetPropertyAction(::java::lang::String *, ::java::lang::String *);
+ virtual ::java::lang::String * GetPropertyAction$run();
+ virtual ::gnu::java::security::action::GetPropertyAction * setParameters(::java::lang::String *);
+ virtual ::gnu::java::security::action::GetPropertyAction * setParameters(::java::lang::String *, ::java::lang::String *);
+ virtual ::java::lang::Object * run();
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ ::java::lang::String * value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_action_GetPropertyAction__
diff --git a/libjava/gnu/java/security/action/GetSecurityPropertyAction.h b/libjava/gnu/java/security/action/GetSecurityPropertyAction.h
new file mode 100644
index 000000000..b10ee5d31
--- /dev/null
+++ b/libjava/gnu/java/security/action/GetSecurityPropertyAction.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_action_GetSecurityPropertyAction__
+#define __gnu_java_security_action_GetSecurityPropertyAction__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace action
+ {
+ class GetSecurityPropertyAction;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::action::GetSecurityPropertyAction : public ::java::lang::Object
+{
+
+public:
+ GetSecurityPropertyAction();
+ GetSecurityPropertyAction(::java::lang::String *);
+ GetSecurityPropertyAction(::java::lang::String *, ::java::lang::String *);
+ virtual ::gnu::java::security::action::GetSecurityPropertyAction * setParameters(::java::lang::String *);
+ virtual ::gnu::java::security::action::GetSecurityPropertyAction * setParameters(::java::lang::String *, ::java::lang::String *);
+ virtual ::java::lang::String * GetSecurityPropertyAction$run();
+ virtual ::java::lang::Object * run();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ ::java::lang::String * value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_action_GetSecurityPropertyAction__
diff --git a/libjava/gnu/java/security/action/SetAccessibleAction.h b/libjava/gnu/java/security/action/SetAccessibleAction.h
new file mode 100644
index 000000000..312a61616
--- /dev/null
+++ b/libjava/gnu/java/security/action/SetAccessibleAction.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_action_SetAccessibleAction__
+#define __gnu_java_security_action_SetAccessibleAction__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace action
+ {
+ class SetAccessibleAction;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::action::SetAccessibleAction : public ::java::lang::Object
+{
+
+public:
+ SetAccessibleAction();
+ SetAccessibleAction(::java::lang::reflect::AccessibleObject *);
+ virtual ::java::lang::Object * run();
+ virtual ::gnu::java::security::action::SetAccessibleAction * setMember(::java::lang::reflect::AccessibleObject *);
+public: // actually package-private
+ ::java::lang::reflect::AccessibleObject * __attribute__((aligned(__alignof__( ::java::lang::Object)))) member;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_action_SetAccessibleAction__
diff --git a/libjava/gnu/java/security/ber/BER.h b/libjava/gnu/java/security/ber/BER.h
new file mode 100644
index 000000000..ab1a66cce
--- /dev/null
+++ b/libjava/gnu/java/security/ber/BER.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_ber_BER__
+#define __gnu_java_security_ber_BER__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace ber
+ {
+ class BER;
+ class BERValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::ber::BER : public ::java::lang::Object
+{
+
+public:
+ static ::gnu::java::security::ber::BERValue * END_OF_SEQUENCE;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_ber_BER__
diff --git a/libjava/gnu/java/security/ber/BEREncodingException.h b/libjava/gnu/java/security/ber/BEREncodingException.h
new file mode 100644
index 000000000..8eae41ecd
--- /dev/null
+++ b/libjava/gnu/java/security/ber/BEREncodingException.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_ber_BEREncodingException__
+#define __gnu_java_security_ber_BEREncodingException__
+
+#pragma interface
+
+#include <gnu/java/security/der/DEREncodingException.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace ber
+ {
+ class BEREncodingException;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::ber::BEREncodingException : public ::gnu::java::security::der::DEREncodingException
+{
+
+public:
+ BEREncodingException();
+ BEREncodingException(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_ber_BEREncodingException__
diff --git a/libjava/gnu/java/security/ber/BERReader.h b/libjava/gnu/java/security/ber/BERReader.h
new file mode 100644
index 000000000..06c0242ce
--- /dev/null
+++ b/libjava/gnu/java/security/ber/BERReader.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_ber_BERReader__
+#define __gnu_java_security_ber_BERReader__
+
+#pragma interface
+
+#include <gnu/java/security/der/DERReader.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace ber
+ {
+ class BERReader;
+ }
+ namespace der
+ {
+ class DERValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::ber::BERReader : public ::gnu::java::security::der::DERReader
+{
+
+public:
+ BERReader(JArray< jbyte > *);
+ BERReader(JArray< jbyte > *, jint, jint);
+ BERReader(::java::io::InputStream *);
+ virtual ::gnu::java::security::der::DERValue * read();
+ virtual jint peek();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_ber_BERReader__
diff --git a/libjava/gnu/java/security/ber/BERValue.h b/libjava/gnu/java/security/ber/BERValue.h
new file mode 100644
index 000000000..34c3e7a80
--- /dev/null
+++ b/libjava/gnu/java/security/ber/BERValue.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_ber_BERValue__
+#define __gnu_java_security_ber_BERValue__
+
+#pragma interface
+
+#include <gnu/java/security/der/DERValue.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace ber
+ {
+ class BERValue;
+ }
+ namespace der
+ {
+ class DERValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::ber::BERValue : public ::gnu::java::security::der::DERValue
+{
+
+public:
+ BERValue(jint, ::java::lang::Object *, JArray< jbyte > *);
+ BERValue(jint, jint, ::java::lang::Object *, JArray< jbyte > *);
+ BERValue(jint, ::java::lang::Object *);
+ static jboolean isIndefinite(::gnu::java::security::der::DERValue *);
+ virtual jboolean getIndefinite();
+ virtual jint getLength();
+private:
+ jboolean __attribute__((aligned(__alignof__( ::gnu::java::security::der::DERValue)))) indefinite;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_ber_BERValue__
diff --git a/libjava/gnu/java/security/der/BitString.h b/libjava/gnu/java/security/der/BitString.h
new file mode 100644
index 000000000..1bc7cbd60
--- /dev/null
+++ b/libjava/gnu/java/security/der/BitString.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_der_BitString__
+#define __gnu_java_security_der_BitString__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace der
+ {
+ class BitString;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::der::BitString : public ::java::lang::Object
+{
+
+public:
+ BitString(JArray< jbyte > *, jint, jboolean);
+ BitString(JArray< jbyte > *, jint, jint, jint, jboolean);
+ BitString(JArray< jbyte > *, jint, jint, jint);
+ BitString(JArray< jbyte > *, jint);
+ BitString(JArray< jbyte > *, jint, jint);
+ BitString(JArray< jbyte > *);
+ virtual JArray< jbyte > * toByteArray();
+ virtual JArray< jbyte > * getShiftedByteArray();
+ virtual jint getIgnoredBits();
+ virtual jint size();
+ virtual JArray< jboolean > * toBooleanArray();
+ virtual ::java::lang::Object * clone();
+ virtual jint compareTo(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+private:
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) bytes;
+ JArray< jbyte > * externBytes;
+ jint ignoredBits;
+ JArray< jboolean > * boolVal;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_der_BitString__
diff --git a/libjava/gnu/java/security/der/DER.h b/libjava/gnu/java/security/der/DER.h
new file mode 100644
index 000000000..1b59badbf
--- /dev/null
+++ b/libjava/gnu/java/security/der/DER.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_der_DER__
+#define __gnu_java_security_der_DER__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace der
+ {
+ class DER;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::der::DER : public ::java::lang::Object
+{
+
+public:
+ static const jint UNIVERSAL = 0;
+ static const jint APPLICATION = 64;
+ static const jint CONTEXT = 128;
+ static const jint PRIVATE = 192;
+ static const jint CONSTRUCTED = 32;
+ static const jint ANY = 0;
+ static const jint BOOLEAN = 1;
+ static const jint INTEGER = 2;
+ static const jint BIT_STRING = 3;
+ static const jint OCTET_STRING = 4;
+ static const jint NULL = 5;
+ static const jint OBJECT_IDENTIFIER = 6;
+ static const jint REAL = 9;
+ static const jint ENUMERATED = 10;
+ static const jint RELATIVE_OID = 13;
+ static const jint SEQUENCE = 16;
+ static const jint SET = 17;
+ static ::java::lang::Object * CONSTRUCTED_VALUE;
+ static const jint NUMERIC_STRING = 18;
+ static const jint PRINTABLE_STRING = 19;
+ static const jint T61_STRING = 20;
+ static const jint VIDEOTEX_STRING = 21;
+ static const jint IA5_STRING = 22;
+ static const jint GRAPHIC_STRING = 25;
+ static const jint ISO646_STRING = 26;
+ static const jint GENERAL_STRING = 27;
+ static const jint UTF8_STRING = 12;
+ static const jint UNIVERSAL_STRING = 28;
+ static const jint BMP_STRING = 30;
+ static const jint UTC_TIME = 23;
+ static const jint GENERALIZED_TIME = 24;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_der_DER__
diff --git a/libjava/gnu/java/security/der/DEREncodingException.h b/libjava/gnu/java/security/der/DEREncodingException.h
new file mode 100644
index 000000000..dc417bf76
--- /dev/null
+++ b/libjava/gnu/java/security/der/DEREncodingException.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_der_DEREncodingException__
+#define __gnu_java_security_der_DEREncodingException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace der
+ {
+ class DEREncodingException;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::der::DEREncodingException : public ::java::io::IOException
+{
+
+public:
+ DEREncodingException();
+ DEREncodingException(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_der_DEREncodingException__
diff --git a/libjava/gnu/java/security/der/DERReader.h b/libjava/gnu/java/security/der/DERReader.h
new file mode 100644
index 000000000..7e59f85db
--- /dev/null
+++ b/libjava/gnu/java/security/der/DERReader.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_der_DERReader__
+#define __gnu_java_security_der_DERReader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace der
+ {
+ class DERReader;
+ class DERValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::der::DERReader : public ::java::lang::Object
+{
+
+public:
+ DERReader(JArray< jbyte > *);
+ DERReader(JArray< jbyte > *, jint, jint);
+ DERReader(::java::io::InputStream *);
+ static ::gnu::java::security::der::DERValue * read(JArray< jbyte > *);
+ virtual void skip(jint);
+ virtual ::gnu::java::security::der::DERValue * read();
+public: // actually protected
+ virtual jint readLength();
+private:
+ ::java::lang::Object * readUniversal(jint, jint);
+ static ::java::lang::String * makeString(jint, JArray< jbyte > *);
+ static ::java::lang::String * fromIso88591(JArray< jbyte > *);
+ static ::java::lang::String * fromUtf16Be(JArray< jbyte > *);
+ static ::java::lang::String * fromUtf8(JArray< jbyte > *);
+ ::java::util::Date * makeTime(jint, JArray< jbyte > *);
+public: // actually protected
+ ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in;
+ ::java::io::ByteArrayOutputStream * encBuf;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_der_DERReader__
diff --git a/libjava/gnu/java/security/der/DERValue.h b/libjava/gnu/java/security/der/DERValue.h
new file mode 100644
index 000000000..a9572543b
--- /dev/null
+++ b/libjava/gnu/java/security/der/DERValue.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_der_DERValue__
+#define __gnu_java_security_der_DERValue__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace der
+ {
+ class DERValue;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::der::DERValue : public ::java::lang::Object
+{
+
+public:
+ DERValue(jint, jint, ::java::lang::Object *, JArray< jbyte > *);
+ DERValue(jint, ::java::lang::Object *);
+ virtual jint getExternalTag();
+ virtual jint getTag();
+ virtual jint getTagClass();
+ virtual jboolean isConstructed();
+ virtual jint getLength();
+ virtual ::java::lang::Object * getValue();
+ virtual ::java::lang::Object * getValueAs(jint);
+ virtual JArray< jbyte > * getEncoded();
+ virtual jint getEncodedLength();
+ virtual ::java::lang::String * toString();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) tagClass;
+ jboolean constructed;
+ jint tag;
+ jint length;
+ ::java::lang::Object * value;
+ JArray< jbyte > * encoded;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_der_DERValue__
diff --git a/libjava/gnu/java/security/der/DERWriter.h b/libjava/gnu/java/security/der/DERWriter.h
new file mode 100644
index 000000000..a7ea52c78
--- /dev/null
+++ b/libjava/gnu/java/security/der/DERWriter.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_der_DERWriter__
+#define __gnu_java_security_der_DERWriter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace der
+ {
+ class BitString;
+ class DERValue;
+ class DERWriter;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::der::DERWriter : public ::java::lang::Object
+{
+
+ DERWriter();
+public:
+ static jint write(::java::io::OutputStream *, ::gnu::java::security::der::DERValue *);
+ static jint definiteEncodingSize(jint);
+private:
+ static jint writeBoolean(::java::io::OutputStream *, ::java::lang::Boolean *);
+ static jint writeInteger(::java::io::OutputStream *, ::java::math::BigInteger *);
+ static jint writeSequence(::java::io::OutputStream *, ::java::util::List *);
+ static jint writeSet(::java::io::OutputStream *, ::java::util::Set *);
+ static jint writeOID(::java::io::OutputStream *, ::gnu::java::security::OID *);
+ static jint writeBitString(::java::io::OutputStream *, ::gnu::java::security::der::BitString *);
+ static jint writeString(::java::io::OutputStream *, jint, ::java::lang::String *);
+ static JArray< jbyte > * toIso88591(::java::lang::String *);
+ static JArray< jbyte > * toUtf16Be(::java::lang::String *);
+ static JArray< jbyte > * toUtf8(::java::lang::String *);
+ static jint writeDate(::java::io::OutputStream *, jint, ::java::util::Date *);
+public: // actually package-private
+ static void writeLength(::java::io::OutputStream *, jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_der_DERWriter__
diff --git a/libjava/gnu/java/security/hash/BaseHash.h b/libjava/gnu/java/security/hash/BaseHash.h
new file mode 100644
index 000000000..f2ec07550
--- /dev/null
+++ b/libjava/gnu/java/security/hash/BaseHash.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_BaseHash__
+#define __gnu_java_security_hash_BaseHash__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class BaseHash;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::BaseHash : public ::java::lang::Object
+{
+
+public: // actually protected
+ BaseHash(::java::lang::String *, jint, jint);
+public:
+ virtual ::java::lang::String * name();
+ virtual jint hashSize();
+ virtual jint blockSize();
+ virtual void update(jbyte);
+ virtual void update(JArray< jbyte > *);
+ virtual void update(JArray< jbyte > *, jint, jint);
+ virtual JArray< jbyte > * digest();
+ virtual void reset();
+ virtual ::java::lang::Object * clone() = 0;
+ virtual jboolean selfTest() = 0;
+public: // actually protected
+ virtual JArray< jbyte > * padBuffer() = 0;
+ virtual JArray< jbyte > * getResult() = 0;
+ virtual void resetContext() = 0;
+ virtual void transform(JArray< jbyte > *, jint) = 0;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__;
+ jint hashSize__;
+ jint blockSize__;
+ jlong count;
+ JArray< jbyte > * buffer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_BaseHash__
diff --git a/libjava/gnu/java/security/hash/HashFactory.h b/libjava/gnu/java/security/hash/HashFactory.h
new file mode 100644
index 000000000..265d03a42
--- /dev/null
+++ b/libjava/gnu/java/security/hash/HashFactory.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_HashFactory__
+#define __gnu_java_security_hash_HashFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class HashFactory;
+ class IMessageDigest;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::HashFactory : public ::java::lang::Object
+{
+
+ HashFactory();
+public:
+ static ::gnu::java::security::hash::IMessageDigest * getInstance(::java::lang::String *);
+ static ::java::util::Set * getNames();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_HashFactory__
diff --git a/libjava/gnu/java/security/hash/Haval.h b/libjava/gnu/java/security/hash/Haval.h
new file mode 100644
index 000000000..648a293ca
--- /dev/null
+++ b/libjava/gnu/java/security/hash/Haval.h
@@ -0,0 +1,86 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_Haval__
+#define __gnu_java_security_hash_Haval__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class Haval;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::Haval : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ Haval();
+ Haval(jint);
+ Haval(jint, jint);
+private:
+ Haval(::gnu::java::security::hash::Haval *);
+public:
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void transform(JArray< jbyte > *, jint);
+ virtual JArray< jbyte > * padBuffer();
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+public:
+ virtual jboolean selfTest();
+private:
+ void tailorDigestBits();
+ jint FF1(jint, jint, jint, jint, jint, jint, jint, jint, jint);
+ jint FF2(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint);
+ jint FF3(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint);
+ jint FF4(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint);
+ jint FF5(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint);
+ jint f1(jint, jint, jint, jint, jint, jint, jint);
+ jint f2(jint, jint, jint, jint, jint, jint, jint);
+ jint f3(jint, jint, jint, jint, jint, jint, jint);
+ jint f4(jint, jint, jint, jint, jint, jint, jint);
+ jint f5(jint, jint, jint, jint, jint, jint, jint);
+public:
+ static const jint HAVAL_VERSION = 1;
+ static const jint HAVAL_128_BIT = 16;
+ static const jint HAVAL_160_BIT = 20;
+ static const jint HAVAL_192_BIT = 24;
+ static const jint HAVAL_224_BIT = 28;
+ static const jint HAVAL_256_BIT = 32;
+ static const jint HAVAL_3_ROUND = 3;
+ static const jint HAVAL_4_ROUND = 4;
+ static const jint HAVAL_5_ROUND = 5;
+private:
+ static const jint BLOCK_SIZE = 128;
+ static ::java::lang::String * DIGEST0;
+ static ::java::lang::Boolean * valid;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) rounds;
+ jint h0;
+ jint h1;
+ jint h2;
+ jint h3;
+ jint h4;
+ jint h5;
+ jint h6;
+ jint h7;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_Haval__
diff --git a/libjava/gnu/java/security/hash/IMessageDigest.h b/libjava/gnu/java/security/hash/IMessageDigest.h
new file mode 100644
index 000000000..044a20270
--- /dev/null
+++ b/libjava/gnu/java/security/hash/IMessageDigest.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_IMessageDigest__
+#define __gnu_java_security_hash_IMessageDigest__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class IMessageDigest;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::IMessageDigest : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::String * name() = 0;
+ virtual jint hashSize() = 0;
+ virtual jint blockSize() = 0;
+ virtual void update(jbyte) = 0;
+ virtual void update(JArray< jbyte > *) = 0;
+ virtual void update(JArray< jbyte > *, jint, jint) = 0;
+ virtual JArray< jbyte > * digest() = 0;
+ virtual void reset() = 0;
+ virtual jboolean selfTest() = 0;
+ virtual ::java::lang::Object * clone() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_hash_IMessageDigest__
diff --git a/libjava/gnu/java/security/hash/MD2.h b/libjava/gnu/java/security/hash/MD2.h
new file mode 100644
index 000000000..f8a735a74
--- /dev/null
+++ b/libjava/gnu/java/security/hash/MD2.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_MD2__
+#define __gnu_java_security_hash_MD2__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class MD2;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::MD2 : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ MD2();
+private:
+ MD2(::gnu::java::security::hash::MD2 *);
+public:
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+public:
+ virtual jboolean selfTest();
+public: // actually protected
+ virtual JArray< jbyte > * padBuffer();
+ virtual void transform(JArray< jbyte > *, jint);
+private:
+ void encryptBlock(JArray< jbyte > *, jint);
+ void updateCheckSumAndEncryptBlock(JArray< jbyte > *, jint);
+ static const jint DIGEST_LENGTH = 16;
+ static const jint BLOCK_LENGTH = 16;
+ static JArray< jbyte > * PI;
+ static ::java::lang::String * DIGEST0;
+ static ::java::lang::Boolean * valid;
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) checksum;
+ JArray< jbyte > * work;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_MD2__
diff --git a/libjava/gnu/java/security/hash/MD4.h b/libjava/gnu/java/security/hash/MD4.h
new file mode 100644
index 000000000..64ea5922a
--- /dev/null
+++ b/libjava/gnu/java/security/hash/MD4.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_MD4__
+#define __gnu_java_security_hash_MD4__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class MD4;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::MD4 : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ MD4();
+private:
+ MD4(::gnu::java::security::hash::MD4 *);
+public:
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+public:
+ virtual jboolean selfTest();
+public: // actually protected
+ virtual JArray< jbyte > * padBuffer();
+ virtual void transform(JArray< jbyte > *, jint);
+private:
+ static const jint DIGEST_LENGTH = 16;
+ static const jint BLOCK_LENGTH = 64;
+ static const jint A = 1732584193;
+ static const jint B = -271733879;
+ static const jint C = -1732584194;
+ static const jint D = 271733878;
+ static ::java::lang::String * DIGEST0;
+ static ::java::lang::Boolean * valid;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) a;
+ jint b;
+ jint c;
+ jint d;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_MD4__
diff --git a/libjava/gnu/java/security/hash/MD5.h b/libjava/gnu/java/security/hash/MD5.h
new file mode 100644
index 000000000..8f6376efe
--- /dev/null
+++ b/libjava/gnu/java/security/hash/MD5.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_MD5__
+#define __gnu_java_security_hash_MD5__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class MD5;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::MD5 : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ MD5();
+private:
+ MD5(::gnu::java::security::hash::MD5 *);
+public:
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void transform(JArray< jbyte > *, jint);
+ virtual JArray< jbyte > * padBuffer();
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+public:
+ virtual jboolean selfTest();
+private:
+ static const jint BLOCK_SIZE = 64;
+ static ::java::lang::String * DIGEST0;
+ static ::java::lang::Boolean * valid;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0;
+ jint h1;
+ jint h2;
+ jint h3;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_MD5__
diff --git a/libjava/gnu/java/security/hash/RipeMD128.h b/libjava/gnu/java/security/hash/RipeMD128.h
new file mode 100644
index 000000000..e2d3274d9
--- /dev/null
+++ b/libjava/gnu/java/security/hash/RipeMD128.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_RipeMD128__
+#define __gnu_java_security_hash_RipeMD128__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class RipeMD128;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::RipeMD128 : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ RipeMD128();
+private:
+ RipeMD128(::gnu::java::security::hash::RipeMD128 *);
+public:
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void transform(JArray< jbyte > *, jint);
+ virtual JArray< jbyte > * padBuffer();
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+public:
+ virtual jboolean selfTest();
+private:
+ static const jint BLOCK_SIZE = 64;
+ static ::java::lang::String * DIGEST0;
+ static JArray< jint > * R;
+ static JArray< jint > * Rp;
+ static JArray< jint > * S;
+ static JArray< jint > * Sp;
+ static ::java::lang::Boolean * valid;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0;
+ jint h1;
+ jint h2;
+ jint h3;
+ JArray< jint > * X;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_RipeMD128__
diff --git a/libjava/gnu/java/security/hash/RipeMD160.h b/libjava/gnu/java/security/hash/RipeMD160.h
new file mode 100644
index 000000000..f24e3fbd2
--- /dev/null
+++ b/libjava/gnu/java/security/hash/RipeMD160.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_RipeMD160__
+#define __gnu_java_security_hash_RipeMD160__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class RipeMD160;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::RipeMD160 : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ RipeMD160();
+private:
+ RipeMD160(::gnu::java::security::hash::RipeMD160 *);
+public:
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void transform(JArray< jbyte > *, jint);
+ virtual JArray< jbyte > * padBuffer();
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+public:
+ virtual jboolean selfTest();
+private:
+ static const jint BLOCK_SIZE = 64;
+ static ::java::lang::String * DIGEST0;
+ static JArray< jint > * R;
+ static JArray< jint > * Rp;
+ static JArray< jint > * S;
+ static JArray< jint > * Sp;
+ static ::java::lang::Boolean * valid;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0;
+ jint h1;
+ jint h2;
+ jint h3;
+ jint h4;
+ JArray< jint > * X;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_RipeMD160__
diff --git a/libjava/gnu/java/security/hash/Sha160.h b/libjava/gnu/java/security/hash/Sha160.h
new file mode 100644
index 000000000..96f261d5d
--- /dev/null
+++ b/libjava/gnu/java/security/hash/Sha160.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_Sha160__
+#define __gnu_java_security_hash_Sha160__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class Sha160;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::Sha160 : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ Sha160();
+private:
+ Sha160(::gnu::java::security::hash::Sha160 *);
+public:
+ static JArray< jint > * G(jint, jint, jint, jint, jint, JArray< jbyte > *, jint);
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void transform(JArray< jbyte > *, jint);
+ virtual JArray< jbyte > * padBuffer();
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+public:
+ virtual jboolean selfTest();
+private:
+ static JArray< jint > * sha(jint, jint, jint, jint, jint, JArray< jbyte > *, jint);
+ static const jint BLOCK_SIZE = 64;
+ static ::java::lang::String * DIGEST0;
+ static JArray< jint > * w;
+ static ::java::lang::Boolean * valid;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0;
+ jint h1;
+ jint h2;
+ jint h3;
+ jint h4;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_Sha160__
diff --git a/libjava/gnu/java/security/hash/Sha256.h b/libjava/gnu/java/security/hash/Sha256.h
new file mode 100644
index 000000000..628a43af1
--- /dev/null
+++ b/libjava/gnu/java/security/hash/Sha256.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_Sha256__
+#define __gnu_java_security_hash_Sha256__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class Sha256;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::Sha256 : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ Sha256();
+private:
+ Sha256(::gnu::java::security::hash::Sha256 *);
+public:
+ static JArray< jint > * G(jint, jint, jint, jint, jint, jint, jint, jint, JArray< jbyte > *, jint);
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void transform(JArray< jbyte > *, jint);
+ virtual JArray< jbyte > * padBuffer();
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+public:
+ virtual jboolean selfTest();
+private:
+ static JArray< jint > * sha(jint, jint, jint, jint, jint, jint, jint, jint, JArray< jbyte > *, jint);
+ static JArray< jint > * k;
+ static const jint BLOCK_SIZE = 64;
+ static ::java::lang::String * DIGEST0;
+ static JArray< jint > * w;
+ static ::java::lang::Boolean * valid;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0;
+ jint h1;
+ jint h2;
+ jint h3;
+ jint h4;
+ jint h5;
+ jint h6;
+ jint h7;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_Sha256__
diff --git a/libjava/gnu/java/security/hash/Sha384.h b/libjava/gnu/java/security/hash/Sha384.h
new file mode 100644
index 000000000..503da66b5
--- /dev/null
+++ b/libjava/gnu/java/security/hash/Sha384.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_Sha384__
+#define __gnu_java_security_hash_Sha384__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class Sha384;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::Sha384 : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ Sha384();
+private:
+ Sha384(::gnu::java::security::hash::Sha384 *);
+public:
+ static JArray< jlong > * G(jlong, jlong, jlong, jlong, jlong, jlong, jlong, jlong, JArray< jbyte > *, jint);
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void transform(JArray< jbyte > *, jint);
+ virtual JArray< jbyte > * padBuffer();
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+public:
+ virtual jboolean selfTest();
+private:
+ static JArray< jlong > * sha(jlong, jlong, jlong, jlong, jlong, jlong, jlong, jlong, JArray< jbyte > *, jint);
+ static JArray< jlong > * k;
+ static const jint BLOCK_SIZE = 128;
+ static ::java::lang::String * DIGEST0;
+ static JArray< jlong > * w;
+ static ::java::lang::Boolean * valid;
+ jlong __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0;
+ jlong h1;
+ jlong h2;
+ jlong h3;
+ jlong h4;
+ jlong h5;
+ jlong h6;
+ jlong h7;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_Sha384__
diff --git a/libjava/gnu/java/security/hash/Sha512.h b/libjava/gnu/java/security/hash/Sha512.h
new file mode 100644
index 000000000..764ed7869
--- /dev/null
+++ b/libjava/gnu/java/security/hash/Sha512.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_Sha512__
+#define __gnu_java_security_hash_Sha512__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class Sha512;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::Sha512 : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ Sha512();
+private:
+ Sha512(::gnu::java::security::hash::Sha512 *);
+public:
+ static JArray< jlong > * G(jlong, jlong, jlong, jlong, jlong, jlong, jlong, jlong, JArray< jbyte > *, jint);
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void transform(JArray< jbyte > *, jint);
+ virtual JArray< jbyte > * padBuffer();
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+public:
+ virtual jboolean selfTest();
+private:
+ static JArray< jlong > * sha(jlong, jlong, jlong, jlong, jlong, jlong, jlong, jlong, JArray< jbyte > *, jint);
+ static JArray< jlong > * k;
+ static const jint BLOCK_SIZE = 128;
+ static ::java::lang::String * DIGEST0;
+ static JArray< jlong > * w;
+ static ::java::lang::Boolean * valid;
+ jlong __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0;
+ jlong h1;
+ jlong h2;
+ jlong h3;
+ jlong h4;
+ jlong h5;
+ jlong h6;
+ jlong h7;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_Sha512__
diff --git a/libjava/gnu/java/security/hash/Tiger.h b/libjava/gnu/java/security/hash/Tiger.h
new file mode 100644
index 000000000..93136ce90
--- /dev/null
+++ b/libjava/gnu/java/security/hash/Tiger.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_Tiger__
+#define __gnu_java_security_hash_Tiger__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class Tiger;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::Tiger : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ Tiger();
+private:
+ Tiger(::gnu::java::security::hash::Tiger *);
+public:
+ virtual ::java::lang::Object * clone();
+ virtual jboolean selfTest();
+public: // actually protected
+ virtual JArray< jbyte > * padBuffer();
+ virtual JArray< jbyte > * getResult();
+ virtual void resetContext();
+ virtual void transform(JArray< jbyte > *, jint);
+private:
+ static const jint HASH_SIZE = 24;
+ static const jint BLOCK_SIZE = 64;
+ static ::java::lang::String * DIGEST0;
+ static const jlong A = 81985529216486895LL;
+ static const jlong B = -81985529216486896LL;
+ static const jlong C = -1110518062304271993LL;
+ static JArray< jlong > * T1;
+ static JArray< jlong > * T2;
+ static JArray< jlong > * T3;
+ static JArray< jlong > * T4;
+ static ::java::lang::Boolean * valid;
+ jlong __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) a;
+ jlong b;
+ jlong c;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_Tiger__
diff --git a/libjava/gnu/java/security/hash/Whirlpool.h b/libjava/gnu/java/security/hash/Whirlpool.h
new file mode 100644
index 000000000..436ff6b70
--- /dev/null
+++ b/libjava/gnu/java/security/hash/Whirlpool.h
@@ -0,0 +1,113 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_hash_Whirlpool__
+#define __gnu_java_security_hash_Whirlpool__
+
+#pragma interface
+
+#include <gnu/java/security/hash/BaseHash.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class Whirlpool;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::hash::Whirlpool : public ::gnu::java::security::hash::BaseHash
+{
+
+public:
+ Whirlpool();
+private:
+ Whirlpool(::gnu::java::security::hash::Whirlpool *);
+public:
+ ::java::lang::Object * clone();
+public: // actually protected
+ void transform(JArray< jbyte > *, jint);
+ JArray< jbyte > * padBuffer();
+ JArray< jbyte > * getResult();
+ void resetContext();
+public:
+ jboolean selfTest();
+private:
+ static ::java::util::logging::Logger * log;
+ static const jint BLOCK_SIZE = 64;
+ static ::java::lang::String * DIGEST0;
+ static const jint R = 10;
+ static ::java::lang::String * S_box;
+ static JArray< jlong > * T0;
+ static JArray< jlong > * T1;
+ static JArray< jlong > * T2;
+ static JArray< jlong > * T3;
+ static JArray< jlong > * T4;
+ static JArray< jlong > * T5;
+ static JArray< jlong > * T6;
+ static JArray< jlong > * T7;
+ static JArray< jlong > * rc;
+ static ::java::lang::Boolean * valid;
+ jlong __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) H0;
+ jlong H1;
+ jlong H2;
+ jlong H3;
+ jlong H4;
+ jlong H5;
+ jlong H6;
+ jlong H7;
+ jlong k00;
+ jlong k01;
+ jlong k02;
+ jlong k03;
+ jlong k04;
+ jlong k05;
+ jlong k06;
+ jlong k07;
+ jlong Kr0;
+ jlong Kr1;
+ jlong Kr2;
+ jlong Kr3;
+ jlong Kr4;
+ jlong Kr5;
+ jlong Kr6;
+ jlong Kr7;
+ jlong n0;
+ jlong n1;
+ jlong n2;
+ jlong n3;
+ jlong n4;
+ jlong n5;
+ jlong n6;
+ jlong n7;
+ jlong nn0;
+ jlong nn1;
+ jlong nn2;
+ jlong nn3;
+ jlong nn4;
+ jlong nn5;
+ jlong nn6;
+ jlong nn7;
+ jlong w0;
+ jlong w1;
+ jlong w2;
+ jlong w3;
+ jlong w4;
+ jlong w5;
+ jlong w6;
+ jlong w7;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_hash_Whirlpool__
diff --git a/libjava/gnu/java/security/jce/hash/HavalSpi.h b/libjava/gnu/java/security/jce/hash/HavalSpi.h
new file mode 100644
index 000000000..71d304a0f
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/HavalSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_HavalSpi__
+#define __gnu_java_security_jce_hash_HavalSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class HavalSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::HavalSpi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ HavalSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_HavalSpi__
diff --git a/libjava/gnu/java/security/jce/hash/MD2Spi.h b/libjava/gnu/java/security/jce/hash/MD2Spi.h
new file mode 100644
index 000000000..88aeccdea
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/MD2Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_MD2Spi__
+#define __gnu_java_security_jce_hash_MD2Spi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class MD2Spi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::MD2Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ MD2Spi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_MD2Spi__
diff --git a/libjava/gnu/java/security/jce/hash/MD4Spi.h b/libjava/gnu/java/security/jce/hash/MD4Spi.h
new file mode 100644
index 000000000..0bc60f7a3
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/MD4Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_MD4Spi__
+#define __gnu_java_security_jce_hash_MD4Spi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class MD4Spi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::MD4Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ MD4Spi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_MD4Spi__
diff --git a/libjava/gnu/java/security/jce/hash/MD5Spi.h b/libjava/gnu/java/security/jce/hash/MD5Spi.h
new file mode 100644
index 000000000..06e97fc9d
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/MD5Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_MD5Spi__
+#define __gnu_java_security_jce_hash_MD5Spi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class MD5Spi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::MD5Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ MD5Spi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_MD5Spi__
diff --git a/libjava/gnu/java/security/jce/hash/MessageDigestAdapter.h b/libjava/gnu/java/security/jce/hash/MessageDigestAdapter.h
new file mode 100644
index 000000000..f12d4caa2
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/MessageDigestAdapter.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_MessageDigestAdapter__
+#define __gnu_java_security_jce_hash_MessageDigestAdapter__
+
+#pragma interface
+
+#include <java/security/MessageDigestSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class IMessageDigest;
+ }
+ namespace jce
+ {
+ namespace hash
+ {
+ class MessageDigestAdapter;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::MessageDigestAdapter : public ::java::security::MessageDigestSpi
+{
+
+public: // actually protected
+ MessageDigestAdapter(::java::lang::String *);
+private:
+ MessageDigestAdapter(::gnu::java::security::hash::IMessageDigest *);
+public:
+ virtual ::java::lang::Object * clone();
+ virtual jint engineGetDigestLength();
+ virtual void engineUpdate(jbyte);
+ virtual void engineUpdate(JArray< jbyte > *, jint, jint);
+ virtual JArray< jbyte > * engineDigest();
+ virtual jint engineDigest(JArray< jbyte > *, jint, jint);
+ virtual void engineReset();
+private:
+ ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::security::MessageDigestSpi)))) adaptee;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_MessageDigestAdapter__
diff --git a/libjava/gnu/java/security/jce/hash/RipeMD128Spi.h b/libjava/gnu/java/security/jce/hash/RipeMD128Spi.h
new file mode 100644
index 000000000..35f1979fe
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/RipeMD128Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_RipeMD128Spi__
+#define __gnu_java_security_jce_hash_RipeMD128Spi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class RipeMD128Spi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::RipeMD128Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ RipeMD128Spi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_RipeMD128Spi__
diff --git a/libjava/gnu/java/security/jce/hash/RipeMD160Spi.h b/libjava/gnu/java/security/jce/hash/RipeMD160Spi.h
new file mode 100644
index 000000000..79f5e4960
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/RipeMD160Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_RipeMD160Spi__
+#define __gnu_java_security_jce_hash_RipeMD160Spi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class RipeMD160Spi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::RipeMD160Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ RipeMD160Spi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_RipeMD160Spi__
diff --git a/libjava/gnu/java/security/jce/hash/Sha160Spi.h b/libjava/gnu/java/security/jce/hash/Sha160Spi.h
new file mode 100644
index 000000000..d4fc3924e
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/Sha160Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_Sha160Spi__
+#define __gnu_java_security_jce_hash_Sha160Spi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class Sha160Spi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::Sha160Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ Sha160Spi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_Sha160Spi__
diff --git a/libjava/gnu/java/security/jce/hash/Sha256Spi.h b/libjava/gnu/java/security/jce/hash/Sha256Spi.h
new file mode 100644
index 000000000..206ff8220
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/Sha256Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_Sha256Spi__
+#define __gnu_java_security_jce_hash_Sha256Spi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class Sha256Spi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::Sha256Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ Sha256Spi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_Sha256Spi__
diff --git a/libjava/gnu/java/security/jce/hash/Sha384Spi.h b/libjava/gnu/java/security/jce/hash/Sha384Spi.h
new file mode 100644
index 000000000..2270ffe82
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/Sha384Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_Sha384Spi__
+#define __gnu_java_security_jce_hash_Sha384Spi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class Sha384Spi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::Sha384Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ Sha384Spi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_Sha384Spi__
diff --git a/libjava/gnu/java/security/jce/hash/Sha512Spi.h b/libjava/gnu/java/security/jce/hash/Sha512Spi.h
new file mode 100644
index 000000000..f193304e1
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/Sha512Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_Sha512Spi__
+#define __gnu_java_security_jce_hash_Sha512Spi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class Sha512Spi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::Sha512Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ Sha512Spi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_Sha512Spi__
diff --git a/libjava/gnu/java/security/jce/hash/TigerSpi.h b/libjava/gnu/java/security/jce/hash/TigerSpi.h
new file mode 100644
index 000000000..42897e8a5
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/TigerSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_TigerSpi__
+#define __gnu_java_security_jce_hash_TigerSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class TigerSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::TigerSpi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ TigerSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_TigerSpi__
diff --git a/libjava/gnu/java/security/jce/hash/WhirlpoolSpi.h b/libjava/gnu/java/security/jce/hash/WhirlpoolSpi.h
new file mode 100644
index 000000000..a8d883e90
--- /dev/null
+++ b/libjava/gnu/java/security/jce/hash/WhirlpoolSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_hash_WhirlpoolSpi__
+#define __gnu_java_security_jce_hash_WhirlpoolSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/hash/MessageDigestAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace hash
+ {
+ class WhirlpoolSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::hash::WhirlpoolSpi : public ::gnu::java::security::jce::hash::MessageDigestAdapter
+{
+
+public:
+ WhirlpoolSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_hash_WhirlpoolSpi__
diff --git a/libjava/gnu/java/security/jce/prng/HavalRandomSpi.h b/libjava/gnu/java/security/jce/prng/HavalRandomSpi.h
new file mode 100644
index 000000000..727d444e9
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/HavalRandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_HavalRandomSpi__
+#define __gnu_java_security_jce_prng_HavalRandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class HavalRandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::HavalRandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ HavalRandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_HavalRandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/MD2RandomSpi.h b/libjava/gnu/java/security/jce/prng/MD2RandomSpi.h
new file mode 100644
index 000000000..053a305aa
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/MD2RandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_MD2RandomSpi__
+#define __gnu_java_security_jce_prng_MD2RandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class MD2RandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::MD2RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ MD2RandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_MD2RandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/MD4RandomSpi.h b/libjava/gnu/java/security/jce/prng/MD4RandomSpi.h
new file mode 100644
index 000000000..0f11deb53
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/MD4RandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_MD4RandomSpi__
+#define __gnu_java_security_jce_prng_MD4RandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class MD4RandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::MD4RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ MD4RandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_MD4RandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/MD5RandomSpi.h b/libjava/gnu/java/security/jce/prng/MD5RandomSpi.h
new file mode 100644
index 000000000..8e5cc27f8
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/MD5RandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_MD5RandomSpi__
+#define __gnu_java_security_jce_prng_MD5RandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class MD5RandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::MD5RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ MD5RandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_MD5RandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/RipeMD128RandomSpi.h b/libjava/gnu/java/security/jce/prng/RipeMD128RandomSpi.h
new file mode 100644
index 000000000..51afaea58
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/RipeMD128RandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_RipeMD128RandomSpi__
+#define __gnu_java_security_jce_prng_RipeMD128RandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class RipeMD128RandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::RipeMD128RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ RipeMD128RandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_RipeMD128RandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/RipeMD160RandomSpi.h b/libjava/gnu/java/security/jce/prng/RipeMD160RandomSpi.h
new file mode 100644
index 000000000..f590267fd
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/RipeMD160RandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_RipeMD160RandomSpi__
+#define __gnu_java_security_jce_prng_RipeMD160RandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class RipeMD160RandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::RipeMD160RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ RipeMD160RandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_RipeMD160RandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/SecureRandomAdapter.h b/libjava/gnu/java/security/jce/prng/SecureRandomAdapter.h
new file mode 100644
index 000000000..7495038c7
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/SecureRandomAdapter.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_SecureRandomAdapter__
+#define __gnu_java_security_jce_prng_SecureRandomAdapter__
+
+#pragma interface
+
+#include <java/security/SecureRandomSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class SecureRandomAdapter;
+ }
+ }
+ namespace prng
+ {
+ class MDGenerator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::SecureRandomAdapter : public ::java::security::SecureRandomSpi
+{
+
+public: // actually protected
+ SecureRandomAdapter(::java::lang::String *);
+public:
+ static JArray< jbyte > * getSeed(jint);
+ virtual JArray< jbyte > * engineGenerateSeed(jint);
+ virtual void engineNextBytes(JArray< jbyte > *);
+ virtual void engineSetSeed(JArray< jbyte > *);
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) isSeeded;
+ ::gnu::java::security::prng::MDGenerator * adaptee;
+ ::java::lang::String * mdName;
+ static ::java::util::logging::Logger * logger;
+ static ::java::lang::String * SECURERANDOM_SOURCE;
+ static ::java::lang::String * JAVA_SECURITY_EGD;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_SecureRandomAdapter__
diff --git a/libjava/gnu/java/security/jce/prng/Sha160RandomSpi.h b/libjava/gnu/java/security/jce/prng/Sha160RandomSpi.h
new file mode 100644
index 000000000..dc896ab56
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/Sha160RandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_Sha160RandomSpi__
+#define __gnu_java_security_jce_prng_Sha160RandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class Sha160RandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::Sha160RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ Sha160RandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_Sha160RandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/Sha256RandomSpi.h b/libjava/gnu/java/security/jce/prng/Sha256RandomSpi.h
new file mode 100644
index 000000000..73e676cea
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/Sha256RandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_Sha256RandomSpi__
+#define __gnu_java_security_jce_prng_Sha256RandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class Sha256RandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::Sha256RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ Sha256RandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_Sha256RandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/Sha384RandomSpi.h b/libjava/gnu/java/security/jce/prng/Sha384RandomSpi.h
new file mode 100644
index 000000000..2f76f6903
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/Sha384RandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_Sha384RandomSpi__
+#define __gnu_java_security_jce_prng_Sha384RandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class Sha384RandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::Sha384RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ Sha384RandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_Sha384RandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/Sha512RandomSpi.h b/libjava/gnu/java/security/jce/prng/Sha512RandomSpi.h
new file mode 100644
index 000000000..0209fec83
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/Sha512RandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_Sha512RandomSpi__
+#define __gnu_java_security_jce_prng_Sha512RandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class Sha512RandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::Sha512RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ Sha512RandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_Sha512RandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/TigerRandomSpi.h b/libjava/gnu/java/security/jce/prng/TigerRandomSpi.h
new file mode 100644
index 000000000..238685cc6
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/TigerRandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_TigerRandomSpi__
+#define __gnu_java_security_jce_prng_TigerRandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class TigerRandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::TigerRandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ TigerRandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_TigerRandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/VMSecureRandom.h b/libjava/gnu/java/security/jce/prng/VMSecureRandom.h
new file mode 100644
index 000000000..b24c80514
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/VMSecureRandom.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_VMSecureRandom__
+#define __gnu_java_security_jce_prng_VMSecureRandom__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class VMSecureRandom;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::VMSecureRandom : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMSecureRandom();
+ static jint generateSeed(JArray< jbyte > *, jint, jint);
+ static jint natGenerateSeed(JArray< jbyte > *, jint, jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_VMSecureRandom__
diff --git a/libjava/gnu/java/security/jce/prng/VMSecureRandom.java b/libjava/gnu/java/security/jce/prng/VMSecureRandom.java
new file mode 100644
index 000000000..62ff8b7aa
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/VMSecureRandom.java
@@ -0,0 +1,78 @@
+/* VMSecureRandom.java -- random seed generator.
+ Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.security.jce.prng;
+
+/**
+ * VM-specific methods for generating real (or almost real) random
+ * seeds. VM implementors should write a version of this class that
+ * reads random bytes from some system source.
+ */
+final class VMSecureRandom
+{
+
+ /**
+ * <p>
+ * Generate a random seed. Implementations are free to generate
+ * fewer random bytes than are requested, and leave the remaining
+ * bytes of the destination buffer as zeros. Implementations SHOULD,
+ * however, make a best-effort attempt to satisfy the request.
+ * </p>
+ * <p>
+ * The GCJ implementation uses a native method to read bytes from
+ * a system random source (e.g. /dev/random).
+ * </p>
+ *
+ * @param buffer The destination buffer.
+ * @param offset The offset in the buffer to start putting bytes.
+ * @param length The number of random bytes to generate.
+ * @return the number of bytes generated.
+ */
+ static int generateSeed(byte[] buffer, int offset, int length)
+ {
+ if (length < 0)
+ throw new IllegalArgumentException("length must be nonnegative");
+ if (offset < 0 || offset + length > buffer.length)
+ throw new IndexOutOfBoundsException();
+
+ return natGenerateSeed(buffer, offset, length);
+ }
+
+ static native int natGenerateSeed(byte[] buffer, int offset, int length);
+
+} \ No newline at end of file
diff --git a/libjava/gnu/java/security/jce/prng/WhirlpoolRandomSpi.h b/libjava/gnu/java/security/jce/prng/WhirlpoolRandomSpi.h
new file mode 100644
index 000000000..4d31a5e8d
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/WhirlpoolRandomSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_prng_WhirlpoolRandomSpi__
+#define __gnu_java_security_jce_prng_WhirlpoolRandomSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/prng/SecureRandomAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace prng
+ {
+ class WhirlpoolRandomSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::prng::WhirlpoolRandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter
+{
+
+public:
+ WhirlpoolRandomSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_prng_WhirlpoolRandomSpi__
diff --git a/libjava/gnu/java/security/jce/prng/natVMSecureRandomPosix.cc b/libjava/gnu/java/security/jce/prng/natVMSecureRandomPosix.cc
new file mode 100644
index 000000000..a44f3f457
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/natVMSecureRandomPosix.cc
@@ -0,0 +1,54 @@
+// natVMSecureRandomPosix.cc - Native part of VMSecureRandom class for POSIX.
+
+/* Copyright (C) 2009 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+
+#include <gcj/cni.h>
+#include <java/lang/InternalError.h>
+#include <gnu/java/security/jce/prng/VMSecureRandom.h>
+
+jint
+gnu::java::security::jce::prng::VMSecureRandom::natGenerateSeed(jbyteArray byte_array, jint offset, jint length)
+{
+ int a, fd;
+ jbyte *bytes = elements (byte_array);
+ ssize_t count;
+
+ for (a = 0; a < offset; ++a)
+ bytes++;
+ fd = open ("/dev/random", O_RDONLY);
+
+ if (fd == -1)
+ {
+ jstring oserr = JvNewStringLatin1 (strerror (errno));
+ throw new ::java::lang::InternalError
+ (JvNewStringLatin1 ("Error opening /dev/random: ")->concat(oserr));
+ }
+
+ count = read (fd, bytes, length);
+ close (fd);
+
+ if (count == -1)
+ {
+ jstring oserr = JvNewStringLatin1 (strerror (errno));
+ throw new ::java::lang::InternalError
+ (JvNewStringLatin1 ("Error reading /dev/random: ")->concat(oserr));
+ }
+
+ return count;
+}
+
diff --git a/libjava/gnu/java/security/jce/prng/natVMSecureRandomWin32.cc b/libjava/gnu/java/security/jce/prng/natVMSecureRandomWin32.cc
new file mode 100755
index 000000000..4c7c1f520
--- /dev/null
+++ b/libjava/gnu/java/security/jce/prng/natVMSecureRandomWin32.cc
@@ -0,0 +1,33 @@
+// natVMSecureRandomWin32.cc - Native part of VMSecureRandom class for Win32.
+
+/* Copyright (C) 2009, 2010 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+
+#include <gcj/cni.h>
+#include <java/lang/InternalError.h>
+#include <java/lang/UnsupportedOperationException.h>
+#include <gnu/java/security/jce/prng/VMSecureRandom.h>
+
+jint
+gnu::java::security::jce::prng::VMSecureRandom::natGenerateSeed(jbyteArray byte_array, jint offset, jint length)
+{
+ if (length != 0)
+ throw new ::java::lang::UnsupportedOperationException (
+ JvNewStringLatin1 ("natGenerateSeed is not available for Win32 target."));
+ return 0;
+}
+
diff --git a/libjava/gnu/java/security/jce/sig/DSSKeyFactory.h b/libjava/gnu/java/security/jce/sig/DSSKeyFactory.h
new file mode 100644
index 000000000..139ee5ddf
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/DSSKeyFactory.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_DSSKeyFactory__
+#define __gnu_java_security_jce_sig_DSSKeyFactory__
+
+#pragma interface
+
+#include <java/security/KeyFactorySpi.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class DSSKeyFactory;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class Key;
+ class PrivateKey;
+ class PublicKey;
+ namespace spec
+ {
+ class KeySpec;
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::DSSKeyFactory : public ::java::security::KeyFactorySpi
+{
+
+public:
+ DSSKeyFactory();
+public: // actually protected
+ virtual ::java::security::PublicKey * engineGeneratePublic(::java::security::spec::KeySpec *);
+ virtual ::java::security::PrivateKey * engineGeneratePrivate(::java::security::spec::KeySpec *);
+ virtual ::java::security::spec::KeySpec * engineGetKeySpec(::java::security::Key *, ::java::lang::Class *);
+ virtual ::java::security::Key * engineTranslateKey(::java::security::Key *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_DSSKeyFactory__
diff --git a/libjava/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.h b/libjava/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.h
new file mode 100644
index 000000000..38a6a9419
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_DSSKeyPairGeneratorSpi__
+#define __gnu_java_security_jce_sig_DSSKeyPairGeneratorSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class DSSKeyPairGeneratorSpi;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class SecureRandom;
+ namespace interfaces
+ {
+ class DSAParams;
+ }
+ namespace spec
+ {
+ class AlgorithmParameterSpec;
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::DSSKeyPairGeneratorSpi : public ::gnu::java::security::jce::sig::KeyPairGeneratorAdapter
+{
+
+public:
+ DSSKeyPairGeneratorSpi();
+ virtual void initialize(jint, ::java::security::SecureRandom *);
+ virtual void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+ virtual void initialize(::java::security::interfaces::DSAParams *, ::java::security::SecureRandom *);
+ virtual void initialize(jint, jboolean, ::java::security::SecureRandom *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_DSSKeyPairGeneratorSpi__
diff --git a/libjava/gnu/java/security/jce/sig/DSSParameters.h b/libjava/gnu/java/security/jce/sig/DSSParameters.h
new file mode 100644
index 000000000..6d6f612bd
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/DSSParameters.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_DSSParameters__
+#define __gnu_java_security_jce_sig_DSSParameters__
+
+#pragma interface
+
+#include <java/security/AlgorithmParametersSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class DSSParameters;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ namespace security
+ {
+ namespace spec
+ {
+ class AlgorithmParameterSpec;
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::DSSParameters : public ::java::security::AlgorithmParametersSpi
+{
+
+public:
+ DSSParameters();
+public: // actually protected
+ virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *);
+ virtual void engineInit(JArray< jbyte > *);
+ virtual void engineInit(JArray< jbyte > *, ::java::lang::String *);
+ virtual ::java::security::spec::AlgorithmParameterSpec * engineGetParameterSpec(::java::lang::Class *);
+ virtual JArray< jbyte > * engineGetEncoded();
+ virtual JArray< jbyte > * engineGetEncoded(::java::lang::String *);
+ virtual ::java::lang::String * engineToString();
+private:
+ ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::security::AlgorithmParametersSpi)))) p;
+ ::java::math::BigInteger * q;
+ ::java::math::BigInteger * g;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_DSSParameters__
diff --git a/libjava/gnu/java/security/jce/sig/DSSParametersGenerator.h b/libjava/gnu/java/security/jce/sig/DSSParametersGenerator.h
new file mode 100644
index 000000000..292069400
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/DSSParametersGenerator.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_DSSParametersGenerator__
+#define __gnu_java_security_jce_sig_DSSParametersGenerator__
+
+#pragma interface
+
+#include <java/security/AlgorithmParameterGeneratorSpi.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class DSSParametersGenerator;
+ }
+ }
+ namespace key
+ {
+ namespace dss
+ {
+ class FIPS186;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class AlgorithmParameters;
+ class Provider;
+ class SecureRandom;
+ namespace spec
+ {
+ class AlgorithmParameterSpec;
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::DSSParametersGenerator : public ::java::security::AlgorithmParameterGeneratorSpi
+{
+
+public:
+ DSSParametersGenerator();
+public: // actually protected
+ virtual void engineInit(jint, ::java::security::SecureRandom *);
+ virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+ virtual ::java::security::AlgorithmParameters * engineGenerateParameters();
+private:
+ static ::java::security::Provider * GNU;
+ jint __attribute__((aligned(__alignof__( ::java::security::AlgorithmParameterGeneratorSpi)))) modulusLength;
+ ::java::security::SecureRandom * rnd;
+ ::gnu::java::security::key::dss::FIPS186 * fips;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_DSSParametersGenerator__
diff --git a/libjava/gnu/java/security/jce/sig/DSSRawSignatureSpi.h b/libjava/gnu/java/security/jce/sig/DSSRawSignatureSpi.h
new file mode 100644
index 000000000..d135b61f9
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/DSSRawSignatureSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_DSSRawSignatureSpi__
+#define __gnu_java_security_jce_sig_DSSRawSignatureSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/SignatureAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class DSSRawSignatureSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::DSSRawSignatureSpi : public ::gnu::java::security::jce::sig::SignatureAdapter
+{
+
+public:
+ DSSRawSignatureSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_DSSRawSignatureSpi__
diff --git a/libjava/gnu/java/security/jce/sig/EncodedKeyFactory.h b/libjava/gnu/java/security/jce/sig/EncodedKeyFactory.h
new file mode 100644
index 000000000..23dced6db
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/EncodedKeyFactory.h
@@ -0,0 +1,106 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_EncodedKeyFactory__
+#define __gnu_java_security_jce_sig_EncodedKeyFactory__
+
+#pragma interface
+
+#include <java/security/KeyFactorySpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class EncodedKeyFactory;
+ }
+ }
+ namespace key
+ {
+ namespace dss
+ {
+ class DSSPublicKey;
+ }
+ namespace rsa
+ {
+ class GnuRSAPublicKey;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class Key;
+ class PrivateKey;
+ class PublicKey;
+ namespace spec
+ {
+ class DSAPrivateKeySpec;
+ class DSAPublicKeySpec;
+ class KeySpec;
+ class RSAPrivateCrtKeySpec;
+ class RSAPublicKeySpec;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace interfaces
+ {
+ class DHPrivateKey;
+ class DHPublicKey;
+ }
+ namespace spec
+ {
+ class DHPrivateKeySpec;
+ class DHPublicKeySpec;
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::EncodedKeyFactory : public ::java::security::KeyFactorySpi
+{
+
+public:
+ EncodedKeyFactory();
+private:
+ static ::java::lang::Object * invokeConstructor(::java::lang::String *, JArray< ::java::lang::Object * > *);
+ static ::java::lang::Class * getConcreteClass(::java::lang::String *);
+ static ::java::lang::reflect::Constructor * getConcreteCtor(::java::lang::Class *);
+ static ::java::lang::Object * invokeValueOf(::java::lang::String *, JArray< jbyte > *);
+ static ::java::lang::reflect::Method * getValueOfMethod(::java::lang::Class *);
+public: // actually protected
+ virtual ::java::security::PublicKey * engineGeneratePublic(::java::security::spec::KeySpec *);
+ virtual ::java::security::PrivateKey * engineGeneratePrivate(::java::security::spec::KeySpec *);
+ virtual ::java::security::spec::KeySpec * engineGetKeySpec(::java::security::Key *, ::java::lang::Class *);
+ virtual ::java::security::Key * engineTranslateKey(::java::security::Key *);
+private:
+ ::gnu::java::security::key::dss::DSSPublicKey * decodeDSSPublicKey(::java::security::spec::DSAPublicKeySpec *);
+ ::gnu::java::security::key::rsa::GnuRSAPublicKey * decodeRSAPublicKey(::java::security::spec::RSAPublicKeySpec *);
+ ::javax::crypto::interfaces::DHPublicKey * decodeDHPublicKey(::javax::crypto::spec::DHPublicKeySpec *);
+ ::javax::crypto::interfaces::DHPublicKey * decodeDHPublicKey(JArray< jbyte > *);
+ ::java::security::PrivateKey * decodeDSSPrivateKey(::java::security::spec::DSAPrivateKeySpec *);
+ ::java::security::PrivateKey * decodeRSAPrivateKey(::java::security::spec::RSAPrivateCrtKeySpec *);
+ ::javax::crypto::interfaces::DHPrivateKey * decodeDHPrivateKey(::javax::crypto::spec::DHPrivateKeySpec *);
+ ::javax::crypto::interfaces::DHPrivateKey * decodeDHPrivateKey(JArray< jbyte > *);
+ static ::java::util::logging::Logger * log;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_EncodedKeyFactory__
diff --git a/libjava/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h b/libjava/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h
new file mode 100644
index 000000000..9a7778408
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_KeyPairGeneratorAdapter__
+#define __gnu_java_security_jce_sig_KeyPairGeneratorAdapter__
+
+#pragma interface
+
+#include <java/security/KeyPairGenerator.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class KeyPairGeneratorAdapter;
+ }
+ }
+ namespace key
+ {
+ class IKeyPairGenerator;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class KeyPair;
+ class SecureRandom;
+ namespace spec
+ {
+ class AlgorithmParameterSpec;
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::KeyPairGeneratorAdapter : public ::java::security::KeyPairGenerator
+{
+
+public: // actually protected
+ KeyPairGeneratorAdapter(::java::lang::String *);
+public:
+ virtual void initialize(jint, ::java::security::SecureRandom *) = 0;
+ virtual void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *) = 0;
+ virtual ::java::security::KeyPair * generateKeyPair();
+public: // actually protected
+ ::gnu::java::security::key::IKeyPairGenerator * __attribute__((aligned(__alignof__( ::java::security::KeyPairGenerator)))) adaptee;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_KeyPairGeneratorAdapter__
diff --git a/libjava/gnu/java/security/jce/sig/MD2withRSA.h b/libjava/gnu/java/security/jce/sig/MD2withRSA.h
new file mode 100644
index 000000000..68ae75f32
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/MD2withRSA.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_MD2withRSA__
+#define __gnu_java_security_jce_sig_MD2withRSA__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/SignatureAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class MD2withRSA;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::MD2withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter
+{
+
+public:
+ MD2withRSA();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_MD2withRSA__
diff --git a/libjava/gnu/java/security/jce/sig/MD5withRSA.h b/libjava/gnu/java/security/jce/sig/MD5withRSA.h
new file mode 100644
index 000000000..919b74fea
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/MD5withRSA.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_MD5withRSA__
+#define __gnu_java_security_jce_sig_MD5withRSA__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/SignatureAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class MD5withRSA;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::MD5withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter
+{
+
+public:
+ MD5withRSA();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_MD5withRSA__
diff --git a/libjava/gnu/java/security/jce/sig/RSAKeyFactory.h b/libjava/gnu/java/security/jce/sig/RSAKeyFactory.h
new file mode 100644
index 000000000..8c10a0a12
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/RSAKeyFactory.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_RSAKeyFactory__
+#define __gnu_java_security_jce_sig_RSAKeyFactory__
+
+#pragma interface
+
+#include <java/security/KeyFactorySpi.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class RSAKeyFactory;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class Key;
+ class PrivateKey;
+ class PublicKey;
+ namespace spec
+ {
+ class KeySpec;
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::RSAKeyFactory : public ::java::security::KeyFactorySpi
+{
+
+public:
+ RSAKeyFactory();
+public: // actually protected
+ virtual ::java::security::PublicKey * engineGeneratePublic(::java::security::spec::KeySpec *);
+ virtual ::java::security::PrivateKey * engineGeneratePrivate(::java::security::spec::KeySpec *);
+ virtual ::java::security::spec::KeySpec * engineGetKeySpec(::java::security::Key *, ::java::lang::Class *);
+ virtual ::java::security::Key * engineTranslateKey(::java::security::Key *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_RSAKeyFactory__
diff --git a/libjava/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.h b/libjava/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.h
new file mode 100644
index 000000000..97f6aced8
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_RSAKeyPairGeneratorSpi__
+#define __gnu_java_security_jce_sig_RSAKeyPairGeneratorSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class RSAKeyPairGeneratorSpi;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class SecureRandom;
+ namespace spec
+ {
+ class AlgorithmParameterSpec;
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::RSAKeyPairGeneratorSpi : public ::gnu::java::security::jce::sig::KeyPairGeneratorAdapter
+{
+
+public:
+ RSAKeyPairGeneratorSpi();
+ virtual void initialize(jint, ::java::security::SecureRandom *);
+ virtual void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_RSAKeyPairGeneratorSpi__
diff --git a/libjava/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.h b/libjava/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.h
new file mode 100644
index 000000000..56ad41681
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_RSAPSSRawSignatureSpi__
+#define __gnu_java_security_jce_sig_RSAPSSRawSignatureSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/SignatureAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class RSAPSSRawSignatureSpi;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::RSAPSSRawSignatureSpi : public ::gnu::java::security::jce::sig::SignatureAdapter
+{
+
+public:
+ RSAPSSRawSignatureSpi();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_RSAPSSRawSignatureSpi__
diff --git a/libjava/gnu/java/security/jce/sig/SHA160withDSS.h b/libjava/gnu/java/security/jce/sig/SHA160withDSS.h
new file mode 100644
index 000000000..fc595d465
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/SHA160withDSS.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_SHA160withDSS__
+#define __gnu_java_security_jce_sig_SHA160withDSS__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/SignatureAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class SHA160withDSS;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::SHA160withDSS : public ::gnu::java::security::jce::sig::SignatureAdapter
+{
+
+public:
+ SHA160withDSS();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_SHA160withDSS__
diff --git a/libjava/gnu/java/security/jce/sig/SHA160withRSA.h b/libjava/gnu/java/security/jce/sig/SHA160withRSA.h
new file mode 100644
index 000000000..93a886c27
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/SHA160withRSA.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_SHA160withRSA__
+#define __gnu_java_security_jce_sig_SHA160withRSA__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/SignatureAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class SHA160withRSA;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::SHA160withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter
+{
+
+public:
+ SHA160withRSA();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_SHA160withRSA__
diff --git a/libjava/gnu/java/security/jce/sig/SHA256withRSA.h b/libjava/gnu/java/security/jce/sig/SHA256withRSA.h
new file mode 100644
index 000000000..9b736522a
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/SHA256withRSA.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_SHA256withRSA__
+#define __gnu_java_security_jce_sig_SHA256withRSA__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/SignatureAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class SHA256withRSA;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::SHA256withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter
+{
+
+public:
+ SHA256withRSA();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_SHA256withRSA__
diff --git a/libjava/gnu/java/security/jce/sig/SHA384withRSA.h b/libjava/gnu/java/security/jce/sig/SHA384withRSA.h
new file mode 100644
index 000000000..db01a6e14
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/SHA384withRSA.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_SHA384withRSA__
+#define __gnu_java_security_jce_sig_SHA384withRSA__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/SignatureAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class SHA384withRSA;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::SHA384withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter
+{
+
+public:
+ SHA384withRSA();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_SHA384withRSA__
diff --git a/libjava/gnu/java/security/jce/sig/SHA512withRSA.h b/libjava/gnu/java/security/jce/sig/SHA512withRSA.h
new file mode 100644
index 000000000..13ea93543
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/SHA512withRSA.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_SHA512withRSA__
+#define __gnu_java_security_jce_sig_SHA512withRSA__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/SignatureAdapter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class SHA512withRSA;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::SHA512withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter
+{
+
+public:
+ SHA512withRSA();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_SHA512withRSA__
diff --git a/libjava/gnu/java/security/jce/sig/SignatureAdapter.h b/libjava/gnu/java/security/jce/sig/SignatureAdapter.h
new file mode 100644
index 000000000..68fdd64cb
--- /dev/null
+++ b/libjava/gnu/java/security/jce/sig/SignatureAdapter.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_jce_sig_SignatureAdapter__
+#define __gnu_java_security_jce_sig_SignatureAdapter__
+
+#pragma interface
+
+#include <java/security/SignatureSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace jce
+ {
+ namespace sig
+ {
+ class SignatureAdapter;
+ }
+ }
+ namespace sig
+ {
+ class ISignature;
+ class ISignatureCodec;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ class SecureRandom;
+ namespace spec
+ {
+ class AlgorithmParameterSpec;
+ }
+ }
+ }
+}
+
+class gnu::java::security::jce::sig::SignatureAdapter : public ::java::security::SignatureSpi
+{
+
+public: // actually protected
+ SignatureAdapter(::java::lang::String *, ::gnu::java::security::sig::ISignatureCodec *);
+private:
+ SignatureAdapter(::gnu::java::security::sig::ISignature *, ::gnu::java::security::sig::ISignatureCodec *);
+public:
+ virtual ::java::lang::Object * clone();
+ virtual void engineInitVerify(::java::security::PublicKey *);
+ virtual void engineInitSign(::java::security::PrivateKey *);
+ virtual void engineInitSign(::java::security::PrivateKey *, ::java::security::SecureRandom *);
+ virtual void engineUpdate(jbyte);
+ virtual void engineUpdate(JArray< jbyte > *, jint, jint);
+ virtual JArray< jbyte > * engineSign();
+ virtual jint engineSign(JArray< jbyte > *, jint, jint);
+ virtual jboolean engineVerify(JArray< jbyte > *);
+ virtual void engineSetParameter(::java::lang::String *, ::java::lang::Object *);
+ virtual void engineSetParameter(::java::security::spec::AlgorithmParameterSpec *);
+ virtual ::java::lang::Object * engineGetParameter(::java::lang::String *);
+private:
+ static ::java::util::logging::Logger * log;
+ ::gnu::java::security::sig::ISignature * __attribute__((aligned(__alignof__( ::java::security::SignatureSpi)))) adaptee;
+ ::gnu::java::security::sig::ISignatureCodec * codec;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_jce_sig_SignatureAdapter__
diff --git a/libjava/gnu/java/security/key/IKeyPairCodec.h b/libjava/gnu/java/security/key/IKeyPairCodec.h
new file mode 100644
index 000000000..61a4f1849
--- /dev/null
+++ b/libjava/gnu/java/security/key/IKeyPairCodec.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_IKeyPairCodec__
+#define __gnu_java_security_key_IKeyPairCodec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ class IKeyPairCodec;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ }
+ }
+}
+
+class gnu::java::security::key::IKeyPairCodec : public ::java::lang::Object
+{
+
+public:
+ virtual jint getFormatID() = 0;
+ virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *) = 0;
+ virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *) = 0;
+ virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *) = 0;
+ virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *) = 0;
+ static const jint RAW_FORMAT = 1;
+ static const jint X509_FORMAT = 2;
+ static const jint PKCS8_FORMAT = 3;
+ static const jint ASN1_FORMAT = 4;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_key_IKeyPairCodec__
diff --git a/libjava/gnu/java/security/key/IKeyPairGenerator.h b/libjava/gnu/java/security/key/IKeyPairGenerator.h
new file mode 100644
index 000000000..1ae2a4861
--- /dev/null
+++ b/libjava/gnu/java/security/key/IKeyPairGenerator.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_IKeyPairGenerator__
+#define __gnu_java_security_key_IKeyPairGenerator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ class IKeyPairGenerator;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class KeyPair;
+ }
+ }
+}
+
+class gnu::java::security::key::IKeyPairGenerator : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::String * name() = 0;
+ virtual void setup(::java::util::Map *) = 0;
+ virtual ::java::security::KeyPair * generate() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_key_IKeyPairGenerator__
diff --git a/libjava/gnu/java/security/key/KeyPairCodecFactory.h b/libjava/gnu/java/security/key/KeyPairCodecFactory.h
new file mode 100644
index 000000000..e6ac55fa9
--- /dev/null
+++ b/libjava/gnu/java/security/key/KeyPairCodecFactory.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_KeyPairCodecFactory__
+#define __gnu_java_security_key_KeyPairCodecFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ class IKeyPairCodec;
+ class KeyPairCodecFactory;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class Key;
+ }
+ }
+}
+
+class gnu::java::security::key::KeyPairCodecFactory : public ::java::lang::Object
+{
+
+ KeyPairCodecFactory();
+public:
+ static ::gnu::java::security::key::IKeyPairCodec * getInstance(::java::lang::String *);
+ static ::gnu::java::security::key::IKeyPairCodec * getInstance(::java::lang::String *, ::java::lang::String *);
+ static ::gnu::java::security::key::IKeyPairCodec * getInstance(::java::lang::String *, jint);
+ static ::gnu::java::security::key::IKeyPairCodec * getInstance(::java::security::Key *);
+ static ::java::util::Set * getNames();
+private:
+ static ::gnu::java::security::key::IKeyPairCodec * makeInstance(::java::lang::String *);
+ static jboolean matches(::java::lang::Object *, ::java::lang::String *);
+ static ::gnu::java::security::key::IKeyPairCodec * getRawCodec(::java::lang::String *);
+ static ::gnu::java::security::key::IKeyPairCodec * getX509Codec(::java::lang::String *);
+ static ::gnu::java::security::key::IKeyPairCodec * getPKCS8Codec(::java::lang::String *);
+ static ::gnu::java::security::key::IKeyPairCodec * getRawCodec(::java::security::Key *);
+ static ::gnu::java::security::key::IKeyPairCodec * getX509Codec(::java::security::Key *);
+ static ::gnu::java::security::key::IKeyPairCodec * getPKCS8Codec(::java::security::Key *);
+ static ::java::util::Set * names;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_KeyPairCodecFactory__
diff --git a/libjava/gnu/java/security/key/KeyPairGeneratorFactory.h b/libjava/gnu/java/security/key/KeyPairGeneratorFactory.h
new file mode 100644
index 000000000..4d877a315
--- /dev/null
+++ b/libjava/gnu/java/security/key/KeyPairGeneratorFactory.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_KeyPairGeneratorFactory__
+#define __gnu_java_security_key_KeyPairGeneratorFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ class IKeyPairGenerator;
+ class KeyPairGeneratorFactory;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::key::KeyPairGeneratorFactory : public ::java::lang::Object
+{
+
+ KeyPairGeneratorFactory();
+public:
+ static ::gnu::java::security::key::IKeyPairGenerator * getInstance(::java::lang::String *);
+ static ::java::util::Set * getNames();
+private:
+ static ::gnu::java::security::key::IKeyPairGenerator * makeInstance(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_KeyPairGeneratorFactory__
diff --git a/libjava/gnu/java/security/key/dss/DSSKey.h b/libjava/gnu/java/security/key/dss/DSSKey.h
new file mode 100644
index 000000000..de8ebb250
--- /dev/null
+++ b/libjava/gnu/java/security/key/dss/DSSKey.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_dss_DSSKey__
+#define __gnu_java_security_key_dss_DSSKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ namespace dss
+ {
+ class DSSKey;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ namespace security
+ {
+ namespace interfaces
+ {
+ class DSAParams;
+ }
+ }
+ }
+}
+
+class gnu::java::security::key::dss::DSSKey : public ::java::lang::Object
+{
+
+public: // actually protected
+ DSSKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+public:
+ virtual ::java::security::interfaces::DSAParams * getParams();
+ virtual ::java::lang::String * getAlgorithm();
+ virtual JArray< jbyte > * getEncoded();
+ virtual ::java::lang::String * getFormat();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+ virtual JArray< jbyte > * getEncoded(jint) = 0;
+ virtual jboolean hasInheritedParameters();
+public: // actually protected
+ ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) p;
+ ::java::math::BigInteger * q;
+ ::java::math::BigInteger * g;
+ jint defaultFormat;
+private:
+ ::java::lang::String * str;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_dss_DSSKey__
diff --git a/libjava/gnu/java/security/key/dss/DSSKeyPairGenerator.h b/libjava/gnu/java/security/key/dss/DSSKeyPairGenerator.h
new file mode 100644
index 000000000..e78abe027
--- /dev/null
+++ b/libjava/gnu/java/security/key/dss/DSSKeyPairGenerator.h
@@ -0,0 +1,98 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_dss_DSSKeyPairGenerator__
+#define __gnu_java_security_key_dss_DSSKeyPairGenerator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ namespace dss
+ {
+ class DSSKeyPairGenerator;
+ }
+ }
+ namespace util
+ {
+ class PRNG;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ namespace security
+ {
+ class KeyPair;
+ class SecureRandom;
+ namespace spec
+ {
+ class DSAParameterSpec;
+ }
+ }
+ }
+}
+
+class gnu::java::security::key::dss::DSSKeyPairGenerator : public ::java::lang::Object
+{
+
+public:
+ DSSKeyPairGenerator();
+ virtual ::java::lang::String * name();
+ virtual void setup(::java::util::Map *);
+ virtual ::java::security::KeyPair * generate();
+private:
+ ::java::math::BigInteger * nextX();
+ void nextRandomBytes(JArray< jbyte > *);
+ ::gnu::java::security::util::PRNG * getDefaultPRNG();
+ static ::java::util::logging::Logger * log;
+ static ::java::math::BigInteger * TWO;
+public:
+ static ::java::lang::String * MODULUS_LENGTH;
+ static ::java::lang::String * USE_DEFAULTS;
+ static ::java::lang::String * STRICT_DEFAULTS;
+ static ::java::lang::String * SOURCE_OF_RANDOMNESS;
+ static ::java::lang::String * DSS_PARAMETERS;
+ static ::java::lang::String * PREFERRED_ENCODING_FORMAT;
+ static const jint DEFAULT_MODULUS_LENGTH = 1024;
+private:
+ static const jint DEFAULT_ENCODING_FORMAT = 1;
+ static JArray< jint > * T_SHS;
+public:
+ static ::java::security::spec::DSAParameterSpec * KEY_PARAMS_512;
+ static ::java::security::spec::DSAParameterSpec * KEY_PARAMS_768;
+ static ::java::security::spec::DSAParameterSpec * KEY_PARAMS_1024;
+private:
+ static ::java::math::BigInteger * TWO_POW_160;
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) L;
+ ::java::security::SecureRandom * rnd;
+ ::java::math::BigInteger * seed;
+ ::java::math::BigInteger * counter;
+ ::java::math::BigInteger * p;
+ ::java::math::BigInteger * q;
+ ::java::math::BigInteger * e;
+ ::java::math::BigInteger * g;
+ ::java::math::BigInteger * XKEY;
+ ::gnu::java::security::util::PRNG * prng;
+ jint preferredFormat;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_dss_DSSKeyPairGenerator__
diff --git a/libjava/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.h b/libjava/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.h
new file mode 100644
index 000000000..98813dc71
--- /dev/null
+++ b/libjava/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_dss_DSSKeyPairPKCS8Codec__
+#define __gnu_java_security_key_dss_DSSKeyPairPKCS8Codec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace key
+ {
+ namespace dss
+ {
+ class DSSKeyPairPKCS8Codec;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ }
+ }
+}
+
+class gnu::java::security::key::dss::DSSKeyPairPKCS8Codec : public ::java::lang::Object
+{
+
+public:
+ DSSKeyPairPKCS8Codec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *);
+ virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *);
+ virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *);
+ virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *);
+private:
+ static ::java::util::logging::Logger * log;
+ static ::gnu::java::security::OID * DSA_ALG_OID;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_dss_DSSKeyPairPKCS8Codec__
diff --git a/libjava/gnu/java/security/key/dss/DSSKeyPairRawCodec.h b/libjava/gnu/java/security/key/dss/DSSKeyPairRawCodec.h
new file mode 100644
index 000000000..cc22055d6
--- /dev/null
+++ b/libjava/gnu/java/security/key/dss/DSSKeyPairRawCodec.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_dss_DSSKeyPairRawCodec__
+#define __gnu_java_security_key_dss_DSSKeyPairRawCodec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ namespace dss
+ {
+ class DSSKeyPairRawCodec;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ }
+ }
+}
+
+class gnu::java::security::key::dss::DSSKeyPairRawCodec : public ::java::lang::Object
+{
+
+public:
+ DSSKeyPairRawCodec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *);
+ virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *);
+ virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *);
+ virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_dss_DSSKeyPairRawCodec__
diff --git a/libjava/gnu/java/security/key/dss/DSSKeyPairX509Codec.h b/libjava/gnu/java/security/key/dss/DSSKeyPairX509Codec.h
new file mode 100644
index 000000000..c56ba1cf9
--- /dev/null
+++ b/libjava/gnu/java/security/key/dss/DSSKeyPairX509Codec.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_dss_DSSKeyPairX509Codec__
+#define __gnu_java_security_key_dss_DSSKeyPairX509Codec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace key
+ {
+ namespace dss
+ {
+ class DSSKeyPairX509Codec;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ }
+ }
+}
+
+class gnu::java::security::key::dss::DSSKeyPairX509Codec : public ::java::lang::Object
+{
+
+public:
+ DSSKeyPairX509Codec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *);
+ virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *);
+ virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *);
+ virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *);
+private:
+ static ::gnu::java::security::OID * DSA_ALG_OID;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_dss_DSSKeyPairX509Codec__
diff --git a/libjava/gnu/java/security/key/dss/DSSPrivateKey.h b/libjava/gnu/java/security/key/dss/DSSPrivateKey.h
new file mode 100644
index 000000000..b7816b86a
--- /dev/null
+++ b/libjava/gnu/java/security/key/dss/DSSPrivateKey.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_dss_DSSPrivateKey__
+#define __gnu_java_security_key_dss_DSSPrivateKey__
+
+#pragma interface
+
+#include <gnu/java/security/key/dss/DSSKey.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ namespace dss
+ {
+ class DSSPrivateKey;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::key::dss::DSSPrivateKey : public ::gnu::java::security::key::dss::DSSKey
+{
+
+public:
+ DSSPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+ DSSPrivateKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+ static ::gnu::java::security::key::dss::DSSPrivateKey * valueOf(JArray< jbyte > *);
+ virtual ::java::math::BigInteger * getX();
+ virtual JArray< jbyte > * getEncoded(jint);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+private:
+ ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::java::security::key::dss::DSSKey)))) x;
+ ::java::lang::String * str;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_dss_DSSPrivateKey__
diff --git a/libjava/gnu/java/security/key/dss/DSSPublicKey.h b/libjava/gnu/java/security/key/dss/DSSPublicKey.h
new file mode 100644
index 000000000..bffd46237
--- /dev/null
+++ b/libjava/gnu/java/security/key/dss/DSSPublicKey.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_dss_DSSPublicKey__
+#define __gnu_java_security_key_dss_DSSPublicKey__
+
+#pragma interface
+
+#include <gnu/java/security/key/dss/DSSKey.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ namespace dss
+ {
+ class DSSPublicKey;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::key::dss::DSSPublicKey : public ::gnu::java::security::key::dss::DSSKey
+{
+
+public:
+ DSSPublicKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+ DSSPublicKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+ static ::gnu::java::security::key::dss::DSSPublicKey * valueOf(JArray< jbyte > *);
+ virtual ::java::math::BigInteger * getY();
+ virtual JArray< jbyte > * getEncoded(jint);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+private:
+ ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::java::security::key::dss::DSSKey)))) y;
+ ::java::lang::String * str;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_dss_DSSPublicKey__
diff --git a/libjava/gnu/java/security/key/dss/FIPS186.h b/libjava/gnu/java/security/key/dss/FIPS186.h
new file mode 100644
index 000000000..1b972d448
--- /dev/null
+++ b/libjava/gnu/java/security/key/dss/FIPS186.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_dss_FIPS186__
+#define __gnu_java_security_key_dss_FIPS186__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class Sha160;
+ }
+ namespace key
+ {
+ namespace dss
+ {
+ class FIPS186;
+ }
+ }
+ namespace util
+ {
+ class PRNG;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ namespace security
+ {
+ class SecureRandom;
+ }
+ }
+}
+
+class gnu::java::security::key::dss::FIPS186 : public ::java::lang::Object
+{
+
+public:
+ FIPS186(jint, ::java::security::SecureRandom *);
+ virtual JArray< ::java::math::BigInteger * > * generateParameters();
+private:
+ void nextRandomBytes(JArray< jbyte > *);
+ ::gnu::java::security::util::PRNG * getDefaultPRNG();
+public:
+ static const jint DSA_PARAMS_SEED = 0;
+ static const jint DSA_PARAMS_COUNTER = 1;
+ static const jint DSA_PARAMS_Q = 2;
+ static const jint DSA_PARAMS_P = 3;
+ static const jint DSA_PARAMS_E = 4;
+ static const jint DSA_PARAMS_G = 5;
+private:
+ static ::java::math::BigInteger * TWO;
+ static ::java::math::BigInteger * TWO_POW_160;
+ ::gnu::java::security::hash::Sha160 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sha;
+ jint L;
+ ::java::security::SecureRandom * rnd;
+ ::gnu::java::security::util::PRNG * prng;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_dss_FIPS186__
diff --git a/libjava/gnu/java/security/key/rsa/GnuRSAKey.h b/libjava/gnu/java/security/key/rsa/GnuRSAKey.h
new file mode 100644
index 000000000..77a57b0a6
--- /dev/null
+++ b/libjava/gnu/java/security/key/rsa/GnuRSAKey.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_rsa_GnuRSAKey__
+#define __gnu_java_security_key_rsa_GnuRSAKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ namespace rsa
+ {
+ class GnuRSAKey;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::key::rsa::GnuRSAKey : public ::java::lang::Object
+{
+
+public: // actually protected
+ GnuRSAKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *);
+public:
+ virtual ::java::math::BigInteger * getModulus();
+ virtual ::java::lang::String * getAlgorithm();
+ virtual JArray< jbyte > * getEncoded();
+ virtual ::java::lang::String * getFormat();
+ virtual ::java::math::BigInteger * getN();
+ virtual ::java::math::BigInteger * getPublicExponent();
+ virtual ::java::math::BigInteger * getE();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+ virtual JArray< jbyte > * getEncoded(jint) = 0;
+private:
+ ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) n;
+ ::java::math::BigInteger * e;
+public: // actually protected
+ jint defaultFormat;
+private:
+ ::java::lang::String * str;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_rsa_GnuRSAKey__
diff --git a/libjava/gnu/java/security/key/rsa/GnuRSAPrivateKey.h b/libjava/gnu/java/security/key/rsa/GnuRSAPrivateKey.h
new file mode 100644
index 000000000..3033418ae
--- /dev/null
+++ b/libjava/gnu/java/security/key/rsa/GnuRSAPrivateKey.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_rsa_GnuRSAPrivateKey__
+#define __gnu_java_security_key_rsa_GnuRSAPrivateKey__
+
+#pragma interface
+
+#include <gnu/java/security/key/rsa/GnuRSAKey.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ namespace rsa
+ {
+ class GnuRSAPrivateKey;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::key::rsa::GnuRSAPrivateKey : public ::gnu::java::security::key::rsa::GnuRSAKey
+{
+
+public:
+ GnuRSAPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+ GnuRSAPrivateKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+ GnuRSAPrivateKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+ static ::gnu::java::security::key::rsa::GnuRSAPrivateKey * valueOf(JArray< jbyte > *);
+ virtual ::java::math::BigInteger * getPrimeP();
+ virtual ::java::math::BigInteger * getPrimeQ();
+ virtual ::java::math::BigInteger * getPrimeExponentP();
+ virtual ::java::math::BigInteger * getPrimeExponentQ();
+ virtual ::java::math::BigInteger * getCrtCoefficient();
+ virtual ::java::math::BigInteger * getPrivateExponent();
+ virtual JArray< jbyte > * getEncoded(jint);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+private:
+ ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::java::security::key::rsa::GnuRSAKey)))) p;
+ ::java::math::BigInteger * q;
+ ::java::math::BigInteger * d;
+ ::java::math::BigInteger * dP;
+ ::java::math::BigInteger * dQ;
+ ::java::math::BigInteger * qInv;
+ ::java::lang::String * str;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_rsa_GnuRSAPrivateKey__
diff --git a/libjava/gnu/java/security/key/rsa/GnuRSAPublicKey.h b/libjava/gnu/java/security/key/rsa/GnuRSAPublicKey.h
new file mode 100644
index 000000000..149a68578
--- /dev/null
+++ b/libjava/gnu/java/security/key/rsa/GnuRSAPublicKey.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_rsa_GnuRSAPublicKey__
+#define __gnu_java_security_key_rsa_GnuRSAPublicKey__
+
+#pragma interface
+
+#include <gnu/java/security/key/rsa/GnuRSAKey.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ namespace rsa
+ {
+ class GnuRSAPublicKey;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::key::rsa::GnuRSAPublicKey : public ::gnu::java::security::key::rsa::GnuRSAKey
+{
+
+public:
+ GnuRSAPublicKey(::java::math::BigInteger *, ::java::math::BigInteger *);
+ GnuRSAPublicKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *);
+ static ::gnu::java::security::key::rsa::GnuRSAPublicKey * valueOf(JArray< jbyte > *);
+ virtual JArray< jbyte > * getEncoded(jint);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::security::key::rsa::GnuRSAKey)))) str;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_rsa_GnuRSAPublicKey__
diff --git a/libjava/gnu/java/security/key/rsa/RSAKeyPairGenerator.h b/libjava/gnu/java/security/key/rsa/RSAKeyPairGenerator.h
new file mode 100644
index 000000000..b59d0be30
--- /dev/null
+++ b/libjava/gnu/java/security/key/rsa/RSAKeyPairGenerator.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_rsa_RSAKeyPairGenerator__
+#define __gnu_java_security_key_rsa_RSAKeyPairGenerator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ namespace rsa
+ {
+ class RSAKeyPairGenerator;
+ }
+ }
+ namespace util
+ {
+ class PRNG;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ namespace security
+ {
+ class KeyPair;
+ class SecureRandom;
+ }
+ }
+}
+
+class gnu::java::security::key::rsa::RSAKeyPairGenerator : public ::java::lang::Object
+{
+
+public:
+ RSAKeyPairGenerator();
+ virtual ::java::lang::String * name();
+ virtual void setup(::java::util::Map *);
+ virtual ::java::security::KeyPair * generate();
+private:
+ void nextRandomBytes(JArray< jbyte > *);
+ ::gnu::java::security::util::PRNG * getDefaultPRNG();
+ static ::java::util::logging::Logger * log;
+ static ::java::math::BigInteger * ONE;
+ static ::java::math::BigInteger * TWO;
+public:
+ static ::java::lang::String * MODULUS_LENGTH;
+ static ::java::lang::String * SOURCE_OF_RANDOMNESS;
+ static ::java::lang::String * RSA_PARAMETERS;
+ static ::java::lang::String * PREFERRED_ENCODING_FORMAT;
+private:
+ static const jint DEFAULT_MODULUS_LENGTH = 1024;
+ static const jint DEFAULT_ENCODING_FORMAT = 1;
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) L;
+ ::java::math::BigInteger * e;
+ ::java::security::SecureRandom * rnd;
+ ::gnu::java::security::util::PRNG * prng;
+ jint preferredFormat;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_rsa_RSAKeyPairGenerator__
diff --git a/libjava/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.h b/libjava/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.h
new file mode 100644
index 000000000..174fea9d4
--- /dev/null
+++ b/libjava/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_rsa_RSAKeyPairPKCS8Codec__
+#define __gnu_java_security_key_rsa_RSAKeyPairPKCS8Codec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace key
+ {
+ namespace rsa
+ {
+ class RSAKeyPairPKCS8Codec;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ }
+ }
+}
+
+class gnu::java::security::key::rsa::RSAKeyPairPKCS8Codec : public ::java::lang::Object
+{
+
+public:
+ RSAKeyPairPKCS8Codec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *);
+ virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *);
+ virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *);
+ virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *);
+private:
+ static ::java::util::logging::Logger * log;
+ static ::gnu::java::security::OID * RSA_ALG_OID;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_rsa_RSAKeyPairPKCS8Codec__
diff --git a/libjava/gnu/java/security/key/rsa/RSAKeyPairRawCodec.h b/libjava/gnu/java/security/key/rsa/RSAKeyPairRawCodec.h
new file mode 100644
index 000000000..0715d8151
--- /dev/null
+++ b/libjava/gnu/java/security/key/rsa/RSAKeyPairRawCodec.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_rsa_RSAKeyPairRawCodec__
+#define __gnu_java_security_key_rsa_RSAKeyPairRawCodec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace key
+ {
+ namespace rsa
+ {
+ class RSAKeyPairRawCodec;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ }
+ }
+}
+
+class gnu::java::security::key::rsa::RSAKeyPairRawCodec : public ::java::lang::Object
+{
+
+public:
+ RSAKeyPairRawCodec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *);
+ virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *);
+ virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *);
+ virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_rsa_RSAKeyPairRawCodec__
diff --git a/libjava/gnu/java/security/key/rsa/RSAKeyPairX509Codec.h b/libjava/gnu/java/security/key/rsa/RSAKeyPairX509Codec.h
new file mode 100644
index 000000000..53abc9e9f
--- /dev/null
+++ b/libjava/gnu/java/security/key/rsa/RSAKeyPairX509Codec.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_key_rsa_RSAKeyPairX509Codec__
+#define __gnu_java_security_key_rsa_RSAKeyPairX509Codec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace key
+ {
+ namespace rsa
+ {
+ class RSAKeyPairX509Codec;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ }
+ }
+}
+
+class gnu::java::security::key::rsa::RSAKeyPairX509Codec : public ::java::lang::Object
+{
+
+public:
+ RSAKeyPairX509Codec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *);
+ virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *);
+ virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *);
+ virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *);
+private:
+ static ::java::util::logging::Logger * log;
+ static ::gnu::java::security::OID * RSA_ALG_OID;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_key_rsa_RSAKeyPairX509Codec__
diff --git a/libjava/gnu/java/security/pkcs/PKCS7Data.h b/libjava/gnu/java/security/pkcs/PKCS7Data.h
new file mode 100644
index 000000000..5ec26a05f
--- /dev/null
+++ b/libjava/gnu/java/security/pkcs/PKCS7Data.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_pkcs_PKCS7Data__
+#define __gnu_java_security_pkcs_PKCS7Data__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace pkcs
+ {
+ class PKCS7Data;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::pkcs::PKCS7Data : public ::java::lang::Object
+{
+
+public:
+ PKCS7Data(JArray< jbyte > *);
+ virtual JArray< jbyte > * getEncoded();
+ static ::gnu::java::security::OID * PKCS7_DATA;
+private:
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) content;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_pkcs_PKCS7Data__
diff --git a/libjava/gnu/java/security/pkcs/PKCS7SignedData.h b/libjava/gnu/java/security/pkcs/PKCS7SignedData.h
new file mode 100644
index 000000000..65b0b11e1
--- /dev/null
+++ b/libjava/gnu/java/security/pkcs/PKCS7SignedData.h
@@ -0,0 +1,81 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_pkcs_PKCS7SignedData__
+#define __gnu_java_security_pkcs_PKCS7SignedData__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace ber
+ {
+ class BERReader;
+ }
+ namespace pkcs
+ {
+ class PKCS7Data;
+ class PKCS7SignedData;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ namespace security
+ {
+ namespace cert
+ {
+ class CRL;
+ class Certificate;
+ class X509CRL;
+ }
+ }
+ }
+}
+
+class gnu::java::security::pkcs::PKCS7SignedData : public ::java::lang::Object
+{
+
+public:
+ PKCS7SignedData(::java::io::InputStream *);
+ PKCS7SignedData(::gnu::java::security::ber::BERReader *);
+ PKCS7SignedData(::java::util::Set *, ::gnu::java::security::pkcs::PKCS7Data *, JArray< ::java::security::cert::Certificate * > *, JArray< ::java::security::cert::X509CRL * > *, ::java::util::Set *);
+ virtual ::java::math::BigInteger * getVersion();
+ virtual JArray< ::java::security::cert::Certificate * > * getCertificates();
+ virtual ::gnu::java::security::OID * getContentType();
+ virtual JArray< jbyte > * getContent();
+ virtual ::java::util::Set * getDigestAlgorithms();
+ virtual ::java::util::Set * getSignerInfos();
+ virtual void encode(::java::io::OutputStream *);
+private:
+ static ::java::util::logging::Logger * log;
+public:
+ static ::gnu::java::security::OID * PKCS7_SIGNED_DATA;
+private:
+ ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) version;
+ ::java::util::Set * digestAlgorithms;
+ ::gnu::java::security::OID * contentType;
+ JArray< jbyte > * content;
+ JArray< ::java::security::cert::Certificate * > * certificates;
+ JArray< ::java::security::cert::CRL * > * crls;
+ ::java::util::Set * signerInfos;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_pkcs_PKCS7SignedData__
diff --git a/libjava/gnu/java/security/pkcs/SignerInfo.h b/libjava/gnu/java/security/pkcs/SignerInfo.h
new file mode 100644
index 000000000..5a020cff7
--- /dev/null
+++ b/libjava/gnu/java/security/pkcs/SignerInfo.h
@@ -0,0 +1,87 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_pkcs_SignerInfo__
+#define __gnu_java_security_pkcs_SignerInfo__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace ber
+ {
+ class BERReader;
+ }
+ namespace pkcs
+ {
+ class SignerInfo;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+ namespace javax
+ {
+ namespace security
+ {
+ namespace auth
+ {
+ namespace x500
+ {
+ class X500Principal;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::pkcs::SignerInfo : public ::java::lang::Object
+{
+
+public:
+ SignerInfo(::gnu::java::security::ber::BERReader *);
+ SignerInfo(::javax::security::auth::x500::X500Principal *, ::java::math::BigInteger *, ::gnu::java::security::OID *, JArray< jbyte > *, ::gnu::java::security::OID *, JArray< jbyte > *, JArray< jbyte > *);
+ virtual ::java::math::BigInteger * getVersion();
+ virtual ::java::math::BigInteger * getSerialNumber();
+ virtual ::javax::security::auth::x500::X500Principal * getIssuer();
+ virtual ::gnu::java::security::OID * getDigestAlgorithmId();
+ virtual JArray< jbyte > * getDigestAlgorithmParams();
+ virtual JArray< jbyte > * getAuthenticatedAttributes();
+ virtual ::gnu::java::security::OID * getDigestEncryptionAlgorithmId();
+ virtual JArray< jbyte > * getDigestEncryptionAlgorithmParams();
+ virtual JArray< jbyte > * getEncryptedDigest();
+ virtual JArray< jbyte > * getUnauthenticatedAttributes();
+ virtual void encode(::java::io::OutputStream *);
+private:
+ static ::java::util::logging::Logger * log;
+ ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) version;
+ ::java::math::BigInteger * serialNumber;
+ ::javax::security::auth::x500::X500Principal * issuer;
+ ::gnu::java::security::OID * digestAlgorithmId;
+ JArray< jbyte > * digestAlgorithmParams;
+ JArray< jbyte > * authenticatedAttributes;
+ ::gnu::java::security::OID * digestEncryptionAlgorithmId;
+ JArray< jbyte > * digestEncryptionAlgorithmParams;
+ JArray< jbyte > * encryptedDigest;
+ JArray< jbyte > * unauthenticatedAttributes;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_pkcs_SignerInfo__
diff --git a/libjava/gnu/java/security/prng/BasePRNG.h b/libjava/gnu/java/security/prng/BasePRNG.h
new file mode 100644
index 000000000..4b20623ef
--- /dev/null
+++ b/libjava/gnu/java/security/prng/BasePRNG.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_prng_BasePRNG__
+#define __gnu_java_security_prng_BasePRNG__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace prng
+ {
+ class BasePRNG;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::prng::BasePRNG : public ::java::lang::Object
+{
+
+public: // actually protected
+ BasePRNG(::java::lang::String *);
+public:
+ virtual ::java::lang::String * name();
+ virtual void init(::java::util::Map *);
+ virtual jbyte nextByte();
+ virtual void nextBytes(JArray< jbyte > *);
+ virtual void nextBytes(JArray< jbyte > *, jint, jint);
+ virtual void addRandomByte(jbyte);
+ virtual void addRandomBytes(JArray< jbyte > *);
+ virtual void addRandomBytes(JArray< jbyte > *, jint, jint);
+ virtual jboolean isInitialised();
+private:
+ jbyte nextByteInternal();
+public:
+ virtual ::java::lang::Object * clone();
+ virtual void setup(::java::util::Map *) = 0;
+ virtual void fillBlock() = 0;
+public: // actually protected
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__;
+ jboolean initialised;
+ JArray< jbyte > * buffer;
+ jint ndx;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_prng_BasePRNG__
diff --git a/libjava/gnu/java/security/prng/EntropySource.h b/libjava/gnu/java/security/prng/EntropySource.h
new file mode 100644
index 000000000..8f7377ac8
--- /dev/null
+++ b/libjava/gnu/java/security/prng/EntropySource.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_prng_EntropySource__
+#define __gnu_java_security_prng_EntropySource__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace prng
+ {
+ class EntropySource;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::prng::EntropySource : public ::java::lang::Object
+{
+
+public:
+ virtual jdouble quality() = 0;
+ virtual JArray< jbyte > * nextBytes() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_prng_EntropySource__
diff --git a/libjava/gnu/java/security/prng/IRandom.h b/libjava/gnu/java/security/prng/IRandom.h
new file mode 100644
index 000000000..54a7373f6
--- /dev/null
+++ b/libjava/gnu/java/security/prng/IRandom.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_prng_IRandom__
+#define __gnu_java_security_prng_IRandom__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace prng
+ {
+ class IRandom;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::prng::IRandom : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::String * name() = 0;
+ virtual void init(::java::util::Map *) = 0;
+ virtual jbyte nextByte() = 0;
+ virtual void nextBytes(JArray< jbyte > *, jint, jint) = 0;
+ virtual void addRandomByte(jbyte) = 0;
+ virtual void addRandomBytes(JArray< jbyte > *) = 0;
+ virtual void addRandomBytes(JArray< jbyte > *, jint, jint) = 0;
+ virtual ::java::lang::Object * clone() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_prng_IRandom__
diff --git a/libjava/gnu/java/security/prng/LimitReachedException.h b/libjava/gnu/java/security/prng/LimitReachedException.h
new file mode 100644
index 000000000..3dede836c
--- /dev/null
+++ b/libjava/gnu/java/security/prng/LimitReachedException.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_prng_LimitReachedException__
+#define __gnu_java_security_prng_LimitReachedException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace prng
+ {
+ class LimitReachedException;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::prng::LimitReachedException : public ::java::lang::Exception
+{
+
+public:
+ LimitReachedException();
+ LimitReachedException(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_prng_LimitReachedException__
diff --git a/libjava/gnu/java/security/prng/MDGenerator.h b/libjava/gnu/java/security/prng/MDGenerator.h
new file mode 100644
index 000000000..d14566c89
--- /dev/null
+++ b/libjava/gnu/java/security/prng/MDGenerator.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_prng_MDGenerator__
+#define __gnu_java_security_prng_MDGenerator__
+
+#pragma interface
+
+#include <gnu/java/security/prng/BasePRNG.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class IMessageDigest;
+ }
+ namespace prng
+ {
+ class MDGenerator;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::prng::MDGenerator : public ::gnu::java::security::prng::BasePRNG
+{
+
+public:
+ MDGenerator();
+ virtual void setup(::java::util::Map *);
+ virtual void fillBlock();
+ virtual void addRandomByte(jbyte);
+ virtual void addRandomBytes(JArray< jbyte > *, jint, jint);
+ virtual ::java::lang::Object * clone();
+ static ::java::lang::String * MD_NAME;
+ static ::java::lang::String * SEEED;
+private:
+ ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) md;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_prng_MDGenerator__
diff --git a/libjava/gnu/java/security/prng/PRNGFactory.h b/libjava/gnu/java/security/prng/PRNGFactory.h
new file mode 100644
index 000000000..a1e3f28cd
--- /dev/null
+++ b/libjava/gnu/java/security/prng/PRNGFactory.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_prng_PRNGFactory__
+#define __gnu_java_security_prng_PRNGFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace prng
+ {
+ class IRandom;
+ class PRNGFactory;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::prng::PRNGFactory : public ::java::lang::Object
+{
+
+public: // actually protected
+ PRNGFactory();
+public:
+ static ::gnu::java::security::prng::IRandom * getInstance(::java::lang::String *);
+ static ::java::util::Set * getNames();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_prng_PRNGFactory__
diff --git a/libjava/gnu/java/security/prng/RandomEvent.h b/libjava/gnu/java/security/prng/RandomEvent.h
new file mode 100644
index 000000000..2b2639633
--- /dev/null
+++ b/libjava/gnu/java/security/prng/RandomEvent.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_prng_RandomEvent__
+#define __gnu_java_security_prng_RandomEvent__
+
+#pragma interface
+
+#include <java/util/EventObject.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace prng
+ {
+ class RandomEvent;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::prng::RandomEvent : public ::java::util::EventObject
+{
+
+public:
+ RandomEvent(::java::lang::Object *, jbyte, jbyte, JArray< jbyte > *);
+ virtual jbyte getSourceNumber();
+ virtual jbyte getPoolNumber();
+ virtual JArray< jbyte > * getData();
+private:
+ jbyte __attribute__((aligned(__alignof__( ::java::util::EventObject)))) sourceNumber;
+ jbyte poolNumber;
+ JArray< jbyte > * data;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_prng_RandomEvent__
diff --git a/libjava/gnu/java/security/prng/RandomEventListener.h b/libjava/gnu/java/security/prng/RandomEventListener.h
new file mode 100644
index 000000000..5aef74bec
--- /dev/null
+++ b/libjava/gnu/java/security/prng/RandomEventListener.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_prng_RandomEventListener__
+#define __gnu_java_security_prng_RandomEventListener__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace prng
+ {
+ class RandomEvent;
+ class RandomEventListener;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::prng::RandomEventListener : public ::java::lang::Object
+{
+
+public:
+ virtual void addRandomEvent(::gnu::java::security::prng::RandomEvent *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_prng_RandomEventListener__
diff --git a/libjava/gnu/java/security/provider/CollectionCertStoreImpl.h b/libjava/gnu/java/security/provider/CollectionCertStoreImpl.h
new file mode 100644
index 000000000..947bfe5be
--- /dev/null
+++ b/libjava/gnu/java/security/provider/CollectionCertStoreImpl.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_provider_CollectionCertStoreImpl__
+#define __gnu_java_security_provider_CollectionCertStoreImpl__
+
+#pragma interface
+
+#include <java/security/cert/CertStoreSpi.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace provider
+ {
+ class CollectionCertStoreImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ namespace cert
+ {
+ class CRLSelector;
+ class CertSelector;
+ class CertStoreParameters;
+ }
+ }
+ }
+}
+
+class gnu::java::security::provider::CollectionCertStoreImpl : public ::java::security::cert::CertStoreSpi
+{
+
+public:
+ CollectionCertStoreImpl(::java::security::cert::CertStoreParameters *);
+ ::java::util::Collection * engineGetCertificates(::java::security::cert::CertSelector *);
+ ::java::util::Collection * engineGetCRLs(::java::security::cert::CRLSelector *);
+private:
+ ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::security::cert::CertStoreSpi)))) store;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_provider_CollectionCertStoreImpl__
diff --git a/libjava/gnu/java/security/provider/DefaultPolicy.h b/libjava/gnu/java/security/provider/DefaultPolicy.h
new file mode 100644
index 000000000..b22595484
--- /dev/null
+++ b/libjava/gnu/java/security/provider/DefaultPolicy.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_provider_DefaultPolicy__
+#define __gnu_java_security_provider_DefaultPolicy__
+
+#pragma interface
+
+#include <java/security/Policy.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace provider
+ {
+ class DefaultPolicy;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class CodeSource;
+ class Permission;
+ class PermissionCollection;
+ }
+ }
+}
+
+class gnu::java::security::provider::DefaultPolicy : public ::java::security::Policy
+{
+
+public:
+ DefaultPolicy();
+ virtual ::java::security::PermissionCollection * getPermissions(::java::security::CodeSource *);
+ virtual void refresh();
+public: // actually package-private
+ static ::java::security::Permission * allPermission;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_provider_DefaultPolicy__
diff --git a/libjava/gnu/java/security/provider/Gnu$1.h b/libjava/gnu/java/security/provider/Gnu$1.h
new file mode 100644
index 000000000..d9fda7337
--- /dev/null
+++ b/libjava/gnu/java/security/provider/Gnu$1.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_provider_Gnu$1__
+#define __gnu_java_security_provider_Gnu$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace provider
+ {
+ class Gnu;
+ class Gnu$1;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::provider::Gnu$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Gnu$1(::gnu::java::security::provider::Gnu *);
+public:
+ virtual ::java::lang::Object * run();
+public: // actually package-private
+ ::gnu::java::security::provider::Gnu * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_provider_Gnu$1__
diff --git a/libjava/gnu/java/security/provider/Gnu.h b/libjava/gnu/java/security/provider/Gnu.h
new file mode 100644
index 000000000..78c78faa7
--- /dev/null
+++ b/libjava/gnu/java/security/provider/Gnu.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_provider_Gnu__
+#define __gnu_java_security_provider_Gnu__
+
+#pragma interface
+
+#include <java/security/Provider.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace provider
+ {
+ class Gnu;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::provider::Gnu : public ::java::security::Provider
+{
+
+public:
+ Gnu();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_provider_Gnu__
diff --git a/libjava/gnu/java/security/provider/PKIXCertPathValidatorImpl.h b/libjava/gnu/java/security/provider/PKIXCertPathValidatorImpl.h
new file mode 100644
index 000000000..196a93a9a
--- /dev/null
+++ b/libjava/gnu/java/security/provider/PKIXCertPathValidatorImpl.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_provider_PKIXCertPathValidatorImpl__
+#define __gnu_java_security_provider_PKIXCertPathValidatorImpl__
+
+#pragma interface
+
+#include <java/security/cert/CertPathValidatorSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace provider
+ {
+ class PKIXCertPathValidatorImpl;
+ }
+ namespace x509
+ {
+ class PolicyNodeImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PublicKey;
+ namespace cert
+ {
+ class CertPath;
+ class CertPathParameters;
+ class CertPathValidatorResult;
+ class PKIXParameters;
+ class X509CRL;
+ class X509Certificate;
+ }
+ }
+ }
+}
+
+class gnu::java::security::provider::PKIXCertPathValidatorImpl : public ::java::security::cert::CertPathValidatorSpi
+{
+
+public:
+ PKIXCertPathValidatorImpl();
+ virtual ::java::security::cert::CertPathValidatorResult * engineValidate(::java::security::cert::CertPath *, ::java::security::cert::CertPathParameters *);
+private:
+ static jboolean checkCRL(::java::security::cert::X509CRL *, JArray< ::java::security::cert::X509Certificate * > *, ::java::util::Date *, ::java::security::cert::X509Certificate *, ::java::security::PublicKey *, ::java::util::List *);
+ static ::java::util::Set * getCritExts(::java::security::cert::X509Certificate *);
+ static void basicSanity(JArray< ::java::security::cert::X509Certificate * > *, jint);
+ static void updatePolicyTree(::java::security::cert::X509Certificate *, ::gnu::java::security::x509::PolicyNodeImpl *, jint, ::java::security::cert::PKIXParameters *, jboolean);
+ jboolean checkExplicitPolicy(jint, ::java::util::List *);
+ static ::java::util::logging::Logger * log;
+public:
+ static ::java::lang::String * ANY_POLICY;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_provider_PKIXCertPathValidatorImpl__
diff --git a/libjava/gnu/java/security/provider/X509CertificateFactory.h b/libjava/gnu/java/security/provider/X509CertificateFactory.h
new file mode 100644
index 000000000..67fdd9067
--- /dev/null
+++ b/libjava/gnu/java/security/provider/X509CertificateFactory.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_provider_X509CertificateFactory__
+#define __gnu_java_security_provider_X509CertificateFactory__
+
+#pragma interface
+
+#include <java/security/cert/CertificateFactorySpi.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace provider
+ {
+ class X509CertificateFactory;
+ }
+ namespace x509
+ {
+ class X509CRL;
+ class X509Certificate;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ namespace cert
+ {
+ class CRL;
+ class CertPath;
+ class Certificate;
+ }
+ }
+ }
+}
+
+class gnu::java::security::provider::X509CertificateFactory : public ::java::security::cert::CertificateFactorySpi
+{
+
+public:
+ X509CertificateFactory();
+ virtual ::java::security::cert::Certificate * engineGenerateCertificate(::java::io::InputStream *);
+ virtual ::java::util::Collection * engineGenerateCertificates(::java::io::InputStream *);
+ virtual ::java::security::cert::CRL * engineGenerateCRL(::java::io::InputStream *);
+ virtual ::java::util::Collection * engineGenerateCRLs(::java::io::InputStream *);
+ virtual ::java::security::cert::CertPath * engineGenerateCertPath(::java::util::List *);
+ virtual ::java::security::cert::CertPath * engineGenerateCertPath(::java::io::InputStream *);
+ virtual ::java::security::cert::CertPath * engineGenerateCertPath(::java::io::InputStream *, ::java::lang::String *);
+ virtual ::java::util::Iterator * engineGetCertPathEncodings();
+private:
+ ::gnu::java::security::x509::X509Certificate * generateCert(::java::io::InputStream *);
+ ::gnu::java::security::x509::X509CRL * generateCRL(::java::io::InputStream *);
+public:
+ static ::java::lang::String * BEGIN_CERTIFICATE;
+ static ::java::lang::String * END_CERTIFICATE;
+ static ::java::lang::String * BEGIN_X509_CRL;
+ static ::java::lang::String * END_X509_CRL;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_provider_X509CertificateFactory__
diff --git a/libjava/gnu/java/security/sig/BaseSignature.h b/libjava/gnu/java/security/sig/BaseSignature.h
new file mode 100644
index 000000000..2f4ab0e98
--- /dev/null
+++ b/libjava/gnu/java/security/sig/BaseSignature.h
@@ -0,0 +1,86 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_BaseSignature__
+#define __gnu_java_security_sig_BaseSignature__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class IMessageDigest;
+ }
+ namespace prng
+ {
+ class IRandom;
+ }
+ namespace sig
+ {
+ class BaseSignature;
+ }
+ namespace util
+ {
+ class PRNG;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ }
+ }
+}
+
+class gnu::java::security::sig::BaseSignature : public ::java::lang::Object
+{
+
+public: // actually protected
+ BaseSignature(::java::lang::String *, ::gnu::java::security::hash::IMessageDigest *);
+public:
+ virtual ::java::lang::String * name();
+ virtual void setupVerify(::java::util::Map *);
+ virtual void setupSign(::java::util::Map *);
+ virtual void update(jbyte);
+ virtual void update(JArray< jbyte > *, jint, jint);
+ virtual ::java::lang::Object * sign();
+ virtual jboolean verify(::java::lang::Object *);
+ virtual ::java::lang::Object * clone() = 0;
+public: // actually protected
+ virtual void setupForVerification(::java::security::PublicKey *) = 0;
+ virtual void setupForSigning(::java::security::PrivateKey *) = 0;
+ virtual ::java::lang::Object * generateSignature() = 0;
+ virtual jboolean verifySignature(::java::lang::Object *) = 0;
+ virtual void init();
+ virtual void nextRandomBytes(JArray< jbyte > *);
+private:
+ void setup(::java::util::Map *);
+ ::gnu::java::security::util::PRNG * getDefaultPRNG();
+public: // actually protected
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) schemeName;
+ ::gnu::java::security::hash::IMessageDigest * md;
+ ::java::security::PublicKey * publicKey;
+ ::java::security::PrivateKey * privateKey;
+private:
+ ::java::util::Random * rnd;
+ ::gnu::java::security::prng::IRandom * irnd;
+ ::gnu::java::security::util::PRNG * prng;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_BaseSignature__
diff --git a/libjava/gnu/java/security/sig/ISignature.h b/libjava/gnu/java/security/sig/ISignature.h
new file mode 100644
index 000000000..b02f28f5f
--- /dev/null
+++ b/libjava/gnu/java/security/sig/ISignature.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_ISignature__
+#define __gnu_java_security_sig_ISignature__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ class ISignature;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::ISignature : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::String * name() = 0;
+ virtual void setupVerify(::java::util::Map *) = 0;
+ virtual void setupSign(::java::util::Map *) = 0;
+ virtual void update(jbyte) = 0;
+ virtual void update(JArray< jbyte > *, jint, jint) = 0;
+ virtual ::java::lang::Object * sign() = 0;
+ virtual jboolean verify(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * clone() = 0;
+ static ::java::lang::String * VERIFIER_KEY;
+ static ::java::lang::String * SIGNER_KEY;
+ static ::java::lang::String * SOURCE_OF_RANDOMNESS;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_sig_ISignature__
diff --git a/libjava/gnu/java/security/sig/ISignatureCodec.h b/libjava/gnu/java/security/sig/ISignatureCodec.h
new file mode 100644
index 000000000..8924c1224
--- /dev/null
+++ b/libjava/gnu/java/security/sig/ISignatureCodec.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_ISignatureCodec__
+#define __gnu_java_security_sig_ISignatureCodec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ class ISignatureCodec;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::ISignatureCodec : public ::java::lang::Object
+{
+
+public:
+ virtual jint getFormatID() = 0;
+ virtual JArray< jbyte > * encodeSignature(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *) = 0;
+ static const jint RAW_FORMAT = 1;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_sig_ISignatureCodec__
diff --git a/libjava/gnu/java/security/sig/SignatureCodecFactory.h b/libjava/gnu/java/security/sig/SignatureCodecFactory.h
new file mode 100644
index 000000000..56295cbe3
--- /dev/null
+++ b/libjava/gnu/java/security/sig/SignatureCodecFactory.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_SignatureCodecFactory__
+#define __gnu_java_security_sig_SignatureCodecFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ class ISignatureCodec;
+ class SignatureCodecFactory;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::SignatureCodecFactory : public ::java::lang::Object
+{
+
+ SignatureCodecFactory();
+public:
+ static ::gnu::java::security::sig::ISignatureCodec * getInstance(::java::lang::String *);
+ static ::gnu::java::security::sig::ISignatureCodec * getInstance(::java::lang::String *, ::java::lang::String *);
+ static ::gnu::java::security::sig::ISignatureCodec * getInstance(::java::lang::String *, jint);
+ static ::java::util::Set * getNames();
+private:
+ static ::gnu::java::security::sig::ISignatureCodec * getRawCodec(::java::lang::String *);
+ static ::gnu::java::security::sig::ISignatureCodec * getX509Codec(::java::lang::String *);
+ static ::java::util::Set * names;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_SignatureCodecFactory__
diff --git a/libjava/gnu/java/security/sig/SignatureFactory.h b/libjava/gnu/java/security/sig/SignatureFactory.h
new file mode 100644
index 000000000..344c34c84
--- /dev/null
+++ b/libjava/gnu/java/security/sig/SignatureFactory.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_SignatureFactory__
+#define __gnu_java_security_sig_SignatureFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ class ISignature;
+ class SignatureFactory;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::SignatureFactory : public ::java::lang::Object
+{
+
+ SignatureFactory();
+public:
+ static ::gnu::java::security::sig::ISignature * getInstance(::java::lang::String *);
+ static ::java::util::Set * getNames();
+private:
+ static ::java::util::Set * names;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_SignatureFactory__
diff --git a/libjava/gnu/java/security/sig/dss/DSSSignature.h b/libjava/gnu/java/security/sig/dss/DSSSignature.h
new file mode 100644
index 000000000..96781ef3d
--- /dev/null
+++ b/libjava/gnu/java/security/sig/dss/DSSSignature.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_dss_DSSSignature__
+#define __gnu_java_security_sig_dss_DSSSignature__
+
+#pragma interface
+
+#include <gnu/java/security/sig/BaseSignature.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace prng
+ {
+ class IRandom;
+ }
+ namespace sig
+ {
+ namespace dss
+ {
+ class DSSSignature;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ namespace interfaces
+ {
+ class DSAPrivateKey;
+ class DSAPublicKey;
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::dss::DSSSignature : public ::gnu::java::security::sig::BaseSignature
+{
+
+public:
+ DSSSignature();
+private:
+ DSSSignature(::gnu::java::security::sig::dss::DSSSignature *);
+public:
+ static JArray< ::java::math::BigInteger * > * sign(::java::security::interfaces::DSAPrivateKey *, JArray< jbyte > *);
+ static JArray< ::java::math::BigInteger * > * sign(::java::security::interfaces::DSAPrivateKey *, JArray< jbyte > *, ::java::util::Random *);
+ static JArray< ::java::math::BigInteger * > * sign(::java::security::interfaces::DSAPrivateKey *, JArray< jbyte > *, ::gnu::java::security::prng::IRandom *);
+ static jboolean verify(::java::security::interfaces::DSAPublicKey *, JArray< jbyte > *, JArray< ::java::math::BigInteger * > *);
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void setupForVerification(::java::security::PublicKey *);
+ virtual void setupForSigning(::java::security::PrivateKey *);
+ virtual ::java::lang::Object * generateSignature();
+ virtual jboolean verifySignature(::java::lang::Object *);
+private:
+ ::java::lang::Object * encodeSignature(::java::math::BigInteger *, ::java::math::BigInteger *);
+ JArray< ::java::math::BigInteger * > * decodeSignature(::java::lang::Object *);
+ JArray< ::java::math::BigInteger * > * computeRS(JArray< jbyte > *);
+ jboolean checkRS(JArray< ::java::math::BigInteger * > *, JArray< jbyte > *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_dss_DSSSignature__
diff --git a/libjava/gnu/java/security/sig/dss/DSSSignatureRawCodec.h b/libjava/gnu/java/security/sig/dss/DSSSignatureRawCodec.h
new file mode 100644
index 000000000..5229cdd31
--- /dev/null
+++ b/libjava/gnu/java/security/sig/dss/DSSSignatureRawCodec.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_dss_DSSSignatureRawCodec__
+#define __gnu_java_security_sig_dss_DSSSignatureRawCodec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ namespace dss
+ {
+ class DSSSignatureRawCodec;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::dss::DSSSignatureRawCodec : public ::java::lang::Object
+{
+
+public:
+ DSSSignatureRawCodec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodeSignature(::java::lang::Object *);
+ virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_dss_DSSSignatureRawCodec__
diff --git a/libjava/gnu/java/security/sig/dss/DSSSignatureX509Codec.h b/libjava/gnu/java/security/sig/dss/DSSSignatureX509Codec.h
new file mode 100644
index 000000000..d7428b37c
--- /dev/null
+++ b/libjava/gnu/java/security/sig/dss/DSSSignatureX509Codec.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_dss_DSSSignatureX509Codec__
+#define __gnu_java_security_sig_dss_DSSSignatureX509Codec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ namespace dss
+ {
+ class DSSSignatureX509Codec;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::dss::DSSSignatureX509Codec : public ::java::lang::Object
+{
+
+public:
+ DSSSignatureX509Codec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodeSignature(::java::lang::Object *);
+ virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_dss_DSSSignatureX509Codec__
diff --git a/libjava/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.h b/libjava/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.h
new file mode 100644
index 000000000..a0c3987ab
--- /dev/null
+++ b/libjava/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_rsa_EME_PKCS1_V1_5__
+#define __gnu_java_security_sig_rsa_EME_PKCS1_V1_5__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace prng
+ {
+ class IRandom;
+ }
+ namespace sig
+ {
+ namespace rsa
+ {
+ class EME_PKCS1_V1_5;
+ }
+ }
+ namespace util
+ {
+ class PRNG;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ namespace interfaces
+ {
+ class RSAKey;
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::rsa::EME_PKCS1_V1_5 : public ::java::lang::Object
+{
+
+ EME_PKCS1_V1_5(jint);
+public:
+ static ::gnu::java::security::sig::rsa::EME_PKCS1_V1_5 * getInstance(jint);
+ static ::gnu::java::security::sig::rsa::EME_PKCS1_V1_5 * getInstance(::java::security::interfaces::RSAKey *);
+ virtual JArray< jbyte > * encode(JArray< jbyte > *);
+ virtual JArray< jbyte > * encode(JArray< jbyte > *, ::gnu::java::security::prng::IRandom *);
+ virtual JArray< jbyte > * encode(JArray< jbyte > *, ::java::util::Random *);
+ virtual JArray< jbyte > * decode(JArray< jbyte > *);
+private:
+ JArray< jbyte > * assembleEM(JArray< jbyte > *, JArray< jbyte > *);
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) k;
+ ::java::io::ByteArrayOutputStream * baos;
+ ::gnu::java::security::util::PRNG * prng;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_rsa_EME_PKCS1_V1_5__
diff --git a/libjava/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.h b/libjava/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.h
new file mode 100644
index 000000000..780e29d8a
--- /dev/null
+++ b/libjava/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_rsa_EMSA_PKCS1_V1_5__
+#define __gnu_java_security_sig_rsa_EMSA_PKCS1_V1_5__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class IMessageDigest;
+ }
+ namespace sig
+ {
+ namespace rsa
+ {
+ class EMSA_PKCS1_V1_5;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::rsa::EMSA_PKCS1_V1_5 : public ::java::lang::Object
+{
+
+ EMSA_PKCS1_V1_5(::gnu::java::security::hash::IMessageDigest *);
+public:
+ static ::gnu::java::security::sig::rsa::EMSA_PKCS1_V1_5 * getInstance(::java::lang::String *);
+ virtual ::java::lang::Object * clone();
+ virtual JArray< jbyte > * encode(JArray< jbyte > *, jint);
+private:
+ static JArray< jbyte > * MD2_PREFIX;
+ static JArray< jbyte > * MD5_PREFIX;
+ static JArray< jbyte > * SHA160_PREFIX;
+ static JArray< jbyte > * SHA256_PREFIX;
+ static JArray< jbyte > * SHA384_PREFIX;
+ static JArray< jbyte > * SHA512_PREFIX;
+ ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hash;
+ jint hLen;
+ JArray< jbyte > * prefix;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_rsa_EMSA_PKCS1_V1_5__
diff --git a/libjava/gnu/java/security/sig/rsa/EMSA_PSS.h b/libjava/gnu/java/security/sig/rsa/EMSA_PSS.h
new file mode 100644
index 000000000..3a8503233
--- /dev/null
+++ b/libjava/gnu/java/security/sig/rsa/EMSA_PSS.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_rsa_EMSA_PSS__
+#define __gnu_java_security_sig_rsa_EMSA_PSS__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class IMessageDigest;
+ }
+ namespace sig
+ {
+ namespace rsa
+ {
+ class EMSA_PSS;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::rsa::EMSA_PSS : public ::java::lang::Object
+{
+
+ EMSA_PSS(::gnu::java::security::hash::IMessageDigest *);
+public:
+ static ::gnu::java::security::sig::rsa::EMSA_PSS * getInstance(::java::lang::String *);
+ virtual ::java::lang::Object * clone();
+ virtual JArray< jbyte > * encode(JArray< jbyte > *, jint, JArray< jbyte > *);
+ virtual jboolean decode(JArray< jbyte > *, JArray< jbyte > *, jint, jint);
+private:
+ JArray< jbyte > * MGF(JArray< jbyte > *, jint);
+ static ::java::util::logging::Logger * log;
+ ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hash;
+ jint hLen;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_rsa_EMSA_PSS__
diff --git a/libjava/gnu/java/security/sig/rsa/RSA.h b/libjava/gnu/java/security/sig/rsa/RSA.h
new file mode 100644
index 000000000..5ad511491
--- /dev/null
+++ b/libjava/gnu/java/security/sig/rsa/RSA.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_rsa_RSA__
+#define __gnu_java_security_sig_rsa_RSA__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ namespace rsa
+ {
+ class RSA;
+ }
+ }
+ namespace util
+ {
+ class PRNG;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ namespace interfaces
+ {
+ class RSAPrivateKey;
+ class RSAPublicKey;
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::rsa::RSA : public ::java::lang::Object
+{
+
+ RSA();
+public:
+ static ::java::math::BigInteger * sign(::java::security::PrivateKey *, ::java::math::BigInteger *);
+ static ::java::math::BigInteger * verify(::java::security::PublicKey *, ::java::math::BigInteger *);
+ static ::java::math::BigInteger * encrypt(::java::security::PublicKey *, ::java::math::BigInteger *);
+ static ::java::math::BigInteger * decrypt(::java::security::PrivateKey *, ::java::math::BigInteger *);
+ static JArray< jbyte > * I2OSP(::java::math::BigInteger *, jint);
+private:
+ static ::java::math::BigInteger * RSAEP(::java::security::interfaces::RSAPublicKey *, ::java::math::BigInteger *);
+ static ::java::math::BigInteger * RSADP(::java::security::interfaces::RSAPrivateKey *, ::java::math::BigInteger *);
+ static ::java::math::BigInteger * newR(::java::math::BigInteger *);
+ static ::java::math::BigInteger * ZERO;
+ static ::java::math::BigInteger * ONE;
+ static ::gnu::java::security::util::PRNG * prng;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_rsa_RSA__
diff --git a/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.h b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.h
new file mode 100644
index 000000000..082229302
--- /dev/null
+++ b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_rsa_RSAPKCS1V1_5Signature__
+#define __gnu_java_security_sig_rsa_RSAPKCS1V1_5Signature__
+
+#pragma interface
+
+#include <gnu/java/security/sig/BaseSignature.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class IMessageDigest;
+ }
+ namespace sig
+ {
+ namespace rsa
+ {
+ class EMSA_PKCS1_V1_5;
+ class RSAPKCS1V1_5Signature;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ }
+ }
+}
+
+class gnu::java::security::sig::rsa::RSAPKCS1V1_5Signature : public ::gnu::java::security::sig::BaseSignature
+{
+
+public:
+ RSAPKCS1V1_5Signature();
+ RSAPKCS1V1_5Signature(::java::lang::String *);
+ RSAPKCS1V1_5Signature(::gnu::java::security::hash::IMessageDigest *);
+private:
+ RSAPKCS1V1_5Signature(::gnu::java::security::sig::rsa::RSAPKCS1V1_5Signature *);
+public:
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void setupForVerification(::java::security::PublicKey *);
+ virtual void setupForSigning(::java::security::PrivateKey *);
+ virtual ::java::lang::Object * generateSignature();
+ virtual jboolean verifySignature(::java::lang::Object *);
+private:
+ ::gnu::java::security::sig::rsa::EMSA_PKCS1_V1_5 * __attribute__((aligned(__alignof__( ::gnu::java::security::sig::BaseSignature)))) pkcs1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_rsa_RSAPKCS1V1_5Signature__
diff --git a/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.h b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.h
new file mode 100644
index 000000000..2fe018f9e
--- /dev/null
+++ b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureRawCodec__
+#define __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureRawCodec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ namespace rsa
+ {
+ class RSAPKCS1V1_5SignatureRawCodec;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::rsa::RSAPKCS1V1_5SignatureRawCodec : public ::java::lang::Object
+{
+
+public:
+ RSAPKCS1V1_5SignatureRawCodec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodeSignature(::java::lang::Object *);
+ virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureRawCodec__
diff --git a/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.h b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.h
new file mode 100644
index 000000000..4e9da2abc
--- /dev/null
+++ b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureX509Codec__
+#define __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureX509Codec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ namespace rsa
+ {
+ class RSAPKCS1V1_5SignatureX509Codec;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::rsa::RSAPKCS1V1_5SignatureX509Codec : public ::java::lang::Object
+{
+
+public:
+ RSAPKCS1V1_5SignatureX509Codec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodeSignature(::java::lang::Object *);
+ virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureX509Codec__
diff --git a/libjava/gnu/java/security/sig/rsa/RSAPSSSignature.h b/libjava/gnu/java/security/sig/rsa/RSAPSSSignature.h
new file mode 100644
index 000000000..436088972
--- /dev/null
+++ b/libjava/gnu/java/security/sig/rsa/RSAPSSSignature.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_rsa_RSAPSSSignature__
+#define __gnu_java_security_sig_rsa_RSAPSSSignature__
+
+#pragma interface
+
+#include <gnu/java/security/sig/BaseSignature.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class IMessageDigest;
+ }
+ namespace sig
+ {
+ namespace rsa
+ {
+ class EMSA_PSS;
+ class RSAPSSSignature;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class PrivateKey;
+ class PublicKey;
+ }
+ }
+}
+
+class gnu::java::security::sig::rsa::RSAPSSSignature : public ::gnu::java::security::sig::BaseSignature
+{
+
+public:
+ RSAPSSSignature();
+ RSAPSSSignature(::java::lang::String *);
+ RSAPSSSignature(::java::lang::String *, jint);
+ RSAPSSSignature(::gnu::java::security::hash::IMessageDigest *, jint);
+private:
+ RSAPSSSignature(::gnu::java::security::sig::rsa::RSAPSSSignature *);
+public:
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ virtual void setupForVerification(::java::security::PublicKey *);
+ virtual void setupForSigning(::java::security::PrivateKey *);
+ virtual ::java::lang::Object * generateSignature();
+ virtual jboolean verifySignature(::java::lang::Object *);
+private:
+ static ::java::util::logging::Logger * log;
+ ::gnu::java::security::sig::rsa::EMSA_PSS * __attribute__((aligned(__alignof__( ::gnu::java::security::sig::BaseSignature)))) pss;
+ jint sLen;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_rsa_RSAPSSSignature__
diff --git a/libjava/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.h b/libjava/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.h
new file mode 100644
index 000000000..a7efde340
--- /dev/null
+++ b/libjava/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_rsa_RSAPSSSignatureRawCodec__
+#define __gnu_java_security_sig_rsa_RSAPSSSignatureRawCodec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ namespace rsa
+ {
+ class RSAPSSSignatureRawCodec;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::rsa::RSAPSSSignatureRawCodec : public ::java::lang::Object
+{
+
+public:
+ RSAPSSSignatureRawCodec();
+ virtual jint getFormatID();
+ virtual JArray< jbyte > * encodeSignature(::java::lang::Object *);
+ virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_rsa_RSAPSSSignatureRawCodec__
diff --git a/libjava/gnu/java/security/sig/rsa/RSASignatureFactory.h b/libjava/gnu/java/security/sig/rsa/RSASignatureFactory.h
new file mode 100644
index 000000000..c8b9b2497
--- /dev/null
+++ b/libjava/gnu/java/security/sig/rsa/RSASignatureFactory.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_sig_rsa_RSASignatureFactory__
+#define __gnu_java_security_sig_rsa_RSASignatureFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace sig
+ {
+ class ISignature;
+ namespace rsa
+ {
+ class RSASignatureFactory;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::sig::rsa::RSASignatureFactory : public ::java::lang::Object
+{
+
+ RSASignatureFactory();
+public:
+ static ::gnu::java::security::sig::ISignature * getInstance(::java::lang::String *);
+ static ::java::util::Set * getNames();
+private:
+ static ::gnu::java::security::sig::ISignature * getPSSSignature(::java::lang::String *);
+ static ::gnu::java::security::sig::ISignature * getPKCS1Signature(::java::lang::String *);
+ static ::java::util::Set * names;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_sig_rsa_RSASignatureFactory__
diff --git a/libjava/gnu/java/security/util/ByteArray.h b/libjava/gnu/java/security/util/ByteArray.h
new file mode 100644
index 000000000..6eef185dc
--- /dev/null
+++ b/libjava/gnu/java/security/util/ByteArray.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_ByteArray__
+#define __gnu_java_security_util_ByteArray__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class ByteArray;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::util::ByteArray : public ::java::lang::Object
+{
+
+public:
+ ByteArray(JArray< jbyte > *);
+ JArray< jbyte > * getValue();
+ ::java::lang::String * toString();
+ static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint, jchar);
+ static ::java::lang::String * formatInt(jint, jint, jint);
+private:
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_ByteArray__
diff --git a/libjava/gnu/java/security/util/ByteBufferOutputStream.h b/libjava/gnu/java/security/util/ByteBufferOutputStream.h
new file mode 100644
index 000000000..cfb43d399
--- /dev/null
+++ b/libjava/gnu/java/security/util/ByteBufferOutputStream.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_ByteBufferOutputStream__
+#define __gnu_java_security_util_ByteBufferOutputStream__
+
+#pragma interface
+
+#include <java/io/OutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class ByteBufferOutputStream;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace nio
+ {
+ class ByteBuffer;
+ }
+ }
+}
+
+class gnu::java::security::util::ByteBufferOutputStream : public ::java::io::OutputStream
+{
+
+public:
+ ByteBufferOutputStream();
+ ByteBufferOutputStream(jint);
+ virtual void write(jint);
+ virtual void write(JArray< jbyte > *, jint, jint);
+ virtual void write(JArray< jbyte > *);
+ virtual ::java::nio::ByteBuffer * buffer();
+ virtual ::java::lang::String * toString();
+private:
+ void growBuffer();
+ ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) buffer__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_ByteBufferOutputStream__
diff --git a/libjava/gnu/java/security/util/DerUtil.h b/libjava/gnu/java/security/util/DerUtil.h
new file mode 100644
index 000000000..42ec67e7e
--- /dev/null
+++ b/libjava/gnu/java/security/util/DerUtil.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_DerUtil__
+#define __gnu_java_security_util_DerUtil__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace der
+ {
+ class DERValue;
+ }
+ namespace util
+ {
+ class DerUtil;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::util::DerUtil : public ::java::lang::Object
+{
+
+public:
+ DerUtil();
+ static void checkIsConstructed(::gnu::java::security::der::DERValue *, ::java::lang::String *);
+ static void checkIsBigInteger(::gnu::java::security::der::DERValue *, ::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_DerUtil__
diff --git a/libjava/gnu/java/security/util/ExpirableObject$Destroyer.h b/libjava/gnu/java/security/util/ExpirableObject$Destroyer.h
new file mode 100644
index 000000000..8d39fbb7d
--- /dev/null
+++ b/libjava/gnu/java/security/util/ExpirableObject$Destroyer.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_ExpirableObject$Destroyer__
+#define __gnu_java_security_util_ExpirableObject$Destroyer__
+
+#pragma interface
+
+#include <java/util/TimerTask.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class ExpirableObject;
+ class ExpirableObject$Destroyer;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::util::ExpirableObject$Destroyer : public ::java::util::TimerTask
+{
+
+public: // actually package-private
+ ExpirableObject$Destroyer(::gnu::java::security::util::ExpirableObject *, ::gnu::java::security::util::ExpirableObject *);
+public:
+ void run();
+private:
+ ::gnu::java::security::util::ExpirableObject * __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) target;
+public: // actually package-private
+ ::gnu::java::security::util::ExpirableObject * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_ExpirableObject$Destroyer__
diff --git a/libjava/gnu/java/security/util/ExpirableObject.h b/libjava/gnu/java/security/util/ExpirableObject.h
new file mode 100644
index 000000000..094dc718a
--- /dev/null
+++ b/libjava/gnu/java/security/util/ExpirableObject.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_ExpirableObject__
+#define __gnu_java_security_util_ExpirableObject__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class ExpirableObject;
+ class ExpirableObject$Destroyer;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::util::ExpirableObject : public ::java::lang::Object
+{
+
+public: // actually protected
+ ExpirableObject();
+ ExpirableObject(jlong);
+public:
+ virtual void destroy();
+public: // actually protected
+ virtual void doDestroy() = 0;
+public:
+ virtual jboolean isDestroyed() = 0;
+ static const jlong DEFAULT_TIMEOUT = 3600000LL;
+private:
+ static ::java::util::Timer * EXPIRER;
+ ::gnu::java::security::util::ExpirableObject$Destroyer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) destroyer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_ExpirableObject__
diff --git a/libjava/gnu/java/security/util/FormatUtil.h b/libjava/gnu/java/security/util/FormatUtil.h
new file mode 100644
index 000000000..019395d19
--- /dev/null
+++ b/libjava/gnu/java/security/util/FormatUtil.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_FormatUtil__
+#define __gnu_java_security_util_FormatUtil__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class FormatUtil;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::util::FormatUtil : public ::java::lang::Object
+{
+
+ FormatUtil();
+public:
+ static ::java::lang::String * getEncodingName(jint);
+ static ::java::lang::String * getEncodingShortName(jint);
+ static jint getFormatID(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_FormatUtil__
diff --git a/libjava/gnu/java/security/util/IntegerUtil$1.h b/libjava/gnu/java/security/util/IntegerUtil$1.h
new file mode 100644
index 000000000..03d9674f9
--- /dev/null
+++ b/libjava/gnu/java/security/util/IntegerUtil$1.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_IntegerUtil$1__
+#define __gnu_java_security_util_IntegerUtil$1__
+
+#pragma interface
+
+#include <java/util/LinkedHashMap.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class IntegerUtil$1;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::util::IntegerUtil$1 : public ::java::util::LinkedHashMap
+{
+
+public: // actually package-private
+ IntegerUtil$1(jint, jfloat, jboolean);
+public:
+ virtual jboolean removeEldestEntry(::java::util::Map$Entry *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_IntegerUtil$1__
diff --git a/libjava/gnu/java/security/util/IntegerUtil.h b/libjava/gnu/java/security/util/IntegerUtil.h
new file mode 100644
index 000000000..96a7b24b2
--- /dev/null
+++ b/libjava/gnu/java/security/util/IntegerUtil.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_IntegerUtil__
+#define __gnu_java_security_util_IntegerUtil__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class IntegerUtil;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::util::IntegerUtil : public ::java::lang::Object
+{
+
+ IntegerUtil();
+public:
+ static ::java::lang::Integer * valueOf(::java::lang::String *);
+ static ::java::lang::Integer * valueOf(jint);
+private:
+ static const jint CACHE_SIZE = 100;
+ static ::java::util::Map * cache;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_IntegerUtil__
diff --git a/libjava/gnu/java/security/util/PRNG.h b/libjava/gnu/java/security/util/PRNG.h
new file mode 100644
index 000000000..48b45d749
--- /dev/null
+++ b/libjava/gnu/java/security/util/PRNG.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_PRNG__
+#define __gnu_java_security_util_PRNG__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace prng
+ {
+ class IRandom;
+ }
+ namespace util
+ {
+ class PRNG;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::util::PRNG : public ::java::lang::Object
+{
+
+ PRNG(::gnu::java::security::prng::IRandom *);
+public:
+ static ::gnu::java::security::util::PRNG * getInstance();
+ virtual void nextBytes(JArray< jbyte > *);
+ virtual void nextBytes(JArray< jbyte > *, jint, jint);
+private:
+ ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::java::lang::Object)))) delegate;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_PRNG__
diff --git a/libjava/gnu/java/security/util/Prime.h b/libjava/gnu/java/security/util/Prime.h
new file mode 100644
index 000000000..3dd531300
--- /dev/null
+++ b/libjava/gnu/java/security/util/Prime.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_Prime__
+#define __gnu_java_security_util_Prime__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class Prime;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::util::Prime : public ::java::lang::Object
+{
+
+public:
+ Prime();
+ static ::java::math::BigInteger * generateRandomPrime(jint, jint, ::java::math::BigInteger *);
+ static ::java::math::BigInteger * generateRandomPrime(::java::math::BigInteger *, ::java::math::BigInteger *, jint, jint, ::java::math::BigInteger *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_Prime__
diff --git a/libjava/gnu/java/security/util/Sequence.h b/libjava/gnu/java/security/util/Sequence.h
new file mode 100644
index 000000000..881c5ff90
--- /dev/null
+++ b/libjava/gnu/java/security/util/Sequence.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_Sequence__
+#define __gnu_java_security_util_Sequence__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class Sequence;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::util::Sequence : public ::java::util::AbstractList
+{
+
+public:
+ Sequence(jint);
+ Sequence(jint, jint);
+ Sequence(jint, jint, jint);
+ ::java::lang::Object * get(jint);
+ jint size();
+ JArray< ::java::lang::Object * > * toArray();
+private:
+ JArray< ::java::lang::Integer * > * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) sequence;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_Sequence__
diff --git a/libjava/gnu/java/security/util/SimpleList.h b/libjava/gnu/java/security/util/SimpleList.h
new file mode 100644
index 000000000..dc3c1c77d
--- /dev/null
+++ b/libjava/gnu/java/security/util/SimpleList.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_SimpleList__
+#define __gnu_java_security_util_SimpleList__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class SimpleList;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::util::SimpleList : public ::java::util::AbstractList
+{
+
+public:
+ SimpleList(::java::lang::Object *);
+ SimpleList(::java::lang::Object *, ::java::lang::Object *);
+ SimpleList(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *);
+ SimpleList(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *);
+ SimpleList();
+ SimpleList(::java::util::Collection *);
+ jint size();
+ ::java::lang::Object * get(jint);
+ ::java::lang::String * toString();
+private:
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) elements;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_SimpleList__
diff --git a/libjava/gnu/java/security/util/Util.h b/libjava/gnu/java/security/util/Util.h
new file mode 100644
index 000000000..5e7764e13
--- /dev/null
+++ b/libjava/gnu/java/security/util/Util.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_util_Util__
+#define __gnu_java_security_util_Util__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class Util;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::util::Util : public ::java::lang::Object
+{
+
+ Util();
+public:
+ static ::java::lang::String * toString(JArray< jbyte > *);
+ static ::java::lang::String * toString(JArray< jbyte > *, jint, jint);
+ static ::java::lang::String * toReversedString(JArray< jbyte > *);
+ static ::java::lang::String * toReversedString(JArray< jbyte > *, jint, jint);
+ static JArray< jbyte > * toBytesFromString(::java::lang::String *);
+ static JArray< jbyte > * toReversedBytesFromString(::java::lang::String *);
+ static jint fromDigit(jchar);
+ static ::java::lang::String * toString(jint);
+ static ::java::lang::String * toString(JArray< jint > *);
+ static ::java::lang::String * toString(jlong);
+ static ::java::lang::String * toUnicodeString(JArray< jbyte > *);
+ static ::java::lang::String * toUnicodeString(JArray< jbyte > *, jint, jint);
+ static ::java::lang::String * toUnicodeString(JArray< jint > *);
+ static JArray< jbyte > * toBytesFromUnicode(::java::lang::String *);
+ static ::java::lang::String * dumpString(JArray< jbyte > *, jint, jint, ::java::lang::String *);
+ static ::java::lang::String * dumpString(JArray< jbyte > *);
+ static ::java::lang::String * dumpString(JArray< jbyte > *, ::java::lang::String *);
+ static ::java::lang::String * dumpString(JArray< jbyte > *, jint, jint);
+ static ::java::lang::String * byteToString(jint);
+ static ::java::lang::String * toBase64(JArray< jbyte > *);
+ static JArray< jbyte > * fromBase64(::java::lang::String *);
+ static JArray< jbyte > * trim(::java::math::BigInteger *);
+ static ::java::lang::String * dump(::java::math::BigInteger *);
+private:
+ static JArray< jchar > * HEX_DIGITS;
+ static ::java::lang::String * BASE64_CHARS;
+ static JArray< jchar > * BASE64_CHARSET;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_util_Util__
diff --git a/libjava/gnu/java/security/x509/GnuPKIExtension.h b/libjava/gnu/java/security/x509/GnuPKIExtension.h
new file mode 100644
index 000000000..d91dc7b03
--- /dev/null
+++ b/libjava/gnu/java/security/x509/GnuPKIExtension.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_GnuPKIExtension__
+#define __gnu_java_security_x509_GnuPKIExtension__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ class GnuPKIExtension;
+ namespace ext
+ {
+ class Extension;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::GnuPKIExtension : public ::java::lang::Object
+{
+
+public:
+ virtual ::gnu::java::security::x509::ext::Extension * getExtension(::gnu::java::security::OID *) = 0;
+ virtual ::java::util::Collection * getExtensions() = 0;
+ virtual jboolean hasUnsupportedCriticalExtension() = 0;
+ virtual ::java::util::Set * getCriticalExtensionOIDs() = 0;
+ virtual ::java::util::Set * getNonCriticalExtensionOIDs() = 0;
+ virtual JArray< jbyte > * getExtensionValue(::java::lang::String *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_security_x509_GnuPKIExtension__
diff --git a/libjava/gnu/java/security/x509/PolicyNodeImpl.h b/libjava/gnu/java/security/x509/PolicyNodeImpl.h
new file mode 100644
index 000000000..1786e4b2a
--- /dev/null
+++ b/libjava/gnu/java/security/x509/PolicyNodeImpl.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_PolicyNodeImpl__
+#define __gnu_java_security_x509_PolicyNodeImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace x509
+ {
+ class PolicyNodeImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ namespace cert
+ {
+ class PolicyNode;
+ class PolicyQualifierInfo;
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::PolicyNodeImpl : public ::java::lang::Object
+{
+
+public:
+ PolicyNodeImpl();
+ void addChild(::gnu::java::security::x509::PolicyNodeImpl *);
+ ::java::util::Iterator * getChildren();
+ jint getDepth();
+ void setDepth(jint);
+ void addAllExpectedPolicies(::java::util::Set *);
+ void addExpectedPolicy(::java::lang::String *);
+ ::java::util::Set * getExpectedPolicies();
+ ::java::security::cert::PolicyNode * getParent();
+ void addAllPolicyQualifiers(::java::util::Collection *);
+ void addPolicyQualifier(::java::security::cert::PolicyQualifierInfo *);
+ ::java::util::Set * getPolicyQualifiers();
+ ::java::lang::String * getValidPolicy();
+ void setValidPolicy(::java::lang::String *);
+ jboolean isCritical();
+ void setCritical(jboolean);
+ void setReadOnly();
+ ::java::lang::String * toString();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) policy;
+ ::java::util::Set * expectedPolicies;
+ ::java::util::Set * qualifiers;
+ ::java::util::Set * children;
+ ::gnu::java::security::x509::PolicyNodeImpl * parent;
+ jint depth;
+ jboolean critical;
+ jboolean readOnly;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_PolicyNodeImpl__
diff --git a/libjava/gnu/java/security/x509/Util.h b/libjava/gnu/java/security/x509/Util.h
new file mode 100644
index 000000000..4a6d4c2f2
--- /dev/null
+++ b/libjava/gnu/java/security/x509/Util.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_Util__
+#define __gnu_java_security_x509_Util__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace x509
+ {
+ class Util;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::Util : public ::java::lang::Object
+{
+
+public:
+ Util();
+ static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint);
+ static ::java::lang::String * toHexString(JArray< jbyte > *);
+ static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint, jchar);
+ static ::java::lang::String * toHexString(JArray< jbyte > *, jchar);
+ static ::java::lang::String * hexDump(JArray< jbyte > *, jint, jint, ::java::lang::String *);
+ static ::java::lang::String * hexDump(JArray< jbyte > *, ::java::lang::String *);
+ static ::java::lang::String * formatInt(jint, jint, jint);
+ static JArray< jbyte > * toByteArray(::java::lang::String *);
+ static ::java::lang::String * HEX;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_Util__
diff --git a/libjava/gnu/java/security/x509/X500DistinguishedName.h b/libjava/gnu/java/security/x509/X500DistinguishedName.h
new file mode 100644
index 000000000..c2e949662
--- /dev/null
+++ b/libjava/gnu/java/security/x509/X500DistinguishedName.h
@@ -0,0 +1,90 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_X500DistinguishedName__
+#define __gnu_java_security_x509_X500DistinguishedName__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace der
+ {
+ class DERReader;
+ }
+ namespace x509
+ {
+ class X500DistinguishedName;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::X500DistinguishedName : public ::java::lang::Object
+{
+
+public:
+ X500DistinguishedName();
+ X500DistinguishedName(::java::lang::String *);
+ X500DistinguishedName(JArray< jbyte > *);
+ X500DistinguishedName(::java::io::InputStream *);
+ virtual ::java::lang::String * getName();
+ virtual void newRelativeDistinguishedName();
+ virtual jint size();
+ virtual jint countComponents();
+ virtual jboolean containsComponent(::gnu::java::security::OID *, ::java::lang::String *);
+ virtual ::java::lang::String * getComponent(::gnu::java::security::OID *);
+ virtual ::java::lang::String * getComponent(::gnu::java::security::OID *, jint);
+ virtual void putComponent(::gnu::java::security::OID *, ::java::lang::String *);
+ virtual void putComponent(::java::lang::String *, ::java::lang::String *);
+ virtual void setUnmodifiable();
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+ virtual JArray< jbyte > * getDer();
+private:
+ void parseString(::java::lang::String *);
+ ::java::lang::String * readAttributeType(::java::io::Reader *);
+ ::java::lang::String * readAttributeValue(::java::io::Reader *);
+ void parseDer(::gnu::java::security::der::DERReader *);
+ static ::java::lang::String * compressWS(::java::lang::String *);
+public:
+ static ::gnu::java::security::OID * CN;
+ static ::gnu::java::security::OID * C;
+ static ::gnu::java::security::OID * L;
+ static ::gnu::java::security::OID * ST;
+ static ::gnu::java::security::OID * STREET;
+ static ::gnu::java::security::OID * O;
+ static ::gnu::java::security::OID * OU;
+ static ::gnu::java::security::OID * T;
+ static ::gnu::java::security::OID * DNQ;
+ static ::gnu::java::security::OID * NAME;
+ static ::gnu::java::security::OID * GIVENNAME;
+ static ::gnu::java::security::OID * INITIALS;
+ static ::gnu::java::security::OID * GENERATION;
+ static ::gnu::java::security::OID * EMAIL;
+ static ::gnu::java::security::OID * DC;
+ static ::gnu::java::security::OID * UID;
+private:
+ ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) components;
+ ::java::util::Map * currentRdn;
+ jboolean fixed;
+ ::java::lang::String * stringRep;
+ JArray< jbyte > * encoded;
+ jint sep;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_X500DistinguishedName__
diff --git a/libjava/gnu/java/security/x509/X509CRL.h b/libjava/gnu/java/security/x509/X509CRL.h
new file mode 100644
index 000000000..76d5e1e31
--- /dev/null
+++ b/libjava/gnu/java/security/x509/X509CRL.h
@@ -0,0 +1,124 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_X509CRL__
+#define __gnu_java_security_x509_X509CRL__
+
+#pragma interface
+
+#include <java/security/cert/X509CRL.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ class X500DistinguishedName;
+ class X509CRL;
+ namespace ext
+ {
+ class Extension;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ namespace security
+ {
+ class Principal;
+ class PublicKey;
+ class Signature;
+ namespace cert
+ {
+ class Certificate;
+ class X509CRLEntry;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace security
+ {
+ namespace auth
+ {
+ namespace x500
+ {
+ class X500Principal;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::X509CRL : public ::java::security::cert::X509CRL
+{
+
+public:
+ X509CRL(::java::io::InputStream *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual JArray< jbyte > * getEncoded();
+ virtual void verify(::java::security::PublicKey *);
+ virtual void verify(::java::security::PublicKey *, ::java::lang::String *);
+ virtual jint getVersion();
+ virtual ::java::security::Principal * getIssuerDN();
+ virtual ::javax::security::auth::x500::X500Principal * getIssuerX500Principal();
+ virtual ::java::util::Date * getThisUpdate();
+ virtual ::java::util::Date * getNextUpdate();
+ virtual ::java::security::cert::X509CRLEntry * getRevokedCertificate(::java::math::BigInteger *);
+ virtual ::java::util::Set * getRevokedCertificates();
+ virtual JArray< jbyte > * getTBSCertList();
+ virtual JArray< jbyte > * getSignature();
+ virtual ::java::lang::String * getSigAlgName();
+ virtual ::java::lang::String * getSigAlgOID();
+ virtual JArray< jbyte > * getSigAlgParams();
+ virtual jboolean hasUnsupportedCriticalExtension();
+ virtual ::java::util::Set * getCriticalExtensionOIDs();
+ virtual ::java::util::Set * getNonCriticalExtensionOIDs();
+ virtual JArray< jbyte > * getExtensionValue(::java::lang::String *);
+ virtual ::gnu::java::security::x509::ext::Extension * getExtension(::gnu::java::security::OID *);
+ virtual ::java::util::Collection * getExtensions();
+ virtual ::java::lang::String * toString();
+ virtual jboolean isRevoked(::java::security::cert::Certificate *);
+private:
+ void doVerify(::java::security::Signature *, ::java::security::PublicKey *);
+ void parse(::java::io::InputStream *);
+ static ::java::util::logging::Logger * log;
+ static ::gnu::java::security::OID * ID_DSA;
+ static ::gnu::java::security::OID * ID_DSA_WITH_SHA1;
+ static ::gnu::java::security::OID * ID_RSA;
+ static ::gnu::java::security::OID * ID_RSA_WITH_MD2;
+ static ::gnu::java::security::OID * ID_RSA_WITH_MD5;
+ static ::gnu::java::security::OID * ID_RSA_WITH_SHA1;
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::security::cert::X509CRL)))) encoded;
+ JArray< jbyte > * tbsCRLBytes;
+ jint version;
+ ::gnu::java::security::OID * algId;
+ JArray< jbyte > * algParams;
+ ::java::util::Date * thisUpdate;
+ ::java::util::Date * nextUpdate;
+ ::gnu::java::security::x509::X500DistinguishedName * issuerDN;
+ ::java::util::HashMap * revokedCerts;
+ ::java::util::HashMap * extensions;
+ ::gnu::java::security::OID * sigAlg;
+ JArray< jbyte > * sigAlgParams;
+ JArray< jbyte > * rawSig;
+ JArray< jbyte > * signature;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_X509CRL__
diff --git a/libjava/gnu/java/security/x509/X509CRLEntry.h b/libjava/gnu/java/security/x509/X509CRLEntry.h
new file mode 100644
index 000000000..7b272f75e
--- /dev/null
+++ b/libjava/gnu/java/security/x509/X509CRLEntry.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_X509CRLEntry__
+#define __gnu_java_security_x509_X509CRLEntry__
+
+#pragma interface
+
+#include <java/security/cert/X509CRLEntry.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace der
+ {
+ class DERReader;
+ }
+ namespace x509
+ {
+ class X509CRLEntry;
+ namespace ext
+ {
+ class Extension;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::x509::X509CRLEntry : public ::java::security::cert::X509CRLEntry
+{
+
+public: // actually package-private
+ X509CRLEntry(jint, ::gnu::java::security::der::DERReader *);
+public:
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual JArray< jbyte > * getEncoded();
+ virtual ::java::math::BigInteger * getSerialNumber();
+ virtual ::java::util::Date * getRevocationDate();
+ virtual jboolean hasExtensions();
+ virtual ::java::lang::String * toString();
+ virtual jboolean hasUnsupportedCriticalExtension();
+ virtual ::java::util::Set * getCriticalExtensionOIDs();
+ virtual ::java::util::Set * getNonCriticalExtensionOIDs();
+ virtual JArray< jbyte > * getExtensionValue(::java::lang::String *);
+ virtual ::gnu::java::security::x509::ext::Extension * getExtension(::gnu::java::security::OID *);
+ virtual ::java::util::Collection * getExtensions();
+private:
+ void parse(jint, ::gnu::java::security::der::DERReader *);
+ static ::java::util::logging::Logger * log;
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::security::cert::X509CRLEntry)))) encoded;
+ ::java::math::BigInteger * serialNo;
+ ::java::util::Date * revocationDate;
+ ::java::util::HashMap * extensions;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_X509CRLEntry__
diff --git a/libjava/gnu/java/security/x509/X509CRLSelectorImpl.h b/libjava/gnu/java/security/x509/X509CRLSelectorImpl.h
new file mode 100644
index 000000000..2fc953759
--- /dev/null
+++ b/libjava/gnu/java/security/x509/X509CRLSelectorImpl.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_X509CRLSelectorImpl__
+#define __gnu_java_security_x509_X509CRLSelectorImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace x509
+ {
+ class X509CRLSelectorImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class Principal;
+ namespace cert
+ {
+ class CRL;
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::X509CRLSelectorImpl : public ::java::lang::Object
+{
+
+public:
+ X509CRLSelectorImpl();
+ virtual void addIssuerName(JArray< jbyte > *);
+ virtual void addIssuerName(::java::lang::String *);
+ virtual void addIssuerName(::java::security::Principal *);
+ virtual ::java::util::Collection * getIssuerNames();
+ virtual ::java::lang::Object * clone();
+ virtual jboolean match(::java::security::cert::CRL *);
+private:
+ ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) issuerNames;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_X509CRLSelectorImpl__
diff --git a/libjava/gnu/java/security/x509/X509CertPath.h b/libjava/gnu/java/security/x509/X509CertPath.h
new file mode 100644
index 000000000..5aaadc6dc
--- /dev/null
+++ b/libjava/gnu/java/security/x509/X509CertPath.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_X509CertPath__
+#define __gnu_java_security_x509_X509CertPath__
+
+#pragma interface
+
+#include <java/security/cert/CertPath.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ class X509CertPath;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::X509CertPath : public ::java::security::cert::CertPath
+{
+
+public:
+ X509CertPath(::java::util::List *);
+ X509CertPath(::java::io::InputStream *);
+ X509CertPath(::java::io::InputStream *, ::java::lang::String *);
+ virtual ::java::util::List * getCertificates();
+ virtual JArray< jbyte > * getEncoded();
+ virtual JArray< jbyte > * getEncoded(::java::lang::String *);
+ virtual ::java::util::Iterator * getEncodings();
+private:
+ void parse(::java::io::InputStream *, ::java::lang::String *);
+ JArray< jbyte > * encodePki();
+ JArray< jbyte > * encodePKCS();
+public:
+ static ::java::util::List * ENCODINGS;
+private:
+ static ::gnu::java::security::OID * PKCS7_SIGNED_DATA;
+ static ::gnu::java::security::OID * PKCS7_DATA;
+ ::java::util::List * __attribute__((aligned(__alignof__( ::java::security::cert::CertPath)))) path;
+ JArray< jbyte > * pkcs_encoded;
+ JArray< jbyte > * pki_encoded;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_X509CertPath__
diff --git a/libjava/gnu/java/security/x509/X509CertSelectorImpl.h b/libjava/gnu/java/security/x509/X509CertSelectorImpl.h
new file mode 100644
index 000000000..12a12af5a
--- /dev/null
+++ b/libjava/gnu/java/security/x509/X509CertSelectorImpl.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_X509CertSelectorImpl__
+#define __gnu_java_security_x509_X509CertSelectorImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace x509
+ {
+ class X509CertSelectorImpl;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class Principal;
+ namespace cert
+ {
+ class Certificate;
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::X509CertSelectorImpl : public ::java::lang::Object
+{
+
+public:
+ X509CertSelectorImpl();
+ virtual void addIssuerName(JArray< jbyte > *);
+ virtual void addIssuerName(::java::lang::String *);
+ virtual void addIssuerName(::java::security::Principal *);
+ virtual ::java::util::Collection * getIssuerNames();
+ virtual void addSubjectName(JArray< jbyte > *);
+ virtual void addSubjectName(::java::lang::String *);
+ virtual void addSubjectName(::java::security::Principal *);
+ virtual ::java::util::Collection * getSubjectNames();
+ virtual ::java::lang::Object * clone();
+ virtual jboolean match(::java::security::cert::Certificate *);
+private:
+ ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) issuerNames;
+ ::java::util::Set * subjectNames;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_X509CertSelectorImpl__
diff --git a/libjava/gnu/java/security/x509/X509Certificate.h b/libjava/gnu/java/security/x509/X509Certificate.h
new file mode 100644
index 000000000..68e944360
--- /dev/null
+++ b/libjava/gnu/java/security/x509/X509Certificate.h
@@ -0,0 +1,141 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_X509Certificate__
+#define __gnu_java_security_x509_X509Certificate__
+
+#pragma interface
+
+#include <java/security/cert/X509Certificate.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace der
+ {
+ class BitString;
+ }
+ namespace x509
+ {
+ class X500DistinguishedName;
+ class X509Certificate;
+ namespace ext
+ {
+ class Extension;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ namespace security
+ {
+ class Principal;
+ class PublicKey;
+ class Signature;
+ }
+ }
+ namespace javax
+ {
+ namespace security
+ {
+ namespace auth
+ {
+ namespace x500
+ {
+ class X500Principal;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::X509Certificate : public ::java::security::cert::X509Certificate
+{
+
+public:
+ X509Certificate(::java::io::InputStream *);
+public: // actually protected
+ X509Certificate();
+public:
+ virtual void checkValidity();
+ virtual void checkValidity(::java::util::Date *);
+ virtual jint getVersion();
+ virtual ::java::math::BigInteger * getSerialNumber();
+ virtual ::java::security::Principal * getIssuerDN();
+ virtual ::javax::security::auth::x500::X500Principal * getIssuerX500Principal();
+ virtual ::java::security::Principal * getSubjectDN();
+ virtual ::javax::security::auth::x500::X500Principal * getSubjectX500Principal();
+ virtual ::java::util::Date * getNotBefore();
+ virtual ::java::util::Date * getNotAfter();
+ virtual JArray< jbyte > * getTBSCertificate();
+ virtual JArray< jbyte > * getSignature();
+ virtual ::java::lang::String * getSigAlgName();
+ virtual ::java::lang::String * getSigAlgOID();
+ virtual JArray< jbyte > * getSigAlgParams();
+ virtual JArray< jboolean > * getIssuerUniqueID();
+ virtual JArray< jboolean > * getSubjectUniqueID();
+ virtual JArray< jboolean > * getKeyUsage();
+ virtual ::java::util::List * getExtendedKeyUsage();
+ virtual jint getBasicConstraints();
+ virtual ::java::util::Collection * getSubjectAlternativeNames();
+ virtual ::java::util::Collection * getIssuerAlternativeNames();
+ virtual jboolean hasUnsupportedCriticalExtension();
+ virtual ::java::util::Set * getCriticalExtensionOIDs();
+ virtual ::java::util::Set * getNonCriticalExtensionOIDs();
+ virtual JArray< jbyte > * getExtensionValue(::java::lang::String *);
+ virtual ::gnu::java::security::x509::ext::Extension * getExtension(::gnu::java::security::OID *);
+ virtual ::java::util::Collection * getExtensions();
+ virtual JArray< jbyte > * getEncoded();
+ virtual void verify(::java::security::PublicKey *);
+ virtual void verify(::java::security::PublicKey *, ::java::lang::String *);
+ virtual ::java::lang::String * toString();
+ virtual ::java::security::PublicKey * getPublicKey();
+ virtual jboolean equals(::java::lang::Object *);
+private:
+ void doVerify(::java::security::Signature *, ::java::security::PublicKey *);
+ void parse(::java::io::InputStream *);
+ static const jlong serialVersionUID = -2491127588187038216LL;
+ static ::java::util::logging::Logger * logger;
+public: // actually protected
+ static ::gnu::java::security::OID * ID_DSA;
+ static ::gnu::java::security::OID * ID_DSA_WITH_SHA1;
+ static ::gnu::java::security::OID * ID_RSA;
+ static ::gnu::java::security::OID * ID_RSA_WITH_MD2;
+ static ::gnu::java::security::OID * ID_RSA_WITH_MD5;
+ static ::gnu::java::security::OID * ID_RSA_WITH_SHA1;
+ static ::gnu::java::security::OID * ID_ECDSA_WITH_SHA1;
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::security::cert::X509Certificate)))) encoded;
+ JArray< jbyte > * tbsCertBytes;
+ jint version;
+ ::java::math::BigInteger * serialNo;
+ ::gnu::java::security::OID * algId;
+ JArray< jbyte > * algVal;
+ ::gnu::java::security::x509::X500DistinguishedName * issuer;
+ ::java::util::Date * notBefore;
+ ::java::util::Date * notAfter;
+ ::gnu::java::security::x509::X500DistinguishedName * subject;
+ ::java::security::PublicKey * subjectKey;
+ ::gnu::java::security::der::BitString * issuerUniqueId;
+ ::gnu::java::security::der::BitString * subjectUniqueId;
+ ::java::util::Map * extensions;
+ ::gnu::java::security::OID * sigAlgId;
+ JArray< jbyte > * sigAlgVal;
+ JArray< jbyte > * signature;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_X509Certificate__
diff --git a/libjava/gnu/java/security/x509/ext/AuthorityKeyIdentifier.h b/libjava/gnu/java/security/x509/ext/AuthorityKeyIdentifier.h
new file mode 100644
index 000000000..71b6f6021
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/AuthorityKeyIdentifier.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_AuthorityKeyIdentifier__
+#define __gnu_java_security_x509_ext_AuthorityKeyIdentifier__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class AuthorityKeyIdentifier;
+ class GeneralNames;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::AuthorityKeyIdentifier : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ AuthorityKeyIdentifier(JArray< jbyte > *);
+ virtual JArray< jbyte > * getKeyIdentifier();
+ virtual ::gnu::java::security::x509::ext::GeneralNames * getAuthorityCertIssuer();
+ virtual ::java::math::BigInteger * getAuthorityCertSerialNumber();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) keyIdentifier;
+ ::gnu::java::security::x509::ext::GeneralNames * authorityCertIssuer;
+ ::java::math::BigInteger * authorityCertSerialNumber;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_AuthorityKeyIdentifier__
diff --git a/libjava/gnu/java/security/x509/ext/BasicConstraints.h b/libjava/gnu/java/security/x509/ext/BasicConstraints.h
new file mode 100644
index 000000000..96fffb512
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/BasicConstraints.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_BasicConstraints__
+#define __gnu_java_security_x509_ext_BasicConstraints__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class BasicConstraints;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::BasicConstraints : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ BasicConstraints(JArray< jbyte > *);
+ BasicConstraints(jboolean, jint);
+ virtual jboolean isCA();
+ virtual jint getPathLengthConstraint();
+ virtual JArray< jbyte > * getEncoded();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ jboolean __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) ca;
+ jint pathLenConstraint;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_BasicConstraints__
diff --git a/libjava/gnu/java/security/x509/ext/CRLNumber.h b/libjava/gnu/java/security/x509/ext/CRLNumber.h
new file mode 100644
index 000000000..ef56baae8
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/CRLNumber.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_CRLNumber__
+#define __gnu_java_security_x509_ext_CRLNumber__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class CRLNumber;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::CRLNumber : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ CRLNumber(JArray< jbyte > *);
+ CRLNumber(::java::math::BigInteger *);
+ virtual ::java::math::BigInteger * getNumber();
+ virtual JArray< jbyte > * getEncoded();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) number;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_CRLNumber__
diff --git a/libjava/gnu/java/security/x509/ext/CertificatePolicies.h b/libjava/gnu/java/security/x509/ext/CertificatePolicies.h
new file mode 100644
index 000000000..5de618446
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/CertificatePolicies.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_CertificatePolicies__
+#define __gnu_java_security_x509_ext_CertificatePolicies__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class CertificatePolicies;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::CertificatePolicies : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ CertificatePolicies(JArray< jbyte > *);
+ CertificatePolicies(::java::util::List *, ::java::util::Map *);
+ virtual ::java::util::List * getPolicies();
+ virtual ::java::util::List * getPolicyStrings();
+ virtual ::java::util::List * getPolicyQualifierInfos(::gnu::java::security::OID *);
+ virtual JArray< jbyte > * getEncoded();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) policies;
+ ::java::util::Map * policyQualifierInfos;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_CertificatePolicies__
diff --git a/libjava/gnu/java/security/x509/ext/ExtendedKeyUsage.h b/libjava/gnu/java/security/x509/ext/ExtendedKeyUsage.h
new file mode 100644
index 000000000..61f5f1d05
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/ExtendedKeyUsage.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_ExtendedKeyUsage__
+#define __gnu_java_security_x509_ext_ExtendedKeyUsage__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class ExtendedKeyUsage;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::ExtendedKeyUsage : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ ExtendedKeyUsage(JArray< jbyte > *);
+ virtual ::java::util::List * getPurposeIds();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) purposeIds;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_ExtendedKeyUsage__
diff --git a/libjava/gnu/java/security/x509/ext/Extension$Value.h b/libjava/gnu/java/security/x509/ext/Extension$Value.h
new file mode 100644
index 000000000..04f069ea5
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/Extension$Value.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_Extension$Value__
+#define __gnu_java_security_x509_ext_Extension$Value__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace x509
+ {
+ namespace ext
+ {
+ class Extension$Value;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::Extension$Value : public ::java::lang::Object
+{
+
+public:
+ Extension$Value(JArray< jbyte > *);
+public: // actually protected
+ Extension$Value();
+public:
+ virtual JArray< jbyte > * getEncoded();
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+public: // actually protected
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) encoded;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_Extension$Value__
diff --git a/libjava/gnu/java/security/x509/ext/Extension.h b/libjava/gnu/java/security/x509/ext/Extension.h
new file mode 100644
index 000000000..0e660f918
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/Extension.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_Extension__
+#define __gnu_java_security_x509_ext_Extension__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace der
+ {
+ class DERValue;
+ }
+ namespace x509
+ {
+ namespace ext
+ {
+ class Extension;
+ class Extension$Value;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::Extension : public ::java::lang::Object
+{
+
+public:
+ Extension(JArray< jbyte > *);
+ Extension(::gnu::java::security::OID *, ::gnu::java::security::x509::ext::Extension$Value *, jboolean);
+ virtual ::gnu::java::security::OID * getOid();
+ virtual jboolean isCritical();
+ virtual jboolean isSupported();
+ virtual ::gnu::java::security::x509::ext::Extension$Value * getValue();
+ virtual JArray< jbyte > * getEncoded();
+ virtual ::java::lang::String * toString();
+ virtual ::gnu::java::security::der::DERValue * getDerValue();
+private:
+ void encode();
+ static ::java::util::logging::Logger * log;
+public: // actually protected
+ ::gnu::java::security::OID * __attribute__((aligned(__alignof__( ::java::lang::Object)))) oid;
+ jboolean critical;
+ jboolean isSupported__;
+ ::gnu::java::security::x509::ext::Extension$Value * value;
+ JArray< jbyte > * encoded;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_Extension__
diff --git a/libjava/gnu/java/security/x509/ext/GeneralName$Kind.h b/libjava/gnu/java/security/x509/ext/GeneralName$Kind.h
new file mode 100644
index 000000000..db98200eb
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/GeneralName$Kind.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_GeneralName$Kind__
+#define __gnu_java_security_x509_ext_GeneralName$Kind__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace x509
+ {
+ namespace ext
+ {
+ class GeneralName$Kind;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::GeneralName$Kind : public ::java::lang::Enum
+{
+
+ GeneralName$Kind(::java::lang::String *, jint, jint);
+public:
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * forTag(jint);
+ jint tag();
+ static JArray< ::gnu::java::security::x509::ext::GeneralName$Kind * > * values();
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * valueOf(::java::lang::String *);
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * otherName;
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * rfc822Name;
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * dNSName;
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * x400Address;
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * directoryName;
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * ediPartyName;
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * uniformResourceIdentifier;
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * iPAddress;
+ static ::gnu::java::security::x509::ext::GeneralName$Kind * registeredId;
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) tag__;
+ static JArray< ::gnu::java::security::x509::ext::GeneralName$Kind * > * ENUM$VALUES;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_GeneralName$Kind__
diff --git a/libjava/gnu/java/security/x509/ext/GeneralName.h b/libjava/gnu/java/security/x509/ext/GeneralName.h
new file mode 100644
index 000000000..018bd3637
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/GeneralName.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_GeneralName__
+#define __gnu_java_security_x509_ext_GeneralName__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace x509
+ {
+ namespace ext
+ {
+ class GeneralName;
+ class GeneralName$Kind;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::GeneralName : public ::java::lang::Object
+{
+
+public:
+ GeneralName(JArray< jbyte > *);
+ GeneralName(::gnu::java::security::x509::ext::GeneralName$Kind *, JArray< jbyte > *);
+ virtual ::gnu::java::security::x509::ext::GeneralName$Kind * kind();
+ virtual JArray< jbyte > * name();
+ virtual JArray< jbyte > * encoded();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ static JArray< jint > * $SWITCH_TABLE$gnu$java$security$x509$ext$GeneralName$Kind();
+private:
+ ::gnu::java::security::x509::ext::GeneralName$Kind * __attribute__((aligned(__alignof__( ::java::lang::Object)))) kind__;
+ JArray< jbyte > * name__;
+ JArray< jbyte > * encoded__;
+ static JArray< jint > * $SWITCH_TABLE$gnu$java$security$x509$ext$GeneralName$Kind__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_GeneralName__
diff --git a/libjava/gnu/java/security/x509/ext/GeneralNames.h b/libjava/gnu/java/security/x509/ext/GeneralNames.h
new file mode 100644
index 000000000..e55113b14
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/GeneralNames.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_GeneralNames__
+#define __gnu_java_security_x509_ext_GeneralNames__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace x509
+ {
+ namespace ext
+ {
+ class GeneralNames;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::GeneralNames : public ::java::lang::Object
+{
+
+public:
+ GeneralNames(JArray< jbyte > *);
+ virtual ::java::util::List * getNames();
+ virtual ::java::lang::String * toString();
+private:
+ ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) names;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_GeneralNames__
diff --git a/libjava/gnu/java/security/x509/ext/GeneralSubtree.h b/libjava/gnu/java/security/x509/ext/GeneralSubtree.h
new file mode 100644
index 000000000..dae50e212
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/GeneralSubtree.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_GeneralSubtree__
+#define __gnu_java_security_x509_ext_GeneralSubtree__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace x509
+ {
+ namespace ext
+ {
+ class GeneralName;
+ class GeneralSubtree;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::GeneralSubtree : public ::java::lang::Object
+{
+
+public:
+ GeneralSubtree(JArray< jbyte > *);
+ virtual ::gnu::java::security::x509::ext::GeneralName * base();
+ virtual jint minimum();
+ virtual jint maximum();
+ virtual ::java::lang::String * toString();
+private:
+ ::gnu::java::security::x509::ext::GeneralName * __attribute__((aligned(__alignof__( ::java::lang::Object)))) base__;
+ jint minimum__;
+ jint maximum__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_GeneralSubtree__
diff --git a/libjava/gnu/java/security/x509/ext/IssuerAlternativeNames.h b/libjava/gnu/java/security/x509/ext/IssuerAlternativeNames.h
new file mode 100644
index 000000000..50b3f35a6
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/IssuerAlternativeNames.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_IssuerAlternativeNames__
+#define __gnu_java_security_x509_ext_IssuerAlternativeNames__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class GeneralNames;
+ class IssuerAlternativeNames;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::IssuerAlternativeNames : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ IssuerAlternativeNames(JArray< jbyte > *);
+ virtual ::java::util::List * getNames();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ ::gnu::java::security::x509::ext::GeneralNames * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) names;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_IssuerAlternativeNames__
diff --git a/libjava/gnu/java/security/x509/ext/KeyUsage.h b/libjava/gnu/java/security/x509/ext/KeyUsage.h
new file mode 100644
index 000000000..4293755ad
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/KeyUsage.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_KeyUsage__
+#define __gnu_java_security_x509_ext_KeyUsage__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace der
+ {
+ class BitString;
+ }
+ namespace x509
+ {
+ namespace ext
+ {
+ class KeyUsage;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::KeyUsage : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ KeyUsage(JArray< jbyte > *);
+ virtual ::gnu::java::security::der::BitString * getKeyUsage();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+ static const jint DIGITAL_SIGNATURE = 0;
+ static const jint NON_REPUDIATION = 1;
+ static const jint KEY_ENCIPHERMENT = 2;
+ static const jint DATA_ENCIPHERMENT = 3;
+ static const jint KEY_AGREEMENT = 4;
+ static const jint KEY_CERT_SIGN = 5;
+ static const jint CRL_SIGN = 6;
+ static const jint ENCIPHER_ONLY = 7;
+ static const jint DECIPHER_ONLY = 8;
+private:
+ ::gnu::java::security::der::BitString * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) keyUsage;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_KeyUsage__
diff --git a/libjava/gnu/java/security/x509/ext/NameConstraints.h b/libjava/gnu/java/security/x509/ext/NameConstraints.h
new file mode 100644
index 000000000..f7bc77880
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/NameConstraints.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_NameConstraints__
+#define __gnu_java_security_x509_ext_NameConstraints__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class NameConstraints;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::NameConstraints : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ NameConstraints(JArray< jbyte > *);
+ virtual ::java::util::List * permittedSubtrees();
+ virtual ::java::util::List * excludedSubtrees();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) permittedSubtrees__;
+ ::java::util::List * excludedSubtrees__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_NameConstraints__
diff --git a/libjava/gnu/java/security/x509/ext/PolicyConstraint.h b/libjava/gnu/java/security/x509/ext/PolicyConstraint.h
new file mode 100644
index 000000000..1846d461f
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/PolicyConstraint.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_PolicyConstraint__
+#define __gnu_java_security_x509_ext_PolicyConstraint__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class PolicyConstraint;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::PolicyConstraint : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ PolicyConstraint(JArray< jbyte > *);
+ virtual jint getRequireExplicitPolicy();
+ virtual jint getInhibitPolicyMapping();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) requireExplicitPolicy;
+ jint inhibitPolicyMapping;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_PolicyConstraint__
diff --git a/libjava/gnu/java/security/x509/ext/PolicyMappings.h b/libjava/gnu/java/security/x509/ext/PolicyMappings.h
new file mode 100644
index 000000000..2741db3fa
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/PolicyMappings.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_PolicyMappings__
+#define __gnu_java_security_x509_ext_PolicyMappings__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class PolicyMappings;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::PolicyMappings : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ PolicyMappings(JArray< jbyte > *);
+ virtual ::gnu::java::security::OID * getSubjectDomainPolicy(::gnu::java::security::OID *);
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ ::java::util::Map * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) mappings;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_PolicyMappings__
diff --git a/libjava/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.h b/libjava/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.h
new file mode 100644
index 000000000..0d14162b7
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_PrivateKeyUsagePeriod__
+#define __gnu_java_security_x509_ext_PrivateKeyUsagePeriod__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class PrivateKeyUsagePeriod;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::PrivateKeyUsagePeriod : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ PrivateKeyUsagePeriod(JArray< jbyte > *);
+ virtual ::java::util::Date * getNotBefore();
+ virtual ::java::util::Date * getNotAfter();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ ::java::util::Date * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) notBefore;
+ ::java::util::Date * notAfter;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_PrivateKeyUsagePeriod__
diff --git a/libjava/gnu/java/security/x509/ext/ReasonCode.h b/libjava/gnu/java/security/x509/ext/ReasonCode.h
new file mode 100644
index 000000000..03a3c454a
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/ReasonCode.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_ReasonCode__
+#define __gnu_java_security_x509_ext_ReasonCode__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class ReasonCode;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::ReasonCode : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ ReasonCode(JArray< jbyte > *);
+ virtual jint getReasonCode();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+ jint __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) reason;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_ReasonCode__
diff --git a/libjava/gnu/java/security/x509/ext/SubjectAlternativeNames.h b/libjava/gnu/java/security/x509/ext/SubjectAlternativeNames.h
new file mode 100644
index 000000000..80e9ac055
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/SubjectAlternativeNames.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_SubjectAlternativeNames__
+#define __gnu_java_security_x509_ext_SubjectAlternativeNames__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class GeneralNames;
+ class SubjectAlternativeNames;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::SubjectAlternativeNames : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ SubjectAlternativeNames(JArray< jbyte > *);
+ virtual ::java::util::List * getNames();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ ::gnu::java::security::x509::ext::GeneralNames * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) names;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_SubjectAlternativeNames__
diff --git a/libjava/gnu/java/security/x509/ext/SubjectKeyIdentifier.h b/libjava/gnu/java/security/x509/ext/SubjectKeyIdentifier.h
new file mode 100644
index 000000000..46cb0f4d6
--- /dev/null
+++ b/libjava/gnu/java/security/x509/ext/SubjectKeyIdentifier.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_security_x509_ext_SubjectKeyIdentifier__
+#define __gnu_java_security_x509_ext_SubjectKeyIdentifier__
+
+#pragma interface
+
+#include <gnu/java/security/x509/ext/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace x509
+ {
+ namespace ext
+ {
+ class SubjectKeyIdentifier;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::security::x509::ext::SubjectKeyIdentifier : public ::gnu::java::security::x509::ext::Extension$Value
+{
+
+public:
+ SubjectKeyIdentifier(JArray< jbyte > *);
+ virtual JArray< jbyte > * getKeyIdentifier();
+ virtual ::java::lang::String * toString();
+ static ::gnu::java::security::OID * ID;
+private:
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) keyIdentifier;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_security_x509_ext_SubjectKeyIdentifier__
diff --git a/libjava/gnu/java/text/AttributedFormatBuffer.h b/libjava/gnu/java/text/AttributedFormatBuffer.h
new file mode 100644
index 000000000..382afe1a3
--- /dev/null
+++ b/libjava/gnu/java/text/AttributedFormatBuffer.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_text_AttributedFormatBuffer__
+#define __gnu_java_text_AttributedFormatBuffer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace text
+ {
+ class AttributedFormatBuffer;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace text
+ {
+ class AttributedCharacterIterator$Attribute;
+ }
+ }
+}
+
+class gnu::java::text::AttributedFormatBuffer : public ::java::lang::Object
+{
+
+public:
+ AttributedFormatBuffer(::gnu::java::lang::CPStringBuilder *);
+ AttributedFormatBuffer(jint);
+ AttributedFormatBuffer();
+private:
+ void addAttribute(jint, ::java::text::AttributedCharacterIterator$Attribute *);
+public:
+ virtual void append(::java::lang::String *);
+ virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *);
+ virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *);
+ virtual void append(jchar);
+ virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *);
+ virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *);
+ virtual ::java::text::AttributedCharacterIterator$Attribute * getDefaultAttribute();
+ virtual void cutTail(jint);
+ virtual jint length();
+ virtual void clear();
+ virtual void sync();
+ virtual ::gnu::java::lang::CPStringBuilder * getBuffer();
+ virtual JArray< jint > * getRanges();
+ virtual JArray< ::java::util::HashMap * > * getAttributes();
+private:
+ ::gnu::java::lang::CPStringBuilder * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+ ::java::util::ArrayList * ranges;
+ ::java::util::ArrayList * attributes;
+ JArray< jint > * a_ranges;
+ JArray< ::java::util::HashMap * > * a_attributes;
+ jint startingRange;
+public: // actually package-private
+ ::java::text::AttributedCharacterIterator$Attribute * defaultAttr;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_text_AttributedFormatBuffer__
diff --git a/libjava/gnu/java/text/BaseBreakIterator.h b/libjava/gnu/java/text/BaseBreakIterator.h
new file mode 100644
index 000000000..50998950f
--- /dev/null
+++ b/libjava/gnu/java/text/BaseBreakIterator.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_text_BaseBreakIterator__
+#define __gnu_java_text_BaseBreakIterator__
+
+#pragma interface
+
+#include <java/text/BreakIterator.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace text
+ {
+ class BaseBreakIterator;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace text
+ {
+ class CharacterIterator;
+ }
+ }
+}
+
+class gnu::java::text::BaseBreakIterator : public ::java::text::BreakIterator
+{
+
+public:
+ BaseBreakIterator();
+ virtual jint current();
+ virtual jint first();
+ virtual jint following(jint);
+ virtual ::java::text::CharacterIterator * getText();
+ virtual jint last();
+ virtual jint next(jint);
+ virtual void setText(::java::text::CharacterIterator *);
+public: // actually protected
+ ::java::text::CharacterIterator * __attribute__((aligned(__alignof__( ::java::text::BreakIterator)))) iter;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_text_BaseBreakIterator__
diff --git a/libjava/gnu/java/text/CharacterBreakIterator.h b/libjava/gnu/java/text/CharacterBreakIterator.h
new file mode 100644
index 000000000..39d681cbc
--- /dev/null
+++ b/libjava/gnu/java/text/CharacterBreakIterator.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_text_CharacterBreakIterator__
+#define __gnu_java_text_CharacterBreakIterator__
+
+#pragma interface
+
+#include <gnu/java/text/BaseBreakIterator.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace text
+ {
+ class CharacterBreakIterator;
+ }
+ }
+ }
+}
+
+class gnu::java::text::CharacterBreakIterator : public ::gnu::java::text::BaseBreakIterator
+{
+
+public:
+ virtual ::java::lang::Object * clone();
+ CharacterBreakIterator();
+private:
+ CharacterBreakIterator(::gnu::java::text::CharacterBreakIterator *);
+ jboolean isL(jchar);
+ jboolean isV(jchar);
+ jboolean isT(jchar);
+ jboolean isLVT(jchar);
+ jboolean isHighSurrogate(jchar);
+ jboolean isLowSurrogate(jchar);
+public:
+ virtual jint next();
+ virtual jint previous();
+private:
+ static const jint LBase = 4352;
+ static const jint VBase = 4449;
+ static const jint TBase = 4519;
+ static const jint LCount = 19;
+ static const jint VCount = 21;
+ static const jint TCount = 28;
+ static const jint highSurrogateStart = 55296;
+ static const jint highSurrogateEnd = 56319;
+ static const jint lowSurrogateStart = 56320;
+ static const jint lowSurrogateEnd = 57343;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_text_CharacterBreakIterator__
diff --git a/libjava/gnu/java/text/FormatBuffer.h b/libjava/gnu/java/text/FormatBuffer.h
new file mode 100644
index 000000000..267cf6fb0
--- /dev/null
+++ b/libjava/gnu/java/text/FormatBuffer.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_text_FormatBuffer__
+#define __gnu_java_text_FormatBuffer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace text
+ {
+ class FormatBuffer;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace text
+ {
+ class AttributedCharacterIterator$Attribute;
+ }
+ }
+}
+
+class gnu::java::text::FormatBuffer : public ::java::lang::Object
+{
+
+public:
+ virtual void append(::java::lang::String *) = 0;
+ virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *) = 0;
+ virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *) = 0;
+ virtual void append(jchar) = 0;
+ virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *) = 0;
+ virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *) = 0;
+ virtual ::java::text::AttributedCharacterIterator$Attribute * getDefaultAttribute() = 0;
+ virtual void cutTail(jint) = 0;
+ virtual void clear() = 0;
+ virtual jint length() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_text_FormatBuffer__
diff --git a/libjava/gnu/java/text/FormatCharacterIterator.h b/libjava/gnu/java/text/FormatCharacterIterator.h
new file mode 100644
index 000000000..82c7fa02e
--- /dev/null
+++ b/libjava/gnu/java/text/FormatCharacterIterator.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_text_FormatCharacterIterator__
+#define __gnu_java_text_FormatCharacterIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace text
+ {
+ class FormatCharacterIterator;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace text
+ {
+ class AttributedCharacterIterator;
+ class AttributedCharacterIterator$Attribute;
+ }
+ }
+}
+
+class gnu::java::text::FormatCharacterIterator : public ::java::lang::Object
+{
+
+public:
+ FormatCharacterIterator();
+ FormatCharacterIterator(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *);
+ virtual ::java::util::Set * getAllAttributeKeys();
+ virtual ::java::util::Map * getAttributes();
+ virtual ::java::lang::Object * getAttribute(::java::text::AttributedCharacterIterator$Attribute *);
+ virtual jint getRunLimit(::java::util::Set *);
+ virtual jint getRunLimit(::java::text::AttributedCharacterIterator$Attribute *);
+ virtual jint getRunLimit();
+ virtual jint getRunStart(::java::util::Set *);
+ virtual jint getRunStart();
+ virtual jint getRunStart(::java::text::AttributedCharacterIterator$Attribute *);
+ virtual ::java::lang::Object * clone();
+ virtual jchar current();
+ virtual jchar first();
+ virtual jint getBeginIndex();
+ virtual jint getEndIndex();
+ virtual jint getIndex();
+ virtual jchar last();
+ virtual jchar next();
+ virtual jchar previous();
+ virtual jchar setIndex(jint);
+ virtual void mergeAttributes(JArray< ::java::util::HashMap * > *, JArray< jint > *);
+ virtual void append(::java::text::AttributedCharacterIterator *);
+ virtual void append(::java::lang::String *, ::java::util::HashMap *);
+ virtual void append(::java::lang::String *);
+ virtual void addAttributes(::java::util::HashMap *, jint, jint);
+private:
+ void debug(::java::lang::String *);
+ void dumpTable();
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) formattedString;
+ jint charIndex;
+ jint attributeIndex;
+ JArray< jint > * ranges;
+ JArray< ::java::util::HashMap * > * attributes;
+ static const jboolean DEBUG = 0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_text_FormatCharacterIterator__
diff --git a/libjava/gnu/java/text/LineBreakIterator.h b/libjava/gnu/java/text/LineBreakIterator.h
new file mode 100644
index 000000000..0c4c428c5
--- /dev/null
+++ b/libjava/gnu/java/text/LineBreakIterator.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_text_LineBreakIterator__
+#define __gnu_java_text_LineBreakIterator__
+
+#pragma interface
+
+#include <gnu/java/text/BaseBreakIterator.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace text
+ {
+ class LineBreakIterator;
+ }
+ }
+ }
+}
+
+class gnu::java::text::LineBreakIterator : public ::gnu::java::text::BaseBreakIterator
+{
+
+public:
+ virtual ::java::lang::Object * clone();
+ LineBreakIterator();
+private:
+ LineBreakIterator(::gnu::java::text::LineBreakIterator *);
+ jboolean isNb(jchar);
+ jboolean isClose(jint);
+ jboolean isIdeo(jchar);
+public:
+ virtual jint next();
+ virtual jint previous();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_text_LineBreakIterator__
diff --git a/libjava/gnu/java/text/SentenceBreakIterator.h b/libjava/gnu/java/text/SentenceBreakIterator.h
new file mode 100644
index 000000000..ae5438900
--- /dev/null
+++ b/libjava/gnu/java/text/SentenceBreakIterator.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_text_SentenceBreakIterator__
+#define __gnu_java_text_SentenceBreakIterator__
+
+#pragma interface
+
+#include <gnu/java/text/BaseBreakIterator.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace text
+ {
+ class SentenceBreakIterator;
+ }
+ }
+ }
+}
+
+class gnu::java::text::SentenceBreakIterator : public ::gnu::java::text::BaseBreakIterator
+{
+
+public:
+ virtual ::java::lang::Object * clone();
+ SentenceBreakIterator();
+private:
+ SentenceBreakIterator(::gnu::java::text::SentenceBreakIterator *);
+public:
+ virtual jint next();
+private:
+ jint previous_internal();
+public:
+ virtual jint previous();
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::text::BaseBreakIterator)))) period;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_text_SentenceBreakIterator__
diff --git a/libjava/gnu/java/text/StringFormatBuffer.h b/libjava/gnu/java/text/StringFormatBuffer.h
new file mode 100644
index 000000000..9ee5bf8cb
--- /dev/null
+++ b/libjava/gnu/java/text/StringFormatBuffer.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_text_StringFormatBuffer__
+#define __gnu_java_text_StringFormatBuffer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace text
+ {
+ class StringFormatBuffer;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace text
+ {
+ class AttributedCharacterIterator$Attribute;
+ }
+ }
+}
+
+class gnu::java::text::StringFormatBuffer : public ::java::lang::Object
+{
+
+public:
+ StringFormatBuffer(jint);
+ StringFormatBuffer(::java::lang::StringBuffer *);
+ virtual void append(::java::lang::String *);
+ virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *);
+ virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *);
+ virtual void append(jchar);
+ virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *);
+ virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *);
+ virtual ::java::text::AttributedCharacterIterator$Attribute * getDefaultAttribute();
+ virtual void cutTail(jint);
+ virtual jint length();
+ virtual void clear();
+ virtual ::java::lang::StringBuffer * getBuffer();
+ virtual ::java::lang::String * toString();
+private:
+ ::java::lang::StringBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+ ::java::text::AttributedCharacterIterator$Attribute * defaultAttr;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_text_StringFormatBuffer__
diff --git a/libjava/gnu/java/text/WordBreakIterator.h b/libjava/gnu/java/text/WordBreakIterator.h
new file mode 100644
index 000000000..bcf75bdd9
--- /dev/null
+++ b/libjava/gnu/java/text/WordBreakIterator.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_text_WordBreakIterator__
+#define __gnu_java_text_WordBreakIterator__
+
+#pragma interface
+
+#include <gnu/java/text/BaseBreakIterator.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace text
+ {
+ class WordBreakIterator;
+ }
+ }
+ }
+}
+
+class gnu::java::text::WordBreakIterator : public ::gnu::java::text::BaseBreakIterator
+{
+
+public:
+ virtual ::java::lang::Object * clone();
+ WordBreakIterator();
+private:
+ WordBreakIterator(::gnu::java::text::WordBreakIterator *);
+ jboolean isHira(jchar);
+ jboolean isKata(jchar);
+ jboolean isHan(jchar);
+public:
+ virtual jint next();
+ virtual jint previous();
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_text_WordBreakIterator__
diff --git a/libjava/gnu/java/util/Base64.h b/libjava/gnu/java/util/Base64.h
new file mode 100644
index 000000000..69c2a4fdd
--- /dev/null
+++ b/libjava/gnu/java/util/Base64.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_Base64__
+#define __gnu_java_util_Base64__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ class Base64;
+ }
+ }
+ }
+}
+
+class gnu::java::util::Base64 : public ::java::lang::Object
+{
+
+ Base64();
+public:
+ static ::java::lang::String * encode(JArray< jbyte > *);
+ static ::java::lang::String * encode(JArray< jbyte > *, jint);
+ static ::java::lang::String * encode(JArray< jbyte > *, jint, jint, jint);
+ static JArray< jbyte > * decode(::java::lang::String *);
+private:
+ static ::java::lang::String * BASE_64;
+ static const jchar BASE_64_PAD = 61;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_Base64__
diff --git a/libjava/gnu/java/util/DoubleEnumeration.h b/libjava/gnu/java/util/DoubleEnumeration.h
new file mode 100644
index 000000000..d1ec0ca35
--- /dev/null
+++ b/libjava/gnu/java/util/DoubleEnumeration.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_DoubleEnumeration__
+#define __gnu_java_util_DoubleEnumeration__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ class DoubleEnumeration;
+ }
+ }
+ }
+}
+
+class gnu::java::util::DoubleEnumeration : public ::java::lang::Object
+{
+
+public:
+ DoubleEnumeration(::java::util::Enumeration *, ::java::util::Enumeration *);
+ virtual jboolean hasMoreElements();
+ virtual ::java::lang::Object * nextElement();
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) hasMore;
+ jboolean hasChecked;
+ ::java::util::Enumeration * e1;
+ ::java::util::Enumeration * e2;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_DoubleEnumeration__
diff --git a/libjava/gnu/java/util/EmptyEnumeration.h b/libjava/gnu/java/util/EmptyEnumeration.h
new file mode 100644
index 000000000..c56509628
--- /dev/null
+++ b/libjava/gnu/java/util/EmptyEnumeration.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_EmptyEnumeration__
+#define __gnu_java_util_EmptyEnumeration__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ class EmptyEnumeration;
+ }
+ }
+ }
+}
+
+class gnu::java::util::EmptyEnumeration : public ::java::lang::Object
+{
+
+public:
+ EmptyEnumeration();
+ static ::gnu::java::util::EmptyEnumeration * getInstance();
+ jboolean hasMoreElements();
+ ::java::lang::Object * nextElement();
+private:
+ static ::gnu::java::util::EmptyEnumeration * instance;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_EmptyEnumeration__
diff --git a/libjava/gnu/java/util/LRUCache.h b/libjava/gnu/java/util/LRUCache.h
new file mode 100644
index 000000000..fc524d0f6
--- /dev/null
+++ b/libjava/gnu/java/util/LRUCache.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_LRUCache__
+#define __gnu_java_util_LRUCache__
+
+#pragma interface
+
+#include <java/util/LinkedHashMap.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ class LRUCache;
+ }
+ }
+ }
+}
+
+class gnu::java::util::LRUCache : public ::java::util::LinkedHashMap
+{
+
+public:
+ LRUCache(jint);
+public: // actually protected
+ virtual jboolean removeEldestEntry(::java::util::Map$Entry *);
+private:
+ jint __attribute__((aligned(__alignof__( ::java::util::LinkedHashMap)))) capacity;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_LRUCache__
diff --git a/libjava/gnu/java/util/WeakIdentityHashMap$1.h b/libjava/gnu/java/util/WeakIdentityHashMap$1.h
new file mode 100644
index 000000000..a25584d5c
--- /dev/null
+++ b/libjava/gnu/java/util/WeakIdentityHashMap$1.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_WeakIdentityHashMap$1__
+#define __gnu_java_util_WeakIdentityHashMap$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ class WeakIdentityHashMap$1;
+ class WeakIdentityHashMap$WeakBucket$WeakEntry;
+ class WeakIdentityHashMap$WeakEntrySet;
+ }
+ }
+ }
+}
+
+class gnu::java::util::WeakIdentityHashMap$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ WeakIdentityHashMap$1(::gnu::java::util::WeakIdentityHashMap$WeakEntrySet *);
+private:
+ void checkMod();
+ ::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry * findNext(::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ ::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastEntry;
+ ::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry * nextEntry;
+ jint knownMod;
+ ::gnu::java::util::WeakIdentityHashMap$WeakEntrySet * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_WeakIdentityHashMap$1__
diff --git a/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.h b/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.h
new file mode 100644
index 000000000..5a7c0dda2
--- /dev/null
+++ b/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_WeakIdentityHashMap$WeakBucket$WeakEntry__
+#define __gnu_java_util_WeakIdentityHashMap$WeakBucket$WeakEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ class WeakIdentityHashMap$WeakBucket;
+ class WeakIdentityHashMap$WeakBucket$WeakEntry;
+ }
+ }
+ }
+}
+
+class gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry : public ::java::lang::Object
+{
+
+public:
+ WeakIdentityHashMap$WeakBucket$WeakEntry(::gnu::java::util::WeakIdentityHashMap$WeakBucket *, ::java::lang::Object *);
+ virtual ::gnu::java::util::WeakIdentityHashMap$WeakBucket * getBucket();
+ virtual ::java::lang::Object * getKey();
+ virtual ::java::lang::Object * getValue();
+ virtual ::java::lang::Object * setValue(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key;
+ ::gnu::java::util::WeakIdentityHashMap$WeakBucket * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_WeakIdentityHashMap$WeakBucket$WeakEntry__
diff --git a/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket.h b/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket.h
new file mode 100644
index 000000000..ec84addc6
--- /dev/null
+++ b/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_WeakIdentityHashMap$WeakBucket__
+#define __gnu_java_util_WeakIdentityHashMap$WeakBucket__
+
+#pragma interface
+
+#include <java/lang/ref/WeakReference.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ class WeakIdentityHashMap$WeakBucket;
+ class WeakIdentityHashMap$WeakBucket$WeakEntry;
+ }
+ }
+ }
+}
+
+class gnu::java::util::WeakIdentityHashMap$WeakBucket : public ::java::lang::ref::WeakReference
+{
+
+public:
+ WeakIdentityHashMap$WeakBucket(::java::lang::Object *, ::java::lang::ref::ReferenceQueue *, ::java::lang::Object *, jint);
+public: // actually package-private
+ virtual ::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry * getEntry();
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::ref::WeakReference)))) value;
+ ::gnu::java::util::WeakIdentityHashMap$WeakBucket * next;
+ jint slot;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_WeakIdentityHashMap$WeakBucket__
diff --git a/libjava/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.h b/libjava/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.h
new file mode 100644
index 000000000..136c1dec2
--- /dev/null
+++ b/libjava/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_WeakIdentityHashMap$WeakEntrySet__
+#define __gnu_java_util_WeakIdentityHashMap$WeakEntrySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ class WeakIdentityHashMap;
+ class WeakIdentityHashMap$WeakEntrySet;
+ }
+ }
+ }
+}
+
+class gnu::java::util::WeakIdentityHashMap$WeakEntrySet : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ WeakIdentityHashMap$WeakEntrySet(::gnu::java::util::WeakIdentityHashMap *);
+public:
+ jint size();
+ ::java::util::Iterator * iterator();
+public: // actually package-private
+ static ::gnu::java::util::WeakIdentityHashMap * access$0(::gnu::java::util::WeakIdentityHashMap$WeakEntrySet *);
+ ::gnu::java::util::WeakIdentityHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_WeakIdentityHashMap$WeakEntrySet__
diff --git a/libjava/gnu/java/util/WeakIdentityHashMap.h b/libjava/gnu/java/util/WeakIdentityHashMap.h
new file mode 100644
index 000000000..6bf3aeb7f
--- /dev/null
+++ b/libjava/gnu/java/util/WeakIdentityHashMap.h
@@ -0,0 +1,82 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_WeakIdentityHashMap__
+#define __gnu_java_util_WeakIdentityHashMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ class WeakIdentityHashMap;
+ class WeakIdentityHashMap$WeakBucket;
+ class WeakIdentityHashMap$WeakBucket$WeakEntry;
+ class WeakIdentityHashMap$WeakEntrySet;
+ }
+ }
+ }
+}
+
+class gnu::java::util::WeakIdentityHashMap : public ::java::util::AbstractMap
+{
+
+public:
+ WeakIdentityHashMap();
+ WeakIdentityHashMap(jint);
+ WeakIdentityHashMap(jint, jfloat);
+ WeakIdentityHashMap(::java::util::Map *);
+private:
+ jint hash(::java::lang::Object *);
+public: // actually package-private
+ virtual void cleanQueue();
+private:
+ void rehash();
+ ::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry * internalGet(::java::lang::Object *);
+ void internalAdd(::java::lang::Object *, ::java::lang::Object *);
+public: // actually package-private
+ virtual void internalRemove(::gnu::java::util::WeakIdentityHashMap$WeakBucket *);
+public:
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual ::java::util::Set * entrySet();
+ virtual void clear();
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual ::java::util::Set * keySet();
+ virtual void putAll(::java::util::Map *);
+ virtual ::java::util::Collection * values();
+private:
+ static const jint DEFAULT_CAPACITY = 11;
+ static jfloat DEFAULT_LOAD_FACTOR;
+public: // actually package-private
+ static ::java::lang::Object * NULL_KEY;
+private:
+ ::java::lang::ref::ReferenceQueue * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) queue;
+public: // actually package-private
+ jint size__;
+private:
+ jfloat loadFactor;
+ jint threshold;
+public: // actually package-private
+ jint modCount;
+private:
+ ::gnu::java::util::WeakIdentityHashMap$WeakEntrySet * theEntrySet;
+public: // actually package-private
+ JArray< ::gnu::java::util::WeakIdentityHashMap$WeakBucket * > * buckets;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_WeakIdentityHashMap__
diff --git a/libjava/gnu/java/util/ZoneInfo.h b/libjava/gnu/java/util/ZoneInfo.h
new file mode 100644
index 000000000..83a0bf896
--- /dev/null
+++ b/libjava/gnu/java/util/ZoneInfo.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_ZoneInfo__
+#define __gnu_java_util_ZoneInfo__
+
+#pragma interface
+
+#include <java/util/TimeZone.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ class ZoneInfo;
+ }
+ }
+ }
+}
+
+class gnu::java::util::ZoneInfo : public ::java::util::TimeZone
+{
+
+public:
+ ZoneInfo(jint, ::java::lang::String *, JArray< jlong > *, ::java::util::SimpleTimeZone *);
+ virtual jint getOffset(jint, jint, jint, jint, jint, jint);
+private:
+ jlong findTransition(jlong);
+public:
+ virtual jint getOffset(jlong);
+ virtual jint getRawOffset();
+ virtual void setRawOffset(jint);
+private:
+ void computeDSTSavings();
+public:
+ virtual jint getDSTSavings();
+ virtual jboolean useDaylightTime();
+ virtual jboolean inDaylightTime(::java::util::Date *);
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jboolean hasSameRules(::java::util::TimeZone *);
+ virtual ::java::lang::String * toString();
+ static ::java::util::TimeZone * readTZFile(::java::lang::String *, ::java::lang::String *);
+private:
+ static void skipFully(::java::io::InputStream *, jlong);
+ static ::java::util::SimpleTimeZone * createLastRule(::java::lang::String *);
+ static JArray< jint > * getDateParams(::java::lang::String *);
+ static jint parseTime(::java::lang::String *);
+ static const jint SECS_SHIFT = 22;
+ static const jlong OFFSET_MASK = 2097151LL;
+ static const jint OFFSET_SHIFT = 43;
+ static const jlong IS_DST = 2097152LL;
+ jint __attribute__((aligned(__alignof__( ::java::util::TimeZone)))) rawOffset;
+ jint dstSavings;
+ jboolean useDaylight;
+ JArray< jlong > * transitions;
+ ::java::util::SimpleTimeZone * lastRule;
+ static ::java::util::SimpleTimeZone * gmtZone;
+public: // actually package-private
+ static const jlong serialVersionUID = -3740626706860383657LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_ZoneInfo__
diff --git a/libjava/gnu/java/util/jar/JarUtils.h b/libjava/gnu/java/util/jar/JarUtils.h
new file mode 100644
index 000000000..1d12845fd
--- /dev/null
+++ b/libjava/gnu/java/util/jar/JarUtils.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_jar_JarUtils__
+#define __gnu_java_util_jar_JarUtils__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace jar
+ {
+ class JarUtils;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::jar::JarUtils : public ::java::lang::Object
+{
+
+public:
+ JarUtils();
+ static void readMFManifest(::java::util::jar::Attributes *, ::java::util::Map *, ::java::io::InputStream *);
+ static void readSFManifest(::java::util::jar::Attributes *, ::java::util::Map *, ::java::io::InputStream *);
+private:
+ static void readMainSection(::java::util::jar::Attributes *, ::java::io::BufferedReader *);
+ static void readIndividualSections(::java::util::Map *, ::java::io::BufferedReader *);
+ static void readVersionInfo(::java::util::jar::Attributes *, ::java::io::BufferedReader *);
+ static ::java::lang::String * expectHeader(::java::lang::String *, ::java::io::BufferedReader *);
+ static void read_attributes(::java::util::jar::Attributes *, ::java::io::BufferedReader *);
+ static void readAttribute(::java::util::jar::Attributes *, ::java::lang::String *, ::java::io::BufferedReader *);
+ static ::java::lang::String * readHeaderValue(::java::lang::String *, ::java::io::BufferedReader *);
+ static ::java::util::jar::Attributes * readSectionName(::java::lang::String *, ::java::io::BufferedReader *, ::java::util::Map *);
+ static ::java::lang::String * expectHeader(::java::lang::String *, ::java::io::BufferedReader *, ::java::lang::String *);
+public:
+ static void writeMFManifest(::java::util::jar::Attributes *, ::java::util::Map *, ::java::io::OutputStream *);
+ static void writeSFManifest(::java::util::jar::Attributes *, ::java::util::Map *, ::java::io::OutputStream *);
+private:
+ static void writeVersionInfo(::java::util::jar::Attributes *, ::java::io::OutputStream *);
+ static void writeAttributeEntry(::java::util::Map$Entry *, ::java::io::OutputStream *);
+ static void writeHeader(::java::lang::String *, ::java::lang::String *, ::java::io::OutputStream *);
+public:
+ static ::java::lang::String * META_INF;
+ static ::java::lang::String * DSA_SUFFIX;
+ static ::java::lang::String * SF_SUFFIX;
+ static ::java::lang::String * NAME;
+ static ::java::lang::String * MANIFEST_VERSION;
+ static ::java::lang::String * SIGNATURE_VERSION;
+ static JArray< jbyte > * CRLF;
+private:
+ static ::java::lang::String * DEFAULT_MF_VERSION;
+ static ::java::lang::String * DEFAULT_SF_VERSION;
+ static ::java::util::jar::Attributes$Name * CREATED_BY;
+ static ::java::lang::String * CREATOR;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_jar_JarUtils__
diff --git a/libjava/gnu/java/util/prefs/FileBasedFactory.h b/libjava/gnu/java/util/prefs/FileBasedFactory.h
new file mode 100644
index 000000000..9dfcca351
--- /dev/null
+++ b/libjava/gnu/java/util/prefs/FileBasedFactory.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_prefs_FileBasedFactory__
+#define __gnu_java_util_prefs_FileBasedFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace prefs
+ {
+ class FileBasedFactory;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::prefs::FileBasedFactory : public ::java::lang::Object
+{
+
+public:
+ FileBasedFactory();
+ virtual ::java::util::prefs::Preferences * systemRoot();
+ virtual ::java::util::prefs::Preferences * userRoot();
+private:
+ static ::java::util::prefs::Preferences * systemPreferences;
+ static ::java::util::prefs::Preferences * userPreferences;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_prefs_FileBasedFactory__
diff --git a/libjava/gnu/java/util/prefs/FileBasedPreferences$1.h b/libjava/gnu/java/util/prefs/FileBasedPreferences$1.h
new file mode 100644
index 000000000..244914dad
--- /dev/null
+++ b/libjava/gnu/java/util/prefs/FileBasedPreferences$1.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_prefs_FileBasedPreferences$1__
+#define __gnu_java_util_prefs_FileBasedPreferences$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace prefs
+ {
+ class FileBasedPreferences;
+ class FileBasedPreferences$1;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::prefs::FileBasedPreferences$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ FileBasedPreferences$1(::gnu::java::util::prefs::FileBasedPreferences *);
+public:
+ virtual jboolean accept(::java::io::File *, ::java::lang::String *);
+public: // actually package-private
+ ::gnu::java::util::prefs::FileBasedPreferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_prefs_FileBasedPreferences$1__
diff --git a/libjava/gnu/java/util/prefs/FileBasedPreferences.h b/libjava/gnu/java/util/prefs/FileBasedPreferences.h
new file mode 100644
index 000000000..0b699989f
--- /dev/null
+++ b/libjava/gnu/java/util/prefs/FileBasedPreferences.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_prefs_FileBasedPreferences__
+#define __gnu_java_util_prefs_FileBasedPreferences__
+
+#pragma interface
+
+#include <java/util/prefs/AbstractPreferences.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace prefs
+ {
+ class FileBasedPreferences;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::prefs::FileBasedPreferences : public ::java::util::prefs::AbstractPreferences
+{
+
+public: // actually package-private
+ FileBasedPreferences();
+ FileBasedPreferences(::gnu::java::util::prefs::FileBasedPreferences *, ::java::lang::String *);
+private:
+ void load();
+public:
+ virtual jboolean isUserNode();
+public: // actually protected
+ virtual JArray< ::java::lang::String * > * childrenNamesSpi();
+ virtual ::java::util::prefs::AbstractPreferences * childSpi(::java::lang::String *);
+ virtual JArray< ::java::lang::String * > * keysSpi();
+ virtual ::java::lang::String * getSpi(::java::lang::String *);
+ virtual void putSpi(::java::lang::String *, ::java::lang::String *);
+ virtual void removeSpi(::java::lang::String *);
+ virtual void flushSpi();
+ virtual void syncSpi();
+ virtual void removeNodeSpi();
+private:
+ static ::java::lang::String * DATA_FILE;
+ ::java::io::File * __attribute__((aligned(__alignof__( ::java::util::prefs::AbstractPreferences)))) directory;
+ ::java::io::File * dataFile;
+ ::java::util::Properties * properties;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_prefs_FileBasedPreferences__
diff --git a/libjava/gnu/java/util/prefs/GConfBasedFactory.h b/libjava/gnu/java/util/prefs/GConfBasedFactory.h
new file mode 100644
index 000000000..eca98e33c
--- /dev/null
+++ b/libjava/gnu/java/util/prefs/GConfBasedFactory.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_prefs_GConfBasedFactory__
+#define __gnu_java_util_prefs_GConfBasedFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace prefs
+ {
+ class GConfBasedFactory;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::prefs::GConfBasedFactory : public ::java::lang::Object
+{
+
+public:
+ GConfBasedFactory();
+ virtual ::java::util::prefs::Preferences * systemRoot();
+ virtual ::java::util::prefs::Preferences * userRoot();
+private:
+ static ::java::util::prefs::Preferences * systemPreferences;
+ static ::java::util::prefs::Preferences * userPreferences;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_prefs_GConfBasedFactory__
diff --git a/libjava/gnu/java/util/prefs/GConfBasedPreferences.h b/libjava/gnu/java/util/prefs/GConfBasedPreferences.h
new file mode 100644
index 000000000..54f9f0111
--- /dev/null
+++ b/libjava/gnu/java/util/prefs/GConfBasedPreferences.h
@@ -0,0 +1,81 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_prefs_GConfBasedPreferences__
+#define __gnu_java_util_prefs_GConfBasedPreferences__
+
+#pragma interface
+
+#include <java/util/prefs/AbstractPreferences.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace prefs
+ {
+ class GConfBasedPreferences;
+ namespace gconf
+ {
+ class GConfNativePeer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ class Permission;
+ }
+ }
+}
+
+class gnu::java::util::prefs::GConfBasedPreferences : public ::java::util::prefs::AbstractPreferences
+{
+
+public:
+ GConfBasedPreferences();
+ GConfBasedPreferences(jboolean);
+ GConfBasedPreferences(::java::util::prefs::AbstractPreferences *, ::java::lang::String *, jboolean);
+public: // actually protected
+ virtual ::java::util::prefs::AbstractPreferences * childSpi(::java::lang::String *);
+ virtual JArray< ::java::lang::String * > * childrenNamesSpi();
+public:
+ virtual void flush();
+public: // actually protected
+ virtual void flushSpi();
+ virtual JArray< ::java::lang::String * > * keysSpi();
+private:
+ void postorderRemove(::java::lang::String *);
+public: // actually protected
+ virtual void putSpi(::java::lang::String *, ::java::lang::String *);
+ virtual void removeNodeSpi();
+ virtual void removeSpi(::java::lang::String *);
+public:
+ virtual void sync();
+public: // actually protected
+ virtual void syncSpi();
+ virtual ::java::lang::String * getSpi(::java::lang::String *);
+public:
+ virtual jboolean isUserNode();
+private:
+ ::java::lang::String * getGConfKey(::java::lang::String *);
+ ::java::lang::String * getRealRoot(jboolean);
+ static ::java::security::Permission * PERMISSION;
+ static ::gnu::java::util::prefs::gconf::GConfNativePeer * backend;
+ static ::java::lang::String * DEFAULT_USER_ROOT;
+ static ::java::lang::String * DEFAULT_SYSTEM_ROOT;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::prefs::AbstractPreferences)))) node;
+ jboolean isUser;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_prefs_GConfBasedPreferences__
diff --git a/libjava/gnu/java/util/prefs/MemoryBasedFactory.h b/libjava/gnu/java/util/prefs/MemoryBasedFactory.h
new file mode 100644
index 000000000..7eb4c3d4b
--- /dev/null
+++ b/libjava/gnu/java/util/prefs/MemoryBasedFactory.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_prefs_MemoryBasedFactory__
+#define __gnu_java_util_prefs_MemoryBasedFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace prefs
+ {
+ class MemoryBasedFactory;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::prefs::MemoryBasedFactory : public ::java::lang::Object
+{
+
+public:
+ MemoryBasedFactory();
+ virtual ::java::util::prefs::Preferences * systemRoot();
+ virtual ::java::util::prefs::Preferences * userRoot();
+private:
+ static ::java::util::prefs::Preferences * systemPreferences;
+ static ::java::util::prefs::Preferences * userPreferences;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_prefs_MemoryBasedFactory__
diff --git a/libjava/gnu/java/util/prefs/MemoryBasedPreferences.h b/libjava/gnu/java/util/prefs/MemoryBasedPreferences.h
new file mode 100644
index 000000000..5e73aa0ed
--- /dev/null
+++ b/libjava/gnu/java/util/prefs/MemoryBasedPreferences.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_prefs_MemoryBasedPreferences__
+#define __gnu_java_util_prefs_MemoryBasedPreferences__
+
+#pragma interface
+
+#include <java/util/prefs/AbstractPreferences.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace prefs
+ {
+ class MemoryBasedPreferences;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::prefs::MemoryBasedPreferences : public ::java::util::prefs::AbstractPreferences
+{
+
+public:
+ MemoryBasedPreferences(::gnu::java::util::prefs::MemoryBasedPreferences *, ::java::lang::String *, jboolean);
+ virtual jboolean isUserNode();
+public: // actually protected
+ virtual JArray< ::java::lang::String * > * childrenNamesSpi();
+ virtual ::java::util::prefs::AbstractPreferences * childSpi(::java::lang::String *);
+ virtual JArray< ::java::lang::String * > * keysSpi();
+ virtual ::java::lang::String * getSpi(::java::lang::String *);
+ virtual void putSpi(::java::lang::String *, ::java::lang::String *);
+ virtual void removeSpi(::java::lang::String *);
+ virtual void flushSpi();
+ virtual void syncSpi();
+ virtual void removeNodeSpi();
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::util::prefs::AbstractPreferences)))) isUser;
+ ::java::util::HashMap * entries;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_prefs_MemoryBasedPreferences__
diff --git a/libjava/gnu/java/util/prefs/NodeReader.h b/libjava/gnu/java/util/prefs/NodeReader.h
new file mode 100644
index 000000000..e62b02375
--- /dev/null
+++ b/libjava/gnu/java/util/prefs/NodeReader.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_prefs_NodeReader__
+#define __gnu_java_util_prefs_NodeReader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace prefs
+ {
+ class NodeReader;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::prefs::NodeReader : public ::java::lang::Object
+{
+
+public:
+ NodeReader(::java::io::Reader *, ::java::util::prefs::PreferencesFactory *);
+ NodeReader(::java::io::InputStream *, ::java::util::prefs::PreferencesFactory *);
+ virtual void importPreferences();
+private:
+ void readPreferences();
+ void readRoot();
+ void readNodes(::java::util::prefs::Preferences *);
+ void readMap(::java::util::prefs::Preferences *);
+ void readEntries(::java::util::prefs::Preferences *);
+ void skipTill(::java::lang::String *);
+ ::java::lang::String * readTill(::java::lang::String *);
+ ::java::lang::String * nextTag();
+ ::java::io::BufferedReader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) br;
+ ::java::lang::String * line;
+ ::java::util::prefs::PreferencesFactory * factory;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_prefs_NodeReader__
diff --git a/libjava/gnu/java/util/prefs/NodeWriter.h b/libjava/gnu/java/util/prefs/NodeWriter.h
new file mode 100644
index 000000000..65b7380d0
--- /dev/null
+++ b/libjava/gnu/java/util/prefs/NodeWriter.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_prefs_NodeWriter__
+#define __gnu_java_util_prefs_NodeWriter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace prefs
+ {
+ class NodeWriter;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::prefs::NodeWriter : public ::java::lang::Object
+{
+
+public:
+ NodeWriter(::java::util::prefs::Preferences *, ::java::io::OutputStream *);
+ virtual void writePrefsTree();
+ virtual void writePrefs();
+private:
+ void writeHeader();
+ void writePreferences();
+ void writeRoot();
+ void writeRootMap();
+ jint writeParents();
+ void writeCloseParents(jint);
+ void writeNode();
+ void writeNode(::java::util::prefs::Preferences *, jint);
+ void writeMap(::java::util::prefs::Preferences *, jint);
+ void writeEntries(::java::util::prefs::Preferences *, ::java::lang::String *);
+ void indent(jint);
+ ::java::util::prefs::Preferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prefs;
+ ::java::io::BufferedWriter * bw;
+ jboolean subtree;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_prefs_NodeWriter__
diff --git a/libjava/gnu/java/util/prefs/gconf/GConfNativePeer.h b/libjava/gnu/java/util/prefs/gconf/GConfNativePeer.h
new file mode 100644
index 000000000..e0e37d7f1
--- /dev/null
+++ b/libjava/gnu/java/util/prefs/gconf/GConfNativePeer.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_prefs_gconf_GConfNativePeer__
+#define __gnu_java_util_prefs_gconf_GConfNativePeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace prefs
+ {
+ namespace gconf
+ {
+ class GConfNativePeer;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::prefs::gconf::GConfNativePeer : public ::java::lang::Object
+{
+
+public:
+ GConfNativePeer();
+ jboolean nodeExist(::java::lang::String *);
+ jboolean setString(::java::lang::String *, ::java::lang::String *);
+ jboolean unset(::java::lang::String *);
+ ::java::lang::String * getKey(::java::lang::String *);
+ ::java::util::List * getKeys(::java::lang::String *);
+ ::java::util::List * getChildrenNodes(::java::lang::String *);
+ static ::java::lang::String * escapeString(::java::lang::String *);
+ static ::java::lang::String * unescapeString(::java::lang::String *);
+ void suggestSync();
+public: // actually protected
+ void finalize();
+private:
+ static void init_id_cache();
+ static void init_class();
+ static void finalize_class();
+public: // actually protected
+ static jboolean gconf_dir_exists(::java::lang::String *);
+ static jboolean gconf_set_string(::java::lang::String *, ::java::lang::String *);
+ static ::java::lang::String * gconf_get_string(::java::lang::String *);
+ static jboolean gconf_unset(::java::lang::String *);
+ static void gconf_suggest_sync();
+ static ::java::util::List * gconf_all_nodes(::java::lang::String *);
+ static ::java::util::List * gconf_all_keys(::java::lang::String *);
+ static ::java::lang::String * gconf_escape_key(::java::lang::String *);
+ static ::java::lang::String * gconf_unescape_key(::java::lang::String *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_prefs_gconf_GConfNativePeer__
diff --git a/libjava/gnu/java/util/regex/BacktrackStack$Backtrack.h b/libjava/gnu/java/util/regex/BacktrackStack$Backtrack.h
new file mode 100644
index 000000000..00d9e51fc
--- /dev/null
+++ b/libjava/gnu/java/util/regex/BacktrackStack$Backtrack.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_BacktrackStack$Backtrack__
+#define __gnu_java_util_regex_BacktrackStack$Backtrack__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class BacktrackStack$Backtrack;
+ class CharIndexed;
+ class REMatch;
+ class REToken;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::BacktrackStack$Backtrack : public ::java::lang::Object
+{
+
+public: // actually package-private
+ BacktrackStack$Backtrack(::gnu::java::util::regex::REToken *, ::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::java::lang::Object *);
+ ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::java::lang::Object)))) token;
+ ::gnu::java::util::regex::CharIndexed * input;
+ ::gnu::java::util::regex::REMatch * match;
+ ::java::lang::Object * param;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_BacktrackStack$Backtrack__
diff --git a/libjava/gnu/java/util/regex/BacktrackStack.h b/libjava/gnu/java/util/regex/BacktrackStack.h
new file mode 100644
index 000000000..94ab3fdd6
--- /dev/null
+++ b/libjava/gnu/java/util/regex/BacktrackStack.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_BacktrackStack__
+#define __gnu_java_util_regex_BacktrackStack__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class BacktrackStack;
+ class BacktrackStack$Backtrack;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::BacktrackStack : public ::java::lang::Object
+{
+
+public: // actually package-private
+ BacktrackStack();
+ jboolean empty();
+ ::gnu::java::util::regex::BacktrackStack$Backtrack * peek();
+ ::gnu::java::util::regex::BacktrackStack$Backtrack * pop();
+ void clear();
+ void push(::gnu::java::util::regex::BacktrackStack$Backtrack *);
+ JArray< ::gnu::java::util::regex::BacktrackStack$Backtrack * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) stack;
+private:
+ jint size;
+ jint capacity;
+ static const jint INITIAL_CAPACITY = 32;
+ static const jint CAPACITY_INCREMENT = 16;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_BacktrackStack__
diff --git a/libjava/gnu/java/util/regex/CharIndexed.h b/libjava/gnu/java/util/regex/CharIndexed.h
new file mode 100644
index 000000000..0f2687a68
--- /dev/null
+++ b/libjava/gnu/java/util/regex/CharIndexed.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_CharIndexed__
+#define __gnu_java_util_regex_CharIndexed__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::CharIndexed : public ::java::lang::Object
+{
+
+public:
+ virtual jchar charAt(jint) = 0;
+ virtual jboolean move(jint) = 0;
+ virtual jboolean move1(jint) = 0;
+ virtual jboolean isValid() = 0;
+ virtual ::gnu::java::util::regex::CharIndexed * lookBehind(jint, jint) = 0;
+ virtual jint length() = 0;
+ virtual void setLastMatch(::gnu::java::util::regex::REMatch *) = 0;
+ virtual ::gnu::java::util::regex::REMatch * getLastMatch() = 0;
+ virtual void setHitEnd(::gnu::java::util::regex::REMatch *) = 0;
+ virtual jboolean hitEnd() = 0;
+ virtual jint getAnchor() = 0;
+ virtual void setAnchor(jint) = 0;
+ static const jchar OUT_OF_BOUNDS = 65535;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_util_regex_CharIndexed__
diff --git a/libjava/gnu/java/util/regex/CharIndexedCharArray.h b/libjava/gnu/java/util/regex/CharIndexedCharArray.h
new file mode 100644
index 000000000..30e97db55
--- /dev/null
+++ b/libjava/gnu/java/util/regex/CharIndexedCharArray.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_CharIndexedCharArray__
+#define __gnu_java_util_regex_CharIndexedCharArray__
+
+#pragma interface
+
+#include <gnu/java/util/regex/CharIndexedCharSequence.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexedCharArray;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::CharIndexedCharArray : public ::gnu::java::util::regex::CharIndexedCharSequence
+{
+
+public: // actually package-private
+ CharIndexedCharArray(JArray< jchar > *, jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_CharIndexedCharArray__
diff --git a/libjava/gnu/java/util/regex/CharIndexedCharSequence.h b/libjava/gnu/java/util/regex/CharIndexedCharSequence.h
new file mode 100644
index 000000000..f45b1460b
--- /dev/null
+++ b/libjava/gnu/java/util/regex/CharIndexedCharSequence.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_CharIndexedCharSequence__
+#define __gnu_java_util_regex_CharIndexedCharSequence__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class CharIndexedCharSequence;
+ class REMatch;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::CharIndexedCharSequence : public ::java::lang::Object
+{
+
+public: // actually package-private
+ CharIndexedCharSequence(::java::lang::CharSequence *, jint);
+public:
+ virtual jchar charAt(jint);
+ virtual jboolean isValid();
+ virtual jboolean move(jint);
+ virtual jboolean move1(jint);
+ virtual ::gnu::java::util::regex::CharIndexed * lookBehind(jint, jint);
+ virtual jint length();
+ virtual void setLastMatch(::gnu::java::util::regex::REMatch *);
+ virtual ::gnu::java::util::regex::REMatch * getLastMatch();
+ virtual void setHitEnd(::gnu::java::util::regex::REMatch *);
+ virtual jboolean hitEnd();
+ virtual jint getAnchor();
+ virtual void setAnchor(jint);
+private:
+ ::java::lang::CharSequence * __attribute__((aligned(__alignof__( ::java::lang::Object)))) s;
+ jint anchor;
+ jint len;
+ ::gnu::java::util::regex::REMatch * lastMatch;
+ jint rightmostTriedPosition;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_CharIndexedCharSequence__
diff --git a/libjava/gnu/java/util/regex/CharIndexedInputStream.h b/libjava/gnu/java/util/regex/CharIndexedInputStream.h
new file mode 100644
index 000000000..46c858266
--- /dev/null
+++ b/libjava/gnu/java/util/regex/CharIndexedInputStream.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_CharIndexedInputStream__
+#define __gnu_java_util_regex_CharIndexedInputStream__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class CharIndexedInputStream;
+ class REMatch;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::CharIndexedInputStream : public ::java::lang::Object
+{
+
+public: // actually package-private
+ CharIndexedInputStream(::java::io::InputStream *, jint);
+private:
+ jboolean next();
+public:
+ virtual jchar charAt(jint);
+ virtual jboolean move(jint);
+ virtual jboolean isValid();
+ virtual ::gnu::java::util::regex::CharIndexed * lookBehind(jint, jint);
+ virtual jint length();
+ virtual void setLastMatch(::gnu::java::util::regex::REMatch *);
+ virtual ::gnu::java::util::regex::REMatch * getLastMatch();
+ virtual void setHitEnd(::gnu::java::util::regex::REMatch *);
+ virtual jboolean hitEnd();
+ virtual jint getAnchor();
+ virtual void setAnchor(jint);
+ virtual jboolean move1(jint);
+private:
+ static const jint BUFFER_INCREMENT = 1024;
+ static const jint UNKNOWN = 2147483647;
+ ::java::io::BufferedInputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) br;
+ jint index;
+ jint bufsize;
+ jint end;
+ jchar cached;
+ JArray< jchar > * lookBehind__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_CharIndexedInputStream__
diff --git a/libjava/gnu/java/util/regex/CharIndexedString.h b/libjava/gnu/java/util/regex/CharIndexedString.h
new file mode 100644
index 000000000..e250a31d8
--- /dev/null
+++ b/libjava/gnu/java/util/regex/CharIndexedString.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_CharIndexedString__
+#define __gnu_java_util_regex_CharIndexedString__
+
+#pragma interface
+
+#include <gnu/java/util/regex/CharIndexedCharSequence.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexedString;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::CharIndexedString : public ::gnu::java::util::regex::CharIndexedCharSequence
+{
+
+public: // actually package-private
+ CharIndexedString(::java::lang::String *, jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_CharIndexedString__
diff --git a/libjava/gnu/java/util/regex/CharIndexedStringBuffer.h b/libjava/gnu/java/util/regex/CharIndexedStringBuffer.h
new file mode 100644
index 000000000..497422bfa
--- /dev/null
+++ b/libjava/gnu/java/util/regex/CharIndexedStringBuffer.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_CharIndexedStringBuffer__
+#define __gnu_java_util_regex_CharIndexedStringBuffer__
+
+#pragma interface
+
+#include <gnu/java/util/regex/CharIndexedCharSequence.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexedStringBuffer;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::CharIndexedStringBuffer : public ::gnu::java::util::regex::CharIndexedCharSequence
+{
+
+public: // actually package-private
+ CharIndexedStringBuffer(::java::lang::StringBuffer *, jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_CharIndexedStringBuffer__
diff --git a/libjava/gnu/java/util/regex/RE$CharExpression.h b/libjava/gnu/java/util/regex/RE$CharExpression.h
new file mode 100644
index 000000000..d39ea7bc5
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RE$CharExpression.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RE$CharExpression__
+#define __gnu_java_util_regex_RE$CharExpression__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RE$CharExpression;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RE$CharExpression : public ::java::lang::Object
+{
+
+ RE$CharExpression();
+public:
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ RE$CharExpression(::gnu::java::util::regex::RE$CharExpression *);
+ jchar __attribute__((aligned(__alignof__( ::java::lang::Object)))) ch;
+ ::java::lang::String * expr;
+ jint len;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RE$CharExpression__
diff --git a/libjava/gnu/java/util/regex/RE$CharUnit.h b/libjava/gnu/java/util/regex/RE$CharUnit.h
new file mode 100644
index 000000000..2ca308880
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RE$CharUnit.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RE$CharUnit__
+#define __gnu_java_util_regex_RE$CharUnit__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RE$CharUnit;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RE$CharUnit : public ::java::lang::Object
+{
+
+ RE$CharUnit();
+public: // actually package-private
+ RE$CharUnit(::gnu::java::util::regex::RE$CharUnit *);
+public:
+ jchar __attribute__((aligned(__alignof__( ::java::lang::Object)))) ch;
+ jboolean bk;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RE$CharUnit__
diff --git a/libjava/gnu/java/util/regex/RE$IntPair.h b/libjava/gnu/java/util/regex/RE$IntPair.h
new file mode 100644
index 000000000..88019c293
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RE$IntPair.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RE$IntPair__
+#define __gnu_java_util_regex_RE$IntPair__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RE$IntPair;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RE$IntPair : public ::java::lang::Object
+{
+
+ RE$IntPair();
+public: // actually package-private
+ RE$IntPair(::gnu::java::util::regex::RE$IntPair *);
+public:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) first;
+ jint second;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RE$IntPair__
diff --git a/libjava/gnu/java/util/regex/RE$NamedProperty.h b/libjava/gnu/java/util/regex/RE$NamedProperty.h
new file mode 100644
index 000000000..a874f8500
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RE$NamedProperty.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RE$NamedProperty__
+#define __gnu_java_util_regex_RE$NamedProperty__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RE$NamedProperty;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RE$NamedProperty : public ::java::lang::Object
+{
+
+ RE$NamedProperty();
+public: // actually package-private
+ RE$NamedProperty(::gnu::java::util::regex::RE$NamedProperty *);
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ jboolean negate;
+ jint len;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RE$NamedProperty__
diff --git a/libjava/gnu/java/util/regex/RE$ParseCharClassResult.h b/libjava/gnu/java/util/regex/RE$ParseCharClassResult.h
new file mode 100644
index 000000000..539587703
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RE$ParseCharClassResult.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RE$ParseCharClassResult__
+#define __gnu_java_util_regex_RE$ParseCharClassResult__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RE$ParseCharClassResult;
+ class RETokenOneOf;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RE$ParseCharClassResult : public ::java::lang::Object
+{
+
+ RE$ParseCharClassResult();
+public: // actually package-private
+ RE$ParseCharClassResult(::gnu::java::util::regex::RE$ParseCharClassResult *);
+ ::gnu::java::util::regex::RETokenOneOf * __attribute__((aligned(__alignof__( ::java::lang::Object)))) token;
+ jint index;
+ jboolean returnAtAndOperator;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RE$ParseCharClassResult__
diff --git a/libjava/gnu/java/util/regex/RE.h b/libjava/gnu/java/util/regex/RE.h
new file mode 100644
index 000000000..ee798b7ad
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RE.h
@@ -0,0 +1,150 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RE__
+#define __gnu_java_util_regex_RE__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class RE;
+ class RE$CharExpression;
+ class RE$CharUnit;
+ class RE$IntPair;
+ class RE$NamedProperty;
+ class RE$ParseCharClassResult;
+ class REMatch;
+ class REMatchEnumeration;
+ class RESyntax;
+ class REToken;
+ class RETokenNamedProperty;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RE : public ::gnu::java::util::regex::REToken
+{
+
+public:
+ static ::java::lang::String * version();
+public: // actually package-private
+ static ::java::lang::String * getLocalizedMessage(::java::lang::String *);
+public:
+ RE(::java::lang::Object *);
+ RE(::java::lang::Object *, jint);
+ RE(::java::lang::Object *, jint, ::gnu::java::util::regex::RESyntax *);
+private:
+ RE(::gnu::java::util::regex::REToken *, ::gnu::java::util::regex::REToken *, jint, jint, jint, jint);
+ RE(::java::lang::Object *, jint, ::gnu::java::util::regex::RESyntax *, jint, jint);
+public: // actually protected
+ RE();
+ virtual void initialize(::java::lang::Object *, jint, ::gnu::java::util::regex::RESyntax *, jint, jint);
+private:
+ static ::gnu::java::util::regex::RE$ParseCharClassResult * parseCharClass(jint, JArray< jchar > *, jint, jint, jint, ::gnu::java::util::regex::RESyntax *, jint);
+ static jint getCharUnit(JArray< jchar > *, jint, ::gnu::java::util::regex::RE$CharUnit *, jboolean);
+ static jint parseInt(JArray< jchar > *, jint, jint, jint);
+ static ::gnu::java::util::regex::RE$CharExpression * getCharExpression(JArray< jchar > *, jint, jint, ::gnu::java::util::regex::RESyntax *);
+ static ::gnu::java::util::regex::RE$NamedProperty * getNamedProperty(JArray< jchar > *, jint, jint);
+ static ::gnu::java::util::regex::RETokenNamedProperty * getRETokenNamedProperty(jint, ::gnu::java::util::regex::RE$NamedProperty *, jboolean, jint);
+public:
+ virtual jboolean isMatch(::java::lang::Object *);
+ virtual jboolean isMatch(::java::lang::Object *, jint);
+ virtual jboolean isMatch(::java::lang::Object *, jint, jint);
+private:
+ jboolean isMatchImpl(::gnu::java::util::regex::CharIndexed *, jint, jint);
+public:
+ virtual jint getNumSubs();
+public: // actually package-private
+ virtual void setUncle(::gnu::java::util::regex::REToken *);
+ virtual jboolean chain(::gnu::java::util::regex::REToken *);
+public:
+ virtual jint getMinimumLength();
+ virtual jint getMaximumLength();
+ virtual JArray< ::gnu::java::util::regex::REMatch * > * getAllMatches(::java::lang::Object *);
+ virtual JArray< ::gnu::java::util::regex::REMatch * > * getAllMatches(::java::lang::Object *, jint);
+ virtual JArray< ::gnu::java::util::regex::REMatch * > * getAllMatches(::java::lang::Object *, jint, jint);
+private:
+ JArray< ::gnu::java::util::regex::REMatch * > * getAllMatchesImpl(::gnu::java::util::regex::CharIndexed *, jint, jint);
+public: // actually package-private
+ virtual jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ virtual ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+public:
+ virtual ::gnu::java::util::regex::REMatch * getMatch(::java::lang::Object *);
+ virtual ::gnu::java::util::regex::REMatch * getMatch(::java::lang::Object *, jint);
+ virtual ::gnu::java::util::regex::REMatch * getMatch(::java::lang::Object *, jint, jint);
+ virtual ::gnu::java::util::regex::REMatch * getMatch(::java::lang::Object *, jint, jint, ::gnu::java::lang::CPStringBuilder *);
+public: // actually package-private
+ virtual ::gnu::java::util::regex::REMatch * getMatchImpl(::gnu::java::util::regex::CharIndexed *, jint, jint, ::gnu::java::lang::CPStringBuilder *);
+public:
+ virtual ::gnu::java::util::regex::REMatchEnumeration * getMatchEnumeration(::java::lang::Object *);
+ virtual ::gnu::java::util::regex::REMatchEnumeration * getMatchEnumeration(::java::lang::Object *, jint);
+ virtual ::gnu::java::util::regex::REMatchEnumeration * getMatchEnumeration(::java::lang::Object *, jint, jint);
+ virtual ::java::lang::String * substitute(::java::lang::Object *, ::java::lang::String *);
+ virtual ::java::lang::String * substitute(::java::lang::Object *, ::java::lang::String *, jint);
+ virtual ::java::lang::String * substitute(::java::lang::Object *, ::java::lang::String *, jint, jint);
+private:
+ ::java::lang::String * substituteImpl(::gnu::java::util::regex::CharIndexed *, ::java::lang::String *, jint, jint);
+public:
+ virtual ::java::lang::String * substituteAll(::java::lang::Object *, ::java::lang::String *);
+ virtual ::java::lang::String * substituteAll(::java::lang::Object *, ::java::lang::String *, jint);
+ virtual ::java::lang::String * substituteAll(::java::lang::Object *, ::java::lang::String *, jint, jint);
+private:
+ ::java::lang::String * substituteAllImpl(::gnu::java::util::regex::CharIndexed *, ::java::lang::String *, jint, jint);
+public:
+ static ::java::lang::String * getReplacement(::java::lang::String *, ::gnu::java::util::regex::REMatch *, jint);
+private:
+ void addToken(::gnu::java::util::regex::REToken *);
+ static ::gnu::java::util::regex::REToken * setRepeated(::gnu::java::util::regex::REToken *, jint, jint, jint);
+ static jint getPosixSet(JArray< jchar > *, jint, ::gnu::java::lang::CPStringBuilder *);
+ jint getMinMax(JArray< jchar > *, jint, ::gnu::java::util::regex::RE$IntPair *, ::gnu::java::util::regex::RESyntax *);
+public:
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ virtual void dump(::gnu::java::lang::CPStringBuilder *);
+public:
+ static ::gnu::java::util::regex::CharIndexed * makeCharIndexed(::java::lang::Object *, jint);
+private:
+ static ::java::lang::String * VERSION;
+ static ::java::util::ResourceBundle * messages;
+ static ::java::lang::String * bundle;
+ ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) firstToken;
+ ::gnu::java::util::regex::REToken * lastToken;
+ jint numSubs;
+ jint minimumLength;
+ jint maximumLength;
+public:
+ static const jint REG_ICASE = 2;
+ static const jint REG_DOT_NEWLINE = 4;
+ static const jint REG_MULTILINE = 8;
+ static const jint REG_NOTBOL = 16;
+ static const jint REG_NOTEOL = 32;
+ static const jint REG_ANCHORINDEX = 64;
+ static const jint REG_NO_INTERPOLATE = 128;
+ static const jint REG_TRY_ENTIRE_MATCH = 256;
+ static const jint REG_REPLACE_USE_BACKSLASHESCAPE = 512;
+ static const jint REG_X_COMMENTS = 1024;
+ static const jint REG_ICASE_USASCII = 2048;
+ static const jint REG_FIX_STARTING_POSITION = 4096;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RE__
diff --git a/libjava/gnu/java/util/regex/REException.h b/libjava/gnu/java/util/regex/REException.h
new file mode 100644
index 000000000..dc91d47cd
--- /dev/null
+++ b/libjava/gnu/java/util/regex/REException.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_REException__
+#define __gnu_java_util_regex_REException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class REException;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::REException : public ::java::lang::Exception
+{
+
+public: // actually package-private
+ REException(::java::lang::String *, jint, jint);
+ REException(::java::lang::String *, ::java::lang::Throwable *, jint, jint);
+public:
+ virtual jint getType();
+ virtual jint getPosition();
+ virtual ::java::lang::String * getMessage();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Exception)))) type;
+ jint pos;
+public:
+ static const jint REG_BADRPT = 1;
+ static const jint REG_BADBR = 2;
+ static const jint REG_EBRACE = 3;
+ static const jint REG_EBRACK = 4;
+ static const jint REG_ERANGE = 5;
+ static const jint REG_ECTYPE = 6;
+ static const jint REG_EPAREN = 7;
+ static const jint REG_ESUBREG = 8;
+ static const jint REG_EEND = 9;
+ static const jint REG_ESCAPE = 10;
+ static const jint REG_BADPAT = 11;
+ static const jint REG_ESIZE = 12;
+ static const jint REG_ESPACE = 13;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_REException__
diff --git a/libjava/gnu/java/util/regex/REFilterInputStream.h b/libjava/gnu/java/util/regex/REFilterInputStream.h
new file mode 100644
index 000000000..2bed26536
--- /dev/null
+++ b/libjava/gnu/java/util/regex/REFilterInputStream.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_REFilterInputStream__
+#define __gnu_java_util_regex_REFilterInputStream__
+
+#pragma interface
+
+#include <java/io/FilterInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexedInputStream;
+ class RE;
+ class REFilterInputStream;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::REFilterInputStream : public ::java::io::FilterInputStream
+{
+
+public:
+ REFilterInputStream(::java::io::InputStream *, ::gnu::java::util::regex::RE *, ::java::lang::String *);
+ virtual jint read();
+ virtual jboolean markSupported();
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual jint read(JArray< jbyte > *);
+private:
+ ::gnu::java::util::regex::RE * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) expr;
+ ::java::lang::String * replace;
+ ::java::lang::String * buffer;
+ jint bufpos;
+ jint offset;
+ ::gnu::java::util::regex::CharIndexedInputStream * stream;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_REFilterInputStream__
diff --git a/libjava/gnu/java/util/regex/REMatch.h b/libjava/gnu/java/util/regex/REMatch.h
new file mode 100644
index 000000000..363bb74a4
--- /dev/null
+++ b/libjava/gnu/java/util/regex/REMatch.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_REMatch__
+#define __gnu_java_util_regex_REMatch__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class BacktrackStack;
+ class CharIndexed;
+ class REMatch;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::REMatch : public ::java::lang::Object
+{
+
+public:
+ ::java::lang::Object * clone();
+public: // actually package-private
+ void assignFrom(::gnu::java::util::regex::REMatch *);
+ REMatch(jint, jint, jint);
+ void finish(::gnu::java::util::regex::CharIndexed *);
+ void clear(jint);
+public:
+ ::java::lang::String * toString();
+ jint getStartIndex();
+ jint getEndIndex();
+ ::java::lang::String * toString(jint);
+ jint getSubStartIndex(jint);
+ jint getStartIndex(jint);
+ jint getSubEndIndex(jint);
+ jint getEndIndex(jint);
+ ::java::lang::String * substituteInto(::java::lang::String *);
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) matchedText;
+ ::gnu::java::util::regex::CharIndexed * matchedCharIndexed;
+public: // actually package-private
+ jint eflags;
+ jint offset;
+ jint anchor;
+ jint index;
+ JArray< jint > * start;
+ JArray< jint > * start1;
+ JArray< jint > * end;
+ jboolean empty;
+ ::gnu::java::util::regex::BacktrackStack * backtrackStack;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_REMatch__
diff --git a/libjava/gnu/java/util/regex/REMatchEnumeration.h b/libjava/gnu/java/util/regex/REMatchEnumeration.h
new file mode 100644
index 000000000..6b0d888b7
--- /dev/null
+++ b/libjava/gnu/java/util/regex/REMatchEnumeration.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_REMatchEnumeration__
+#define __gnu_java_util_regex_REMatchEnumeration__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class RE;
+ class REMatch;
+ class REMatchEnumeration;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::REMatchEnumeration : public ::java::lang::Object
+{
+
+public: // actually package-private
+ REMatchEnumeration(::gnu::java::util::regex::RE *, ::gnu::java::util::regex::CharIndexed *, jint, jint);
+public:
+ virtual jboolean hasMoreElements();
+ virtual jboolean hasMoreMatches();
+ virtual jboolean hasMoreMatches(::gnu::java::lang::CPStringBuilder *);
+ virtual ::gnu::java::util::regex::REMatch * REMatchEnumeration$nextElement();
+ virtual ::java::lang::Object * nextElement();
+private:
+ static const jint YES = 1;
+ static const jint MAYBE = 0;
+ static const jint NO = -1;
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) more;
+ ::gnu::java::util::regex::REMatch * match;
+ ::gnu::java::util::regex::RE * expr;
+ ::gnu::java::util::regex::CharIndexed * input;
+ jint eflags;
+ jint index;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_REMatchEnumeration__
diff --git a/libjava/gnu/java/util/regex/RESyntax.h b/libjava/gnu/java/util/regex/RESyntax.h
new file mode 100644
index 000000000..59c8de002
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RESyntax.h
@@ -0,0 +1,101 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RESyntax__
+#define __gnu_java_util_regex_RESyntax__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RESyntax;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RESyntax : public ::java::lang::Object
+{
+
+public:
+ RESyntax();
+ ::gnu::java::util::regex::RESyntax * makeFinal();
+ RESyntax(::gnu::java::util::regex::RESyntax *);
+ jboolean get(jint);
+ ::gnu::java::util::regex::RESyntax * set(jint);
+ ::gnu::java::util::regex::RESyntax * clear(jint);
+ ::gnu::java::util::regex::RESyntax * setLineSeparator(::java::lang::String *);
+ ::java::lang::String * getLineSeparator();
+public: // actually package-private
+ static ::java::lang::String * DEFAULT_LINE_SEPARATOR;
+private:
+ ::java::util::BitSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) bits;
+ jboolean isFinal;
+ ::java::lang::String * lineSeparator;
+public:
+ static const jint RE_BACKSLASH_ESCAPE_IN_LISTS = 0;
+ static const jint RE_BK_PLUS_QM = 1;
+ static const jint RE_CHAR_CLASSES = 2;
+ static const jint RE_CONTEXT_INDEP_ANCHORS = 3;
+ static const jint RE_CONTEXT_INDEP_OPS = 4;
+ static const jint RE_CONTEXT_INVALID_OPS = 5;
+ static const jint RE_DOT_NEWLINE = 6;
+ static const jint RE_DOT_NOT_NULL = 7;
+ static const jint RE_INTERVALS = 8;
+ static const jint RE_LIMITED_OPS = 9;
+ static const jint RE_NEWLINE_ALT = 10;
+ static const jint RE_NO_BK_BRACES = 11;
+ static const jint RE_NO_BK_PARENS = 12;
+ static const jint RE_NO_BK_REFS = 13;
+ static const jint RE_NO_BK_VBAR = 14;
+ static const jint RE_NO_EMPTY_RANGES = 15;
+ static const jint RE_UNMATCHED_RIGHT_PAREN_ORD = 16;
+ static const jint RE_HAT_LISTS_NOT_NEWLINE = 17;
+ static const jint RE_STINGY_OPS = 18;
+ static const jint RE_CHAR_CLASS_ESCAPES = 19;
+ static const jint RE_PURE_GROUPING = 20;
+ static const jint RE_LOOKAHEAD = 21;
+ static const jint RE_STRING_ANCHORS = 22;
+ static const jint RE_COMMENTS = 23;
+ static const jint RE_CHAR_CLASS_ESC_IN_LISTS = 24;
+ static const jint RE_POSSESSIVE_OPS = 25;
+ static const jint RE_EMBEDDED_FLAGS = 26;
+ static const jint RE_OCTAL_CHAR = 27;
+ static const jint RE_HEX_CHAR = 28;
+ static const jint RE_UNICODE_CHAR = 29;
+ static const jint RE_NAMED_PROPERTY = 30;
+ static const jint RE_NESTED_CHARCLASS = 31;
+private:
+ static const jint BIT_TOTAL = 32;
+public:
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_AWK;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_ED;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_EGREP;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_EMACS;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_GREP;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_AWK;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_BASIC;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_EGREP;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_EXTENDED;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_MINIMAL_BASIC;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_MINIMAL_EXTENDED;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_SED;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_PERL4;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_PERL4_S;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_PERL5;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_PERL5_S;
+ static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_JAVA_1_4;
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RESyntax__
diff --git a/libjava/gnu/java/util/regex/REToken.h b/libjava/gnu/java/util/regex/REToken.h
new file mode 100644
index 000000000..552d47a3b
--- /dev/null
+++ b/libjava/gnu/java/util/regex/REToken.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_REToken__
+#define __gnu_java_util_regex_REToken__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class REToken;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::REToken : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::Object * clone();
+public: // actually protected
+ REToken(jint);
+public: // actually package-private
+ virtual jint getMinimumLength();
+ virtual jint getMaximumLength();
+ virtual void setUncle(::gnu::java::util::regex::REToken *);
+ virtual jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ virtual jboolean matchFake(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+private:
+ jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jboolean);
+public: // actually package-private
+ virtual void setHitEnd(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ virtual ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+public: // actually protected
+ virtual jboolean next(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+public: // actually package-private
+ virtual ::gnu::java::util::regex::REToken * getNext();
+ virtual ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ virtual jboolean returnsFixedLengthMatches();
+ virtual jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ virtual ::gnu::java::util::regex::REMatch * backtrack(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::java::lang::Object *);
+ virtual jboolean chain(::gnu::java::util::regex::REToken *);
+ virtual void dump(::gnu::java::lang::CPStringBuilder *) = 0;
+ virtual void dumpAll(::gnu::java::lang::CPStringBuilder *);
+public:
+ virtual ::java::lang::String * toString();
+ static jchar toLowerCase(jchar, jboolean);
+ static jchar toUpperCase(jchar, jboolean);
+public: // actually protected
+ ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::java::lang::Object)))) next__;
+ ::gnu::java::util::regex::REToken * uncle;
+ jint subIndex;
+ jboolean unicodeAware;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_REToken__
diff --git a/libjava/gnu/java/util/regex/RETokenAny.h b/libjava/gnu/java/util/regex/RETokenAny.h
new file mode 100644
index 000000000..77f00aaad
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenAny.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenAny__
+#define __gnu_java_util_regex_RETokenAny__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenAny;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenAny : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenAny(jint, jboolean, jboolean);
+ jint getMinimumLength();
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ jboolean matchOneChar(jchar);
+ jboolean returnsFixedLengthMatches();
+ jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ jboolean __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) newline;
+ jboolean matchNull;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenAny__
diff --git a/libjava/gnu/java/util/regex/RETokenBackRef.h b/libjava/gnu/java/util/regex/RETokenBackRef.h
new file mode 100644
index 000000000..4cadd5405
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenBackRef.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenBackRef__
+#define __gnu_java_util_regex_RETokenBackRef__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenBackRef;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenBackRef : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenBackRef(jint, jint, jboolean);
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) num;
+ jboolean insens;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenBackRef__
diff --git a/libjava/gnu/java/util/regex/RETokenChar.h b/libjava/gnu/java/util/regex/RETokenChar.h
new file mode 100644
index 000000000..723bed8c6
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenChar.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenChar__
+#define __gnu_java_util_regex_RETokenChar__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class REToken;
+ class RETokenChar;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenChar : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenChar(jint, jchar, jboolean);
+ jint getMinimumLength();
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+private:
+ jboolean matchOneString(::gnu::java::util::regex::CharIndexed *, jint);
+ jboolean charEquals(jchar, jchar);
+public: // actually package-private
+ jboolean returnsFixedLengthMatches();
+ jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ jboolean chain(::gnu::java::util::regex::REToken *);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ JArray< jchar > * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) ch;
+ jboolean insens;
+ jint matchedLength;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenChar__
diff --git a/libjava/gnu/java/util/regex/RETokenEnd.h b/libjava/gnu/java/util/regex/RETokenEnd.h
new file mode 100644
index 000000000..975bb1625
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenEnd.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenEnd__
+#define __gnu_java_util_regex_RETokenEnd__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenEnd;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenEnd : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenEnd(jint, ::java::lang::String *);
+ RETokenEnd(jint, ::java::lang::String *, jboolean);
+ void setFake(jboolean);
+ jint getMaximumLength();
+ jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ jboolean returnsFixedLengthMatches();
+ jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) newline;
+ jboolean check_java_line_terminators;
+ jboolean fake;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenEnd__
diff --git a/libjava/gnu/java/util/regex/RETokenEndOfPreviousMatch.h b/libjava/gnu/java/util/regex/RETokenEndOfPreviousMatch.h
new file mode 100644
index 000000000..be5683341
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenEndOfPreviousMatch.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenEndOfPreviousMatch__
+#define __gnu_java_util_regex_RETokenEndOfPreviousMatch__
+
+#pragma interface
+
+#include <gnu/java/util/regex/RETokenStart.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenEndOfPreviousMatch;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenEndOfPreviousMatch : public ::gnu::java::util::regex::RETokenStart
+{
+
+public: // actually package-private
+ RETokenEndOfPreviousMatch(jint);
+ virtual jint getMaximumLength();
+ virtual ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ virtual jboolean returnsFixedLengthmatches();
+ virtual jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ virtual void dump(::gnu::java::lang::CPStringBuilder *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenEndOfPreviousMatch__
diff --git a/libjava/gnu/java/util/regex/RETokenEndSub.h b/libjava/gnu/java/util/regex/RETokenEndSub.h
new file mode 100644
index 000000000..109e28b3e
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenEndSub.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenEndSub__
+#define __gnu_java_util_regex_RETokenEndSub__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenEndSub;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenEndSub : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenEndSub(jint);
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ void setHitEnd(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenEndSub__
diff --git a/libjava/gnu/java/util/regex/RETokenIndependent.h b/libjava/gnu/java/util/regex/RETokenIndependent.h
new file mode 100644
index 000000000..780029684
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenIndependent.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenIndependent__
+#define __gnu_java_util_regex_RETokenIndependent__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class REToken;
+ class RETokenIndependent;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenIndependent : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenIndependent(::gnu::java::util::regex::REToken *);
+ jint getMinimumLength();
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+ ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) re;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenIndependent__
diff --git a/libjava/gnu/java/util/regex/RETokenLookAhead.h b/libjava/gnu/java/util/regex/RETokenLookAhead.h
new file mode 100644
index 000000000..b3e1a72df
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenLookAhead.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenLookAhead__
+#define __gnu_java_util_regex_RETokenLookAhead__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class REToken;
+ class RETokenLookAhead;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenLookAhead : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenLookAhead(::gnu::java::util::regex::REToken *, jboolean);
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+ ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) re;
+ jboolean negative;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenLookAhead__
diff --git a/libjava/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.h b/libjava/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.h
new file mode 100644
index 000000000..dc771b480
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenLookBehind$RETokenMatchHereOnly__
+#define __gnu_java_util_regex_RETokenLookBehind$RETokenMatchHereOnly__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenLookBehind$RETokenMatchHereOnly;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenLookBehind$RETokenMatchHereOnly : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ virtual jint getMaximumLength();
+ RETokenLookBehind$RETokenMatchHereOnly(jint);
+ virtual ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ virtual void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) index;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenLookBehind$RETokenMatchHereOnly__
diff --git a/libjava/gnu/java/util/regex/RETokenLookBehind.h b/libjava/gnu/java/util/regex/RETokenLookBehind.h
new file mode 100644
index 000000000..3aa8013f0
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenLookBehind.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenLookBehind__
+#define __gnu_java_util_regex_RETokenLookBehind__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class REToken;
+ class RETokenLookBehind;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenLookBehind : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenLookBehind(::gnu::java::util::regex::REToken *, jboolean);
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+ ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) re;
+ jboolean negative;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenLookBehind__
diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$1.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$1.h
new file mode 100644
index 000000000..559e06152
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$1.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenNamedProperty$1__
+#define __gnu_java_util_regex_RETokenNamedProperty$1__
+
+#pragma interface
+
+#include <gnu/java/util/regex/RETokenNamedProperty$Handler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RETokenNamedProperty;
+ class RETokenNamedProperty$1;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenNamedProperty$1 : public ::gnu::java::util::regex::RETokenNamedProperty$Handler
+{
+
+public: // actually package-private
+ RETokenNamedProperty$1(::gnu::java::util::regex::RETokenNamedProperty *);
+public:
+ virtual jboolean includes(jchar);
+public: // actually package-private
+ ::gnu::java::util::regex::RETokenNamedProperty * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenNamedProperty$1__
diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$Handler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$Handler.h
new file mode 100644
index 000000000..bc5efe100
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$Handler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenNamedProperty$Handler__
+#define __gnu_java_util_regex_RETokenNamedProperty$Handler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RETokenNamedProperty$Handler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenNamedProperty$Handler : public ::java::lang::Object
+{
+
+ RETokenNamedProperty$Handler();
+public:
+ virtual jboolean includes(jchar) = 0;
+public: // actually package-private
+ RETokenNamedProperty$Handler(::gnu::java::util::regex::RETokenNamedProperty$Handler *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenNamedProperty$Handler__
diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$JavaCategoryHandler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$JavaCategoryHandler.h
new file mode 100644
index 000000000..8c9e229b0
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$JavaCategoryHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenNamedProperty$JavaCategoryHandler__
+#define __gnu_java_util_regex_RETokenNamedProperty$JavaCategoryHandler__
+
+#pragma interface
+
+#include <gnu/java/util/regex/RETokenNamedProperty$Handler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RETokenNamedProperty$JavaCategoryHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenNamedProperty$JavaCategoryHandler : public ::gnu::java::util::regex::RETokenNamedProperty$Handler
+{
+
+public:
+ RETokenNamedProperty$JavaCategoryHandler(::java::lang::reflect::Method *);
+ virtual jboolean includes(jchar);
+private:
+ ::java::lang::reflect::Method * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) method;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenNamedProperty$JavaCategoryHandler__
diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.h
new file mode 100644
index 000000000..121acccad
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenNamedProperty$POSIXHandler__
+#define __gnu_java_util_regex_RETokenNamedProperty$POSIXHandler__
+
+#pragma interface
+
+#include <gnu/java/util/regex/RETokenNamedProperty$Handler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RETokenNamedProperty$POSIXHandler;
+ class RETokenPOSIX;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenNamedProperty$POSIXHandler : public ::gnu::java::util::regex::RETokenNamedProperty$Handler
+{
+
+public:
+ RETokenNamedProperty$POSIXHandler(::java::lang::String *);
+ virtual jboolean includes(jchar);
+private:
+ ::gnu::java::util::regex::RETokenPOSIX * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) retoken;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenNamedProperty$POSIXHandler__
diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.h
new file mode 100644
index 000000000..c2890ed23
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenNamedProperty$UnicodeBlockHandler__
+#define __gnu_java_util_regex_RETokenNamedProperty$UnicodeBlockHandler__
+
+#pragma interface
+
+#include <gnu/java/util/regex/RETokenNamedProperty$Handler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RETokenNamedProperty$UnicodeBlockHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenNamedProperty$UnicodeBlockHandler : public ::gnu::java::util::regex::RETokenNamedProperty$Handler
+{
+
+public:
+ RETokenNamedProperty$UnicodeBlockHandler(::java::lang::Character$UnicodeBlock *);
+ virtual jboolean includes(jchar);
+private:
+ ::java::lang::Character$UnicodeBlock * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) block;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenNamedProperty$UnicodeBlockHandler__
diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.h
new file mode 100644
index 000000000..af6c5aee0
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoriesHandler__
+#define __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoriesHandler__
+
+#pragma interface
+
+#include <gnu/java/util/regex/RETokenNamedProperty$Handler.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RETokenNamedProperty$UnicodeCategoriesHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenNamedProperty$UnicodeCategoriesHandler : public ::gnu::java::util::regex::RETokenNamedProperty$Handler
+{
+
+public:
+ RETokenNamedProperty$UnicodeCategoriesHandler(JArray< jbyte > *);
+ virtual jboolean includes(jchar);
+private:
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) categories;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoriesHandler__
diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.h
new file mode 100644
index 000000000..f090dbd1a
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoryHandler__
+#define __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoryHandler__
+
+#pragma interface
+
+#include <gnu/java/util/regex/RETokenNamedProperty$Handler.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RETokenNamedProperty$UnicodeCategoryHandler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenNamedProperty$UnicodeCategoryHandler : public ::gnu::java::util::regex::RETokenNamedProperty$Handler
+{
+
+public:
+ RETokenNamedProperty$UnicodeCategoryHandler(jbyte);
+ virtual jboolean includes(jchar);
+private:
+ jint __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) category;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoryHandler__
diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty.h b/libjava/gnu/java/util/regex/RETokenNamedProperty.h
new file mode 100644
index 000000000..a20a1a3ef
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenNamedProperty.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenNamedProperty__
+#define __gnu_java_util_regex_RETokenNamedProperty__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenNamedProperty;
+ class RETokenNamedProperty$Handler;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenNamedProperty : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenNamedProperty(jint, ::java::lang::String *, jboolean, jboolean);
+ jint getMinimumLength();
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+private:
+ jboolean matchOneChar(jchar);
+public: // actually package-private
+ jboolean returnsFixedLengthMatches();
+ jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ ::gnu::java::util::regex::RETokenNamedProperty$Handler * getHandler(::java::lang::String *);
+public: // actually package-private
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) name;
+ jboolean insens;
+ jboolean negate;
+ ::gnu::java::util::regex::RETokenNamedProperty$Handler * handler;
+ static JArray< jbyte > * LETTER;
+ static JArray< jbyte > * MARK;
+ static JArray< jbyte > * SEPARATOR;
+ static JArray< jbyte > * SYMBOL;
+ static JArray< jbyte > * NUMBER;
+ static JArray< jbyte > * PUNCTUATION;
+ static JArray< jbyte > * OTHER;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenNamedProperty__
diff --git a/libjava/gnu/java/util/regex/RETokenOneOf.h b/libjava/gnu/java/util/regex/RETokenOneOf.h
new file mode 100644
index 000000000..b7f819dd7
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenOneOf.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenOneOf__
+#define __gnu_java_util_regex_RETokenOneOf__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenOneOf;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenOneOf : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenOneOf(jint, ::java::lang::String *, jboolean, jboolean);
+ RETokenOneOf(jint, ::java::util::List *, jboolean);
+ RETokenOneOf(jint, ::java::util::List *, ::java::util::List *, jboolean);
+ jint getMinimumLength();
+ jint getMaximumLength();
+ jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ jboolean matchOneChar(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+private:
+ jboolean matchN(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jboolean);
+ jboolean matchP(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jboolean);
+ jboolean matchOneRE(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+public: // actually package-private
+ ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ ::gnu::java::util::regex::REMatch * backtrack(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::java::lang::Object *);
+private:
+ ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+public: // actually package-private
+ jboolean returnsFixedLengthMatches();
+ jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) options;
+ jboolean negative;
+ jboolean matchesOneChar;
+ ::java::util::List * addition;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenOneOf__
diff --git a/libjava/gnu/java/util/regex/RETokenPOSIX.h b/libjava/gnu/java/util/regex/RETokenPOSIX.h
new file mode 100644
index 000000000..5704ab8e6
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenPOSIX.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenPOSIX__
+#define __gnu_java_util_regex_RETokenPOSIX__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenPOSIX;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenPOSIX : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ static jint intValue(::java::lang::String *);
+ RETokenPOSIX(jint, jint, jboolean, jboolean);
+ jint getMinimumLength();
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ jboolean matchOneChar(jchar);
+ jboolean returnsFixedLengthMatches();
+ jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+ jint __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) type;
+ jboolean insens;
+ jboolean negated;
+ static const jint ALNUM = 0;
+ static const jint ALPHA = 1;
+ static const jint BLANK = 2;
+ static const jint CNTRL = 3;
+ static const jint DIGIT = 4;
+ static const jint GRAPH = 5;
+ static const jint LOWER = 6;
+ static const jint PRINT = 7;
+ static const jint PUNCT = 8;
+ static const jint SPACE = 9;
+ static const jint UPPER = 10;
+ static const jint XDIGIT = 11;
+ static JArray< ::java::lang::String * > * s_nameTable;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenPOSIX__
diff --git a/libjava/gnu/java/util/regex/RETokenRange.h b/libjava/gnu/java/util/regex/RETokenRange.h
new file mode 100644
index 000000000..fa3c923b7
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenRange.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenRange__
+#define __gnu_java_util_regex_RETokenRange__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenRange;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenRange : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenRange(jint, jchar, jchar, jboolean);
+ jint getMinimumLength();
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ jboolean matchOneChar(jchar);
+ jboolean returnsFixedLengthMatches();
+ jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ jchar __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) lo;
+ jchar hi;
+ jboolean insens;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenRange__
diff --git a/libjava/gnu/java/util/regex/RETokenRepeated$DoablesFinder.h b/libjava/gnu/java/util/regex/RETokenRepeated$DoablesFinder.h
new file mode 100644
index 000000000..8b92ce527
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenRepeated$DoablesFinder.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenRepeated$DoablesFinder__
+#define __gnu_java_util_regex_RETokenRepeated$DoablesFinder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class REToken;
+ class RETokenRepeated$DoablesFinder;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenRepeated$DoablesFinder : public ::java::lang::Object
+{
+
+ RETokenRepeated$DoablesFinder(::gnu::java::util::regex::REToken *, ::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ ::gnu::java::util::regex::REMatch * find();
+public: // actually package-private
+ virtual jboolean noMore();
+ RETokenRepeated$DoablesFinder(::gnu::java::util::regex::REToken *, ::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::gnu::java::util::regex::RETokenRepeated$DoablesFinder *);
+ static ::gnu::java::util::regex::REMatch * access$1(::gnu::java::util::regex::RETokenRepeated$DoablesFinder *);
+private:
+ ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::java::lang::Object)))) tk;
+ ::gnu::java::util::regex::CharIndexed * input;
+ ::gnu::java::util::regex::REMatch * rematch;
+ jboolean findFirst;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenRepeated$DoablesFinder__
diff --git a/libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControl.h b/libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControl.h
new file mode 100644
index 000000000..5858aeda3
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenRepeated$FindMatchControl__
+#define __gnu_java_util_regex_RETokenRepeated$FindMatchControl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RETokenRepeated$DoablesFinder;
+ class RETokenRepeated$FindMatchControl;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenRepeated$FindMatchControl : public ::java::lang::Object
+{
+
+public: // actually package-private
+ RETokenRepeated$FindMatchControl(::gnu::java::util::regex::RETokenRepeated$DoablesFinder *);
+ ::gnu::java::util::regex::RETokenRepeated$DoablesFinder * __attribute__((aligned(__alignof__( ::java::lang::Object)))) finder;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenRepeated$FindMatchControl__
diff --git a/libjava/gnu/java/util/regex/RETokenRepeated$StackedInfo.h b/libjava/gnu/java/util/regex/RETokenRepeated$StackedInfo.h
new file mode 100644
index 000000000..6253b6492
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenRepeated$StackedInfo.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenRepeated$StackedInfo__
+#define __gnu_java_util_regex_RETokenRepeated$StackedInfo__
+
+#pragma interface
+
+#include <gnu/java/util/regex/BacktrackStack$Backtrack.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenRepeated$DoablesFinder;
+ class RETokenRepeated$StackedInfo;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenRepeated$StackedInfo : public ::gnu::java::util::regex::BacktrackStack$Backtrack
+{
+
+public: // actually package-private
+ RETokenRepeated$StackedInfo(::gnu::java::util::regex::CharIndexed *, jint, ::gnu::java::util::regex::REMatch *, JArray< jint > *, ::gnu::java::util::regex::RETokenRepeated$DoablesFinder *);
+ jint __attribute__((aligned(__alignof__( ::gnu::java::util::regex::BacktrackStack$Backtrack)))) numRepeats;
+ JArray< jint > * visited;
+ ::gnu::java::util::regex::RETokenRepeated$DoablesFinder * finder;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenRepeated$StackedInfo__
diff --git a/libjava/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.h b/libjava/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.h
new file mode 100644
index 000000000..5a6ef3b42
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenRepeated$TryAnotherResult__
+#define __gnu_java_util_regex_RETokenRepeated$TryAnotherResult__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class REMatch;
+ class RETokenRepeated$TryAnotherResult;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenRepeated$TryAnotherResult : public ::java::lang::Object
+{
+
+ RETokenRepeated$TryAnotherResult();
+public: // actually package-private
+ RETokenRepeated$TryAnotherResult(::gnu::java::util::regex::RETokenRepeated$TryAnotherResult *);
+ ::gnu::java::util::regex::REMatch * __attribute__((aligned(__alignof__( ::java::lang::Object)))) result;
+ jint status;
+ static const jint RESULT_FOUND = 1;
+ static const jint TRY_FURTHER = 2;
+ static const jint NOTHING_FOUND = 3;
+ JArray< jint > * visited;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenRepeated$TryAnotherResult__
diff --git a/libjava/gnu/java/util/regex/RETokenRepeated.h b/libjava/gnu/java/util/regex/RETokenRepeated.h
new file mode 100644
index 000000000..09aca7a58
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenRepeated.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenRepeated__
+#define __gnu_java_util_regex_RETokenRepeated__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class BacktrackStack;
+ class CharIndexed;
+ class REMatch;
+ class REToken;
+ class RETokenRepeated;
+ class RETokenRepeated$DoablesFinder;
+ class RETokenRepeated$TryAnotherResult;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenRepeated : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenRepeated(jint, ::gnu::java::util::regex::REToken *, jint, jint);
+ void makeStingy();
+ jboolean isStingy();
+ void makePossessive();
+ jboolean isPossessive();
+ jint getMinimumLength();
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ ::gnu::java::util::regex::REMatch * backtrack(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::java::lang::Object *);
+private:
+ ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::BacktrackStack *);
+ ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::BacktrackStack *, ::java::util::Deque *);
+ ::gnu::java::util::regex::RETokenRepeated$TryAnotherResult * tryAnother(::gnu::java::util::regex::BacktrackStack *, ::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint, ::gnu::java::util::regex::RETokenRepeated$DoablesFinder *, JArray< jint > *);
+public: // actually package-private
+ jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+private:
+ static JArray< jint > * initVisited();
+ static jboolean visitedContains(jint, JArray< jint > *);
+ static JArray< jint > * addVisited(jint, JArray< jint > *);
+ ::gnu::java::util::regex::REMatch * matchRest(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ ::gnu::java::util::regex::REMatch * findMatchFixedLength(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ ::gnu::java::util::regex::REMatch * backtrackFixedLength(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::java::lang::Object *);
+ ::gnu::java::util::regex::REMatch * findMatchFixedLength(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint, jint);
+public: // actually package-private
+ void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) token;
+ jint min;
+ jint max;
+ jboolean stingy;
+ jboolean possessive;
+ jint tokenFixedLength;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenRepeated__
diff --git a/libjava/gnu/java/util/regex/RETokenStart.h b/libjava/gnu/java/util/regex/RETokenStart.h
new file mode 100644
index 000000000..95654f795
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenStart.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenStart__
+#define __gnu_java_util_regex_RETokenStart__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenStart;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenStart : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenStart(jint, ::java::lang::String *);
+ RETokenStart(jint, ::java::lang::String *, jboolean);
+ virtual jint getMaximumLength();
+ virtual ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ virtual jboolean returnsFixedLengthMatches();
+ virtual jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ virtual void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) newline;
+ jboolean check_java_line_terminators;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenStart__
diff --git a/libjava/gnu/java/util/regex/RETokenWordBoundary.h b/libjava/gnu/java/util/regex/RETokenWordBoundary.h
new file mode 100644
index 000000000..18d5b2ca1
--- /dev/null
+++ b/libjava/gnu/java/util/regex/RETokenWordBoundary.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_RETokenWordBoundary__
+#define __gnu_java_util_regex_RETokenWordBoundary__
+
+#pragma interface
+
+#include <gnu/java/util/regex/REToken.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ class RETokenWordBoundary;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::RETokenWordBoundary : public ::gnu::java::util::regex::REToken
+{
+
+public: // actually package-private
+ RETokenWordBoundary(jint, jint, jboolean);
+ jint getMaximumLength();
+ ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *);
+ jboolean returnsFixedLengthMatches();
+ jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint);
+ void dump(::gnu::java::lang::CPStringBuilder *);
+private:
+ jboolean __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) negated;
+ jint where;
+public: // actually package-private
+ static const jint BEGIN = 1;
+ static const jint END = 2;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_RETokenWordBoundary__
diff --git a/libjava/gnu/java/util/regex/UncheckedRE.h b/libjava/gnu/java/util/regex/UncheckedRE.h
new file mode 100644
index 000000000..23a289889
--- /dev/null
+++ b/libjava/gnu/java/util/regex/UncheckedRE.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_util_regex_UncheckedRE__
+#define __gnu_java_util_regex_UncheckedRE__
+
+#pragma interface
+
+#include <gnu/java/util/regex/RE.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RESyntax;
+ class UncheckedRE;
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::util::regex::UncheckedRE : public ::gnu::java::util::regex::RE
+{
+
+public:
+ UncheckedRE(::java::lang::Object *);
+ UncheckedRE(::java::lang::Object *, jint);
+ UncheckedRE(::java::lang::Object *, jint, ::gnu::java::util::regex::RESyntax *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_util_regex_UncheckedRE__