mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-02-07 14:18:25 +00:00
Real fix for Java wrapper's listeners
This commit is contained in:
parent
471c5b3d97
commit
0b95c162d3
2 changed files with 6 additions and 4 deletions
|
|
@ -591,7 +591,8 @@ class JniInterface(object):
|
|||
def __init__(self, javaClass, apiClass):
|
||||
self.isSingleListener = (not apiClass.multilistener)
|
||||
self.isMultiListener = (apiClass.multilistener)
|
||||
self.classCName = javaClass.className
|
||||
self.className = javaClass.className
|
||||
self.classCName = javaClass.cName
|
||||
self.cPrefix = javaClass.cPrefix
|
||||
self.callbacks = []
|
||||
listener = apiClass.listenerInterface
|
||||
|
|
@ -694,6 +695,7 @@ class Jni(object):
|
|||
'isSingleListener': jniInterface.isSingleListener,
|
||||
'isMultiListener': jniInterface.isMultiListener,
|
||||
'classCName': jniInterface.classCName,
|
||||
'className': jniInterface.className,
|
||||
'cPrefix': jniInterface.cPrefix,
|
||||
'jniPackage': self.jni_package,
|
||||
'factoryName': javaClass.factoryName,
|
||||
|
|
|
|||
|
|
@ -234,10 +234,10 @@ static {{return}} {{callbackName}}({{params}}) {
|
|||
|
||||
{{#interfaces}}
|
||||
{{#isSingleListener}}
|
||||
void {{jniPackage}}{{classCName}}Impl_setListener(JNIEnv* env, jobject thiz, jlong ptr, jobject jlistener) {
|
||||
void {{jniPackage}}{{className}}Impl_setListener(JNIEnv* env, jobject thiz, jlong ptr, jobject jlistener) {
|
||||
{{/isSingleListener}}
|
||||
{{#isMultiListener}}
|
||||
void {{jniPackage}}{{classCName}}Impl_addListener(JNIEnv* env, jobject thiz, jlong ptr, jobject jlistener) {
|
||||
void {{jniPackage}}{{className}}Impl_addListener(JNIEnv* env, jobject thiz, jlong ptr, jobject jlistener) {
|
||||
{{/isMultiListener}}
|
||||
{{classCName}} *cptr = ({{classCName}}*)ptr;
|
||||
jobject listener = env->NewGlobalRef(jlistener);
|
||||
|
|
@ -257,7 +257,7 @@ void {{jniPackage}}{{classCName}}Impl_addListener(JNIEnv* env, jobject thiz, jlo
|
|||
}
|
||||
{{#isMultiListener}}
|
||||
|
||||
void {{jniPackage}}{{classCName}}Impl_removeListener(JNIEnv* env, jobject thiz, jlong ptr, jobject jlistener) {
|
||||
void {{jniPackage}}{{className}}Impl_removeListener(JNIEnv* env, jobject thiz, jlong ptr, jobject jlistener) {
|
||||
{{classCName}} *cptr = ({{classCName}}*)ptr;
|
||||
const bctbx_list_t *cbs_list = {{cPrefix}}_get_callbacks_list(cptr);
|
||||
bctbx_list_t *it;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue