diff --git a/LinphoneCallImpl.java b/LinphoneCallImpl.java index 70968e79d..acad5a09f 100644 --- a/LinphoneCallImpl.java +++ b/LinphoneCallImpl.java @@ -123,8 +123,9 @@ class LinphoneCallImpl implements LinphoneCall { public boolean areStreamsEncrypted() { return areStreamsEncrypted(nativePtr); } + public boolean isInConference() { - // TODO Auto-generated method stub - return false; + LinphoneCallParamsImpl params = new LinphoneCallParamsImpl(getCurrentParamsCopy(nativePtr)); + return params.localConferenceMode(); } } diff --git a/LinphoneCallParamsImpl.java b/LinphoneCallParamsImpl.java index ef05eb228..d9c490ae1 100644 --- a/LinphoneCallParamsImpl.java +++ b/LinphoneCallParamsImpl.java @@ -48,4 +48,9 @@ public class LinphoneCallParamsImpl implements LinphoneCallParams { public void setAudioBandwidth(int value) { audioBandwidth(nativePtr, value); } + + private native boolean localConferenceMode(long nativePtr); + public boolean localConferenceMode() { + return localConferenceMode(nativePtr); + } } diff --git a/LinphoneCoreImpl.java b/LinphoneCoreImpl.java index 92eb4a43c..ab87a17b2 100644 --- a/LinphoneCoreImpl.java +++ b/LinphoneCoreImpl.java @@ -20,6 +20,7 @@ package org.linphone.core; import java.io.File; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Vector; @@ -488,50 +489,68 @@ class LinphoneCoreImpl implements LinphoneCore { public int getVideoDevice() { return getVideoDevice(nativePtr); } - public void addAllToConference() { - // TODO Auto-generated method stub - - } - public void addToConference(LinphoneCall call) { - // TODO Auto-generated method stub - - } - public void enterConference() { - // TODO Auto-generated method stub - - } - public List getCalls() { - // TODO Auto-generated method stub - return null; - } - public int getCallsNb() { - // TODO Auto-generated method stub - return 0; - } - public int getConferenceSize() { - // TODO Auto-generated method stub - return 0; - } - public boolean isInConference() { - // TODO Auto-generated method stub - return false; - } + + + private native void leaveConference(long nativePtr); public void leaveConference() { - // TODO Auto-generated method stub - + leaveConference(nativePtr); } - public void removeFromConference(LinphoneCall call) { - // TODO Auto-generated method stub - + + private native void enterConference(long nativePtr); + public void enterConference() { + enterConference(nativePtr); } - public void terminateAllCalls() { - // TODO Auto-generated method stub - + + private native boolean isInConference(long nativePtr); + public boolean isInConference() { + return isInConference(nativePtr); } + + private native void addToConference(long nativePtr, long nativePtrLcall); + public void addToConference(LinphoneCall call, boolean addOthersToNewConference) { + addToConference(nativePtr, ((LinphoneCallImpl)call).nativePtr); + } + + private native void terminateConference(long nativePtr); public void terminateConference() { - // TODO Auto-generated method stub + terminateConference(nativePtr); + } + private native int getConferenceSize(long nativePtr); + public int getConferenceSize() { + return getConferenceSize(nativePtr); + } + private native int getCallsNb(long nativePtr); + public int getCallsNb() { + return getCallsNb(nativePtr); + } + private native void terminateAllCalls(long nativePtr); + public void terminateAllCalls() { + terminateAllCalls(nativePtr); + } + private native long getCall(long nativePtr, int position); + @SuppressWarnings("unchecked") public List getCalls() { + int size = getCallsNb(nativePtr); + List calls = new ArrayList(size); + for (int i=0; i < size; i++) { + calls.add(new LinphoneCallImpl(getCall(nativePtr, i))); + } + return calls; + } + private native void addAllToConference(long nativePtr); + public void addAllToConference() { + addAllToConference(nativePtr); } + private native void addToConference(long nativePtr); + public void addToConference(LinphoneCall call) { + addToConference(nativePtr); + + } + private native void removeFromConference(long nativePtr); + public void removeFromConference(LinphoneCall call) { + removeFromConference(nativePtr); + } + public void transferCall(LinphoneCall call, String referTo) { // TODO Auto-generated method stub