From 92d17c596ca8d82a0ad7c56a2a8b8b02bd3cd45d Mon Sep 17 00:00:00 2001 From: Julien Malik <julien.malik@c-s.fr> Date: Sat, 5 Nov 2011 18:02:11 +0100 Subject: [PATCH] ENH: [SWIG] wrap destructors for Java --- Code/Wrappers/SWIG/Java.i | 4 ++-- Code/Wrappers/SWIG/itkBase.i | 20 +++++++++++++++----- Code/Wrappers/SWIG/otbApplication.i | 6 +++--- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Code/Wrappers/SWIG/Java.i b/Code/Wrappers/SWIG/Java.i index d99259b5b7..e918752355 100644 --- a/Code/Wrappers/SWIG/Java.i +++ b/Code/Wrappers/SWIG/Java.i @@ -61,7 +61,7 @@ void UnRegister(); protected: }; - +/* %extend itkClass { public: itkClass() { @@ -75,7 +75,7 @@ self->UnRegister(); } } -/* + %typemap(out) itkClass##_Pointer { itkClass* ptrRaw = $1.GetPointer(); if (ptrRaw) { diff --git a/Code/Wrappers/SWIG/itkBase.i b/Code/Wrappers/SWIG/itkBase.i index 3cc1b1c9c4..ae99d91479 100644 --- a/Code/Wrappers/SWIG/itkBase.i +++ b/Code/Wrappers/SWIG/itkBase.i @@ -68,7 +68,9 @@ class itkIndent { virtual void SetReferenceCount(int arg0); protected: itkLightObject(); - //~itkLightObject(); +#if SWIGJAVA + ~itkLightObject(); +#endif }; DECLARE_REF_COUNT_CLASS( itkLightObject ) @@ -100,7 +102,9 @@ class itkIndent { void SetMetaDataDictionary(itkMetaDataDictionary const & rhs); protected: itkObject(); - //~itkObject(); +#if SWIGJAVA + ~itkObject(); +#endif }; DECLARE_REF_COUNT_CLASS( itkObject ) @@ -110,7 +114,9 @@ class itkIndent { const float& GetProgress(); protected: itkProcessObject(); - //~itkProcessObject(); +#if SWIGJAVA + ~itkProcessObject(); +#endif }; DECLARE_REF_COUNT_CLASS( itkProcessObject ) @@ -136,7 +142,9 @@ class itkIndent { char const * GetLibraryPath(); protected: itkObjectFactoryBase(); - //~itkObjectFactoryBase(); +#if SWIGJAVA + ~itkObjectFactoryBase(); +#endif }; DECLARE_REF_COUNT_CLASS( itkObjectFactoryBase ) @@ -156,7 +164,9 @@ class itkIndent { virtual void Execute(itkObject * caller, itkEventObject const & event) = 0; protected: itkCommand(); - //~itkCommand(); +#if SWIGJAVA + ~itkCommand(); +#endif }; DECLARE_REF_COUNT_CLASS( itkCommand ) diff --git a/Code/Wrappers/SWIG/otbApplication.i b/Code/Wrappers/SWIG/otbApplication.i index f45bd0ded8..5a68db0ba7 100644 --- a/Code/Wrappers/SWIG/otbApplication.i +++ b/Code/Wrappers/SWIG/otbApplication.i @@ -176,10 +176,10 @@ public: protected: Application(); - //virtual ~Application(); - +#if SWIGJAVA + virtual ~Application(); +#endif private: - Application(const Application &); void operator =(const Application&); }; -- GitLab