]> sjero.net Git - linphone/commitdiff
Preliminary code for conferencing support.
authorGuillaume Beraudo <guillaume.beraudo@belledonne-communications.com>
Wed, 14 Sep 2011 09:04:14 +0000 (11:04 +0200)
committerGuillaume Beraudo <guillaume.beraudo@belledonne-communications.com>
Fri, 30 Sep 2011 13:59:00 +0000 (15:59 +0200)
LinphoneCallImpl.java
LinphoneCallParamsImpl.java
LinphoneCoreImpl.java

index 70968e79d47839298243acd4161699a61fe74f42..acad5a09f6c20b003bbab21e2ff59a62a97df305 100644 (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();
        }
 }
index ef05eb22851d2097153c099ba2c12e919f07ba2f..d9c490ae105ee7a390ff8e6cbc8e768d1d1d80ac 100644 (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);
+       }
 }
index 92eb4a43c56013dd965583cfaeb4cd48f17f76d6..ab87a17b22576f21501ab8545a8562f66ad35620 100644 (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
-               
+
+
+       private native void leaveConference(long nativePtr);    
+       public void leaveConference() {
+               leaveConference(nativePtr);
        }
+
+       private native void enterConference(long nativePtr);    
        public void enterConference() {
-               // TODO Auto-generated method stub
-               
+               enterConference(nativePtr);
        }
-       public List getCalls() {
-               // TODO Auto-generated method stub
-               return null;
+
+       private native boolean isInConference(long nativePtr);
+       public boolean isInConference() {
+               return isInConference(nativePtr);
        }
-       public int getCallsNb() {
-               // TODO Auto-generated method stub
-               return 0;
+
+       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() {
+               terminateConference(nativePtr);
        }
+       private native int getConferenceSize(long nativePtr);
        public int getConferenceSize() {
-               // TODO Auto-generated method stub
-               return 0;
+               return getConferenceSize(nativePtr);
        }
-       public boolean isInConference() {
-               // TODO Auto-generated method stub
-               return false;
+       private native int getCallsNb(long nativePtr);
+       public int getCallsNb() {
+               return getCallsNb(nativePtr);
        }
-       public void leaveConference() {
-               // TODO Auto-generated method stub
-               
+       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;
        }
-       public void removeFromConference(LinphoneCall call) {
-               // TODO Auto-generated method stub
+       private native void addAllToConference(long nativePtr);
+       public void addAllToConference() {
+               addAllToConference(nativePtr);
                
        }
-       public void terminateAllCalls() {
-               // TODO Auto-generated method stub
+       private native void addToConference(long nativePtr);
+       public void addToConference(LinphoneCall call) {
+               addToConference(nativePtr);
                
        }
-       public void terminateConference() {
-               // TODO Auto-generated method stub
-               
+       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