missing run test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5091 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
26806f865f
commit
04f0a7c1e4
1 changed files with 61 additions and 0 deletions
61
SWIG/Examples/java/callback/main.java
Normal file
61
SWIG/Examples/java/callback/main.java
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
public class main
|
||||||
|
{
|
||||||
|
static {
|
||||||
|
try {
|
||||||
|
System.loadLibrary("example");
|
||||||
|
} catch (UnsatisfiedLinkError e) {
|
||||||
|
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
|
||||||
|
System.exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
System.out.println("Adding and calling a normal C++ callback");
|
||||||
|
System.out.println("----------------------------------------");
|
||||||
|
|
||||||
|
Caller caller = new Caller();
|
||||||
|
Callback callback = new Callback();
|
||||||
|
|
||||||
|
caller.setCallback(callback);
|
||||||
|
caller.call();
|
||||||
|
caller.delCallback();
|
||||||
|
|
||||||
|
// Unlike Python, Java does not automatically support "weak"
|
||||||
|
// references (*), so we're left with managing the memory.
|
||||||
|
//
|
||||||
|
// (*) Yes, there is a WeakReference class, but it doesn't
|
||||||
|
// work exactly the way the Python weak reference works.
|
||||||
|
|
||||||
|
callback.delete();
|
||||||
|
|
||||||
|
callback = new JavaCallback();
|
||||||
|
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("Adding and calling a Java callback");
|
||||||
|
System.out.println("------------------------------------");
|
||||||
|
|
||||||
|
caller.setCallback(callback);
|
||||||
|
caller.call();
|
||||||
|
caller.delCallback();
|
||||||
|
|
||||||
|
callback.delete();
|
||||||
|
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("java exit");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class JavaCallback extends Callback
|
||||||
|
{
|
||||||
|
public JavaCallback()
|
||||||
|
{
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
System.out.println("JavaCallback.run()");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue