mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-19 20:18:09 +00:00
java synchronize LinphoneEvent and LinphoneChatRoom APIs with LinphoneCore
This commit is contained in:
parent
44aa4a821b
commit
c913816dee
8 changed files with 99 additions and 37 deletions
|
|
@ -387,11 +387,19 @@ bool_t linphone_chat_room_is_remote_composing(const LinphoneChatRoom *cr) {
|
|||
|
||||
/**
|
||||
* Returns back pointer to LinphoneCore object.
|
||||
* @deprecated use linphone_chat_room_get_core()
|
||||
**/
|
||||
LinphoneCore* linphone_chat_room_get_lc(LinphoneChatRoom *cr){
|
||||
return cr->lc;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns back pointer to LinphoneCore object.
|
||||
**/
|
||||
LinphoneCore* linphone_chat_room_get_core(LinphoneChatRoom *cr){
|
||||
return cr->lc;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign a user pointer to the chat room.
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -1158,6 +1158,7 @@ LINPHONE_PUBLIC bool_t linphone_chat_room_is_remote_composing(const LinphoneChat
|
|||
|
||||
LINPHONE_PUBLIC int linphone_chat_room_get_unread_messages_count(LinphoneChatRoom *cr);
|
||||
LINPHONE_PUBLIC LinphoneCore* linphone_chat_room_get_lc(LinphoneChatRoom *cr);
|
||||
LINPHONE_PUBLIC LinphoneCore* linphone_chat_room_get_core(LinphoneChatRoom *cr);
|
||||
LINPHONE_PUBLIC void linphone_chat_room_set_user_data(LinphoneChatRoom *cr, void * ud);
|
||||
LINPHONE_PUBLIC void * linphone_chat_room_get_user_data(LinphoneChatRoom *cr);
|
||||
LINPHONE_PUBLIC MSList* linphone_core_get_chat_rooms(LinphoneCore *lc);
|
||||
|
|
|
|||
|
|
@ -2630,6 +2630,15 @@ static void chat_room_impl_callback(LinphoneChatMessage* msg, LinphoneChatMessag
|
|||
linphone_chat_message_set_user_data(msg,NULL);
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" jobject Java_org_linphone_core_LinphoneChatRoomImpl_getCore(JNIEnv* env
|
||||
,jobject thiz
|
||||
,jlong chatroom_ptr){
|
||||
LinphoneCore *lc=linphone_chat_room_get_core((LinphoneChatRoom*)chatroom_ptr);
|
||||
LinphoneCoreData *lcd=(LinphoneCoreData*)linphone_core_get_user_data(lc);
|
||||
return lcd->core;
|
||||
}
|
||||
|
||||
extern "C" void Java_org_linphone_core_LinphoneChatRoomImpl_sendMessage2(JNIEnv* env
|
||||
,jobject thiz
|
||||
,jlong chatroom_ptr
|
||||
|
|
@ -3669,6 +3678,12 @@ JNIEXPORT void JNICALL Java_org_linphone_core_LinphoneCoreFactoryImpl__1setLogHa
|
|||
}
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL Java_org_linphone_core_LinphoneEventImpl_getCore(JNIEnv *env, jobject jobj, jlong evptr){
|
||||
LinphoneCore *lc=linphone_event_get_core((LinphoneEvent*)evptr);
|
||||
LinphoneCoreData *lcd=(LinphoneCoreData*)linphone_core_get_user_data(lc);
|
||||
return lcd->core;
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: org_linphone_core_LinphoneEventImpl
|
||||
* Method: getEventName
|
||||
|
|
|
|||
|
|
@ -114,4 +114,9 @@ public interface LinphoneChatRoom {
|
|||
* @return LinphoneChatMessage object
|
||||
*/
|
||||
LinphoneChatMessage createLinphoneChatMessage(String message, String url, State state, long timestamp, boolean isRead, boolean isIncoming);
|
||||
/**
|
||||
* Returns a back pointer to the core managing the chat room.
|
||||
* @return the LinphoneCore
|
||||
*/
|
||||
LinphoneCore getCore();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,4 +100,10 @@ public interface LinphoneEvent {
|
|||
* @param body the new data to be published
|
||||
*/
|
||||
void sendPublish(LinphoneContent body);
|
||||
|
||||
/**
|
||||
* Get a back pointer to the LinphoneCore object managing this LinphoneEvent.
|
||||
* @return
|
||||
*/
|
||||
LinphoneCore getCore();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,4 +119,9 @@ class LinphoneChatRoomImpl implements LinphoneChatRoom {
|
|||
return new LinphoneChatMessageImpl(createLinphoneChatMessage2(
|
||||
nativePtr, message, url, state.value(), timestamp / 1000, isRead, isIncoming));
|
||||
}
|
||||
private native Object getCore(long nativePtr);
|
||||
@Override
|
||||
public LinphoneCore getCore() {
|
||||
return (LinphoneCore)getCore(nativePtr);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -610,13 +610,13 @@ class LinphoneCoreImpl implements LinphoneCore {
|
|||
public synchronized void enableEchoLimiter(boolean val) {
|
||||
enableEchoLimiter(nativePtr,val);
|
||||
}
|
||||
public void setVideoDevice(int id) {
|
||||
public synchronized void setVideoDevice(int id) {
|
||||
Log.i("Setting camera id :", id);
|
||||
if (setVideoDevice(nativePtr, id) != 0) {
|
||||
Log.e("Failed to set video device to id:", id);
|
||||
}
|
||||
}
|
||||
public int getVideoDevice() {
|
||||
public synchronized int getVideoDevice() {
|
||||
return getVideoDevice(nativePtr);
|
||||
}
|
||||
|
||||
|
|
@ -847,7 +847,7 @@ class LinphoneCoreImpl implements LinphoneCore {
|
|||
private native void tunnelSetHttpProxy(long nativePtr, String proxy_host, int port,
|
||||
String username, String password);
|
||||
@Override
|
||||
public void tunnelSetHttpProxy(String proxy_host, int port,
|
||||
public synchronized void tunnelSetHttpProxy(String proxy_host, int port,
|
||||
String username, String password) {
|
||||
tunnelSetHttpProxy(nativePtr, proxy_host, port, username, password);
|
||||
}
|
||||
|
|
@ -1185,17 +1185,17 @@ class LinphoneCoreImpl implements LinphoneCore {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void stopRinging() {
|
||||
public synchronized void stopRinging() {
|
||||
stopRinging(nativePtr);
|
||||
}
|
||||
private native void setPayloadTypeBitrate(long coreptr, long payload_ptr, int bitrate);
|
||||
@Override
|
||||
public void setPayloadTypeBitrate(PayloadType pt, int bitrate) {
|
||||
public synchronized void setPayloadTypeBitrate(PayloadType pt, int bitrate) {
|
||||
setPayloadTypeBitrate(nativePtr, ((PayloadTypeImpl)pt).nativePtr, bitrate);
|
||||
}
|
||||
private native int getPayloadTypeBitrate(long coreptr, long payload_ptr);
|
||||
@Override
|
||||
public int getPayloadTypeBitrate(PayloadType pt) {
|
||||
public synchronized int getPayloadTypeBitrate(PayloadType pt) {
|
||||
return getPayloadTypeBitrate(nativePtr, ((PayloadTypeImpl)pt).nativePtr);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,71 +11,83 @@ public class LinphoneEventImpl implements LinphoneEvent {
|
|||
|
||||
private native String getEventName(long nativeptr);
|
||||
@Override
|
||||
public String getEventName() {
|
||||
public synchronized String getEventName() {
|
||||
return getEventName(mNativePtr);
|
||||
}
|
||||
|
||||
private native int acceptSubscription(long nativeptr);
|
||||
@Override
|
||||
public void acceptSubscription() {
|
||||
acceptSubscription(mNativePtr);
|
||||
public synchronized void acceptSubscription() {
|
||||
synchronized(getCore()){
|
||||
acceptSubscription(mNativePtr);
|
||||
}
|
||||
}
|
||||
|
||||
private native int denySubscription(long nativeptr, int reason);
|
||||
@Override
|
||||
public void denySubscription(Reason reason) {
|
||||
denySubscription(mNativePtr,reason.mValue);
|
||||
public synchronized void denySubscription(Reason reason) {
|
||||
synchronized(getCore()){
|
||||
denySubscription(mNativePtr,reason.mValue);
|
||||
}
|
||||
}
|
||||
|
||||
private native int notify(long nativeptr, String type, String subtype, byte data[], String encoding);
|
||||
@Override
|
||||
public void notify(LinphoneContent content) {
|
||||
notify(mNativePtr,content.getType(),content.getSubtype(),content.getData(),content.getEncoding());
|
||||
public synchronized void notify(LinphoneContent content) {
|
||||
synchronized(getCore()){
|
||||
notify(mNativePtr,content.getType(),content.getSubtype(),content.getData(),content.getEncoding());
|
||||
}
|
||||
}
|
||||
|
||||
private native int updateSubscribe(long nativePtr, String type, String subtype, byte data[], String encoding);
|
||||
@Override
|
||||
public void updateSubscribe(LinphoneContent content) {
|
||||
updateSubscribe(mNativePtr,content.getType(), content.getSubtype(),content.getData(),content.getEncoding());
|
||||
public synchronized void updateSubscribe(LinphoneContent content) {
|
||||
synchronized(getCore()){
|
||||
updateSubscribe(mNativePtr,content.getType(), content.getSubtype(),content.getData(),content.getEncoding());
|
||||
}
|
||||
}
|
||||
|
||||
private native int updatePublish(long nativePtr, String type, String subtype, byte data[], String encoding);
|
||||
@Override
|
||||
public void updatePublish(LinphoneContent content) {
|
||||
updatePublish(mNativePtr,content.getType(), content.getSubtype(),content.getData(),content.getEncoding());
|
||||
public synchronized void updatePublish(LinphoneContent content) {
|
||||
synchronized(getCore()){
|
||||
updatePublish(mNativePtr,content.getType(), content.getSubtype(),content.getData(),content.getEncoding());
|
||||
}
|
||||
}
|
||||
|
||||
private native int terminate(long nativePtr);
|
||||
@Override
|
||||
public void terminate() {
|
||||
terminate(mNativePtr);
|
||||
public synchronized void terminate() {
|
||||
synchronized(getCore()){
|
||||
terminate(mNativePtr);
|
||||
}
|
||||
}
|
||||
|
||||
private native int getReason(long nativePtr);
|
||||
@Override
|
||||
public Reason getReason() {
|
||||
public synchronized Reason getReason() {
|
||||
return Reason.fromInt(getReason(mNativePtr));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUserContext(Object obj) {
|
||||
public synchronized void setUserContext(Object obj) {
|
||||
mUserContext=obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getUserContext() {
|
||||
public synchronized Object getUserContext() {
|
||||
return mUserContext;
|
||||
}
|
||||
|
||||
private native int getSubscriptionDir(long nativeptr);
|
||||
@Override
|
||||
public SubscriptionDir getSubscriptionDir() {
|
||||
public synchronized SubscriptionDir getSubscriptionDir() {
|
||||
return SubscriptionDir.fromInt(getSubscriptionDir(mNativePtr));
|
||||
}
|
||||
|
||||
private native int getSubscriptionState(long nativeptr);
|
||||
@Override
|
||||
public SubscriptionState getSubscriptionState() {
|
||||
public synchronized SubscriptionState getSubscriptionState() {
|
||||
try {
|
||||
return SubscriptionState.fromInt(getSubscriptionState(mNativePtr));
|
||||
} catch (LinphoneCoreException e) {
|
||||
|
|
@ -91,37 +103,47 @@ public class LinphoneEventImpl implements LinphoneEvent {
|
|||
|
||||
private native void addCustomHeader(long ptr, String name, String value);
|
||||
@Override
|
||||
public void addCustomHeader(String name, String value) {
|
||||
public synchronized void addCustomHeader(String name, String value) {
|
||||
addCustomHeader(mNativePtr, name, value);
|
||||
}
|
||||
|
||||
private native String getCustomHeader(long ptr, String name);
|
||||
@Override
|
||||
public String getCustomHeader(String name) {
|
||||
public synchronized String getCustomHeader(String name) {
|
||||
return getCustomHeader(mNativePtr, name);
|
||||
}
|
||||
|
||||
private native void sendSubscribe(long ptr, String type, String subtype, byte data [], String encoding);
|
||||
@Override
|
||||
public void sendSubscribe(LinphoneContent body) {
|
||||
if (body != null)
|
||||
sendSubscribe(mNativePtr, body.getType(), body.getSubtype(), body.getData(), body.getEncoding());
|
||||
else
|
||||
sendSubscribe(mNativePtr, null, null, null, null);
|
||||
public synchronized void sendSubscribe(LinphoneContent body) {
|
||||
synchronized(getCore()){
|
||||
if (body != null)
|
||||
sendSubscribe(mNativePtr, body.getType(), body.getSubtype(), body.getData(), body.getEncoding());
|
||||
else
|
||||
sendSubscribe(mNativePtr, null, null, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
private native void sendPublish(long ptr, String type, String subtype, byte data [], String encoding);
|
||||
@Override
|
||||
public void sendPublish(LinphoneContent body) {
|
||||
if (body != null)
|
||||
sendPublish(mNativePtr, body.getType(), body.getSubtype(), body.getData(), body.getEncoding());
|
||||
else
|
||||
sendPublish(mNativePtr, null, null, null, null);
|
||||
public synchronized void sendPublish(LinphoneContent body) {
|
||||
synchronized(getCore()){
|
||||
if (body != null)
|
||||
sendPublish(mNativePtr, body.getType(), body.getSubtype(), body.getData(), body.getEncoding());
|
||||
else
|
||||
sendPublish(mNativePtr, null, null, null, null);
|
||||
}
|
||||
}
|
||||
private native long getErrorInfo(long nativePtr);
|
||||
@Override
|
||||
public ErrorInfo getErrorInfo() {
|
||||
public synchronized ErrorInfo getErrorInfo() {
|
||||
return new ErrorInfoImpl(getErrorInfo(mNativePtr));
|
||||
}
|
||||
|
||||
private native Object getCore(long nativePtr);
|
||||
@Override
|
||||
public synchronized LinphoneCore getCore() {
|
||||
return (LinphoneCore)getCore(mNativePtr);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue