Codemesh Runtime v3 C++ API Reference  3.9.205
xmog_localenv.h
1 //
2 // Copyright (c) 1999-2020 by Codemesh, Inc.. ALL RIGHTS RESERVED.
3 //
4 
5 
6 #ifndef xmog_localenv_inc
7 #define xmog_localenv_inc
8 
9 
10 #include "xmog.h"
11 
12 
13 class xmog_jvm;
14 class xmog_error_handler;
15 struct xmog_base;
16 
17 
32 class XMOG_DECLSPEC xmog_localenv
33 {
34 public:
35 
36  xmog_localenv();
37 
38  xmog_localenv( xmog_jvm * jvm, JNIEnv * env = NULL );
39 
40  ~xmog_localenv();
41 
49  void in_delete( bool bInDelete );
50 
54  bool in_delete();
55 
63  void in_detach( bool bInDetach );
64 
68  bool in_detach();
69 
77  void in_exception( bool bInException );
78 
82  bool in_exception();
83 
88  xmog_jvm * getJvm();
89 
93  JNIEnv * getJNIEnv();
94 
100  JNIEnv * getEnv();
101 
105  JavaVM * getJavaVM();
106 
110  jint getJNIVersion();
111 
126  void setDefaultEncoding( xmog_base * _enc );
127 
138  xmog_base * getDefaultEncoding();
139 
149  void set_error_handler( xmog_error_handler * _eh );
150 
158  xmog_error_handler * get_error_handler();
159 
167  static xmog_localenv * get_instance( xmog_localenv * env );
168 
180  static void set_classloader( jobject cl );
181 
194  static xmog_localenv * get_instance( JNIEnv * env );
195 
205  static xmog_localenv * get_localenv( JNIEnv *, XMOGVERSION, XMOGCONFIG, XMOGVERSION, const char *, jint );
206 
210  void * operator new( size_t );
211 
212  void operator delete( void * );
213 
214 private:
215 
216  xmog_jvm * jvm_;
217 
218  JNIEnv * env_;
219 
220  bool bInDelete_;
221 
222  bool bInDetach_;
223 
224  bool bInException_;
225 
226  jint clientTid_;
227 
228  jint serverTid_;
229 
230  jobject clContext_;
231 
232  void * task_;
233 
234  xmog_base * default_enc_;
235 
236  xmog_error_handler * eh_;
237 };
238 
239 
240 #if (XMOG_PRE_3_0_SUPPORT == 1)
241 
248 
249 #endif
250 
251 
252 
253 #endif /* xmog_localenv_inc */
xmog_error_handler
The type responsible for error handling.
Definition: xmog_error_handler.h:162
xmog_base
The baseclass for all proxy types in the framework.
Definition: xmog_base.h:29
xmog_jvm
The class that represents a Java Virtual Machine in the framework.
Definition: xmog_jvm.h:41
xmog_localenv
A class representing per-thread information for the integration runtime.
Definition: xmog_localenv.h:32

Copyright (c) 1999-2020 by Codemesh, Inc., ALL RIGHTS RESERVED.