From 8fc61e182ceb71ed50ff9ec327cbf932ee67fd51 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 12 Sep 2012 18:09:11 +0200 Subject: [PATCH] Display if chat message delivered or not --- LinphoneChatMessageImpl.java | 38 ++++++++++++++++++++++++++++++++++++ LinphoneChatRoomImpl.java | 11 +++++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 LinphoneChatMessageImpl.java diff --git a/LinphoneChatMessageImpl.java b/LinphoneChatMessageImpl.java new file mode 100644 index 00000000..a6c54e10 --- /dev/null +++ b/LinphoneChatMessageImpl.java @@ -0,0 +1,38 @@ +package org.linphone.core; + +public class LinphoneChatMessageImpl implements LinphoneChatMessage { + protected final long nativePtr; + private native void setUserData(long ptr); + private native String getMessage(long ptr); + private native LinphoneAddress getPeerAddress(long ptr); + + protected LinphoneChatMessageImpl(long aNativePtr) { + nativePtr = aNativePtr; + setUserData(); + } + + public long getNativePtr() { + return nativePtr; + } + + @Override + public Object getUserData() { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setUserData() { + setUserData(nativePtr); + } + + @Override + public String getMessage() { + return getMessage(nativePtr); + } + + @Override + public LinphoneAddress getPeerAddress() { + return getPeerAddress(nativePtr); + } +} diff --git a/LinphoneChatRoomImpl.java b/LinphoneChatRoomImpl.java index 3513f328..806e8b68 100644 --- a/LinphoneChatRoomImpl.java +++ b/LinphoneChatRoomImpl.java @@ -22,8 +22,10 @@ import org.linphone.core.LinphoneChatMessage.StateListener; class LinphoneChatRoomImpl implements LinphoneChatRoom { protected final long nativePtr; + private native long createLinphoneChatMessage(long ptr, String message); private native long getPeerAddress(long ptr); private native void sendMessage(long ptr, String message); + private native void sendMessage2(long ptr, long message, StateListener listener); protected LinphoneChatRoomImpl(long aNativePtr) { nativePtr = aNativePtr; @@ -36,9 +38,10 @@ class LinphoneChatRoomImpl implements LinphoneChatRoom { public void sendMessage(String message) { sendMessage(nativePtr,message); } + @Override - public void sendMessage(LinphoneChatMessage msg, StateListener listener) { - // TODO To be implemened + public void sendMessage(LinphoneChatMessage message, StateListener listener) { + sendMessage2(nativePtr, message.getNativePtr(), listener); } @Override @@ -46,4 +49,8 @@ class LinphoneChatRoomImpl implements LinphoneChatRoom { // ignore, deprecated. } + @Override + public LinphoneChatMessage createLinphoneChatMessage(String message) { + return new LinphoneChatMessageImpl(createLinphoneChatMessage(nativePtr, message)); + } } -- 2.39.2