1 
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
3 
4 #ifndef __java_lang_Thread__
5 #define __java_lang_Thread__
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         class RawData;
19         class RawDataManaged;
20     }
21   }
22 }
23 
24 class _Jv_JNIEnv;
25 #define _JV_NOT_OWNER 1
26 #define _JV_INTERRUPTED 2
27 _Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();
28 void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);
29 void _Jv_ThreadRun (java::lang::Thread* thread);
30 jint _Jv_AttachCurrentThread(java::lang::Thread* thread);
31 java::lang::Thread* _Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group);
32 java::lang::Thread* _Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group);
33 jint _Jv_DetachCurrentThread ();
34 struct _Jv_Thread_t;
35 _Jv_Thread_t* _Jv_ThreadGetData (java::lang::Thread* thread);
36 
37 class java::lang::Thread : public ::java::lang::Object
38 {
39 
40 public:
41   Thread();
42   Thread(::java::lang::Runnable *);
43   Thread(::java::lang::String *);
44   Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *);
45   Thread(::java::lang::ThreadGroup *, ::java::lang::String *);
46   Thread(::java::lang::Runnable *, ::java::lang::String *);
47   Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *);
48   Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *, jlong);
49 public: // actually package-private
50   Thread(::java::lang::String *, jboolean);
51 private:
52   Thread(::java::lang::Thread *, ::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *, jboolean);
53 public:
54   static jint activeCount();
55   virtual void checkAccess();
56   virtual jint countStackFrames();
57   static ::java::lang::Thread * currentThread();
58   virtual void destroy();
59   static void dumpStack();
60   static jint enumerate(JArray< ::java::lang::Thread * > *);
61   virtual ::java::lang::String * getName();
62   virtual jint getPriority();
63   virtual ::java::lang::ThreadGroup * getThreadGroup();
64   static jboolean holdsLock(::java::lang::Object *);
65   virtual void interrupt();
66   static jboolean interrupted();
67   virtual jboolean isInterrupted();
68   virtual jboolean isAlive();
69   virtual jboolean isDaemon();
70   virtual void join();
71   virtual void join(jlong);
72   virtual void join(jlong, jint);
73   virtual void resume();
74 private:
75   void finish_();
76   jboolean isInterrupted(jboolean);
77 public:
78   virtual void run();
79   virtual void setDaemon(jboolean);
80   virtual ::java::lang::ClassLoader * getContextClassLoader();
81   virtual void setContextClassLoader(::java::lang::ClassLoader *);
82   virtual void setName(::java::lang::String *);
83   static void yield();
84   static void sleep(jlong);
85   static void sleep(jlong, jint);
86   virtual void start();
87   virtual void stop();
88   virtual void stop(::java::lang::Throwable *);
89   virtual void suspend();
90   virtual void setPriority(jint);
91   virtual ::java::lang::String * toString();
92 private:
93   void initialize_native();
94   static ::java::lang::String * gen_name();
95 public: // actually package-private
96   static ::java::lang::ThreadLocalMap * getThreadLocals();
97 public:
98   virtual void setUncaughtExceptionHandler(::java::lang::Thread$UncaughtExceptionHandler *);
99   virtual ::java::lang::Thread$UncaughtExceptionHandler * getUncaughtExceptionHandler();
100   static void setDefaultUncaughtExceptionHandler(::java::lang::Thread$UncaughtExceptionHandler *);
101   static ::java::lang::Thread$UncaughtExceptionHandler * getDefaultUncaughtExceptionHandler();
102   virtual jlong getId();
103   virtual ::java::lang::Thread$State * getState();
104   static ::java::util::Map * getAllStackTraces();
105   virtual JArray< ::java::lang::StackTraceElement * > * getStackTrace();
106   static const jint MIN_PRIORITY = 1;
107   static const jint NORM_PRIORITY = 5;
108   static const jint MAX_PRIORITY = 10;
109 public: // actually package-private
110   ::java::lang::ThreadGroup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) group;
111 private:
112   ::java::lang::Runnable * runnable;
113 public: // actually package-private
114   ::java::lang::String * name;
115 private:
116   jboolean daemon;
117   jint priority;
118 public: // actually package-private
119   jboolean interrupt_flag;
120 private:
121   static const jbyte THREAD_DEAD = 0;
122   static const jbyte THREAD_ALIVE = 1;
123   static const jbyte THREAD_SIGNALED = 2;
124   jboolean startable_flag;
125   ::java::lang::ClassLoader * contextClassLoader;
126   jlong threadId;
127   static jlong nextThreadId;
128   static jlong totalThreadsCreated;
129   static ::java::lang::Thread$UncaughtExceptionHandler * defaultHandler;
130 public: // actually package-private
131   ::java::lang::ThreadLocalMap * locals;
132   ::java::lang::Thread$UncaughtExceptionHandler * exceptionHandler;
133 private:
134   ::java::lang::Object * parkBlocker;
135 public: // actually package-private
136   static const jbyte THREAD_PARK_RUNNING = 0;
137   static const jbyte THREAD_PARK_PERMIT = 1;
138   static const jbyte THREAD_PARK_PARKED = 2;
139   static const jbyte THREAD_PARK_DEAD = 3;
140   ::java::lang::Object * accessControlState;
141   ::gnu::gcj::RawData * interp_frame;
142   ::gnu::gcj::RawData * frame;
143   jint volatile state;
144   ::gnu::gcj::RawDataManaged * data;
145 public:
146   static ::java::lang::Class class$;
147 
148   friend _Jv_JNIEnv * ::_Jv_GetCurrentJNIEnv ();
149   friend void ::_Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);
150   friend void ::_Jv_ThreadRun (java::lang::Thread* thread);
151   friend jint (::_Jv_AttachCurrentThread) (java::lang::Thread* thread);
152   friend java::lang::Thread* ::_Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group);
153   friend java::lang::Thread* ::_Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group);
154   friend jint (::_Jv_DetachCurrentThread) ();
155 };
156 
157 #endif // __java_lang_Thread__
158