diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index e65193e3b..4c595cd0e 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -51,7 +51,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *ajvm, void *reserved) //LinphoneFactory -extern "C" void Java_org_linphone_core_LinphoneCoreFactory_setDebugMode(JNIEnv* env +extern "C" void Java_org_linphone_core_LinphoneCoreFactoryImpl_setDebugMode(JNIEnv* env ,jobject thiz ,jboolean isDebug) { if (isDebug) { diff --git a/java/org/linphone/core/LinphoneAddress.java b/java/org/linphone/core/LinphoneAddress.java index 86271674c..16c688470 100644 --- a/java/org/linphone/core/LinphoneAddress.java +++ b/java/org/linphone/core/LinphoneAddress.java @@ -34,13 +34,30 @@ public interface LinphoneAddress { * @return null if not set */ public String getDomain(); + public String getPort(); + public int getPortInt(); /** * set display name * @param name */ public void setDisplayName(String name); + public void setUserName(String username); + public void setDomain(String domain); + public void setPort(String port); + public void setPortInt(int port); + public void clean(); + /** - * @return an URI version of the address that can be used to place a call using {@link LinphoneCore#invite(String)} + * + * @return the address as a string. */ - public String toUri(); + public String asString(); + /** + * + * @return the address without display name as a string. + */ + public String asStringUriOnly(); + + /*must return the same thing as asString()*/ + public String toString(); } diff --git a/java/org/linphone/core/LinphoneAuthInfo.java b/java/org/linphone/core/LinphoneAuthInfo.java index 2a5dbaf2d..8ae3aeea5 100644 --- a/java/org/linphone/core/LinphoneAuthInfo.java +++ b/java/org/linphone/core/LinphoneAuthInfo.java @@ -19,7 +19,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. package org.linphone.core; public interface LinphoneAuthInfo { - + String getUsername(); + String getPassword(); + String getRealm(); + void setUsername(String username); + void setPassword(String password); + void setRealm(String realm); } diff --git a/java/org/linphone/core/LinphoneCallLog.java b/java/org/linphone/core/LinphoneCallLog.java index 19d851a43..08cdb8034 100644 --- a/java/org/linphone/core/LinphoneCallLog.java +++ b/java/org/linphone/core/LinphoneCallLog.java @@ -19,13 +19,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. package org.linphone.core; public interface LinphoneCallLog { - public enum CallDirection { - CallOutgoing,Callincoming - } + public LinphoneAddress getFrom(); public LinphoneAddress getTo (); - public LinphoneCallLog.CallDirection getDirection(); + public CallDirection getDirection(); } diff --git a/java/org/linphone/core/LinphoneCore.java b/java/org/linphone/core/LinphoneCore.java index 8609e04e1..8c3674d66 100644 --- a/java/org/linphone/core/LinphoneCore.java +++ b/java/org/linphone/core/LinphoneCore.java @@ -18,7 +18,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.linphone.core; -import java.util.List; + +import java.util.Vector; @@ -26,32 +27,36 @@ public interface LinphoneCore { /* * linphone core states */ - public enum GeneralState { + static public class GeneralState { /* states for GSTATE_GROUP_POWER */ - GSTATE_POWER_OFF(0), /* initial state */ - GSTATE_POWER_STARTUP(1), - GSTATE_POWER_ON(2), - GSTATE_POWER_SHUTDOWN(3), + static GeneralState GSTATE_POWER_OFF = new GeneralState(0); /* initial state */ + static GeneralState GSTATE_POWER_STARTUP = new GeneralState(1); + static GeneralState GSTATE_POWER_ON = new GeneralState(2); + static GeneralState GSTATE_POWER_SHUTDOWN = new GeneralState(3); /* states for GSTATE_GROUP_REG */ - GSTATE_REG_NONE(10), /* initial state */ - GSTATE_REG_OK(11), - GSTATE_REG_FAILED(12), + static GeneralState GSTATE_REG_NONE = new GeneralState(10); /* initial state */ + static GeneralState GSTATE_REG_OK = new GeneralState(11); + static GeneralState GSTATE_REG_FAILED = new GeneralState(12); /* states for GSTATE_GROUP_CALL */ - GSTATE_CALL_IDLE(20), /* initial state */ - GSTATE_CALL_OUT_INVITE(21), - GSTATE_CALL_OUT_CONNECTED(22), - GSTATE_CALL_IN_INVITE(23), - GSTATE_CALL_IN_CONNECTED(24), - GSTATE_CALL_END(25), - GSTATE_CALL_ERROR(26), - GSTATE_INVALID(27); + static GeneralState GSTATE_CALL_IDLE = new GeneralState(20); /* initial state */ + static GeneralState GSTATE_CALL_OUT_INVITE = new GeneralState(21); + static GeneralState GSTATE_CALL_OUT_CONNECTED = new GeneralState(22); + static GeneralState GSTATE_CALL_IN_INVITE = new GeneralState(23); + static GeneralState GSTATE_CALL_IN_CONNECTED = new GeneralState(24); + static GeneralState GSTATE_CALL_END = new GeneralState(25); + static GeneralState GSTATE_CALL_ERROR = new GeneralState(26); + static GeneralState GSTATE_INVALID = new GeneralState(27); private final int mValue; + static private Vector values = new Vector(); - GeneralState(int value) { + private GeneralState(int value) { mValue = value; + values.addElement(this); } public static GeneralState fromInt(int value) { - for (GeneralState state: GeneralState.values()) { + + for (int i=0; i getCallLogs(); + public Vector getCallLogs(); /** * This method is called by the application to notify the Linphone core library when network is reachable. @@ -158,13 +167,7 @@ public interface LinphoneCore { * @return true is mic is muted */ public boolean isMicMuted(); - /** - * Build an address according to the current proxy config. In case destination is not a sip uri, the default proxy domain is automatically appended - * @param destination - * @return - * @throws If no LinphonrAddress can be built from destination - */ - public LinphoneAddress interpretUrl(String destination) throws LinphoneCoreException; + /** * Initiate a dtmf signal if in call * @param number diff --git a/java/org/linphone/core/LinphoneCoreException.java b/java/org/linphone/core/LinphoneCoreException.java index abec2943e..9c77ae7d2 100644 --- a/java/org/linphone/core/LinphoneCoreException.java +++ b/java/org/linphone/core/LinphoneCoreException.java @@ -18,7 +18,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.linphone.core; -@SuppressWarnings("serial") + public class LinphoneCoreException extends Exception { public LinphoneCoreException() { @@ -30,14 +30,6 @@ public class LinphoneCoreException extends Exception { // TODO Auto-generated constructor stub } - public LinphoneCoreException(Throwable throwable) { - super(throwable); - // TODO Auto-generated constructor stub - } - - public LinphoneCoreException(String detailMessage, Throwable throwable) { - super(detailMessage, throwable); - // TODO Auto-generated constructor stub - } + } diff --git a/java/org/linphone/core/LinphoneCoreFactory.java b/java/org/linphone/core/LinphoneCoreFactory.java index 24315f6dd..1f4815e37 100644 --- a/java/org/linphone/core/LinphoneCoreFactory.java +++ b/java/org/linphone/core/LinphoneCoreFactory.java @@ -18,36 +18,47 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.linphone.core; -import java.io.File; + import java.io.IOException; -public class LinphoneCoreFactory { + +abstract public class LinphoneCoreFactory { - static { - System.loadLibrary("linphone"); + private static String defaulfFactory = "org.linphone.core.LinphoneCoreFactoryImpl"; + + static LinphoneCoreFactory theLinphoneCoreFactory; + /** + * Indicate the name of the class used by this factory + * @param pathName + */ + static void setFactoryClassName (String className) { + defaulfFactory = className; } - static LinphoneCoreFactory theLinphoneCoreFactory = new LinphoneCoreFactory(); public static LinphoneCoreFactory instance() { - + try { + if (theLinphoneCoreFactory == null) { + Class lFactoryClass = Class.forName(defaulfFactory); + theLinphoneCoreFactory = (LinphoneCoreFactory) lFactoryClass.newInstance(); + } + } catch (Exception e) { + System.err.println("cannot instanciate factory ["+defaulfFactory+"]"); + } return theLinphoneCoreFactory; } - public LinphoneAuthInfo createAuthInfo(String username,String password) { - return new LinphoneAuthInfoImpl(username,password) ; - } + abstract public LinphoneAuthInfo createAuthInfo(String username,String password); - public LinphoneCore createLinphoneCore(LinphoneCoreListener listener, File userConfig,File factoryConfig,Object userdata) throws IOException { - return new LinphoneCoreImpl(listener,userConfig,factoryConfig,userdata); - } + abstract public LinphoneCore createLinphoneCore(LinphoneCoreListener listener, String userConfig,String factoryConfig,Object userdata) throws IOException; - public LinphoneAddress createLinphoneAddress(String username,String domain,String displayName) { - return new LinphoneAddressImpl(username,domain,displayName); - } + abstract public LinphoneAddress createLinphoneAddress(String username,String domain,String displayName); + abstract public LinphoneAddress createLinphoneAddress(String address); + + abstract public LinphoneProxyConfig createProxyConfig(String identity, String proxy,String route,boolean enableRegister) throws LinphoneCoreException; /** * Enable verbose traces - * @param enable + * @param enable */ - public native void setDebugMode(boolean enable); + abstract public void setDebugMode(boolean enable); }