2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
4 #ifndef __java_lang_Thread__
5 #define __java_lang_Thread__
9 #include <java/lang/Object.h>
10 #include <gcj/array.h>
25 class WeakIdentityHashMap;
32 #define _JV_NOT_OWNER 1
33 #define _JV_INTERRUPTED 2
34 _Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();
35 void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);
36 void _Jv_ThreadRun (java::lang::Thread* thread);
37 jint _Jv_AttachCurrentThread(java::lang::Thread* thread);
38 java::lang::Thread* _Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group);
39 java::lang::Thread* _Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group);
40 jint _Jv_DetachCurrentThread ();
42 _Jv_Thread_t* _Jv_ThreadGetData (java::lang::Thread* thread);
44 class java::lang::Thread : public ::java::lang::Object
49 Thread(::java::lang::Runnable *);
50 Thread(::java::lang::String *);
51 Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *);
52 Thread(::java::lang::ThreadGroup *, ::java::lang::String *);
53 Thread(::java::lang::Runnable *, ::java::lang::String *);
54 Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *);
55 Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *, jlong);
56 public: // actually package-private
57 Thread(::java::lang::String *, jboolean);
59 Thread(::java::lang::Thread *, ::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *, jboolean);
61 static jint activeCount();
62 virtual void checkAccess();
63 virtual jint countStackFrames();
64 static ::java::lang::Thread * currentThread();
65 virtual void destroy();
66 static void dumpStack();
67 static jint enumerate(JArray< ::java::lang::Thread * > *);
68 virtual ::java::lang::String * getName();
69 virtual jint getPriority();
70 virtual ::java::lang::ThreadGroup * getThreadGroup();
71 static jboolean holdsLock(::java::lang::Object *);
72 virtual void interrupt();
73 static jboolean interrupted();
74 virtual jboolean isInterrupted();
75 virtual jboolean isAlive();
76 virtual jboolean isDaemon();
78 virtual void join(jlong);
79 virtual void join(jlong, jint);
80 virtual void resume();
83 jboolean isInterrupted(jboolean);
86 virtual void setDaemon(jboolean);
87 virtual ::java::lang::ClassLoader * getContextClassLoader();
88 virtual void setContextClassLoader(::java::lang::ClassLoader *);
89 virtual void setName(::java::lang::String *);
91 static void sleep(jlong);
92 static void sleep(jlong, jint);
95 virtual void stop(::java::lang::Throwable *);
96 virtual void suspend();
97 virtual void setPriority(jint);
98 virtual ::java::lang::String * toString();
100 void initialize_native();
101 static ::java::lang::String * gen_name();
102 public: // actually package-private
103 static ::java::util::Map * getThreadLocals();
105 virtual void setUncaughtExceptionHandler(::java::lang::Thread$UncaughtExceptionHandler *);
106 virtual ::java::lang::Thread$UncaughtExceptionHandler * getUncaughtExceptionHandler();
107 static void setDefaultUncaughtExceptionHandler(::java::lang::Thread$UncaughtExceptionHandler *);
108 static ::java::lang::Thread$UncaughtExceptionHandler * getDefaultUncaughtExceptionHandler();
109 virtual jlong getId();
110 virtual ::java::lang::Thread$State * getState();
111 static ::java::util::Map * getAllStackTraces();
112 virtual JArray< ::java::lang::StackTraceElement * > * getStackTrace();
113 static const jint MIN_PRIORITY = 1;
114 static const jint NORM_PRIORITY = 5;
115 static const jint MAX_PRIORITY = 10;
116 public: // actually package-private
117 ::java::lang::ThreadGroup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) group;
119 ::java::lang::Runnable * runnable;
120 public: // actually package-private
121 ::java::lang::String * name;
125 public: // actually package-private
126 jboolean interrupt_flag;
128 static const jbyte THREAD_DEAD = 0;
129 static const jbyte THREAD_ALIVE = 1;
130 static const jbyte THREAD_SIGNALED = 2;
131 jboolean startable_flag;
132 ::java::lang::ClassLoader * contextClassLoader;
134 static jlong nextThreadId;
135 static jlong totalThreadsCreated;
136 static ::java::lang::Thread$UncaughtExceptionHandler * defaultHandler;
137 public: // actually package-private
138 ::gnu::java::util::WeakIdentityHashMap * locals;
139 ::java::lang::Thread$UncaughtExceptionHandler * exceptionHandler;
141 ::java::lang::Object * parkBlocker;
142 public: // actually package-private
143 static const jbyte THREAD_PARK_RUNNING = 0;
144 static const jbyte THREAD_PARK_PERMIT = 1;
145 static const jbyte THREAD_PARK_PARKED = 2;
146 static const jbyte THREAD_PARK_DEAD = 3;
147 ::java::lang::Object * accessControlState;
148 ::gnu::gcj::RawData * interp_frame;
149 ::gnu::gcj::RawData * frame;
151 ::gnu::gcj::RawDataManaged * data;
153 static ::java::lang::Class class$;
155 friend _Jv_JNIEnv * ::_Jv_GetCurrentJNIEnv ();
156 friend void ::_Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);
157 friend void ::_Jv_ThreadRun (java::lang::Thread* thread);
158 friend jint (::_Jv_AttachCurrentThread) (java::lang::Thread* thread);
159 friend java::lang::Thread* ::_Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group);
160 friend java::lang::Thread* ::_Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group);
161 friend jint (::_Jv_DetachCurrentThread) ();
164 #endif // __java_lang_Thread__