diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/csharp/feature_interface.i | 34 | ||||
-rw-r--r-- | Lib/java/feature_interface.i | 44 |
2 files changed, 40 insertions, 38 deletions
diff --git a/Lib/csharp/feature_interface.i b/Lib/csharp/feature_interface.i index 4ed736b05..406022815 100644 --- a/Lib/csharp/feature_interface.i +++ b/Lib/csharp/feature_interface.i @@ -1,37 +1,37 @@ %define DECLARE_INTERFACE_(INTERFACE, CTYPE...) %feature("interface", name="INTERFACE") CTYPE; -%typemap(cstype) CTYPE "$&interfacename" -%typemap(cstype) CTYPE *, CTYPE [], CTYPE & "$interfacename" -%typemap(cstype) CTYPE *const& "$*interfacename" -%typemap(csin) CTYPE, CTYPE & "$csinput.SWIGInterfaceUpcast()" -%typemap(csin) CTYPE *, CTYPE *const&, CTYPE [] "$csinput == null ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : $csinput.SWIGInterfaceUpcast()" +%typemap(cstype) CTYPE "$&csinterfacename" +%typemap(cstype) CTYPE *, CTYPE [], CTYPE & "$csinterfacename" +%typemap(cstype) CTYPE *const& "$*csinterfacename" +%typemap(csin) CTYPE, CTYPE & "$csinput.GetInterfaceCPtr()" +%typemap(csin) CTYPE *, CTYPE *const&, CTYPE [] "$csinput == null ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : $csinput.GetInterfaceCPtr()" %typemap(csout, excode=SWIGEXCODE) CTYPE { $&csclassname ret = new $&csclassname($imcall, true);$excode - return ($&interfacename)ret; + return ($&csinterfacename)ret; } %typemap(csout, excode=SWIGEXCODE) CTYPE & { $csclassname ret = new $csclassname($imcall, $owner);$excode - return ($interfacename)ret; + return ($csinterfacename)ret; } %typemap(csout, excode=SWIGEXCODE) CTYPE *, CTYPE [] { global::System.IntPtr cPtr = $imcall; $csclassname ret = (cPtr == global::System.IntPtr.Zero) ? null : new $csclassname(cPtr, $owner);$excode - return ($interfacename)ret; + return ($csinterfacename)ret; } %typemap(csout, excode=SWIGEXCODE) CTYPE *const& { global::System.IntPtr cPtr = $imcall; $*csclassname ret = (cPtr == global::System.IntPtr.Zero) ? null : new $*csclassname(cPtr, $owner);$excode - return ($*interfacename)ret; + return ($*csinterfacename)ret; } -%typemap(csdirectorin) CTYPE "($&interfacename)new $&csclassname($iminput, false)" -%typemap(csdirectorin) CTYPE & "($interfacename)new $csclassname($iminput, false)" -%typemap(csdirectorin) CTYPE *, CTYPE [] "($iminput == global::System.IntPtr.Zero) ? null : ($interfacename)new $csclassname($iminput, false)" -%typemap(csdirectorin) CTYPE *const& "($iminput == global::System.IntPtr.Zero) ? null : ($*interfacename)new $*csclassname($iminput, false)" -%typemap(csdirectorout) CTYPE, CTYPE *, CTYPE *const&, CTYPE [], CTYPE & "$cscall.SWIGInterfaceUpcast()" -%typemap(csinterfacecode, declaration=" [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]\n global::System.Runtime.InteropServices.HandleRef SWIGInterfaceUpcast();\n", cptrmethod=#INTERFACE##"_SWIGInterfaceUpcast") CTYPE %{ +%typemap(csdirectorin) CTYPE "($&csinterfacename)new $&csclassname($iminput, false)" +%typemap(csdirectorin) CTYPE & "($csinterfacename)new $csclassname($iminput, false)" +%typemap(csdirectorin) CTYPE *, CTYPE [] "($iminput == global::System.IntPtr.Zero) ? null : ($csinterfacename)new $csclassname($iminput, false)" +%typemap(csdirectorin) CTYPE *const& "($iminput == global::System.IntPtr.Zero) ? null : ($*csinterfacename)new $*csclassname($iminput, false)" +%typemap(csdirectorout) CTYPE, CTYPE *, CTYPE *const&, CTYPE [], CTYPE & "$cscall.GetInterfaceCPtr()" +%typemap(csinterfacecode, declaration=" [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]\n global::System.Runtime.InteropServices.HandleRef GetInterfaceCPtr();\n", cptrmethod=#INTERFACE##"_GetInterfaceCPtr") CTYPE %{ [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - global::System.Runtime.InteropServices.HandleRef INTERFACE.SWIGInterfaceUpcast() { - return new global::System.Runtime.InteropServices.HandleRef(this, $imclassname.$csclazzname##INTERFACE##_SWIGInterfaceUpcast(swigCPtr.Handle)); + global::System.Runtime.InteropServices.HandleRef INTERFACE.GetInterfaceCPtr() { + return new global::System.Runtime.InteropServices.HandleRef(this, $imclassname.$csclazzname##INTERFACE##_GetInterfaceCPtr(swigCPtr.Handle)); } %} %enddef diff --git a/Lib/java/feature_interface.i b/Lib/java/feature_interface.i index 4cdba9b5e..c5d4abd03 100644 --- a/Lib/java/feature_interface.i +++ b/Lib/java/feature_interface.i @@ -1,44 +1,46 @@ %define DECLARE_INTERFACE_(INTERFACE, CTYPE...) %feature("interface", name="INTERFACE") CTYPE; +//%feature("interface", name="%(rstrip:[Impl])s") CTYPE; +//%feature("interface", name="%(regex:/(.*)Impl$/\\1/)s") CTYPE; %typemap(jtype) CTYPE, CTYPE *, CTYPE *const&, CTYPE [], CTYPE & "long" -%typemap(jstype) CTYPE "$&interfacename" -%typemap(jstype) CTYPE *, CTYPE [], CTYPE & "$interfacename" -%typemap(jstype) CTYPE *const& "$*interfacename" -%typemap(javain) CTYPE, CTYPE & "$javainput." ## #INTERFACE ## "_SWIGInterfaceUpcast()" -%typemap(javain) CTYPE *, CTYPE *const&, CTYPE [] "($javainput == null) ? 0 : $javainput." ## #INTERFACE ## "_SWIGInterfaceUpcast()" +%typemap(jstype) CTYPE "$&javainterfacename" +%typemap(jstype) CTYPE *, CTYPE [], CTYPE & "$javainterfacename" +%typemap(jstype) CTYPE *const& "$*javainterfacename" +%typemap(javain) CTYPE, CTYPE & "$javainput." ## #INTERFACE ## "_GetInterfaceCPtr()" +%typemap(javain) CTYPE *, CTYPE *const&, CTYPE [] "($javainput == null) ? 0 : $javainput." ## #INTERFACE ## "_GetInterfaceCPtr()" %typemap(javaout) CTYPE { - return ($&interfacename)new $&javaclassname($jnicall, true); + return ($&javainterfacename)new $&javaclassname($jnicall, true); } %typemap(javaout) CTYPE & { - return ($interfacename)new $javaclassname($jnicall, $owner); + return ($javainterfacename)new $javaclassname($jnicall, $owner); } %typemap(javaout) CTYPE *, CTYPE [] { long cPtr = $jnicall; - return (cPtr == 0) ? null : ($interfacename)new $javaclassname(cPtr, $owner); + return (cPtr == 0) ? null : ($javainterfacename)new $javaclassname(cPtr, $owner); } %typemap(javaout) CTYPE *const& { long cPtr = $jnicall; - return (cPtr == 0) ? null : ($interfacename)new $javaclassname(cPtr, $owner); + return (cPtr == 0) ? null : ($javainterfacename)new $javaclassname(cPtr, $owner); } -%typemap(javadirectorin) CTYPE "($&interfacename)new $&javaclassname($jniinput, false)" -%typemap(javadirectorin) CTYPE & "($interfacename)new $javaclassname($jniinput, false)" -%typemap(javadirectorin) CTYPE *, CTYPE [] "($jniinput == 0) ? null : ($interfacename)new $javaclassname($jniinput, false)" -%typemap(javadirectorin) CTYPE *const& "($jniinput == 0) ? null : ($*interfacename)new $*javaclassname($jniinput, false)" -%typemap(javadirectorout) CTYPE, CTYPE *, CTYPE *const&, CTYPE [], CTYPE & "$javacall." ## #INTERFACE ## "_SWIGInterfaceUpcast()" -%typemap(directorin,descriptor="L$packagepath/$&interfacename;") CTYPE +%typemap(javadirectorin) CTYPE "($&javainterfacename)new $&javaclassname($jniinput, false)" +%typemap(javadirectorin) CTYPE & "($javainterfacename)new $javaclassname($jniinput, false)" +%typemap(javadirectorin) CTYPE *, CTYPE [] "($jniinput == 0) ? null : ($javainterfacename)new $javaclassname($jniinput, false)" +%typemap(javadirectorin) CTYPE *const& "($jniinput == 0) ? null : ($*javainterfacename)new $*javaclassname($jniinput, false)" +%typemap(javadirectorout) CTYPE, CTYPE *, CTYPE *const&, CTYPE [], CTYPE & "$javacall." ## #INTERFACE ## "_GetInterfaceCPtr()" +%typemap(directorin,descriptor="L$packagepath/$&javainterfacename;") CTYPE %{ $input = 0; *(($&1_ltype*)&$input) = &$1; %} -%typemap(directorin,descriptor="L$packagepath/$interfacename;") CTYPE *, CTYPE [] +%typemap(directorin,descriptor="L$packagepath/$javainterfacename;") CTYPE *, CTYPE [] %{ *(($&1_ltype)&$input) = ($1_ltype) $1; %} -%typemap(directorin,descriptor="L$packagepath/$interfacename;") CTYPE & +%typemap(directorin,descriptor="L$packagepath/$javainterfacename;") CTYPE & %{ *($&1_ltype)&$input = ($1_ltype) &$1; %} -%typemap(directorin,descriptor="L$packagepath/$*interfacename;") CTYPE *const& +%typemap(directorin,descriptor="L$packagepath/$*javainterfacename;") CTYPE *const& %{ *($&1_ltype)&$input = ($1_ltype) &$1; %} -%typemap(javainterfacecode, declaration=" long " ## #INTERFACE ## "_SWIGInterfaceUpcast();\n", cptrmethod=#INTERFACE ## "_SWIGInterfaceUpcast") CTYPE %{ - public long INTERFACE##_SWIGInterfaceUpcast() { - return $imclassname.$javaclazzname##INTERFACE##_SWIGInterfaceUpcast(swigCPtr); +%typemap(javainterfacecode, declaration=" long " ## #INTERFACE ## "_GetInterfaceCPtr();\n", cptrmethod=#INTERFACE ## "_GetInterfaceCPtr") CTYPE %{ + public long INTERFACE##_GetInterfaceCPtr() { + return $imclassname.$javaclazzname##INTERFACE##_GetInterfaceCPtr(swigCPtr); } %} %enddef |