OSDN Git Service

Merged gcj-eclipse branch to trunk.
[pf3gnuchains/gcc-fork.git] / libjava / gnu / java / nio / SelectorImpl.h
1
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
3
4 #ifndef __gnu_java_nio_SelectorImpl__
5 #define __gnu_java_nio_SelectorImpl__
6
7 #pragma interface
8
9 #include <java/nio/channels/spi/AbstractSelector.h>
10 #include <gcj/array.h>
11
12 extern "Java"
13 {
14   namespace gnu
15   {
16     namespace java
17     {
18       namespace nio
19       {
20           class SelectorImpl;
21       }
22     }
23   }
24   namespace java
25   {
26     namespace nio
27     {
28       namespace channels
29       {
30           class SelectableChannel;
31           class SelectionKey;
32           class Selector;
33         namespace spi
34         {
35             class AbstractSelectableChannel;
36             class SelectorProvider;
37         }
38       }
39     }
40   }
41 }
42
43 class gnu::java::nio::SelectorImpl : public ::java::nio::channels::spi::AbstractSelector
44 {
45
46 public:
47   SelectorImpl(::java::nio::channels::spi::SelectorProvider *);
48 public: // actually protected
49   virtual void finalize();
50   virtual void implCloseSelector();
51 public:
52   virtual ::java::util::Set * keys();
53   virtual jint selectNow();
54   virtual jint select();
55 private:
56   JArray< jint > * getFDsAsArray(jint);
57 public:
58   virtual jint select(jlong);
59   virtual ::java::util::Set * selectedKeys();
60   virtual ::java::nio::channels::Selector * wakeup();
61 private:
62   void deregisterCancelledKeys();
63 public: // actually protected
64   virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::SelectableChannel *, jint, ::java::lang::Object *);
65   virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::spi::AbstractSelectableChannel *, jint, ::java::lang::Object *);
66 private:
67   ::java::util::Set * __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelector)))) keys__;
68   ::java::util::Set * selected;
69   ::java::lang::Object * selectThreadMutex;
70   ::java::lang::Thread * selectThread;
71   jboolean unhandledWakeup;
72 public:
73   static ::java::lang::Class class$;
74 };
75
76 #endif // __gnu_java_nio_SelectorImpl__