2016-05-14 Fritz Reese <fritzoreese@gmail.com>
[official-gcc.git] / libjava / java / io / ObjectOutputStream.h
blobd38f1b28f17aaec4d9e9be52f4a15b82b0f06d56
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 virtual void writeUnshared(::java::lang::Object *);
40 private:
41 void writeObject(::java::lang::Object *, jboolean);
42 public: // actually protected
43 virtual void writeClassDescriptor(::java::io::ObjectStreamClass *);
44 public:
45 virtual void defaultWriteObject();
46 private:
47 void markFieldsWritten();
48 public:
49 virtual void reset();
50 private:
51 void reset(jboolean);
52 public:
53 virtual void useProtocolVersion(jint);
54 public: // actually protected
55 virtual void annotateClass(::java::lang::Class *);
56 virtual void annotateProxyClass(::java::lang::Class *);
57 virtual ::java::lang::Object * replaceObject(::java::lang::Object *);
58 virtual jboolean enableReplaceObject(jboolean);
59 virtual void writeStreamHeader();
60 ObjectOutputStream();
61 virtual void writeObjectOverride(::java::lang::Object *);
62 public:
63 virtual void write(jint);
64 virtual void write(JArray< jbyte > *);
65 virtual void write(JArray< jbyte > *, jint, jint);
66 virtual void flush();
67 public: // actually protected
68 virtual void drain();
69 public:
70 virtual void close();
71 virtual void writeBoolean(jboolean);
72 virtual void writeByte(jint);
73 virtual void writeShort(jint);
74 virtual void writeChar(jint);
75 virtual void writeInt(jint);
76 virtual void writeLong(jlong);
77 virtual void writeFloat(jfloat);
78 virtual void writeDouble(jdouble);
79 virtual void writeBytes(::java::lang::String *);
80 virtual void writeChars(::java::lang::String *);
81 virtual void writeUTF(::java::lang::String *);
82 virtual ::java::io::ObjectOutputStream$PutField * putFields();
83 virtual void writeFields();
84 private:
85 void writeBlockDataHeader(jint);
86 jint findHandle(::java::lang::Object *);
87 jint assignNewHandle(::java::lang::Object *);
88 void clearHandles();
89 void writeArraySizeAndElements(::java::lang::Object *, ::java::lang::Class *);
90 void writeFields(::java::lang::Object *, ::java::io::ObjectStreamClass *);
91 void writeFields(::java::lang::Object *, JArray< ::java::io::ObjectStreamField * > *);
92 public: // actually package-private
93 virtual jboolean setBlockDataMode(jboolean);
94 private:
95 void callWriteMethod(::java::lang::Object *, ::java::io::ObjectStreamClass *);
96 void dumpElementln(::java::lang::String *, ::java::lang::Object *);
97 void dumpElementln(::java::lang::String *);
98 static jboolean overridesMethods(::java::lang::Class *);
99 static const jint BUFFER_SIZE = 1024;
100 static jint defaultProtocolVersion;
101 ::java::io::DataOutputStream * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) dataOutput;
102 jboolean writeDataAsBlocks;
103 ::java::io::DataOutputStream * realOutput;
104 ::java::io::DataOutputStream * blockDataOutput;
105 JArray< jbyte > * blockData;
106 jint blockDataCount;
107 ::java::lang::Object * currentObject;
108 public: // actually package-private
109 ::java::io::ObjectStreamClass * currentObjectStreamClass;
110 private:
111 ::java::io::ObjectOutputStream$PutField * currentPutField;
112 jboolean fieldsAlreadyWritten;
113 jboolean replacementEnabled;
114 jboolean isSerializing;
115 jint nextOID;
116 ::gnu::java::io::ObjectIdentityMap2Int * OIDLookupTable;
117 jint protocolVersion;
118 jboolean useSubclassMethod;
119 ::gnu::java::security::action::SetAccessibleAction * setAccessible;
120 jint depth;
121 jboolean dump;
122 static const jboolean DEBUG = 0;
123 public:
124 static ::java::lang::Class class$;
127 #endif // __java_io_ObjectOutputStream__