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
);
57 Thread(::java::lang::Thread
*, ::java::lang::ThreadGroup
*, ::java::lang::Runnable
*, ::java::lang::String
*);
59 static jint
activeCount();
60 virtual void checkAccess();
61 virtual jint
countStackFrames();
62 static ::java::lang::Thread
* currentThread();
63 virtual void destroy();
64 static void dumpStack();
65 static jint
enumerate(JArray
< ::java::lang::Thread
* > *);
66 virtual ::java::lang::String
* getName();
67 virtual jint
getPriority();
68 virtual ::java::lang::ThreadGroup
* getThreadGroup();
69 static jboolean
holdsLock(::java::lang::Object
*);
70 virtual void interrupt();
71 static jboolean
interrupted();
72 virtual jboolean
isInterrupted();
73 virtual jboolean
isAlive();
74 virtual jboolean
isDaemon();
76 virtual void join(jlong
);
77 virtual void join(jlong
, jint
);
78 virtual void resume();
81 jboolean
isInterrupted(jboolean
);
84 virtual void setDaemon(jboolean
);
85 virtual ::java::lang::ClassLoader
* getContextClassLoader();
86 virtual void setContextClassLoader(::java::lang::ClassLoader
*);
87 virtual void setName(::java::lang::String
*);
89 static void sleep(jlong
);
90 static void sleep(jlong
, jint
);
93 virtual void stop(::java::lang::Throwable
*);
94 virtual void suspend();
95 virtual void setPriority(jint
);
96 virtual ::java::lang::String
* toString();
98 void initialize_native();
99 static ::java::lang::String
* gen_name();
100 public: // actually package-private
101 static ::java::util::Map
* getThreadLocals();
103 virtual void setUncaughtExceptionHandler(::java::lang::Thread$UncaughtExceptionHandler
*);
104 virtual ::java::lang::Thread$UncaughtExceptionHandler
* getUncaughtExceptionHandler();
105 static void setDefaultUncaughtExceptionHandler(::java::lang::Thread$UncaughtExceptionHandler
*);
106 static ::java::lang::Thread$UncaughtExceptionHandler
* getDefaultUncaughtExceptionHandler();
107 virtual jlong
getId();
108 virtual ::java::lang::Thread$State
* getState();
109 static ::java::util::Map
* getAllStackTraces();
110 virtual JArray
< ::java::lang::StackTraceElement
* > * getStackTrace();
111 static const jint MIN_PRIORITY
= 1;
112 static const jint NORM_PRIORITY
= 5;
113 static const jint MAX_PRIORITY
= 10;
114 public: // actually package-private
115 ::java::lang::ThreadGroup
* __attribute__((aligned(__alignof__( ::java::lang::Object
)))) group
;
117 ::java::lang::Runnable
* runnable
;
118 public: // actually package-private
119 ::java::lang::String
* name
;
123 public: // actually package-private
124 jboolean interrupt_flag
;
126 static const jbyte THREAD_DEAD
= 0;
127 static const jbyte THREAD_ALIVE
= 1;
128 static const jbyte THREAD_SIGNALED
= 2;
129 jboolean startable_flag
;
130 ::java::lang::ClassLoader
* contextClassLoader
;
132 static jlong nextThreadId
;
133 static jlong totalThreadsCreated
;
134 static ::java::lang::Thread$UncaughtExceptionHandler
* defaultHandler
;
135 public: // actually package-private
136 ::gnu::java::util::WeakIdentityHashMap
* locals
;
137 ::java::lang::Thread$UncaughtExceptionHandler
* exceptionHandler
;
139 ::java::lang::Object
* parkBlocker
;
140 public: // actually package-private
141 static const jbyte THREAD_PARK_RUNNING
= 0;
142 static const jbyte THREAD_PARK_PERMIT
= 1;
143 static const jbyte THREAD_PARK_PARKED
= 2;
144 static const jbyte THREAD_PARK_DEAD
= 3;
145 ::java::lang::Object
* accessControlState
;
146 ::gnu::gcj::RawData
* interp_frame
;
147 ::gnu::gcj::RawData
* frame
;
149 ::gnu::gcj::RawDataManaged
* data
;
151 static ::java::lang::Class
class$
;
153 friend _Jv_JNIEnv
* ::_Jv_GetCurrentJNIEnv ();
154 friend void ::_Jv_SetCurrentJNIEnv (_Jv_JNIEnv
*env
);
155 friend void ::_Jv_ThreadRun (java::lang::Thread
* thread
);
156 friend jint (::_Jv_AttachCurrentThread
) (java::lang::Thread
* thread
);
157 friend java::lang::Thread
* ::_Jv_AttachCurrentThread (jstring name
, java::lang::ThreadGroup
* group
);
158 friend java::lang::Thread
* ::_Jv_AttachCurrentThreadAsDaemon (jstring name
, java::lang::ThreadGroup
* group
);
159 friend jint (::_Jv_DetachCurrentThread
) ();
162 #endif // __java_lang_Thread__