Add $interfacename family of special variable expansions
This is a simple expansion expanding to the name of the interface and is not qualified like $javainterfacename and $csinterfacename. Expansion within typemaps is much like $javainterfacename otherwise. Note that expansion within the pure java code typemap, 'javainterfacecode' and similarly pure C# code typemap, 'csinterfacecode' works like $javaclassname/$csclassname and $&interfacename should not be used, just $interfacename.
This commit is contained in:
parent
8df8c8a97a
commit
14d2341512
4 changed files with 79 additions and 25 deletions
|
|
@ -6,8 +6,10 @@
|
|||
%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(javain) CTYPE "$javainput.$&interfacename_GetInterfaceCPtr()"
|
||||
%typemap(javain) CTYPE & "$javainput.$interfacename_GetInterfaceCPtr()"
|
||||
%typemap(javain) CTYPE *, CTYPE [] "($javainput == null) ? 0 : $javainput.$interfacename_GetInterfaceCPtr()"
|
||||
%typemap(javain) CTYPE *const& "($javainput == null) ? 0 : $javainput.$*interfacename_GetInterfaceCPtr()"
|
||||
%typemap(javaout) CTYPE {
|
||||
return ($&javainterfacename)new $&javaclassname($jnicall, true);
|
||||
}
|
||||
|
|
@ -27,7 +29,9 @@
|
|||
%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(javadirectorout) CTYPE "$javacall.$&interfacename_GetInterfaceCPtr()"
|
||||
%typemap(javadirectorout) CTYPE *, CTYPE [], CTYPE & "$javacall.$interfacename_GetInterfaceCPtr()"
|
||||
%typemap(javadirectorout) CTYPE *const& "$javacall.$*interfacename_GetInterfaceCPtr()"
|
||||
%typemap(directorin,descriptor="L$packagepath/$&javainterfacename;") CTYPE
|
||||
%{ $input = 0;
|
||||
*(($&1_ltype*)&$input) = &$1; %}
|
||||
|
|
@ -38,9 +42,9 @@
|
|||
%typemap(directorin,descriptor="L$packagepath/$*javainterfacename;") CTYPE *const&
|
||||
%{ *($&1_ltype)&$input = ($1_ltype) &$1; %}
|
||||
|
||||
%typemap(javainterfacecode, declaration=" long " ## #INTERFACE ## "_GetInterfaceCPtr();\n", cptrmethod=#INTERFACE ## "_GetInterfaceCPtr") CTYPE %{
|
||||
public long INTERFACE##_GetInterfaceCPtr() {
|
||||
return $imclassname.$javaclazzname##INTERFACE##_GetInterfaceCPtr(swigCPtr);
|
||||
%typemap(javainterfacecode, declaration=" long $interfacename_GetInterfaceCPtr();\n", cptrmethod="$interfacename_GetInterfaceCPtr") CTYPE %{
|
||||
public long $interfacename_GetInterfaceCPtr() {
|
||||
return $imclassname.$javaclazzname$interfacename_GetInterfaceCPtr(swigCPtr);
|
||||
}
|
||||
%}
|
||||
%enddef
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue