refactor and unify JNI names

This commit is contained in:
B. Petersen
2018-09-12 23:49:05 +02:00
parent b54e6e7625
commit e457a4d2f6
7 changed files with 100 additions and 100 deletions
+47 -47
View File
@@ -144,7 +144,7 @@ static dc_context_t* get_dc_context(JNIEnv *env, jobject obj)
static jfieldID fid = 0;
if (fid==0) {
jclass cls = (*env)->GetObjectClass(env, obj);
fid = (*env)->GetFieldID(env, cls, "m_hContext", "J" /*Signature, J=long*/);
fid = (*env)->GetFieldID(env, cls, "contextCPtr", "J" /*Signature, J=long*/);
}
if (fid) {
return (dc_chat_t*)(*env)->GetLongField(env, obj, fid);
@@ -173,7 +173,7 @@ static uintptr_t s_context_callback_(dc_context_t* context, int event, uintptr_t
}
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_DcContextNew(JNIEnv *env, jobject obj, jstring osname)
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_createContextCPtr(JNIEnv *env, jobject obj, jstring osname)
{
jclass cls = (*env)->GetObjectClass(env, obj);
@@ -188,9 +188,9 @@ JNIEXPORT jlong Java_com_b44t_messenger_DcContext_DcContextNew(JNIEnv *env, jobj
jnicontext->methodId = (*env)->GetMethodID(env, jnicontext->cls, "handleEvent","(IJJ)J" /*signature as "(param)ret" with I=int, J=long*/);
CHAR_REF(osname);
jlong hContext = (jlong)dc_context_new(s_context_callback_, jnicontext, osnamePtr);
jlong contextCPtr = (jlong)dc_context_new(s_context_callback_, jnicontext, osnamePtr);
CHAR_UNREF(osname);
return hContext;
return contextCPtr;
}
@@ -304,9 +304,9 @@ JNIEXPORT jintArray Java_com_b44t_messenger_DcContext_getBlockedContacts(JNIEnv
}
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_DcContextGetContact(JNIEnv *env, jclass cls, jlong hContext, jint contact_id)
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_getContactCPtr(JNIEnv *env, jobject obj, jint contact_id)
{
return (jlong)dc_get_contact((dc_context_t*)hContext, contact_id);
return (jlong)dc_get_contact(get_dc_context(env, obj), contact_id);
}
@@ -335,24 +335,24 @@ JNIEXPORT jint Java_com_b44t_messenger_DcContext_deleteContact(JNIEnv *env, jobj
/* DcContext - handle chats */
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_DcContextGetChatlist(JNIEnv *env, jclass cls, jlong hContext, jint listflags, jstring query, jint queryId)
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_getChatlistCPtr(JNIEnv *env, jobject obj, jint listflags, jstring query, jint queryId)
{
jlong ret;
if (query) {
CHAR_REF(query);
ret = (jlong)dc_get_chatlist((dc_context_t*)hContext, listflags, queryPtr, queryId);
ret = (jlong)dc_get_chatlist(get_dc_context(env, obj), listflags, queryPtr, queryId);
CHAR_UNREF(query);
}
else {
ret = (jlong)dc_get_chatlist((dc_context_t*)hContext, listflags, NULL, queryId);
ret = (jlong)dc_get_chatlist(get_dc_context(env, obj), listflags, NULL, queryId);
}
return ret;
}
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_DcContextGetChat(JNIEnv *env, jclass cls, jlong hContext, jint chat_id)
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_getChatCPtr(JNIEnv *env, jobject obj, jint chat_id)
{
return (jlong)dc_get_chat((dc_context_t*)hContext, chat_id);
return (jlong)dc_get_chat(get_dc_context(env, obj), chat_id);
}
@@ -469,9 +469,9 @@ JNIEXPORT jint Java_com_b44t_messenger_DcContext_getFreshMsgCount(JNIEnv *env, j
}
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_DcContextGetMsg(JNIEnv *env, jobject obj, jlong hContext, jint id)
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_getMsgCPtr(JNIEnv *env, jobject obj, jint id)
{
return (jlong)dc_get_msg((dc_context_t*)hContext, id);
return (jlong)dc_get_msg(get_dc_context(env, obj), id);
}
@@ -726,7 +726,7 @@ static dc_chatlist_t* get_dc_chatlist(JNIEnv *env, jobject obj)
static jfieldID fid = 0;
if (fid==0) {
jclass cls = (*env)->GetObjectClass(env, obj);
fid = (*env)->GetFieldID(env, cls, "m_hChatlist", "J" /*Signature, J=long*/);
fid = (*env)->GetFieldID(env, cls, "chatlistCPtr", "J" /*Signature, J=long*/);
}
if (fid) {
return (dc_chatlist_t*)(*env)->GetLongField(env, obj, fid);
@@ -735,9 +735,9 @@ static dc_chatlist_t* get_dc_chatlist(JNIEnv *env, jobject obj)
}
JNIEXPORT void Java_com_b44t_messenger_DcChatlist_DcChatlistUnref(JNIEnv *env, jclass c, jlong hChatlist)
JNIEXPORT void Java_com_b44t_messenger_DcChatlist_unrefChatlistCPtr(JNIEnv *env, jobject obj)
{
dc_chatlist_unref((dc_chatlist_t*)hChatlist);
dc_chatlist_unref(get_dc_chatlist(env, obj));
}
@@ -753,23 +753,23 @@ JNIEXPORT jint Java_com_b44t_messenger_DcChatlist_getChatId(JNIEnv *env, jobject
}
JNIEXPORT jlong Java_com_b44t_messenger_DcChatlist_DcChatlistGetChatByIndex(JNIEnv *env, jclass c, jlong hChatlist, jint index)
JNIEXPORT jlong Java_com_b44t_messenger_DcChatlist_getChatCPtr(JNIEnv *env, jobject obj, jint index)
{
dc_chatlist_t* chatlist = (dc_chatlist_t*)hChatlist;
dc_chatlist_t* chatlist = get_dc_chatlist(env, obj);
return (jlong)dc_get_chat(dc_chatlist_get_context(chatlist), dc_chatlist_get_chat_id(chatlist, index));
}
JNIEXPORT jlong Java_com_b44t_messenger_DcChatlist_DcChatlistGetMsgByIndex(JNIEnv *env, jclass c, jlong hChatlist, jint index)
JNIEXPORT jlong Java_com_b44t_messenger_DcChatlist_getMsgCPtr(JNIEnv *env, jobject obj, jint index)
{
dc_chatlist_t* chatlist = (dc_chatlist_t*)hChatlist;
dc_chatlist_t* chatlist = get_dc_chatlist(env, obj);
return (jlong)dc_get_msg(dc_chatlist_get_context(chatlist), dc_chatlist_get_msg_id(chatlist, index));
}
JNIEXPORT jlong Java_com_b44t_messenger_DcChatlist_DcChatlistGetSummaryByIndex(JNIEnv *env, jclass c, jlong hChatlist, jint index, jlong hChat)
JNIEXPORT jlong Java_com_b44t_messenger_DcChatlist_getSummaryCPtr(JNIEnv *env, jobject obj, jint index, jlong chatCPtr)
{
return (jlong)dc_chatlist_get_summary((dc_chatlist_t*)hChatlist, index, (dc_chat_t*)hChat);
return (jlong)dc_chatlist_get_summary(get_dc_chatlist(env, obj), index, (dc_chat_t*)chatCPtr);
}
@@ -783,7 +783,7 @@ static dc_chat_t* get_dc_chat(JNIEnv *env, jobject obj)
static jfieldID fid = 0;
if (fid==0) {
jclass cls = (*env)->GetObjectClass(env, obj);
fid = (*env)->GetFieldID(env, cls, "m_hChat", "J" /*Signature, J=long*/);
fid = (*env)->GetFieldID(env, cls, "chatCPtr", "J" /*Signature, J=long*/);
}
if (fid) {
return (dc_chat_t*)(*env)->GetLongField(env, obj, fid);
@@ -792,9 +792,9 @@ static dc_chat_t* get_dc_chat(JNIEnv *env, jobject obj)
}
JNIEXPORT void Java_com_b44t_messenger_DcChat_DcChatUnref(JNIEnv *env, jclass cls, jlong hChat)
JNIEXPORT void Java_com_b44t_messenger_DcChat_unrefChatCPtr(JNIEnv *env, jobject obj)
{
dc_chat_unref((dc_chat_t*)hChat);
dc_chat_unref(get_dc_chat(env, obj));
}
@@ -930,7 +930,7 @@ static dc_msg_t* get_dc_msg(JNIEnv *env, jobject obj)
static jfieldID fid = 0;
if (fid==0) {
jclass cls = (*env)->GetObjectClass(env, obj);
fid = (*env)->GetFieldID(env, cls, "m_hMsg", "J" /*Signature, J=long*/);
fid = (*env)->GetFieldID(env, cls, "msgCPtr", "J" /*Signature, J=long*/);
}
if (fid) {
return (dc_msg_t*)(*env)->GetLongField(env, obj, fid);
@@ -939,9 +939,9 @@ static dc_msg_t* get_dc_msg(JNIEnv *env, jobject obj)
}
JNIEXPORT void Java_com_b44t_messenger_DcMsg_DcMsgUnref(JNIEnv *env, jclass cls, jlong hMsg)
JNIEXPORT void Java_com_b44t_messenger_DcMsg_unrefMsgCPtr(JNIEnv *env, jobject obj)
{
dc_msg_unref((dc_msg_t*)hMsg);
dc_msg_unref(get_dc_msg(env, obj));
}
@@ -1022,9 +1022,9 @@ JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getBytes(JNIEnv *env, jobject obj)
}
JNIEXPORT jlong Java_com_b44t_messenger_DcMsg_getSummaryCPtr(JNIEnv *env, jobject obj, jlong hChat)
JNIEXPORT jlong Java_com_b44t_messenger_DcMsg_getSummaryCPtr(JNIEnv *env, jobject obj, jlong chatCPtr)
{
return (jlong)dc_msg_get_summary(get_dc_msg(env, obj), (dc_chat_t*)hChat);
return (jlong)dc_msg_get_summary(get_dc_msg(env, obj), (dc_chat_t*)chatCPtr);
}
@@ -1165,7 +1165,7 @@ static dc_contact_t* get_dc_contact(JNIEnv *env, jobject obj)
static jfieldID fid = 0;
if (fid==0) {
jclass cls = (*env)->GetObjectClass(env, obj);
fid = (*env)->GetFieldID(env, cls, "m_hContact", "J" /*Signature, J=long*/);
fid = (*env)->GetFieldID(env, cls, "contactCPtr", "J" /*Signature, J=long*/);
}
if (fid) {
return (dc_contact_t*)(*env)->GetLongField(env, obj, fid);
@@ -1174,9 +1174,9 @@ static dc_contact_t* get_dc_contact(JNIEnv *env, jobject obj)
}
JNIEXPORT void Java_com_b44t_messenger_DcContact_DcContactUnref(JNIEnv *env, jclass cls, jlong hContact)
JNIEXPORT void Java_com_b44t_messenger_DcContact_unrefContactCPtr(JNIEnv *env, jobject obj)
{
dc_contact_unref((dc_contact_t*)hContact);
dc_contact_unref(get_dc_contact(env, obj));
}
@@ -1247,7 +1247,7 @@ static dc_lot_t* get_dc_lot(JNIEnv *env, jobject obj)
static jfieldID fid = 0;
if (fid==0) {
jclass cls = (*env)->GetObjectClass(env, obj);
fid = (*env)->GetFieldID(env, cls, "m_hLot", "J" /*Signature, J=long*/);
fid = (*env)->GetFieldID(env, cls, "lotCPtr", "J" /*Signature, J=long*/);
}
if (fid) {
return (dc_lot_t*)(*env)->GetLongField(env, obj, fid);
@@ -1298,9 +1298,9 @@ JNIEXPORT jint Java_com_b44t_messenger_DcLot_getId(JNIEnv *env, jobject obj)
}
JNIEXPORT void Java_com_b44t_messenger_DcLot_DcLotUnref(JNIEnv *env, jclass cls, jlong hLot)
JNIEXPORT void Java_com_b44t_messenger_DcLot_unrefLotCPtr(JNIEnv *env, jobject obj)
{
dc_lot_unref((dc_lot_t*)hLot);
dc_lot_unref(get_dc_lot(env, obj));
}
@@ -1321,26 +1321,26 @@ JNIEXPORT jboolean Java_com_b44t_messenger_DcContext_data2IsString(JNIEnv *env,
}
JNIEXPORT jstring Java_com_b44t_messenger_DcContext_dataToString(JNIEnv *env, jclass cls, jlong hStr)
JNIEXPORT jstring Java_com_b44t_messenger_DcContext_dataToString(JNIEnv *env, jclass cls, jlong data)
{
/* the callback may return a long that represents a pointer to a C-String; this function creates a Java-string from such values. */
if (hStr==0) {
if (data==0) {
return NULL;
}
const char* ptr = (const char*)hStr;
return JSTRING_NEW(ptr);
const char* cstring = (const char*)data;
return JSTRING_NEW(cstring);
}
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_stringToData(JNIEnv *env, jclass cls, jstring str)
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_stringToData(JNIEnv *env, jclass cls, jstring javaString)
{
char* hStr = NULL;
if (str) {
CHAR_REF(str);
hStr = strdup(strPtr);
CHAR_UNREF(str);
char* cstring = NULL;
if (javaString) {
CHAR_REF(javaString);
cstring = strdup(javaStringPtr);
CHAR_UNREF(javaString);
}
return (jlong)hStr;
return (jlong)cstring; // the return value of stringToData() will be passed to c-land and free()'d there
}
+8 -8
View File
@@ -29,14 +29,14 @@ public class DcChat {
public final static int DC_CHAT_ID_ALLDONE_HINT = 7;
public final static int DC_CHAT_ID_LAST_SPECIAL = 9;
public DcChat(long hChat) {
m_hChat = hChat;
public DcChat(long chatCPtr) {
this.chatCPtr = chatCPtr;
}
@Override protected void finalize() throws Throwable {
super.finalize();
DcChatUnref(m_hChat);
m_hChat = 0;
unrefChatCPtr();
chatCPtr = 0;
}
public native int getId();
@@ -53,9 +53,9 @@ public class DcChat {
public native long getDraftTimestamp();
// working with raw c-data
private long m_hChat; // must not be renamed as referenced by JNI
private native static void DcChatUnref(long hChat);
public long getCPtr() {
return m_hChat;
private long chatCPtr; // CAVE: the name is referenced in the JNI
private native void unrefChatCPtr();
public long getChatCPtr() {
return chatCPtr;
}
}
+12 -12
View File
@@ -25,26 +25,26 @@ package com.b44t.messenger;
public class DcChatlist {
public DcChatlist(long hChatlist) {
m_hChatlist = hChatlist;
public DcChatlist(long chatlistCPtr) {
this.chatlistCPtr = chatlistCPtr;
}
@Override protected void finalize() throws Throwable {
super.finalize();
DcChatlistUnref(m_hChatlist);
m_hChatlist = 0;
unrefChatlistCPtr();
chatlistCPtr = 0;
}
public native int getCnt();
public native int getChatId(int index);
public DcChat getChat(int index) { return new DcChat(DcChatlistGetChatByIndex(m_hChatlist, index)); }
public DcMsg getMsg(int index) { return new DcMsg(DcChatlistGetMsgByIndex(m_hChatlist, index)); }
public DcLot getSummary(int index, DcChat chat) { return new DcLot(DcChatlistGetSummaryByIndex(m_hChatlist, index, chat==null? null : chat.getCPtr())); }
public DcChat getChat(int index) { return new DcChat(getChatCPtr(index)); }
public DcMsg getMsg(int index) { return new DcMsg(getMsgCPtr(index)); }
public DcLot getSummary(int index, DcChat chat) { return new DcLot(getSummaryCPtr(index, chat==null? null : chat.getChatCPtr())); }
// working with raw c-data
private long m_hChatlist; // must not be renamed as referenced by JNI
private native static void DcChatlistUnref(long hChatlist);
private native static long DcChatlistGetChatByIndex(long hChatlist, int index); // returns hChat which must be unref'd after usage
private native static long DcChatlistGetMsgByIndex(long hChatlist, int index); // returns hMsg which must be unref'd after usage
private native static long DcChatlistGetSummaryByIndex(long hChatlist, int index, long hChat);
private long chatlistCPtr; // CAVE: the name is referenced in the JNI
private native void unrefChatlistCPtr();
private native long getChatCPtr(int index);
private native long getMsgCPtr(int index);
private native long getSummaryCPtr(int index, long chatCPtr);
}
+6 -6
View File
@@ -29,14 +29,14 @@ public class DcContact {
public final static int DC_CONTACT_ID_DEVICE = 2;
public final static int DC_CONTACT_ID_LAST_SPECIAL = 9;
public DcContact(long hContact) {
m_hContact = hContact;
public DcContact(long contactCPtr) {
this.contactCPtr = contactCPtr;
}
@Override protected void finalize() throws Throwable {
super.finalize();
DcContactUnref(m_hContact);
m_hContact = 0;
unrefContactCPtr();
contactCPtr = 0;
}
public native String getName();
@@ -48,6 +48,6 @@ public class DcContact {
public native boolean isVerified();
// working with raw c-data
private long m_hContact; // must not be renamed as referenced by JNI
private native static void DcContactUnref(long hContact);
private long contactCPtr; // CAVE: the name is referenced in the JNI
private native void unrefContactCPtr();
}
+12 -12
View File
@@ -70,7 +70,7 @@ public class DcContext {
public DcContext(String osName) {
handleEvent(0,0,0); // call handleEvent() to make sure it is not optimized away and JNI won't find it
m_hContext = DcContextNew(osName);
contextCPtr = createContextCPtr(osName);
}
public native int open(String dbfile);
@@ -100,14 +100,14 @@ public class DcContext {
public native int[] getContacts(int flags, String query);
public native int getBlockedCount();
public native int[] getBlockedContacts();
public DcContact getContact(int contact_id) { return new DcContact(DcContextGetContact(m_hContext, contact_id)); }
public DcContact getContact(int contact_id) { return new DcContact(getContactCPtr(contact_id)); }
public native int createContact(String name, String addr);
public native void blockContact(int id, int block);
public native String getContactEncrInfo(int contact_id);
public native int deleteContact(int id);
public native int addAddressBook(String adrbook);
public DcChatlist getChatlist(int listflags, String query, int queryId) { return new DcChatlist(DcContextGetChatlist(m_hContext, listflags, query, queryId)); }
public DcChat getChat(int chat_id) { return new DcChat(DcContextGetChat(m_hContext, chat_id)); }
public DcChatlist getChatlist(int listflags, String query, int queryId) { return new DcChatlist(getChatlistCPtr(listflags, query, queryId)); }
public DcChat getChat(int chat_id) { return new DcChat(getChatCPtr(chat_id)); }
public native void markseenMsgs(int msg_ids[]);
public native void marknoticedChat(int chat_id);
public native void marknoticedContact(int contact_id);
@@ -129,7 +129,7 @@ public class DcContext {
public native int getNextMedia(int msg_id, int dir);
public native int[] getChatContacts(int chat_id);
public native void deleteChat(int chat_id);
public DcMsg getMsg(int msg_id) { return new DcMsg(DcContextGetMsg(m_hContext, msg_id)); }
public DcMsg getMsg(int msg_id) { return new DcMsg(getMsgCPtr(msg_id)); }
public native String getMsgInfo(int id);
public native int getFreshMsgCount(int chat_id);
public native void deleteMsgs(int msg_ids[]);
@@ -151,15 +151,15 @@ public class DcContext {
// helper to get/return strings from/to handleEvent()
public native static boolean data1IsString(int event);
public native static boolean data2IsString(int event);
public native static String dataToString(long hString);
public native static String dataToString(long data);
public native static long stringToData(String str);
// working with raw c-data
private long m_hContext = 0; // must not be renamed as referenced by JNI
private native long DcContextNew(String osName);
private long contextCPtr; // CAVE: the name is referenced in the JNI
private native long createContextCPtr(String osName);
public native long createMsgCPtr();
private native static long DcContextGetChatlist(long hContext, int listflags, String query, int queryId);
private native static long DcContextGetChat(long hContext, int chat_id);
private native static long DcContextGetMsg(long hMailbox, int id);
private native static long DcContextGetContact(long hContext, int id);
private native long getChatlistCPtr(int listflags, String query, int queryId);
private native long getChatCPtr(int chat_id);
private native long getMsgCPtr(int id);
private native long getContactCPtr(int id);
}
+6 -6
View File
@@ -29,14 +29,14 @@ public class DcLot {
public final static int DC_TEXT1_USERNAME = 2;
public final static int DC_TEXT1_SELF = 3;
public DcLot(long hLot) {
m_hLot = hLot;
public DcLot(long lotCPtr) {
this.lotCPtr = lotCPtr;
}
@Override protected void finalize() throws Throwable {
super.finalize();
DcLotUnref(m_hLot);
m_hLot = 0;
unrefLotCPtr();
lotCPtr = 0;
}
public native String getText1();
@@ -47,6 +47,6 @@ public class DcLot {
public native int getId();
// working with raw c-data
private long m_hLot; // must not be renamed as referenced by JNI
private native static void DcLotUnref(long hLot);
private long lotCPtr; // CAVE: the name is referenced in the JNI
private native void unrefLotCPtr();
}
+9 -9
View File
@@ -46,17 +46,17 @@ public class DcMsg {
public final static int DC_MSG_ID_DAYMARKER = 9;
public DcMsg(DcContext context) {
m_hMsg = context.createMsgCPtr();
msgCPtr = context.createMsgCPtr();
}
public DcMsg(long hMsg) {
m_hMsg = hMsg;
public DcMsg(long msgCPtr) {
this.msgCPtr = msgCPtr;
}
@Override protected void finalize() throws Throwable {
super.finalize();
DcMsgUnref(m_hMsg);
m_hMsg = 0;
unrefMsgCPtr();
msgCPtr = 0;
}
public native int getId();
@@ -73,7 +73,7 @@ public class DcMsg {
public native void lateFilingMediaSize(int width, int height, int duration);
public native int getBytes();
public DcLot getSummary(DcChat chat) { return new DcLot(getSummaryCPtr(chat.getCPtr())); }
public DcLot getSummary(DcChat chat) { return new DcLot(getSummaryCPtr(chat.getChatCPtr())); }
public native String getSummarytext(int approx_characters);
public native int showPadlock();
public DcLot getMediainfo() { return new DcLot(getMediainfoCPtr()); }
@@ -94,8 +94,8 @@ public class DcMsg {
public native void setMediainfo(String author, String trackname);
// working with raw c-data
private long m_hMsg; // must not be renamed as referenced by JNI
private native static void DcMsgUnref(long hMsg);
private native long getSummaryCPtr(long hChat);
private long msgCPtr; // CAVE: the name is referenced in the JNI
private native void unrefMsgCPtr();
private native long getSummaryCPtr(long chatCPtr);
private native long getMediainfoCPtr();
};