Apache Ignite C++
java.h
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef _IGNITE_JNI_JAVA
19 #define _IGNITE_JNI_JAVA
20 
21 #include <stdint.h>
22 
23 #include <jni.h>
24 
25 #include <ignite/common/common.h>
26 
27 namespace ignite
28 {
29  namespace jni
30  {
31  namespace java
32  {
33  /* Handlers for callbacks from Java. */
34  typedef int64_t(JNICALL *CacheStoreCreateHandler)(void* target, int64_t memPtr);
35  typedef int(JNICALL *CacheStoreInvokeHandler)(void* target, int64_t objPtr, int64_t memPtr);
36  typedef void(JNICALL *CacheStoreDestroyHandler)(void* target, int64_t objPtr);
37  typedef int64_t(JNICALL *CacheStoreSessionCreateHandler)(void* target, int64_t storePtr);
38 
39  typedef int64_t(JNICALL *CacheEntryFilterCreateHandler)(void* target, int64_t memPtr);
40  typedef int(JNICALL *CacheEntryFilterApplyHandler)(void* target, int64_t ptr, int64_t memPtr);
41  typedef void(JNICALL *CacheEntryFilterDestroyHandler)(void* target, int64_t ptr);
42 
43  typedef void(JNICALL *CacheInvokeHandler)(void* target, int64_t inMemPtr, int64_t outMemPtr);
44 
45  typedef void(JNICALL *ComputeTaskMapHandler)(void* target, int64_t taskPtr, int64_t inMemPtr, int64_t outMemPtr);
46  typedef int(JNICALL *ComputeTaskJobResultHandler)(void* target, int64_t taskPtr, int64_t jobPtr, int64_t memPtr);
47  typedef void(JNICALL *ComputeTaskReduceHandler)(void* target, int64_t taskPtr);
48  typedef void(JNICALL *ComputeTaskCompleteHandler)(void* target, int64_t taskPtr, int64_t memPtr);
49  typedef int(JNICALL *ComputeJobSerializeHandler)(void* target, int64_t jobPtr, int64_t memPtr);
50  typedef int64_t(JNICALL *ComputeJobCreateHandler)(void* target, int64_t memPtr);
51  typedef void(JNICALL *ComputeJobExecuteHandler)(void* target, int64_t jobPtr, int cancel, int64_t memPtr);
52  typedef void(JNICALL *ComputeJobCancelHandler)(void* target, int64_t jobPtr);
53  typedef void(JNICALL *ComputeJobDestroyHandler)(void* target, int64_t jobPtr);
54 
55  typedef void(JNICALL *ContinuousQueryListenerApplyHandler)(void* target, int64_t lsnrPtr, int64_t memPtr);
56  typedef int64_t(JNICALL *ContinuousQueryFilterCreateHandler)(void* target, int64_t memPtr);
57  typedef int(JNICALL *ContinuousQueryFilterApplyHandler)(void* target, int64_t filterPtr, int64_t memPtr);
58  typedef void(JNICALL *ContinuousQueryFilterReleaseHandler)(void* target, int64_t filterPtr);
59 
60  typedef void(JNICALL *DataStreamerTopologyUpdateHandler)(void* target, int64_t ldrPtr, int64_t topVer, int topSize);
61  typedef void(JNICALL *DataStreamerStreamReceiverInvokeHandler)(void* target, int64_t ptr, void* cache, int64_t memPtr, unsigned char keepPortable);
62 
63  typedef void(JNICALL *FutureByteResultHandler)(void* target, int64_t futAddr, int res);
64  typedef void(JNICALL *FutureBoolResultHandler)(void* target, int64_t futAddr, int res);
65  typedef void(JNICALL *FutureShortResultHandler)(void* target, int64_t futAddr, int res);
66  typedef void(JNICALL *FutureCharResultHandler)(void* target, int64_t futAddr, int res);
67  typedef void(JNICALL *FutureIntResultHandler)(void* target, int64_t futAddr, int res);
68  typedef void(JNICALL *FutureFloatResultHandler)(void* target, int64_t futAddr, float res);
69  typedef void(JNICALL *FutureLongResultHandler)(void* target, int64_t futAddr, int64_t res);
70  typedef void(JNICALL *FutureDoubleResultHandler)(void* target, int64_t futAddr, double res);
71  typedef void(JNICALL *FutureObjectResultHandler)(void* target, int64_t futAddr, int64_t memPtr);
72  typedef void(JNICALL *FutureNullResultHandler)(void* target, int64_t futAddr);
73  typedef void(JNICALL *FutureErrorHandler)(void* target, int64_t futAddr, int64_t memPtr);
74 
75  typedef void(JNICALL *LifecycleEventHandler)(void* target, int64_t ptr, int evt);
76 
77  typedef void(JNICALL *MemoryReallocateHandler)(void* target, int64_t memPtr, int cap);
78 
79  typedef int64_t(JNICALL *MessagingFilterCreateHandler)(void* target, int64_t memPtr);
80  typedef int(JNICALL *MessagingFilterApplyHandler)(void* target, int64_t ptr, int64_t memPtr);
81  typedef void(JNICALL *MessagingFilterDestroyHandler)(void* target, int64_t ptr);
82 
83  typedef int64_t(JNICALL *EventFilterCreateHandler)(void* target, int64_t memPtr);
84  typedef int(JNICALL *EventFilterApplyHandler)(void* target, int64_t ptr, int64_t memPtr);
85  typedef void(JNICALL *EventFilterDestroyHandler)(void* target, int64_t ptr);
86 
87  typedef int64_t(JNICALL *ServiceInitHandler)(void* target, int64_t memPtr);
88  typedef void(JNICALL *ServiceExecuteHandler)(void* target, int64_t svcPtr, int64_t memPtr);
89  typedef void(JNICALL *ServiceCancelHandler)(void* target, int64_t svcPtr, int64_t memPtr);
90  typedef void(JNICALL *ServiceInvokeMethodHandler)(void* target, int64_t svcPtr, int64_t inMemPtr, int64_t outMemPtr);
91  typedef int(JNICALL *ClusterNodeFilterApplyHandler)(void* target, int64_t memPtr);
92 
93  typedef int64_t(JNICALL *NodeInfoHandler)(void* target, int64_t memPtr);
94 
95  typedef void(JNICALL *OnStartHandler)(void* target, void* proc, int64_t memPtr);
96  typedef void(JNICALL *OnStopHandler)(void* target);
97  typedef void(JNICALL *ErrorHandler)(void* target, int errCode, const char* errClsChars, int errClsCharsLen, const char* errMsgChars, int errMsgCharsLen, const char* stackTraceChars, int stackTraceCharsLen, void* errData, int errDataLen);
98 
99  typedef int64_t(JNICALL *ExtensionCallbackInLongOutLongHandler)(void* target, int typ, int64_t arg1);
100  typedef int64_t(JNICALL *ExtensionCallbackInLongLongOutLongHandler)(void* target, int typ, int64_t arg1, int64_t arg2);
101 
102  typedef void(JNICALL *OnClientDisconnectedHandler)(void* target);
103  typedef void(JNICALL *OnClientReconnectedHandler)(void* target, unsigned char clusterRestarted);
104 
105  typedef int64_t(JNICALL *AffinityFunctionInitHandler)(void* target, int64_t memPtr, void* baseFunc);
106  typedef int(JNICALL *AffinityFunctionPartitionHandler)(void* target, int64_t ptr, int64_t memPtr);
107  typedef void(JNICALL *AffinityFunctionAssignPartitionsHandler)(void* target, int64_t ptr, int64_t inMemPtr, int64_t outMemPtr);
108  typedef void(JNICALL *AffinityFunctionRemoveNodeHandler)(void* target, int64_t ptr, int64_t memPtr);
109  typedef void(JNICALL *AffinityFunctionDestroyHandler)(void* target, int64_t ptr);
110 
111  typedef void(JNICALL *ConsoleWriteHandler)(const char* chars, int charsLen, unsigned char isErr);
112 
113  typedef void(JNICALL *LoggerLogHandler)(void* target, int level, const char* messageChars, int messageCharsLen, const char* categoryChars, int categoryCharsLen, const char* errorInfoChars, int errorInfoCharsLen, int64_t memPtr);
114  typedef bool(JNICALL *LoggerIsLevelEnabledHandler)(void* target, int level);
115 
116  typedef int64_t(JNICALL *InLongOutLongHandler)(void* target, int type, int64_t val);
117  typedef int64_t(JNICALL *InLongLongLongObjectOutLongHandler)(void* target, int type, int64_t val1, int64_t val2, int64_t val3, void* arg);
118 
124  bool IGNITE_IMPORT_EXPORT IsJava9OrLater();
125 
129  struct JniHandlers {
130  void* target;
131 
132  ErrorHandler error;
133 
134  LoggerLogHandler loggerLog;
135  LoggerIsLevelEnabledHandler loggerIsLevelEnabled;
136 
137  InLongOutLongHandler inLongOutLong;
138  InLongLongLongObjectOutLongHandler inLongLongLongObjectOutLong;
139  };
140 
144  struct JniJavaMembers {
145  jclass c_Class;
146  jmethodID m_Class_getName;
147 
148  jclass c_Throwable;
149  jmethodID m_Throwable_getMessage;
150  jmethodID m_Throwable_printStackTrace;
151 
152  jclass c_PlatformUtils;
153  jmethodID m_PlatformUtils_getFullStackTrace;
154 
158  void Initialize(JNIEnv* env);
159 
163  void Destroy(JNIEnv* env);
164 
168  bool WriteErrorInfo(JNIEnv* env, char** errClsName, int* errClsNameLen, char** errMsg, int* errMsgLen,
169  char** stackTrace, int* stackTraceLen);
170  };
171 
175  struct JniMembers {
176  jclass c_IgniteException;
177 
178  jclass c_PlatformIgnition;
179  jmethodID m_PlatformIgnition_start;
180  jmethodID m_PlatformIgnition_instance;
181  jmethodID m_PlatformIgnition_environmentPointer;
182  jmethodID m_PlatformIgnition_stop;
183  jmethodID m_PlatformIgnition_stopAll;
184 
185  jclass c_PlatformTarget;
186  jmethodID m_PlatformTarget_inLongOutLong;
187  jmethodID m_PlatformTarget_inStreamOutLong;
188  jmethodID m_PlatformTarget_inStreamOutObject;
189  jmethodID m_PlatformTarget_outStream;
190  jmethodID m_PlatformTarget_outObject;
191  jmethodID m_PlatformTarget_inStreamAsync;
192  jmethodID m_PlatformTarget_inStreamOutObjectAsync;
193  jmethodID m_PlatformTarget_inStreamOutStream;
194  jmethodID m_PlatformTarget_inObjectStreamOutObjectStream;
195 
196  jclass c_PlatformUtils;
197  jmethodID m_PlatformUtils_reallocate;
198  jmethodID m_PlatformUtils_errData;
199 
203  void Initialize(JNIEnv* env);
204 
208  void Destroy(JNIEnv* env);
209  };
210 
214  class IGNITE_IMPORT_EXPORT JniJvm {
215  public:
219  JniJvm();
220 
228  JniJvm(JavaVM* jvm, JniJavaMembers javaMembers, JniMembers members);
229 
235  JavaVM* GetJvm();
236 
242  JniJavaMembers& GetJavaMembers();
243 
249  JniMembers& GetMembers();
250  private:
252  JavaVM* jvm;
253 
255  JniJavaMembers javaMembers;
256 
258  JniMembers members;
259  };
260 
264  struct IGNITE_IMPORT_EXPORT JniErrorInfo
265  {
266  int code;
267  char* errCls;
268  char* errMsg;
269 
273  JniErrorInfo();
274 
282  JniErrorInfo(int code, const char* errCls, const char* errMsg);
283 
289  JniErrorInfo(const JniErrorInfo& other);
290 
297  JniErrorInfo& operator=(const JniErrorInfo& other);
298 
302  ~JniErrorInfo();
303  };
304 
308  class IGNITE_IMPORT_EXPORT JniContext {
309  public:
310  static JniContext* Create(char** opts, int optsLen, JniHandlers hnds);
311  static JniContext* Create(char** opts, int optsLen, JniHandlers hnds, JniErrorInfo* errInfo);
312  static int Reallocate(int64_t memPtr, int cap);
313  static void Detach();
314  static void Release(jobject obj);
315  static void SetConsoleHandler(ConsoleWriteHandler consoleHandler);
316  static int RemoveConsoleHandler(ConsoleWriteHandler consoleHandler);
317 
318  void IgnitionStart(char* cfgPath, char* name, int factoryId, int64_t dataPtr);
319  void IgnitionStart(char* cfgPath, char* name, int factoryId, int64_t dataPtr, JniErrorInfo* errInfo);
320  int64_t IgnitionEnvironmentPointer(char* name);
321  int64_t IgnitionEnvironmentPointer(char* name, JniErrorInfo* errInfo);
322  bool IgnitionStop(char* name, bool cancel);
323  bool IgnitionStop(char* name, bool cancel, JniErrorInfo* errInfo);
324  void IgnitionStopAll(bool cancel);
325  void IgnitionStopAll(bool cancel, JniErrorInfo* errInfo);
326 
327  int64_t TargetInLongOutLong(jobject obj, int type, int64_t memPtr, JniErrorInfo* errInfo = NULL);
328  int64_t TargetInStreamOutLong(jobject obj, int type, int64_t memPtr, JniErrorInfo* errInfo = NULL);
329  void TargetInStreamOutStream(jobject obj, int opType, int64_t inMemPtr, int64_t outMemPtr, JniErrorInfo* errInfo = NULL);
330  jobject TargetInStreamOutObject(jobject obj, int type, int64_t memPtr, JniErrorInfo* errInfo = NULL);
331  jobject TargetInObjectStreamOutObjectStream(jobject obj, int opType, void* arg, int64_t inMemPtr, int64_t outMemPtr, JniErrorInfo* errInfo = NULL);
332  void TargetOutStream(jobject obj, int opType, int64_t memPtr, JniErrorInfo* errInfo = NULL);
333  jobject TargetOutObject(jobject obj, int opType, JniErrorInfo* errInfo = NULL);
334  void TargetInStreamAsync(jobject obj, int type, int64_t memPtr, JniErrorInfo* errInfo = NULL);
335  jobject TargetInStreamOutObjectAsync(jobject obj, int type, int64_t memPtr, JniErrorInfo* errInfo = NULL);
336 
337  jobject CacheOutOpQueryCursor(jobject obj, int type, int64_t memPtr, JniErrorInfo* errInfo = NULL);
338  jobject CacheOutOpContinuousQuery(jobject obj, int type, int64_t memPtr, JniErrorInfo* errInfo = NULL);
339 
340  jobject Acquire(jobject obj);
341 
342  void DestroyJvm();
343  void ThrowToJava(char* errMsg);
344  private:
345  JniJvm* jvm;
346  JniHandlers hnds;
347 
348  JniContext(JniJvm* jvm, JniHandlers hnds);
349 
350  JNIEnv* Attach();
351  void ExceptionCheck(JNIEnv* env);
352  void ExceptionCheck(JNIEnv* env, JniErrorInfo* errInfo);
353  jobject LocalToGlobal(JNIEnv* env, jobject obj);
354  };
355 
356  JNIEXPORT jlong JNICALL JniCacheStoreCreate(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr);
357  JNIEXPORT jint JNICALL JniCacheStoreInvoke(JNIEnv *env, jclass cls, jlong envPtr, jlong objPtr, jlong memPtr);
358  JNIEXPORT void JNICALL JniCacheStoreDestroy(JNIEnv *env, jclass cls, jlong envPtr, jlong objPtr);
359  JNIEXPORT jlong JNICALL JniCacheStoreSessionCreate(JNIEnv *env, jclass cls, jlong envPtr, jlong storePtr);
360 
361  JNIEXPORT jlong JNICALL JniCacheEntryFilterCreate(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr);
362  JNIEXPORT jint JNICALL JniCacheEntryFilterApply(JNIEnv *env, jclass cls, jlong envPtr, jlong objPtr, jlong memPtr);
363  JNIEXPORT void JNICALL JniCacheEntryFilterDestroy(JNIEnv *env, jclass cls, jlong envPtr, jlong objPtr);
364 
365  JNIEXPORT void JNICALL JniCacheInvoke(JNIEnv *env, jclass cls, jlong envPtr, jlong inMemPtr, jlong outMemPtr);
366 
367  JNIEXPORT void JNICALL JniComputeTaskMap(JNIEnv *env, jclass cls, jlong envPtr, jlong taskPtr, jlong inMemPtr, jlong outMemPtr);
368  JNIEXPORT jint JNICALL JniComputeTaskJobResult(JNIEnv *env, jclass cls, jlong envPtr, jlong taskPtr, jlong jobPtr, jlong memPtr);
369  JNIEXPORT void JNICALL JniComputeTaskReduce(JNIEnv *env, jclass cls, jlong envPtr, jlong taskPtr);
370  JNIEXPORT void JNICALL JniComputeTaskComplete(JNIEnv *env, jclass cls, jlong envPtr, jlong taskPtr, jlong memPtr);
371  JNIEXPORT jint JNICALL JniComputeJobSerialize(JNIEnv *env, jclass cls, jlong envPtr, jlong jobPtr, jlong memPtr);
372  JNIEXPORT jlong JNICALL JniComputeJobCreate(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr);
373  JNIEXPORT void JNICALL JniComputeJobExecute(JNIEnv *env, jclass cls, jlong envPtr, jlong jobPtr, jint cancel, jlong memPtr);
374  JNIEXPORT void JNICALL JniComputeJobCancel(JNIEnv *env, jclass cls, jlong envPtr, jlong jobPtr);
375  JNIEXPORT void JNICALL JniComputeJobDestroy(JNIEnv *env, jclass cls, jlong envPtr, jlong jobPtr);
376 
377  JNIEXPORT void JNICALL JniContinuousQueryListenerApply(JNIEnv *env, jclass cls, jlong envPtr, jlong cbPtr, jlong memPtr);
378  JNIEXPORT jlong JNICALL JniContinuousQueryFilterCreate(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr);
379  JNIEXPORT jint JNICALL JniContinuousQueryFilterApply(JNIEnv *env, jclass cls, jlong envPtr, jlong filterPtr, jlong memPtr);
380  JNIEXPORT void JNICALL JniContinuousQueryFilterRelease(JNIEnv *env, jclass cls, jlong envPtr, jlong filterPtr);
381 
382  JNIEXPORT void JNICALL JniDataStreamerTopologyUpdate(JNIEnv *env, jclass cls, jlong envPtr, jlong ldrPtr, jlong topVer, jint topSize);
383  JNIEXPORT void JNICALL JniDataStreamerStreamReceiverInvoke(JNIEnv *env, jclass cls, jlong envPtr, jlong ptr, jobject cache, jlong memPtr, jboolean keepPortable);
384 
385  JNIEXPORT void JNICALL JniFutureByteResult(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr, jint res);
386  JNIEXPORT void JNICALL JniFutureBoolResult(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr, jint res);
387  JNIEXPORT void JNICALL JniFutureShortResult(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr, jint res);
388  JNIEXPORT void JNICALL JniFutureCharResult(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr, jint res);
389  JNIEXPORT void JNICALL JniFutureIntResult(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr, jint res);
390  JNIEXPORT void JNICALL JniFutureFloatResult(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr, jfloat res);
391  JNIEXPORT void JNICALL JniFutureLongResult(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr, jlong res);
392  JNIEXPORT void JNICALL JniFutureDoubleResult(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr, jdouble res);
393  JNIEXPORT void JNICALL JniFutureObjectResult(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr, jlong memPtr);
394  JNIEXPORT void JNICALL JniFutureNullResult(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr);
395  JNIEXPORT void JNICALL JniFutureError(JNIEnv *env, jclass cls, jlong envPtr, jlong futPtr, jlong memPtr);
396 
397  JNIEXPORT void JNICALL JniLifecycleEvent(JNIEnv *env, jclass cls, jlong envPtr, jlong ptr, jint evt);
398 
399  JNIEXPORT void JNICALL JniMemoryReallocate(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr, jint cap);
400 
401  JNIEXPORT jlong JNICALL JniMessagingFilterCreate(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr);
402  JNIEXPORT jint JNICALL JniMessagingFilterApply(JNIEnv *env, jclass cls, jlong envPtr, jlong ptr, jlong memPtr);
403  JNIEXPORT void JNICALL JniMessagingFilterDestroy(JNIEnv *env, jclass cls, jlong envPtr, jlong ptr);
404 
405  JNIEXPORT jlong JNICALL JniEventFilterCreate(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr);
406  JNIEXPORT jint JNICALL JniEventFilterApply(JNIEnv *env, jclass cls, jlong envPtr, jlong ptr, jlong memPtr);
407  JNIEXPORT void JNICALL JniEventFilterDestroy(JNIEnv *env, jclass cls, jlong envPtr, jlong ptr);
408 
409  JNIEXPORT jlong JNICALL JniServiceInit(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr);
410  JNIEXPORT void JNICALL JniServiceExecute(JNIEnv *env, jclass cls, jlong envPtr, jlong svcPtr, jlong memPtr);
411  JNIEXPORT void JNICALL JniServiceCancel(JNIEnv *env, jclass cls, jlong envPtr, jlong svcPtr, jlong memPtr);
412  JNIEXPORT void JNICALL JniServiceInvokeMethod(JNIEnv *env, jclass cls, jlong envPtr, jlong svcPtr, jlong inMemPtr, jlong outMemPtr);
413  JNIEXPORT jint JNICALL JniClusterNodeFilterApply(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr);
414 
415  JNIEXPORT jlong JNICALL JniNodeInfo(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr);
416 
417  JNIEXPORT void JNICALL JniOnStart(JNIEnv *env, jclass cls, jlong envPtr, jobject proc, jlong memPtr);
418  JNIEXPORT void JNICALL JniOnStop(JNIEnv *env, jclass cls, jlong envPtr);
419 
420  JNIEXPORT jlong JNICALL JniExtensionCallbackInLongOutLong(JNIEnv *env, jclass cls, jlong envPtr, jint typ, jlong arg1);
421  JNIEXPORT jlong JNICALL JniExtensionCallbackInLongLongOutLong(JNIEnv *env, jclass cls, jlong envPtr, jint typ, jlong arg1, jlong arg2);
422 
423  JNIEXPORT void JNICALL JniOnClientDisconnected(JNIEnv *env, jclass cls, jlong envPtr);
424  JNIEXPORT void JNICALL JniOnClientReconnected(JNIEnv *env, jclass cls, jlong envPtr, jboolean clusterRestarted);
425 
426  JNIEXPORT jlong JNICALL JniAffinityFunctionInit(JNIEnv *env, jclass cls, jlong envPtr, jlong memPtr, jobject baseFunc);
427  JNIEXPORT jint JNICALL JniAffinityFunctionPartition(JNIEnv *env, jclass cls, jlong envPtr, jlong ptr, jlong memPtr);
428  JNIEXPORT void JNICALL JniAffinityFunctionAssignPartitions(JNIEnv *env, jclass cls, jlong envPtr, jlong ptr, jlong inMemPtr, jlong outMemPtr);
429  JNIEXPORT void JNICALL JniAffinityFunctionRemoveNode(JNIEnv *env, jclass cls, jlong envPtr, jlong ptr, jlong memPtr);
430  JNIEXPORT void JNICALL JniAffinityFunctionDestroy(JNIEnv *env, jclass cls, jlong envPtr, jlong ptr);
431 
432  JNIEXPORT void JNICALL JniConsoleWrite(JNIEnv *env, jclass cls, jstring str, jboolean isErr);
433 
434  JNIEXPORT void JNICALL JniLoggerLog(JNIEnv *env, jclass cls, jlong envPtr, jint level, jstring message, jstring category, jstring errorInfo, jlong memPtr);
435  JNIEXPORT jboolean JNICALL JniLoggerIsLevelEnabled(JNIEnv *env, jclass cls, jlong envPtr, jint level);
436 
437  JNIEXPORT jlong JNICALL JniInLongOutLong(JNIEnv *env, jclass cls, jlong envPtr, jint type, jlong val);
438  JNIEXPORT jlong JNICALL JniInLongLongLongObjectOutLong(JNIEnv *env, jclass cls, jlong envPtr, jint type, jlong val1, jlong val2, jlong val3, jobject arg);
439  }
440  }
441 }
442 
443 #endif //_IGNITE_JNI_JAVA
ignite
Apache Ignite API.
Definition: cache.h:48
ignite::jni::java::JniJavaMembers
JNI Java members.
Definition: java.h:144
ignite::jni::java::JniJavaMembers::Initialize
void Initialize(JNIEnv *env)
Constructor.
Definition: java.cpp:362
ignite::jni::java::JniMembers::Destroy
void Destroy(JNIEnv *env)
Destroy members releasing all allocated classes.
Definition: java.cpp:454
ignite::jni::java::JniJavaMembers::WriteErrorInfo
bool WriteErrorInfo(JNIEnv *env, char **errClsName, int *errClsNameLen, char **errMsg, int *errMsgLen, char **stackTrace, int *stackTraceLen)
Write error information.
Definition: java.cpp:380
ignite::jni::java::JniErrorInfo
JNI error information.
Definition: java.h:264
ignite::jni::java::JniMembers::Initialize
void Initialize(JNIEnv *env)
Constructor.
Definition: java.cpp:425
ignite::jni::java::JniMembers
JNI members.
Definition: java.h:175
ignite::jni::java::JniJavaMembers::Destroy
void Destroy(JNIEnv *env)
Destroy members releasing all allocated classes.
Definition: java.cpp:374
ignite::jni::java::JniHandlers
JNI handlers holder.
Definition: java.h:129
ignite::jni::java::JniJvm
JNI JVM wrapper.
Definition: java.h:214
ignite::jni::java::JniContext
Unmanaged context.
Definition: java.h:308