OSDN Git Service

273f04b14e4325b5c60f431ffb27b68bfadc7940
[pf3gnuchains/gcc-fork.git] / libjava / java / io / ObjectOutputStream.h
1
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
3
4 #ifndef __java_io_ObjectOutputStream__
5 #define __java_io_ObjectOutputStream__
6
7 #pragma interface
8
9 #include <java/io/OutputStream.h>
10 #include <gcj/array.h>
11
12 extern "Java"
13 {
14   namespace gnu
15   {
16     namespace java
17     {
18       namespace io
19       {
20           class ObjectIdentityMap2Int;
21       }
22       namespace security
23       {
24         namespace action
25         {
26             class SetAccessibleAction;
27         }
28       }
29     }
30   }
31 }
32
33 class java::io::ObjectOutputStream : public ::java::io::OutputStream
34 {
35
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$;
120 };
121
122 #endif // __java_io_ObjectOutputStream__