Reputation: 548
I am trying to use (*env)->RegisterNatives
to add methods to a defined class which I then add to a callback list.
The callback sender of course expects my class to implement a certain interface which I do not. And is failing on execution.
If I add the keyword "implements Listener" to my class in Java the javac expects to have the methods definition in Java or with native keyword which I try to avoid here, as I'd like to register the methods within the JNI_OnLoad and execute one of them afterwards.
The question now is: Can I implement the interface in JNI or avoid the error message in Java?
Upvotes: 0
Views: 678
Reputation: 3454
RegisterNatives
doesn't add new native methods, it registers native function for the existing native method in the class. If someone doesn't call RegisterNatives for a native method, the JVM
will search all DLL
libraries for its implementation when method is called for the first time.
So, add implements Listener
, write definitions with native
keyword and register their implementation with RegisterNatives
.
Upvotes: 2