-phone view

-settings
This commit is contained in:
Jehan Monnier 2010-02-05 17:49:43 +01:00
parent b99a653219
commit f91275deff
4 changed files with 93 additions and 18 deletions

View file

@ -61,18 +61,28 @@ 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) throws LinphoneCoreException;
public LinphoneProxyConfig createProxyConfig(String identity,String proxy,String route,boolean enableRegister) throws LinphoneCoreException;
/**
* clear all added proxy config
*/
public void clearProxyConfigs();
public void addtProxyConfig(LinphoneProxyConfig proxyCfg) throws LinphoneCoreException;
public void setDefaultProxyConfig(LinphoneProxyConfig proxyCfg);
/**
* @return null if no default proxyconfig
* @return null if no default proxy config
*/
public LinphoneProxyConfig getDefaultProxyConfig();
public LinphoneProxyConfig getDefaultProxyConfig() ;
/**
* clear all the added auth info
*/
void clearAuthInfos();
void addAuthInfo(LinphoneAuthInfo info);

View file

@ -28,8 +28,13 @@ class LinphoneCoreImpl implements LinphoneCore {
private final long nativePtr;
private native long newLinphoneCore(LinphoneCoreListener listener,String userConfig,String factoryConfig,Object userdata);
private native void iterate(long nativePtr);
private native long getDefaultProxyConfig(long nativePtr);
private native void setDefaultProxyConfig(long nativePtr,long proxyCfgNativePtr);
private native int addProxyConfig(long nativePtr,long proxyCfgNativePtr);
private native void clearAuthInfos(long nativePtr);
private native void clearProxyConfigs(long nativePtr);
private native void addAuthInfo(long nativePtr,long authInfoNativePtr);
private native void invite(long nativePtr,String uri);
LinphoneCoreImpl(LinphoneCoreListener listener, File userConfig,File factoryConfig,Object userdata) throws IOException {
@ -41,12 +46,17 @@ class LinphoneCoreImpl implements LinphoneCore {
addAuthInfo(nativePtr,((LinphoneAuthInfoImpl)info).nativePtr);
}
public LinphoneProxyConfig createProxyConfig(String identity, String proxy,String route) throws LinphoneCoreException {
return new LinphoneProxyConfigImpl(identity, proxy, route);
public LinphoneProxyConfig createProxyConfig(String identity, String proxy,String route,boolean enableRegister) throws LinphoneCoreException {
return new LinphoneProxyConfigImpl(identity, proxy, route,enableRegister);
}
public LinphoneProxyConfig getDefaultProxyConfig() {
throw new RuntimeException("not implemenetd yet");
long lNativePtr = getDefaultProxyConfig(nativePtr);
if (lNativePtr!=0) {
return new LinphoneProxyConfigImpl(lNativePtr);
} else {
return null;
}
}
public void invite(String uri) {
@ -65,6 +75,13 @@ class LinphoneCoreImpl implements LinphoneCore {
throw new LinphoneCoreException("bad proxy config");
}
}
public void clearAuthInfos() {
clearAuthInfos(nativePtr);
}
public void clearProxyConfigs() {
clearProxyConfigs(nativePtr);
}
}

View file

@ -20,7 +20,31 @@ package org.linphone.core;
public interface LinphoneProxyConfig {
void enableRegister(boolean value);
/**
* Unregister proxy config a enable edition
*/
public void edit();
/**
* Validate proxy config changes. Start registration in case
*/
public void done();
/**
* sip user made by sip:username@domain
*/
public void setIdentity(String identity) throws LinphoneCoreException;
/**
* Set proxy uri, like sip:linphone.org:5060
* @param proxyUri
* @throws LinphoneCoreException
*/
public void setProxy(String proxyUri) throws LinphoneCoreException;
/**
* Enable register for this proxy config.
* Register message is issued after call to {@link #done()}
* @param value
* @throws LinphoneCoreException
*/
public void enableRegister(boolean value) throws LinphoneCoreException;
}

View file

@ -18,28 +18,37 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package org.linphone.core;
import org.linphone.Linphone;
import android.util.Log;
class LinphoneProxyConfigImpl implements LinphoneProxyConfig {
protected final long nativePtr;
protected LinphoneProxyConfigImpl(String identity,String proxy,String route) throws LinphoneCoreException {
boolean ownPtr = false;
protected LinphoneProxyConfigImpl(String identity,String proxy,String route, boolean enableRegister) throws LinphoneCoreException {
nativePtr = newLinphoneProxyConfig();
setIdentity(nativePtr,identity);
if (setProxy(nativePtr,proxy)!=0) {
throw new LinphoneCoreException("Bad proxy address ["+proxy+"]");
}
setIdentity(identity);
setProxy(proxy);
enableRegister(enableRegister);
ownPtr=true;
Log.w(Linphone.TAG, "route ["+route+"] not used yet");
}
protected LinphoneProxyConfigImpl(long aNativePtr) {
nativePtr = aNativePtr;
ownPtr=false;
}
protected void finalize() throws Throwable {
delete(nativePtr);
if (ownPtr) delete(nativePtr);
}
private native long newLinphoneProxyConfig();
private native void delete(long ptr);
//private native void edit(long ptr);
//private native void done(long ptr);
private native void edit(long ptr);
private native void done(long ptr);
private native void setIdentity(long ptr,String identity);
private native int setProxy(long ptr,String proxy);
@ -47,9 +56,24 @@ class LinphoneProxyConfigImpl implements LinphoneProxyConfig {
private native void enableRegister(long ptr,boolean value);
public void enableRegister(boolean value) {
//edit(nativePtr);
enableRegister(nativePtr,value);
//done(nativePtr);
}
public void done() {
done(nativePtr);
}
public void edit() {
edit(nativePtr);
}
public void setIdentity(String identity) throws LinphoneCoreException {
setIdentity(nativePtr,identity);
}
public void setProxy(String proxyUri) throws LinphoneCoreException {
if (setProxy(nativePtr,proxyUri)!=0) {
throw new LinphoneCoreException("Bad proxy address ["+proxyUri+"]");
}
}
}