1 // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2 // This source code is licensed under both the GPLv2 (found in the
3 // COPYING file in the root directory) and Apache 2.0 License
4 // (found in the LICENSE.Apache file in the root directory).
5 //
6 // This file implements the "bridge" between Java and C++
7 // for rocksdb::OptimisticTransactionOptions.
8
9 #include <jni.h>
10
11 #include "include/org_rocksdb_OptimisticTransactionOptions.h"
12
13 #include "rocksdb/comparator.h"
14 #include "rocksdb/utilities/optimistic_transaction_db.h"
15
16 /*
17 * Class: org_rocksdb_OptimisticTransactionOptions
18 * Method: newOptimisticTransactionOptions
19 * Signature: ()J
20 */
Java_org_rocksdb_OptimisticTransactionOptions_newOptimisticTransactionOptions(JNIEnv *,jclass)21 jlong Java_org_rocksdb_OptimisticTransactionOptions_newOptimisticTransactionOptions(
22 JNIEnv* /*env*/, jclass /*jcls*/) {
23 rocksdb::OptimisticTransactionOptions* opts =
24 new rocksdb::OptimisticTransactionOptions();
25 return reinterpret_cast<jlong>(opts);
26 }
27
28 /*
29 * Class: org_rocksdb_OptimisticTransactionOptions
30 * Method: isSetSnapshot
31 * Signature: (J)Z
32 */
Java_org_rocksdb_OptimisticTransactionOptions_isSetSnapshot(JNIEnv *,jobject,jlong jhandle)33 jboolean Java_org_rocksdb_OptimisticTransactionOptions_isSetSnapshot(
34 JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
35 auto* opts =
36 reinterpret_cast<rocksdb::OptimisticTransactionOptions*>(jhandle);
37 return opts->set_snapshot;
38 }
39
40 /*
41 * Class: org_rocksdb_OptimisticTransactionOptions
42 * Method: setSetSnapshot
43 * Signature: (JZ)V
44 */
Java_org_rocksdb_OptimisticTransactionOptions_setSetSnapshot(JNIEnv *,jobject,jlong jhandle,jboolean jset_snapshot)45 void Java_org_rocksdb_OptimisticTransactionOptions_setSetSnapshot(
46 JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle, jboolean jset_snapshot) {
47 auto* opts =
48 reinterpret_cast<rocksdb::OptimisticTransactionOptions*>(jhandle);
49 opts->set_snapshot = jset_snapshot;
50 }
51
52 /*
53 * Class: org_rocksdb_OptimisticTransactionOptions
54 * Method: setComparator
55 * Signature: (JJ)V
56 */
Java_org_rocksdb_OptimisticTransactionOptions_setComparator(JNIEnv *,jobject,jlong jhandle,jlong jcomparator_handle)57 void Java_org_rocksdb_OptimisticTransactionOptions_setComparator(
58 JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle,
59 jlong jcomparator_handle) {
60 auto* opts =
61 reinterpret_cast<rocksdb::OptimisticTransactionOptions*>(jhandle);
62 opts->cmp = reinterpret_cast<rocksdb::Comparator*>(jcomparator_handle);
63 }
64
65 /*
66 * Class: org_rocksdb_OptimisticTransactionOptions
67 * Method: disposeInternal
68 * Signature: (J)V
69 */
Java_org_rocksdb_OptimisticTransactionOptions_disposeInternal(JNIEnv *,jobject,jlong jhandle)70 void Java_org_rocksdb_OptimisticTransactionOptions_disposeInternal(
71 JNIEnv* /*env*/, jobject /*jobj*/, jlong jhandle) {
72 delete reinterpret_cast<rocksdb::OptimisticTransactionOptions*>(jhandle);
73 }
74