OSDN Git Service

Merged gcj-eclipse branch to trunk.
[pf3gnuchains/gcc-fork.git] / libjava / gnu / gcj / runtime / PersistentByteMap.h
1
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
3
4 #ifndef __gnu_gcj_runtime_PersistentByteMap__
5 #define __gnu_gcj_runtime_PersistentByteMap__
6
7 #pragma interface
8
9 #include <java/lang/Object.h>
10 #include <gcj/array.h>
11
12 extern "Java"
13 {
14   namespace gnu
15   {
16     namespace gcj
17     {
18       namespace runtime
19       {
20           class PersistentByteMap;
21           class PersistentByteMap$AccessMode;
22       }
23     }
24   }
25   namespace java
26   {
27     namespace nio
28     {
29         class MappedByteBuffer;
30       namespace channels
31       {
32           class FileChannel;
33       }
34     }
35   }
36 }
37
38 class gnu::gcj::runtime::PersistentByteMap : public ::java::lang::Object
39 {
40
41   PersistentByteMap(::java::io::File *);
42 public:
43   PersistentByteMap(::java::lang::String *, ::gnu::gcj::runtime::PersistentByteMap$AccessMode *);
44   PersistentByteMap(::java::io::File *, ::gnu::gcj::runtime::PersistentByteMap$AccessMode *);
45 private:
46   void init(::gnu::gcj::runtime::PersistentByteMap *, ::java::io::File *, jint, jint);
47 public:
48   static ::gnu::gcj::runtime::PersistentByteMap * emptyPersistentByteMap(::java::io::File *, jint, jint);
49 private:
50   jint getWord(jint);
51   void putWord(jint, jint);
52 public:
53   virtual ::java::util::Set * entrySet();
54 private:
55   jint getBucket(jint);
56   jint getKeyPos(jint);
57   jint getValuePos(jint);
58   void putKeyPos(jint, jint);
59   void putValuePos(jint, jint);
60   JArray< jbyte > * getBytes(jint);
61   jint hash(JArray< jbyte > *);
62 public:
63   virtual JArray< jbyte > * get(JArray< jbyte > *);
64   virtual void put(JArray< jbyte > *, JArray< jbyte > *);
65 private:
66   jint addBytes(JArray< jbyte > *);
67 public:
68   virtual ::java::util::Iterator * iterator(jint);
69   virtual jint size();
70   virtual jint stringTableSize();
71   virtual jint capacity();
72   virtual void force();
73   virtual ::java::io::File * getFile();
74   virtual void close();
75   virtual void putAll(::gnu::gcj::runtime::PersistentByteMap *);
76 public: // actually package-private
77   static jint access$0(::gnu::gcj::runtime::PersistentByteMap *);
78   static jint access$1(::gnu::gcj::runtime::PersistentByteMap *);
79   static jint access$2(::gnu::gcj::runtime::PersistentByteMap *, jint);
80   static jint access$3(::gnu::gcj::runtime::PersistentByteMap *, jint);
81   static JArray< jbyte > * access$4(::gnu::gcj::runtime::PersistentByteMap *, jint);
82 private:
83   ::java::nio::MappedByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buf;
84   static const jint MAGIC = 0;
85   static const jint VERSION = 4;
86   static const jint CAPACITY = 8;
87   static const jint TABLE_BASE = 12;
88   static const jint STRING_BASE = 16;
89   static const jint STRING_SIZE = 20;
90   static const jint FILE_SIZE = 24;
91   static const jint ELEMENTS = 28;
92   static const jint INT_SIZE = 4;
93   static const jint TABLE_ENTRY_SIZE = 8;
94   jint capacity__;
95   jint table_base;
96   jint string_base;
97   jint string_size;
98   jint file_size;
99   jint elements;
100   jlong length;
101   ::java::io::File * name;
102   static const jint UNUSED_ENTRY = -1;
103 public:
104   static const jint KEYS = 0;
105   static const jint VALUES = 1;
106   static const jint ENTRIES = 2;
107 private:
108   ::java::util::HashMap * values;
109 public: // actually package-private
110   ::java::nio::channels::FileChannel * fc;
111 public:
112   static ::java::lang::Class class$;
113 };
114
115 #endif // __gnu_gcj_runtime_PersistentByteMap__