Commit c8994e77 authored by Simon Morlat's avatar Simon Morlat
Browse files

Merge branch 'master' of belledonne-communications.com:linphone-private

parents 04a7e61e 5155979f
......@@ -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) {
......
......@@ -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 asString();
/**
*
* @return the address without display name as a string.
*/
public String toUri();
public String asStringUriOnly();
/*must return the same thing as asString()*/
public String toString();
}
......@@ -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);
}
......@@ -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();
}
......@@ -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<values.size();i++) {
GeneralState state = (GeneralState) values.elementAt(i);
if (state.mValue == value) return state;
}
throw new RuntimeException("sate not found ["+value+"]");
......@@ -59,14 +64,6 @@ public interface LinphoneCore {
}
/**
* @param identity sip uri sip:jehan@linphone.org
* @param proxy sip uri (sip:linphone.org)
* @param route optionnal sip usi (sip:linphone.org)
* @param register should be initiated
* @return
*/
public LinphoneProxyConfig createProxyConfig(String identity,String proxy,String route,boolean enableRegister) throws LinphoneCoreException;
/**
* clear all added proxy config
*/
......@@ -88,7 +85,19 @@ public interface LinphoneCore {
void addAuthInfo(LinphoneAuthInfo info);
public void invite(String uri);
/**
* Build an address according to the current proxy config. In case destination is not a sip address, the default proxy domain is automatically appended
* @param destination
* @return
* @throws If no LinphoneAddress can be built from destination
*/
public LinphoneAddress interpretUrl(String destination) throws LinphoneCoreException;
/**
* Starts a call given a destination. Internally calls interpretUrl() then invite(LinphoneAddress).
* @param uri
*/
public void invite(String destination)throws LinphoneCoreException;
public void invite(LinphoneAddress to);
......@@ -123,7 +132,7 @@ public interface LinphoneCore {
/**
* @return a list of LinphoneCallLog
*/
public List<LinphoneCallLog> 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
......
......@@ -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
}
}
......@@ -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 {
private static String defaulfFactory = "org.linphone.core.LinphoneCoreFactoryImpl";
static {
System.loadLibrary("linphone");
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);
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment