Preliminary code for conferencing support.

This commit is contained in:
Guillaume Beraudo 2011-09-14 11:04:14 +02:00
parent dfdd63a2ed
commit 79965f6d15
3 changed files with 64 additions and 39 deletions

View file

@ -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();
}
}

View file

@ -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);
}
}

View file

@ -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<LinphoneCall> calls = new ArrayList<LinphoneCall>(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