mirror of
https://github.com/opencv/opencv.git
synced 2024-11-29 05:29:54 +08:00
finalize() added to ported classes; javadoc anchor added to ported funcs
This commit is contained in:
parent
370130e464
commit
086643f5a7
@ -427,6 +427,15 @@ class JavaWrapperGenerator(object):
|
||||
) );
|
||||
|
||||
# java part:
|
||||
|
||||
#java doc comment
|
||||
f_name = fi.name
|
||||
if fi.classname:
|
||||
f_name = fi.classname + "::" + fi.name
|
||||
self.java_code.write(indent + "//javadoc: " + f_name + "(%s)\n" % \
|
||||
", ".join([a.name for a in args])
|
||||
)
|
||||
|
||||
# public java wrapper method impl (calling native one above)
|
||||
# e.g.
|
||||
# public static void add( Mat src1, Mat src2, Mat dst, Mat mask, int dtype )
|
||||
@ -571,9 +580,44 @@ JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_$fname
|
||||
for fi in ffi.funcs:
|
||||
self.gen_func(fi, len(ffi.funcs)>1, jn_code)
|
||||
|
||||
self.java_code.write("\n\n" + indent_m + "// native stuff\n")
|
||||
self.java_code.write( indent_m + "//\n" + jn_code.getvalue() )
|
||||
self.java_code.write( "\n\n" + indent + "}\n\n" )
|
||||
# finalize()
|
||||
self.java_code.write(
|
||||
"""
|
||||
@Override
|
||||
protected void finalize() throws Throwable {
|
||||
n_delete(nativeObj);
|
||||
super.finalize();
|
||||
}
|
||||
|
||||
"""
|
||||
)
|
||||
|
||||
self.java_code.write(indent_m + "// native stuff\n\n")
|
||||
self.java_code.write( jn_code.getvalue() )
|
||||
self.java_code.write(
|
||||
"""
|
||||
// native support for java finalize()
|
||||
private static native void n_delete(long nativeObj);
|
||||
"""
|
||||
)
|
||||
self.java_code.write("\n" + indent + "}\n\n")
|
||||
|
||||
# native support for java finalize()
|
||||
self.cpp_code.write( \
|
||||
"""
|
||||
//
|
||||
// native support for java finalize()
|
||||
// static void %(cls)s::n_delete( __int64 self )
|
||||
//
|
||||
|
||||
JNIEXPORT void JNICALL Java_org_opencv_%(module)s_00024%(cls)s_n_1delete
|
||||
(JNIEnv* env, jclass cls, jlong self)
|
||||
{
|
||||
delete (%(cls)s*) self;
|
||||
}
|
||||
|
||||
""" % {"module" : module, "cls" : name}
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
Loading…
Reference in New Issue
Block a user