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 } 22 } 23 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); 36 37 class java::lang::Thread : public ::java::lang::Object 38 { 39 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$; 147 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) (); 155 }; 156 157 #endif // __java_lang_Thread__ 158