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++ for
7 // rocksdb::CompactionFilterFactory.
12 #include "include/org_rocksdb_AbstractCompactionFilterFactory.h"
13 #include "rocksjni/compaction_filter_factory_jnicallback.h"
16 * Class: org_rocksdb_AbstractCompactionFilterFactory
17 * Method: createNewCompactionFilterFactory0
20 jlong
Java_org_rocksdb_AbstractCompactionFilterFactory_createNewCompactionFilterFactory0(
21 JNIEnv
* env
, jobject jobj
) {
22 auto* cff
= new rocksdb::CompactionFilterFactoryJniCallback(env
, jobj
);
24 new std::shared_ptr
<rocksdb::CompactionFilterFactoryJniCallback
>(cff
);
25 return reinterpret_cast<jlong
>(ptr_sptr_cff
);
29 * Class: org_rocksdb_AbstractCompactionFilterFactory
30 * Method: disposeInternal
33 void Java_org_rocksdb_AbstractCompactionFilterFactory_disposeInternal(
34 JNIEnv
*, jobject
, jlong jhandle
) {
35 auto* ptr_sptr_cff
= reinterpret_cast<
36 std::shared_ptr
<rocksdb::CompactionFilterFactoryJniCallback
>*>(jhandle
);