OSDN Git Service

Merged gcj-eclipse branch to trunk.
[pf3gnuchains/gcc-fork.git] / libjava / java / util / concurrent / LinkedBlockingQueue.h
1
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
3
4 #ifndef __java_util_concurrent_LinkedBlockingQueue__
5 #define __java_util_concurrent_LinkedBlockingQueue__
6
7 #pragma interface
8
9 #include <java/util/AbstractQueue.h>
10 #include <gcj/array.h>
11
12
13 class java::util::concurrent::LinkedBlockingQueue : public ::java::util::AbstractQueue
14 {
15
16   void signalNotEmpty();
17   void signalNotFull();
18   void insert(::java::lang::Object *);
19   ::java::lang::Object * extract();
20   void fullyLock();
21   void fullyUnlock();
22 public:
23   LinkedBlockingQueue();
24   LinkedBlockingQueue(jint);
25   LinkedBlockingQueue(::java::util::Collection *);
26   virtual jint size();
27   virtual jint remainingCapacity();
28   virtual void put(::java::lang::Object *);
29   virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
30   virtual jboolean offer(::java::lang::Object *);
31   virtual ::java::lang::Object * take();
32   virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *);
33   virtual ::java::lang::Object * poll();
34   virtual ::java::lang::Object * peek();
35   virtual jboolean remove(::java::lang::Object *);
36   virtual JArray< ::java::lang::Object * > * toArray();
37   virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
38   virtual ::java::lang::String * toString();
39   virtual void clear();
40   virtual jint drainTo(::java::util::Collection *);
41   virtual jint drainTo(::java::util::Collection *, jint);
42   virtual ::java::util::Iterator * iterator();
43 private:
44   void writeObject(::java::io::ObjectOutputStream *);
45   void readObject(::java::io::ObjectInputStream *);
46 public: // actually package-private
47   static ::java::util::concurrent::locks::ReentrantLock * access$0(::java::util::concurrent::LinkedBlockingQueue *);
48   static ::java::util::concurrent::locks::ReentrantLock * access$1(::java::util::concurrent::LinkedBlockingQueue *);
49   static ::java::util::concurrent::LinkedBlockingQueue$Node * access$2(::java::util::concurrent::LinkedBlockingQueue *);
50   static ::java::util::concurrent::LinkedBlockingQueue$Node * access$3(::java::util::concurrent::LinkedBlockingQueue *);
51   static void access$4(::java::util::concurrent::LinkedBlockingQueue *, ::java::util::concurrent::LinkedBlockingQueue$Node *);
52   static ::java::util::concurrent::atomic::AtomicInteger * access$5(::java::util::concurrent::LinkedBlockingQueue *);
53   static jint access$6(::java::util::concurrent::LinkedBlockingQueue *);
54   static ::java::util::concurrent::locks::Condition * access$7(::java::util::concurrent::LinkedBlockingQueue *);
55 private:
56   static const jlong serialVersionUID = -6903933977591709194LL;
57   jint __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) capacity;
58   ::java::util::concurrent::atomic::AtomicInteger * count;
59   ::java::util::concurrent::LinkedBlockingQueue$Node * head;
60   ::java::util::concurrent::LinkedBlockingQueue$Node * last;
61   ::java::util::concurrent::locks::ReentrantLock * takeLock;
62   ::java::util::concurrent::locks::Condition * notEmpty;
63   ::java::util::concurrent::locks::ReentrantLock * putLock;
64   ::java::util::concurrent::locks::Condition * notFull;
65 public: // actually package-private
66   static jboolean $assertionsDisabled;
67 public:
68   static ::java::lang::Class class$;
69 };
70
71 #endif // __java_util_concurrent_LinkedBlockingQueue__