From 0463f339d3ff614afef8f2bcd9d7d499a0dc5ebd Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Tue, 7 Dec 2004 23:08:04 +0000 Subject: [PATCH] new directorconnect and directorconnect_derived typemaps (Java) git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6841 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Examples/test-suite/director_basic.i | 9 +++++++++ Examples/test-suite/java/director_basic_runme.java | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/Examples/test-suite/director_basic.i b/Examples/test-suite/director_basic.i index dad178b97..a76f1ce4b 100644 --- a/Examples/test-suite/director_basic.i +++ b/Examples/test-suite/director_basic.i @@ -28,6 +28,15 @@ public: %} %feature("director"); +#ifdef SWIGJAVA +%typemap(directordisconnect_derived, methodname="disconnect_director") hi::A1 { + // Uncomment to see if the call actually happens (it does... :-) + // System.out.println("A1 Java object disconnecting from director."); + swigCMemOwn = false; + $jnicall; + } +#endif + // basic renaming %rename(rg) A::gg; %feature("nodirector") hi::A1::gg; diff --git a/Examples/test-suite/java/director_basic_runme.java b/Examples/test-suite/java/director_basic_runme.java index 6ff5005d9..e07d4e169 100644 --- a/Examples/test-suite/java/director_basic_runme.java +++ b/Examples/test-suite/java/director_basic_runme.java @@ -33,6 +33,11 @@ public class director_basic_runme { if (!b.pong().equals("Foo::pong();Foo::ping()")) { throw new RuntimeException ( "b.pong()" ); } + + /* Test A1's directordisconnect method rename */ + A1 a1 = new A1(1, false); + + a1.delete(); } }