java-interp.h: Added _Jv_Frame class and its two subclasses _Jv_InterpFrame and _Jv_N...
[gcc.git] / libjava / java / lang / Thread.h
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 namespace java
22 {
23 namespace util
24 {
25 class WeakIdentityHashMap;
26 }
27 }
28 }
29 }
30
31 class _Jv_JNIEnv;
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 ();
41 struct _Jv_Thread_t;
42 _Jv_Thread_t* _Jv_ThreadGetData (java::lang::Thread* thread);
43
44 class java::lang::Thread : public ::java::lang::Object
45 {
46
47 public:
48 Thread();
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 private:
57 Thread(::java::lang::Thread *, ::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *);
58 public:
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();
75 virtual void join();
76 virtual void join(jlong);
77 virtual void join(jlong, jint);
78 virtual void resume();
79 private:
80 void finish_();
81 jboolean isInterrupted(jboolean);
82 public:
83 virtual void run();
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 *);
88 static void yield();
89 static void sleep(jlong);
90 static void sleep(jlong, jint);
91 virtual void start();
92 virtual void stop();
93 virtual void stop(::java::lang::Throwable *);
94 virtual void suspend();
95 virtual void setPriority(jint);
96 virtual ::java::lang::String * toString();
97 private:
98 void initialize_native();
99 static ::java::lang::String * gen_name();
100 public: // actually package-private
101 static ::java::util::Map * getThreadLocals();
102 public:
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;
116 private:
117 ::java::lang::Runnable * runnable;
118 public: // actually package-private
119 ::java::lang::String * name;
120 private:
121 jboolean daemon;
122 jint priority;
123 public: // actually package-private
124 jboolean interrupt_flag;
125 private:
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;
131 jlong threadId;
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;
138 private:
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;
148 volatile jint state;
149 ::gnu::gcj::RawDataManaged * data;
150 public:
151 static ::java::lang::Class class$;
152
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) ();
160 };
161
162 #endif // __java_lang_Thread__