libjava/ChangeLog:
[official-gcc.git] / libjava / java / lang / Thread.h
blob54764c83c5abc221f2f9b6e6762957555dedda18
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
4 #ifndef __java_lang_Thread__
5 #define __java_lang_Thread__
7 #pragma interface
9 #include <java/lang/Object.h>
10 #include <gcj/array.h>
12 extern "Java"
14 namespace gnu
16 namespace gcj
18 class RawData;
19 class RawDataManaged;
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);
37 class java::lang::Thread : public ::java::lang::Object
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$;
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__