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 #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 ();
35 _Jv_Thread_t
* _Jv_ThreadGetData (java::lang::Thread
* thread
);
37 class java::lang::Thread
: public ::java::lang::Object
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
);
52 Thread(::java::lang::Thread
*, ::java::lang::ThreadGroup
*, ::java::lang::Runnable
*, ::java::lang::String
*, jboolean
);
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();
71 virtual void join(jlong
);
72 virtual void join(jlong
, jint
);
73 virtual void resume();
76 jboolean
isInterrupted(jboolean
);
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
*);
84 static void sleep(jlong
);
85 static void sleep(jlong
, jint
);
88 virtual void stop(::java::lang::Throwable
*);
89 virtual void suspend();
90 virtual void setPriority(jint
);
91 virtual ::java::lang::String
* toString();
93 void initialize_native();
94 static ::java::lang::String
* gen_name();
95 public: // actually package-private
96 static ::java::lang::ThreadLocalMap
* getThreadLocals();
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
;
112 ::java::lang::Runnable
* runnable
;
113 public: // actually package-private
114 ::java::lang::String
* name
;
118 public: // actually package-private
119 jboolean interrupt_flag
;
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
;
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
;
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
;
144 ::gnu::gcj::RawDataManaged
* data
;
146 static ::java::lang::Class
class$
;
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
) ();
157 #endif // __java_lang_Thread__