]>
Commit | Line | Data |
---|---|---|
7c673cae | 1 | // Copyright (c) 2011-present, Facebook, Inc. All rights reserved. |
11fdf7f2 TL |
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). | |
7c673cae FG |
5 | // |
6 | // This file implements the "bridge" between Java and C++ for | |
f67539c2 | 7 | // ROCKSDB_NAMESPACE::CompactionOptionsFIFO. |
7c673cae FG |
8 | |
9 | #include <jni.h> | |
10 | ||
11 | #include "include/org_rocksdb_CompactionOptionsFIFO.h" | |
12 | #include "rocksdb/advanced_options.h" | |
1e59de90 | 13 | #include "rocksjni/cplusplus_to_java_convert.h" |
7c673cae FG |
14 | |
15 | /* | |
16 | * Class: org_rocksdb_CompactionOptionsFIFO | |
17 | * Method: newCompactionOptionsFIFO | |
18 | * Signature: ()J | |
19 | */ | |
1e59de90 TL |
20 | jlong Java_org_rocksdb_CompactionOptionsFIFO_newCompactionOptionsFIFO(JNIEnv*, |
21 | jclass) { | |
f67539c2 | 22 | const auto* opt = new ROCKSDB_NAMESPACE::CompactionOptionsFIFO(); |
1e59de90 | 23 | return GET_CPLUSPLUS_POINTER(opt); |
7c673cae FG |
24 | } |
25 | ||
26 | /* | |
27 | * Class: org_rocksdb_CompactionOptionsFIFO | |
28 | * Method: setMaxTableFilesSize | |
29 | * Signature: (JJ)V | |
30 | */ | |
31 | void Java_org_rocksdb_CompactionOptionsFIFO_setMaxTableFilesSize( | |
494da23a | 32 | JNIEnv*, jobject, jlong jhandle, jlong jmax_table_files_size) { |
f67539c2 TL |
33 | auto* opt = |
34 | reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle); | |
7c673cae FG |
35 | opt->max_table_files_size = static_cast<uint64_t>(jmax_table_files_size); |
36 | } | |
37 | ||
38 | /* | |
39 | * Class: org_rocksdb_CompactionOptionsFIFO | |
40 | * Method: maxTableFilesSize | |
41 | * Signature: (J)J | |
42 | */ | |
1e59de90 TL |
43 | jlong Java_org_rocksdb_CompactionOptionsFIFO_maxTableFilesSize(JNIEnv*, jobject, |
44 | jlong jhandle) { | |
f67539c2 TL |
45 | auto* opt = |
46 | reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle); | |
7c673cae FG |
47 | return static_cast<jlong>(opt->max_table_files_size); |
48 | } | |
49 | ||
494da23a TL |
50 | /* |
51 | * Class: org_rocksdb_CompactionOptionsFIFO | |
52 | * Method: setAllowCompaction | |
53 | * Signature: (JZ)V | |
54 | */ | |
55 | void Java_org_rocksdb_CompactionOptionsFIFO_setAllowCompaction( | |
56 | JNIEnv*, jobject, jlong jhandle, jboolean allow_compaction) { | |
f67539c2 TL |
57 | auto* opt = |
58 | reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle); | |
494da23a TL |
59 | opt->allow_compaction = static_cast<bool>(allow_compaction); |
60 | } | |
61 | ||
62 | /* | |
63 | * Class: org_rocksdb_CompactionOptionsFIFO | |
64 | * Method: allowCompaction | |
65 | * Signature: (J)Z | |
66 | */ | |
1e59de90 TL |
67 | jboolean Java_org_rocksdb_CompactionOptionsFIFO_allowCompaction(JNIEnv*, |
68 | jobject, | |
69 | jlong jhandle) { | |
f67539c2 TL |
70 | auto* opt = |
71 | reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle); | |
494da23a TL |
72 | return static_cast<jboolean>(opt->allow_compaction); |
73 | } | |
74 | ||
7c673cae FG |
75 | /* |
76 | * Class: org_rocksdb_CompactionOptionsFIFO | |
77 | * Method: disposeInternal | |
78 | * Signature: (J)V | |
79 | */ | |
1e59de90 TL |
80 | void Java_org_rocksdb_CompactionOptionsFIFO_disposeInternal(JNIEnv*, jobject, |
81 | jlong jhandle) { | |
f67539c2 | 82 | delete reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle); |
7c673cae | 83 | } |