/*
LinphoneCoreImpl.java
Copyright (C) 2010 Belledonne Communications, Grenoble, France
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package org.linphone.core;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Vector;
import org.linphone.LinphoneManager;
import org.linphone.mediastream.video.AndroidVideoWindowImpl;
class LinphoneCoreImpl implements LinphoneCore {
@SuppressWarnings("unused")
private final LinphoneCoreListener mListener; //to make sure to keep a reference on this object
private long nativePtr = 0;
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(LinphoneProxyConfig jprtoxyCfg,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 long invite(long nativePtr,String uri);
private native void terminateCall(long nativePtr, long call);
private native long getRemoteAddress(long nativePtr);
private native boolean isInCall(long nativePtr);
private native boolean isInComingInvitePending(long nativePtr);
private native void acceptCall(long nativePtr, long call);
private native long getCallLog(long nativePtr,int position);
private native int getNumberOfCallLogs(long nativePtr);
private native void delete(long nativePtr);
private native void setNetworkStateReachable(long nativePtr,boolean isReachable);
private native void setPlaybackGain(long nativeptr, float gain);
private native float getPlaybackGain(long nativeptr);
private native void muteMic(long nativePtr,boolean isMuted);
private native long interpretUrl(long nativePtr,String destination);
private native long inviteAddress(long nativePtr,long to);
private native long inviteAddressWithParams(long nativePtrLc,long to, long nativePtrParam);
private native void sendDtmf(long nativePtr,char dtmf);
private native void clearCallLogs(long nativePtr);
private native boolean isMicMuted(long nativePtr);
private native long findPayloadType(long nativePtr, String mime, int clockRate);
private native int enablePayloadType(long nativePtr, long payloadType, boolean enable);
private native void enableEchoCancellation(long nativePtr,boolean enable);
private native boolean isEchoCancellationEnabled(long nativePtr);
private native long getCurrentCall(long nativePtr) ;
private native void playDtmf(long nativePtr,char dtmf,int duration);
private native void stopDtmf(long nativePtr);
private native void setVideoWindowId(long nativePtr, Object wid);
private native void setPreviewWindowId(long nativePtr, Object wid);
private native void setDeviceRotation(long nativePtr, int rotation);
private native void addFriend(long nativePtr,long friend);
private native void setPresenceInfo(long nativePtr,int minute_away, String alternative_contact,int status);
private native long createChatRoom(long nativePtr,String to);
private native void enableVideo(long nativePtr,boolean vcap_enabled,boolean display_enabled);
private native boolean isVideoEnabled(long nativePtr);
private native void setFirewallPolicy(long nativePtr, int enum_value);
private native int getFirewallPolicy(long nativePtr);
private native void setStunServer(long nativePtr, String stun_server);
private native String getStunServer(long nativePtr);
private native long createDefaultCallParams(long nativePtr);
private native int updateCall(long ptrLc, long ptrCall, long ptrParams);
private native void setUploadBandwidth(long nativePtr, int bw);
private native void setDownloadBandwidth(long nativePtr, int bw);
private native void setPreferredVideoSize(long nativePtr, int width, int heigth);
private native int[] getPreferredVideoSize(long nativePtr);
private native void setRing(long nativePtr, String path);
private native String getRing(long nativePtr);
private native void setRootCA(long nativePtr, String path);
private native long[] listVideoPayloadTypes(long nativePtr);
private native long[] listAudioPayloadTypes(long nativePtr);
private native void enableKeepAlive(long nativePtr,boolean enable);
private native boolean isKeepAliveEnabled(long nativePtr);
private native int startEchoCalibration(long nativePtr,Object data);
private native int getSignalingTransportPort(long nativePtr, int code);
private native void setSignalingTransportPorts(long nativePtr, int udp, int tcp, int tls);
private native void enableIpv6(long nativePtr,boolean enable);
private native void adjustSoftwareVolume(long nativePtr,int db);
private native int pauseCall(long nativePtr, long callPtr);
private native int pauseAllCalls(long nativePtr);
private native int resumeCall(long nativePtr, long callPtr);
private native void setUploadPtime(long nativePtr, int ptime);
private native void setDownloadPtime(long nativePtr, int ptime);
private native void setZrtpSecretsCache(long nativePtr, String file);
private native void enableEchoLimiter(long nativePtr2, boolean val);
private native int setVideoDevice(long nativePtr2, int id);
private native int getVideoDevice(long nativePtr2);
LinphoneCoreImpl(LinphoneCoreListener listener, File userConfig,File factoryConfig,Object userdata) throws IOException {
mListener=listener;
nativePtr = newLinphoneCore(listener,userConfig.getCanonicalPath(),factoryConfig.getCanonicalPath(),userdata);
}
LinphoneCoreImpl(LinphoneCoreListener listener) throws IOException {
mListener=listener;
nativePtr = newLinphoneCore(listener,null,null,null);
}
protected void finalize() throws Throwable {
}
public synchronized void addAuthInfo(LinphoneAuthInfo info) {
isValid();
addAuthInfo(nativePtr,((LinphoneAuthInfoImpl)info).nativePtr);
}
public synchronized LinphoneProxyConfig getDefaultProxyConfig() {
isValid();
long lNativePtr = getDefaultProxyConfig(nativePtr);
if (lNativePtr!=0) {
return new LinphoneProxyConfigImpl(lNativePtr);
} else {
return null;
}
}
public synchronized LinphoneCall invite(String uri) {
isValid();
long lNativePtr = invite(nativePtr,uri);
if (lNativePtr!=0) {
return new LinphoneCallImpl(lNativePtr);
} else {
return null;
}
}
public synchronized void iterate() {
isValid();
iterate(nativePtr);
}
public synchronized void setDefaultProxyConfig(LinphoneProxyConfig proxyCfg) {
isValid();
setDefaultProxyConfig(nativePtr,((LinphoneProxyConfigImpl)proxyCfg).nativePtr);
}
public synchronized void addProxyConfig(LinphoneProxyConfig proxyCfg) throws LinphoneCoreException{
isValid();
if (addProxyConfig(proxyCfg,nativePtr,((LinphoneProxyConfigImpl)proxyCfg).nativePtr) !=0) {
throw new LinphoneCoreException("bad proxy config");
}
}
public synchronized void clearAuthInfos() {
isValid();
clearAuthInfos(nativePtr);
}
public synchronized void clearProxyConfigs() {
isValid();
clearProxyConfigs(nativePtr);
}
public synchronized void terminateCall(LinphoneCall aCall) {
isValid();
if (aCall!=null)terminateCall(nativePtr,((LinphoneCallImpl)aCall).nativePtr);
没有合适的资源?快使用搜索试试~ 我知道了~
liblinphone-android-sdk
共57个文件
java:41个
so:8个
ds_store:2个
3星 · 超过75%的资源 需积分: 13 57 下载量 140 浏览量
2011-09-27
11:51:40
上传
评论
收藏 2.95MB ZIP 举报
温馨提示
linphone-android的SDK,可以到我的资源中下载对应的文档
资源推荐
资源详情
资源评论
收起资源包目录
liblinphone-android-sdk.zip (57个子文件)
liblinphone-android-sdk
AndroidManifest.xml 3KB
res
layout
hello_world.xml 1KB
src
org
linphone
core
LinphoneAddressImpl.java 3KB
LinphoneFriendImpl.java 3KB
LinphoneCoreImpl.java 18KB
LinphoneChatRoomImpl.java 1KB
Log.java 3KB
LinphoneCallImpl.java 4KB
LinphoneProxyConfigImpl.java 4KB
LinphoneCoreFactoryImpl.java 4KB
LinphoneCallLogImpl.java 1KB
tutorials
TutorialHelloWorldActivity.java 3KB
TutorialBuddyStatusActivity.java 3KB
TutorialRegistrationActivity.java 3KB
AndroidTutorialNotifier.java 1KB
TutorialChatRoomActivity.java 3KB
PayloadTypeImpl.java 1KB
LinphoneAuthInfoImpl.java 2KB
LinphoneCallParamsImpl.java 2KB
Version.java 3KB
video
VideoUtil.java 1KB
.classpath 533B
submodules
linphone
java
common
org
.DS_Store 6KB
linphone
core
LinphoneCallParams.java 1KB
CallDirection.java 1KB
LinphoneAuthInfo.java 2KB
package.html 10KB
LinphoneAddress.java 2KB
LinphoneLogHandler.java 1KB
VideoSize.java 2KB
LinphoneFriend.java 4KB
LinphoneCoreFactory.java 3KB
LinphoneProxyConfig.java 5KB
LinphoneChatRoom.java 1KB
LinphoneCoreListener.java 4KB
OnlineStatus.java 3KB
LinphoneCore.java 18KB
PayloadType.java 847B
LinphoneCallLog.java 2KB
LinphoneCall.java 7KB
.DS_Store 6KB
j2se
org
linphone
core
LinphoneCoreException.java 1KB
coreapi
help
java
org
linphone
core
tutorials
TutorialChatRoom.java 5KB
TutorialNotifier.java 1014B
TutorialHelloWorld.java 5KB
TutorialRegistration.java 6KB
TutorialBuddyStatus.java 8KB
default.properties 37B
.settings
org.eclipse.jdt.core.prefs 587B
libs
armeabi
liblinphone.so 1.61MB
armeabi-v7a
libavcore.so 14KB
libswscale.so 140KB
liblinssl.so 190KB
libavcodec.so 979KB
liblinphone.so 1.72MB
liblincrypto.so 842KB
libavutil.so 75KB
gen
共 57 条
- 1
大哈队长
- 粉丝: 3
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页