首页 / JAVA / realm java 源码疑问
realm java 源码疑问
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了realm java 源码疑问,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1762字,纯文字阅读大概需要3分钟。
内容图文
JNIEXPORT void JNICALL Java_io_realm_internal_Group_nativeWriteToFile( JNIEnv* env, jobject, jlong nativeGroupPtr, jstring jFileName, jbyteArray keyArray) { TR_ENTER_PTR(nativeGroupPtr) StringData file_name; KeyBuffer key(env, keyArray); try { JStringAccessor file_name_tmp(env, jFileName); // throws file_name = StringData(file_name_tmp); #ifdef REALM_ENABLE_ENCRYPTION G(nativeGroupPtr)->write(file_name, key.data()); #else G(nativeGroupPtr)->write(file_name); #endif } CATCH_FILE(file_name) CATCH_STD() }
#define G(x) reinterpret_cast<realm::Group*>(x)
Group.java
/** * Serializes the group to the specific file on the disk using encryption. * * @param file a File object representing the file. * @param key A 64 bytes long byte array containing the key to the encrypted Realm file. Can be null if encryption * is not required. * @throws IOException. */ public void writeToFile(File file, byte[] key) throws IOException { verifyGroupIsValid(); if (file.isFile() && file.exists()) { thrownew IllegalArgumentException("The destination file must not exist"); } if (key != null && key.length != 64) { thrownew IllegalArgumentException("Realm AES keys must be 64 bytes long"); } nativeWriteToFile(nativePtr, file.getAbsolutePath(), key); }
public Group() { this.immutable = false; this.context = new Context(); this.nativePtr = createNative(); checkNativePtrNotZero(); }
JNIEXPORT jlong JNICALL Java_io_realm_internal_Group_createNative__( JNIEnv*, jobject) { TR_ENTER() Group *ptr = new Group(); TR("Group::createNative(): %p.", VOID_PTR(ptr)) return reinterpret_cast<jlong>(ptr); }
CPP代码Group的实现在哪里?
源码中多次出现的
#include <realm/util/safe_int_ops.hpp>
在源码目录中为何找不到?
原文:http://www.cnblogs.com/zhhd/p/5514538.html
内容总结
以上是互联网集市为您收集整理的realm java 源码疑问全部内容,希望文章能够帮你解决realm java 源码疑问所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。