1%include <stdint.i>
2
3typedef int8_t jbyte;
4typedef int16_t jshort;
5typedef int32_t jint;
6typedef int64_t jlong;
7typedef float jfloat;
8typedef double jdouble;
9typedef jint jsize;
10typedef int8_t jboolean;
11
12extern "Java"
13{
14  namespace java
15  {
16    namespace io
17    {
18      class BufferedInputStream;
19      class BufferedOutputStream;
20      class BufferedReader;
21      class BufferedWriter;
22      class ByteArrayInputStream;
23      class ByteArrayOutputStream;
24      class CharArrayReader;
25      class CharArrayWriter;
26      class CharConversionException;
27      class DataInput;
28      class DataInputStream;
29      class DataOutput;
30      class DataOutputStream;
31      class EOFException;
32      class Externalizable;
33      class File;
34      class FileDescriptor;
35      class FileFilter;
36      class FileInputStream;
37      class FileNotFoundException;
38      class FileOutputStream;
39      class FilePermission;
40      class FileReader;
41      class FileWriter;
42      class FilenameFilter;
43      class FilterInputStream;
44      class FilterOutputStream;
45      class FilterReader;
46      class FilterWriter;
47      class IOException;
48      class InputStream;
49      class InputStreamReader;
50      class InterfaceComparator;
51      class InterruptedIOException;
52      class InvalidClassException;
53      class InvalidObjectException;
54      class LineNumberInputStream;
55      class LineNumberReader;
56      class MemberComparator;
57      class NotActiveException;
58      class NotSerializableException;
59      class ObjectInput;
60      class ObjectInputStream;
61      class ObjectInputStream$GetField;
62      class ObjectInputValidation;
63      class ObjectOutput;
64      class ObjectOutputStream;
65      class ObjectOutputStream$PutField;
66      class ObjectStreamClass;
67      class ObjectStreamConstants;
68      class ObjectStreamException;
69      class ObjectStreamField;
70      class OptionalDataException;
71      class OutputStream;
72      class OutputStreamWriter;
73      class PipedInputStream;
74      class PipedOutputStream;
75      class PipedReader;
76      class PipedWriter;
77      class PrintStream;
78      class PrintWriter;
79      class PushbackInputStream;
80      class PushbackReader;
81      class RandomAccessFile;
82      class Reader;
83      class SequenceInputStream;
84      class Serializable;
85      class SerializablePermission;
86      class StreamCorruptedException;
87      class StreamTokenizer;
88      class StringBufferInputStream;
89      class StringReader;
90      class StringWriter;
91      class SyncFailedException;
92      class UTFDataFormatException;
93      class UnsupportedEncodingException;
94      class VMObjectStreamClass;
95      class ValidatorAndPriority;
96      class WriteAbortedException;
97      class Writer;
98    }
99
100    namespace lang
101    {
102      class AbstractMethodError;
103      class ArithmeticException;
104      class ArrayIndexOutOfBoundsException;
105      class ArrayStoreException;
106      class AssertionError;
107      class Boolean;
108      class Byte;
109      class CharSequence;
110      class Character;
111      class Character$Subset;
112      class Character$UnicodeBlock;
113      class Class;
114      class ClassCastException;
115      class ClassCircularityError;
116      class ClassFormatError;
117      class ClassLoader;
118      class ClassNotFoundException;
119      class CloneNotSupportedException;
120      class Cloneable;
121      class Comparable;
122      class Compiler;
123      class ConcreteProcess;
124      class Double;
125      class Error;
126      class Exception;
127      class ExceptionInInitializerError;
128      class Float;
129      class IllegalAccessError;
130      class IllegalAccessException;
131      class IllegalArgumentException;
132      class IllegalMonitorStateException;
133      class IllegalStateException;
134      class IllegalThreadStateException;
135      class IncompatibleClassChangeError;
136      class IndexOutOfBoundsException;
137      class InheritableThreadLocal;
138      class InstantiationError;
139      class InstantiationException;
140      class Integer;
141      class InternalError;
142      class InterruptedException;
143      class LinkageError;
144      class Long;
145      class Math;
146      class NegativeArraySizeException;
147      class NoClassDefFoundError;
148      class NoSuchFieldError;
149      class NoSuchFieldException;
150      class NoSuchMethodError;
151      class NoSuchMethodException;
152      class NullPointerException;
153      class Number;
154      class NumberFormatException;
155      class Object;
156      class OutOfMemoryError;
157      class Package;
158      class Process;
159      class Runnable;
160      class Runtime;
161      class RuntimeException;
162      class RuntimePermission;
163      class SecurityContext;
164      class SecurityException;
165      class SecurityManager;
166      class Short;
167      class StackOverflowError;
168      class StackTraceElement;
169      class StrictMath;
170      class String;
171      class String$CaseInsensitiveComparator;
172      class StringBuffer;
173      class StringIndexOutOfBoundsException;
174      class System;
175      class Thread;
176      class ThreadDeath;
177      class ThreadGroup;
178      class ThreadLocal;
179      class Throwable;
180      class UnknownError;
181      class UnsatisfiedLinkError;
182      class UnsupportedClassVersionError;
183      class UnsupportedOperationException;
184      class VMClassLoader;
185      class VMSecurityManager;
186      class VMThrowable;
187      class VerifyError;
188      class VirtualMachineError;
189      class Void;
190      namespace ref
191      {
192        class PhantomReference;
193        class Reference;
194        class ReferenceQueue;
195        class SoftReference;
196        class WeakReference;
197      }
198
199      namespace reflect
200      {
201        class AccessibleObject;
202        class Array;
203        class Constructor;
204        class Field;
205        class InvocationHandler;
206        class InvocationTargetException;
207        class Member;
208        class Method;
209        class Modifier;
210        class Proxy;
211        class Proxy$ClassFactory;
212        class Proxy$ProxyData;
213        class Proxy$ProxySignature;
214        class Proxy$ProxyType;
215        class ReflectPermission;
216        class UndeclaredThrowableException;
217      }
218    }
219
220    namespace util
221    {
222      class AbstractCollection;
223      class AbstractList;
224      class AbstractMap;
225      class AbstractMap$BasicMapEntry;
226      class AbstractSequentialList;
227      class AbstractSet;
228      class ArrayList;
229      class Arrays;
230      class Arrays$ArrayList;
231      class BitSet;
232      class Calendar;
233      class Collection;
234      class Collections;
235      class Collections$CopiesList;
236      class Collections$EmptyList;
237      class Collections$EmptyMap;
238      class Collections$EmptySet;
239      class Collections$ReverseComparator;
240      class Collections$SingletonList;
241      class Collections$SingletonMap;
242      class Collections$SingletonSet;
243      class Collections$SynchronizedCollection;
244      class Collections$SynchronizedIterator;
245      class Collections$SynchronizedList;
246      class Collections$SynchronizedListIterator;
247      class Collections$SynchronizedMap;
248      class Collections$SynchronizedMapEntry;
249      class Collections$SynchronizedRandomAccessList;
250      class Collections$SynchronizedSet;
251      class Collections$SynchronizedSortedMap;
252      class Collections$SynchronizedSortedSet;
253      class Collections$UnmodifiableCollection;
254      class Collections$UnmodifiableEntrySet;
255      class Collections$UnmodifiableIterator;
256      class Collections$UnmodifiableList;
257      class Collections$UnmodifiableListIterator;
258      class Collections$UnmodifiableMap;
259      class Collections$UnmodifiableRandomAccessList;
260      class Collections$UnmodifiableSet;
261      class Collections$UnmodifiableSortedMap;
262      class Collections$UnmodifiableSortedSet;
263      class Comparator;
264      class ConcurrentModificationException;
265      class Currency;
266      class Date;
267      class Dictionary;
268      class EmptyStackException;
269      class Enumeration;
270      class EventListener;
271      class EventListenerProxy;
272      class EventObject;
273      class GregorianCalendar;
274      class HashMap;
275      class HashMap$HashEntry;
276      class HashMap$HashIterator;
277      class HashSet;
278      class Hashtable;
279      class Hashtable$Enumerator;
280      class Hashtable$HashEntry;
281      class Hashtable$HashIterator;
282      class IdentityHashMap;
283      class IdentityHashMap$IdentityEntry;
284      class IdentityHashMap$IdentityIterator;
285      class Iterator;
286      class LinkedHashMap;
287      class LinkedHashMap$LinkedHashEntry;
288      class LinkedHashSet;
289      class LinkedList;
290      class LinkedList$Entry;
291      class LinkedList$LinkedListItr;
292      class List;
293      class ListIterator;
294      class ListResourceBundle;
295      class Locale;
296      class Map;
297      class Map$Entry;
298      class Map$Map;
299      class MissingResourceException;
300      class MyResources;
301      class NoSuchElementException;
302      class Observable;
303      class Observer;
304      class Properties;
305      class PropertyPermission;
306      class PropertyPermissionCollection;
307      class PropertyResourceBundle;
308      class Random;
309      class RandomAccess;
310      class RandomAccessSubList;
311      class ResourceBundle;
312      class Set;
313      class SimpleTimeZone;
314      class SortedMap;
315      class SortedSet;
316      class Stack;
317      class StringTokenizer;
318      class SubList;
319      class TimeZone;
320      class Timer;
321      class Timer$Scheduler;
322      class Timer$TaskQueue;
323      class TimerTask;
324      class TooManyListenersException;
325      class TreeMap;
326      class TreeMap$Node;
327      class TreeMap$SubMap;
328      class TreeMap$TreeIterator;
329      class TreeSet;
330      class Vector;
331      class WeakHashMap;
332      class WeakHashMap$WeakBucket;
333      class WeakHashMap$WeakEntry;
334      class WeakHashMap$WeakEntrySet;
335      namespace jar
336      {
337        class Attributes;
338        class Attributes$Name;
339        class JarEntry;
340        class JarException;
341        class JarFile;
342        class JarFile$JarEnumeration;
343        class JarInputStream;
344        class JarOutputStream;
345        class Manifest;
346      }
347
348      namespace logging
349      {
350        class ConsoleHandler;
351        class ErrorManager;
352        class FileHandler;
353        class Filter;
354        class Formatter;
355        class Handler;
356        class Level;
357        class LogManager;
358        class LogRecord;
359        class Logger;
360        class LoggingPermission;
361        class MemoryHandler;
362        class SimpleFormatter;
363        class SocketHandler;
364        class StreamHandler;
365        class XMLFormatter;
366      }
367
368      namespace prefs
369      {
370        class AbstractPreferences;
371        class BackingStoreException;
372        class InvalidPreferencesFormatException;
373        class NodeChangeEvent;
374        class NodeChangeListener;
375        class PreferenceChangeEvent;
376        class PreferenceChangeListener;
377        class Preferences;
378        class PreferencesFactory;
379      }
380
381      namespace regex
382      {
383        class Matcher;
384        class Pattern;
385        class PatternSyntaxException;
386      }
387
388      namespace zip
389      {
390        class Adler32;
391        class CRC32;
392        class CheckedInputStream;
393        class CheckedOutputStream;
394        class Checksum;
395        class DataFormatException;
396        class Deflater;
397        class DeflaterOutputStream;
398        class GZIPInputStream;
399        class GZIPOutputStream;
400        class Inflater;
401        class InflaterInputStream;
402        class ZipConstants;
403        class ZipEntry;
404        class ZipException;
405        class ZipFile;
406        class ZipFile$PartialInputStream;
407        class ZipFile$ZipEntryEnumeration;
408        class ZipInputStream;
409        class ZipOutputStream;
410      }
411    }
412  }
413}
414
415typedef class java::lang::Object* jobject;
416typedef class java::lang::Class* jclass;
417typedef class java::lang::Throwable* jthrowable;
418typedef class java::lang::String* jstring;
419
420
421%include <gcj/cni.swg>
422
423