Merged gcj-eclipse branch to trunk.
[official-gcc.git] / libjava / java / io / ObjectOutputStream.h
blob273f04b14e4325b5c60f431ffb27b68bfadc7940
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
4 #ifndef __java_io_ObjectOutputStream__
5 #define __java_io_ObjectOutputStream__
7 #pragma interface
9 #include <java/io/OutputStream.h>
10 #include <gcj/array.h>
12 extern "Java"
14 namespace gnu
16 namespace java
18 namespace io
20 class ObjectIdentityMap2Int;
22 namespace security
24 namespace action
26 class SetAccessibleAction;
33 class java::io::ObjectOutputStream : public ::java::io::OutputStream
36 public:
37 ObjectOutputStream(::java::io::OutputStream *);
38 virtual void writeObject(::java::lang::Object *);
39 public: // actually protected
40 virtual void writeClassDescriptor(::java::io::ObjectStreamClass *);
41 public:
42 virtual void defaultWriteObject();
43 private:
44 void markFieldsWritten();
45 public:
46 virtual void reset();
47 private:
48 void reset(jboolean);
49 public:
50 virtual void useProtocolVersion(jint);
51 public: // actually protected
52 virtual void annotateClass(::java::lang::Class *);
53 virtual void annotateProxyClass(::java::lang::Class *);
54 virtual ::java::lang::Object * replaceObject(::java::lang::Object *);
55 virtual jboolean enableReplaceObject(jboolean);
56 virtual void writeStreamHeader();
57 ObjectOutputStream();
58 virtual void writeObjectOverride(::java::lang::Object *);
59 public:
60 virtual void write(jint);
61 virtual void write(JArray< jbyte > *);
62 virtual void write(JArray< jbyte > *, jint, jint);
63 virtual void flush();
64 public: // actually protected
65 virtual void drain();
66 public:
67 virtual void close();
68 virtual void writeBoolean(jboolean);
69 virtual void writeByte(jint);
70 virtual void writeShort(jint);
71 virtual void writeChar(jint);
72 virtual void writeInt(jint);
73 virtual void writeLong(jlong);
74 virtual void writeFloat(jfloat);
75 virtual void writeDouble(jdouble);
76 virtual void writeBytes(::java::lang::String *);
77 virtual void writeChars(::java::lang::String *);
78 virtual void writeUTF(::java::lang::String *);
79 virtual ::java::io::ObjectOutputStream$PutField * putFields();
80 virtual void writeFields();
81 private:
82 void writeBlockDataHeader(jint);
83 jint findHandle(::java::lang::Object *);
84 jint assignNewHandle(::java::lang::Object *);
85 void clearHandles();
86 void writeArraySizeAndElements(::java::lang::Object *, ::java::lang::Class *);
87 void writeFields(::java::lang::Object *, ::java::io::ObjectStreamClass *);
88 void writeFields(::java::lang::Object *, JArray< ::java::io::ObjectStreamField * > *);
89 public: // actually package-private
90 virtual jboolean setBlockDataMode(jboolean);
91 private:
92 void callWriteMethod(::java::lang::Object *, ::java::io::ObjectStreamClass *);
93 void dumpElementln(::java::lang::String *);
94 static const jint BUFFER_SIZE = 1024;
95 static jint defaultProtocolVersion;
96 ::java::io::DataOutputStream * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) dataOutput;
97 jboolean writeDataAsBlocks;
98 ::java::io::DataOutputStream * realOutput;
99 ::java::io::DataOutputStream * blockDataOutput;
100 JArray< jbyte > * blockData;
101 jint blockDataCount;
102 ::java::lang::Object * currentObject;
103 public: // actually package-private
104 ::java::io::ObjectStreamClass * currentObjectStreamClass;
105 private:
106 ::java::io::ObjectOutputStream$PutField * currentPutField;
107 jboolean fieldsAlreadyWritten;
108 jboolean replacementEnabled;
109 jboolean isSerializing;
110 jint nextOID;
111 ::gnu::java::io::ObjectIdentityMap2Int * OIDLookupTable;
112 jint protocolVersion;
113 jboolean useSubclassMethod;
114 ::gnu::java::security::action::SetAccessibleAction * setAccessible;
115 jint depth;
116 jboolean dump;
117 static const jboolean DEBUG = 0;
118 public:
119 static ::java::lang::Class class$;
122 #endif // __java_io_ObjectOutputStream__