Exemplo n.º 1
0
                            bodies=[[
                                C.Assign('wrapper->weak',
                                         C.Env('NewWeakGlobalRef', 'jobj')),
                                C.Log.info('created weak global ref: %p',
                                           'wrapper->weak'),
                            ],
                                    [
                                        C.Assign('wrapper->obj',
                                                 C.Env('NewGlobalRef',
                                                       'jobj')),
                                        C.Log.info('created global ref: %p',
                                                   'wrapper->obj'),
                                    ]]),
                   C.ExceptionCheck('NULL'),
                   '',
                   C.Return('wrapper'),
               ]))

C.Helper.add_helper(
    'jobject_wrapper_destroy',
    C.Function('jobject_wrapper_destroy',
               return_type='void',
               params=['gpointer data_pointer', 'gboolean weak'],
               body=[
                   C.Decl('JNIEnv*', 'env'),
                   C.Decl('JObjectWrapper*', 'wrapper'),
                   '',
                   C.Assign('env', C.Call('get_jni_env')),
                   C.Assign('wrapper', 'data_pointer', cast='JObjectWrapper*'),
                   C.Assert('wrapper'),
                   '',
Exemplo n.º 2
0
                            bodies=[[
                                C.Assign('wrapper->weak',
                                         C.Env('NewWeakGlobalRef', 'jobj')),
                                C.Log.verbose('created weak global ref: %p',
                                              'wrapper->weak'),
                            ],
                                    [
                                        C.Assign('wrapper->obj',
                                                 C.Env('NewGlobalRef',
                                                       'jobj')),
                                        C.Log.verbose('created global ref: %p',
                                                      'wrapper->obj'),
                                    ]]),
                   C.ExceptionCheck('NULL'),
                   '',
                   C.Return('wrapper'),
               ]))

C.Helper.add_helper(
    'jobject_wrapper_destroy',
    C.Function('jobject_wrapper_destroy',
               return_type='void',
               params=['gpointer data_pointer', 'gboolean weak'],
               body=[
                   C.Decl('JNIEnv*', 'env'),
                   C.Decl('JObjectWrapper*', 'wrapper'),
                   '',
                   C.Assign('env', C.Call('get_jni_env')),
                   C.Assign('wrapper', 'data_pointer', cast='JObjectWrapper*'),
                   C.Assert('wrapper'),
                   '',