]>
git.proxmox.com Git - ceph.git/blob - ceph/src/rocksdb/java/rocksjni/config_options.cc
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).
6 // This file implements the "bridge" between Java and C++ and enables
7 // calling C++ ROCKSDB_NAMESPACE::ConfigOptions methods
12 #include "include/org_rocksdb_ConfigOptions.h"
13 #include "rocksdb/convenience.h"
14 #include "rocksjni/portal.h"
17 * Class: org_rocksdb_ConfigOptions
18 * Method: disposeInternal
21 void Java_org_rocksdb_ConfigOptions_disposeInternal(JNIEnv
*, jobject
,
23 auto *co
= reinterpret_cast<ROCKSDB_NAMESPACE::ConfigOptions
*>(jhandle
);
24 assert(co
!= nullptr);
29 * Class: org_rocksdb_ConfigOptions
30 * Method: newConfigOptions
33 jlong
Java_org_rocksdb_ConfigOptions_newConfigOptions(JNIEnv
*, jclass
) {
34 auto *cfg_opt
= new ROCKSDB_NAMESPACE::ConfigOptions();
35 return reinterpret_cast<jlong
>(cfg_opt
);
39 * Class: org_rocksdb_ConfigOptions
40 * Method: setDelimiter
41 * Signature: (JLjava/lang/String;)V
43 void Java_org_rocksdb_ConfigOptions_setDelimiter(JNIEnv
*env
, jclass
,
44 jlong handle
, jstring s
) {
45 auto *cfg_opt
= reinterpret_cast<ROCKSDB_NAMESPACE::ConfigOptions
*>(handle
);
46 const char *delim
= env
->GetStringUTFChars(s
, nullptr);
47 if (delim
== nullptr) {
48 // exception thrown: OutOfMemoryError
51 cfg_opt
->delimiter
= delim
;
52 env
->ReleaseStringUTFChars(s
, delim
);
56 * Class: org_rocksdb_ConfigOptions
57 * Method: setIgnoreUnknownOptions
60 void Java_org_rocksdb_ConfigOptions_setIgnoreUnknownOptions(JNIEnv
*, jclass
,
63 auto *cfg_opt
= reinterpret_cast<ROCKSDB_NAMESPACE::ConfigOptions
*>(handle
);
64 cfg_opt
->ignore_unknown_options
= static_cast<bool>(b
);
68 * Class: org_rocksdb_ConfigOptions
69 * Method: setInputStringsEscaped
72 void Java_org_rocksdb_ConfigOptions_setInputStringsEscaped(JNIEnv
*, jclass
,
75 auto *cfg_opt
= reinterpret_cast<ROCKSDB_NAMESPACE::ConfigOptions
*>(handle
);
76 cfg_opt
->input_strings_escaped
= static_cast<bool>(b
);
80 * Class: org_rocksdb_ConfigOptions
81 * Method: setSanityLevel
84 void Java_org_rocksdb_ConfigOptions_setSanityLevel(JNIEnv
*, jclass
,
85 jlong handle
, jbyte level
) {
86 auto *cfg_opt
= reinterpret_cast<ROCKSDB_NAMESPACE::ConfigOptions
*>(handle
);
87 cfg_opt
->sanity_level
= ROCKSDB_NAMESPACE::SanityLevelJni::toCppSanityLevel(level
);