JNI wrapper for linphone_friend_get_presence_model_for_uri_or_tel

This commit is contained in:
Sylvain Berfini 2016-09-14 15:36:43 +02:00
parent e6032177a8
commit 09e861e19e
3 changed files with 22 additions and 1 deletions

View file

@ -3914,6 +3914,15 @@ extern "C" jboolean Java_org_linphone_core_LinphoneFriendImpl_isAlreadyPresentIn
return lf->friend_list != NULL;
}
extern "C" jobject Java_org_linphone_core_LinphoneFriendImpl_getPresenceModelForUri(JNIEnv* env, jobject thiz, jlong ptr, jstring juri) {
LinphoneFriend *lf = (LinphoneFriend *)ptr;
const char *uri = GetStringUTFChars(env, juri);
LinphonePresenceModel *model = (LinphonePresenceModel *)linphone_friend_get_presence_model_for_uri_or_tel(lf, uri);
ReleaseStringUTFChars(env, juri, uri);
if (model == NULL) return NULL;
RETURN_USER_DATA_OBJECT("PresenceModelImpl", linphone_presence_model, model);
}
/*
* Class: org_linphone_core_LinphoneFriendImpl
* Method: getPresenceModel

View file

@ -111,14 +111,22 @@ public interface LinphoneFriend {
/**
* Get the status of a friend
* @return OnlineStatus
* @deprecated Use getPresenceModel() instead
* @deprecated Use getPresenceModelForUri() instead
*/
OnlineStatus getStatus();
/**
* Get the presence information of a friend
* @return A #PresenceModel object, or null if the friend do not have presence information (in which case he is considered offline)
* @deprecated Use getPresenceModelForUri() instead
*/
PresenceModel getPresenceModel();
/**
* Get the presence information for a specific uri (phone number or sip address)
* @return A #PresenceModel object or null
*/
PresenceModel getPresenceModelForUri(String uri);
/**
* Set the presence information of a friend
* @param presenceModel A #PresenceModel object

View file

@ -33,6 +33,7 @@ class LinphoneFriendImpl implements LinphoneFriend, Serializable {
private native boolean isPresenceReceived(long nativePtr);
private native int getStatus(long nativePtr);
private native Object getPresenceModel(long nativePtr);
private native Object getPresenceModelForUri(long nativePtr, String uri);
private native void setPresenceModel(long nativePtr, long presencePtr);
private native void edit(long nativePtr);
private native void done(long nativePtr);
@ -92,6 +93,9 @@ class LinphoneFriendImpl implements LinphoneFriend, Serializable {
public PresenceModel getPresenceModel() {
return (PresenceModel)getPresenceModel(nativePtr);
}
public PresenceModel getPresenceModelForUri(String uri) {
return (PresenceModel)getPresenceModelForUri(nativePtr, uri);
}
public void setPresenceModel(PresenceModel presenceModel) {
setPresenceModel(nativePtr, ((PresenceModelImpl)presenceModel).getNativePtr());
}