Thread.h 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
  2. #ifndef __java_lang_Thread__
  3. #define __java_lang_Thread__
  4. #pragma interface
  5. #include <java/lang/Object.h>
  6. #include <gcj/array.h>
  7. extern "Java"
  8. {
  9. namespace gnu
  10. {
  11. namespace gcj
  12. {
  13. class RawData;
  14. class RawDataManaged;
  15. }
  16. }
  17. }
  18. class _Jv_JNIEnv;
  19. #define _JV_NOT_OWNER 1
  20. #define _JV_INTERRUPTED 2
  21. _Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();
  22. void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);
  23. void _Jv_ThreadRun (java::lang::Thread* thread);
  24. jint _Jv_AttachCurrentThread(java::lang::Thread* thread);
  25. java::lang::Thread* _Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group);
  26. java::lang::Thread* _Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group);
  27. jint _Jv_DetachCurrentThread ();
  28. struct _Jv_Thread_t;
  29. _Jv_Thread_t* _Jv_ThreadGetData (java::lang::Thread* thread);
  30. class java::lang::Thread : public ::java::lang::Object
  31. {
  32. public:
  33. Thread();
  34. Thread(::java::lang::Runnable *);
  35. Thread(::java::lang::String *);
  36. Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *);
  37. Thread(::java::lang::ThreadGroup *, ::java::lang::String *);
  38. Thread(::java::lang::Runnable *, ::java::lang::String *);
  39. Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *);
  40. Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *, jlong);
  41. public: // actually package-private
  42. Thread(::java::lang::String *, jboolean);
  43. private:
  44. Thread(::java::lang::Thread *, ::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *, jboolean);
  45. public:
  46. static jint activeCount();
  47. virtual void checkAccess();
  48. virtual jint countStackFrames();
  49. static ::java::lang::Thread * currentThread();
  50. virtual void destroy();
  51. static void dumpStack();
  52. static jint enumerate(JArray< ::java::lang::Thread * > *);
  53. virtual ::java::lang::String * getName();
  54. virtual jint getPriority();
  55. virtual ::java::lang::ThreadGroup * getThreadGroup();
  56. static jboolean holdsLock(::java::lang::Object *);
  57. virtual void interrupt();
  58. static jboolean interrupted();
  59. virtual jboolean isInterrupted();
  60. virtual jboolean isAlive();
  61. virtual jboolean isDaemon();
  62. virtual void join();
  63. virtual void join(jlong);
  64. virtual void join(jlong, jint);
  65. virtual void resume();
  66. private:
  67. void finish_();
  68. jboolean isInterrupted(jboolean);
  69. public:
  70. virtual void run();
  71. virtual void setDaemon(jboolean);
  72. virtual ::java::lang::ClassLoader * getContextClassLoader();
  73. virtual void setContextClassLoader(::java::lang::ClassLoader *);
  74. virtual void setName(::java::lang::String *);
  75. static void yield();
  76. static void sleep(jlong);
  77. static void sleep(jlong, jint);
  78. virtual void start();
  79. virtual void stop();
  80. virtual void stop(::java::lang::Throwable *);
  81. virtual void suspend();
  82. virtual void setPriority(jint);
  83. virtual ::java::lang::String * toString();
  84. private:
  85. void initialize_native();
  86. static ::java::lang::String * gen_name();
  87. public: // actually package-private
  88. static ::java::lang::ThreadLocalMap * getThreadLocals();
  89. public:
  90. virtual void setUncaughtExceptionHandler(::java::lang::Thread$UncaughtExceptionHandler *);
  91. virtual ::java::lang::Thread$UncaughtExceptionHandler * getUncaughtExceptionHandler();
  92. static void setDefaultUncaughtExceptionHandler(::java::lang::Thread$UncaughtExceptionHandler *);
  93. static ::java::lang::Thread$UncaughtExceptionHandler * getDefaultUncaughtExceptionHandler();
  94. virtual jlong getId();
  95. virtual ::java::lang::Thread$State * getState();
  96. static ::java::util::Map * getAllStackTraces();
  97. virtual JArray< ::java::lang::StackTraceElement * > * getStackTrace();
  98. static const jint MIN_PRIORITY = 1;
  99. static const jint NORM_PRIORITY = 5;
  100. static const jint MAX_PRIORITY = 10;
  101. public: // actually package-private
  102. ::java::lang::ThreadGroup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) group;
  103. private:
  104. ::java::lang::Runnable * runnable;
  105. public: // actually package-private
  106. ::java::lang::String * name;
  107. private:
  108. jboolean daemon;
  109. jint priority;
  110. public: // actually package-private
  111. jboolean interrupt_flag;
  112. private:
  113. static const jbyte THREAD_DEAD = 0;
  114. static const jbyte THREAD_ALIVE = 1;
  115. static const jbyte THREAD_SIGNALED = 2;
  116. jboolean startable_flag;
  117. ::java::lang::ClassLoader * contextClassLoader;
  118. jlong threadId;
  119. static jlong nextThreadId;
  120. static jlong totalThreadsCreated;
  121. static ::java::lang::Thread$UncaughtExceptionHandler * defaultHandler;
  122. public: // actually package-private
  123. ::java::lang::ThreadLocalMap * locals;
  124. ::java::lang::Thread$UncaughtExceptionHandler * exceptionHandler;
  125. private:
  126. ::java::lang::Object * parkBlocker;
  127. public: // actually package-private
  128. static const jbyte THREAD_PARK_RUNNING = 0;
  129. static const jbyte THREAD_PARK_PERMIT = 1;
  130. static const jbyte THREAD_PARK_PARKED = 2;
  131. static const jbyte THREAD_PARK_DEAD = 3;
  132. ::java::lang::Object * accessControlState;
  133. ::gnu::gcj::RawData * interp_frame;
  134. ::gnu::gcj::RawData * frame;
  135. jint volatile state;
  136. ::gnu::gcj::RawDataManaged * data;
  137. public:
  138. static ::java::lang::Class class$;
  139. friend _Jv_JNIEnv * ::_Jv_GetCurrentJNIEnv ();
  140. friend void ::_Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);
  141. friend void ::_Jv_ThreadRun (java::lang::Thread* thread);
  142. friend jint (::_Jv_AttachCurrentThread) (java::lang::Thread* thread);
  143. friend java::lang::Thread* ::_Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group);
  144. friend java::lang::Thread* ::_Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group);
  145. friend jint (::_Jv_DetachCurrentThread) ();
  146. };
  147. #endif // __java_lang_Thread__