Files
2025-11-24 14:19:51 +05:30

31 lines
1.1 KiB
OpenEdge ABL

//
// This file was taken from RakNet 4.082 without any modifications.
// Please see licenses/RakNet license.txt for the underlying license and related copyright.
//
//Macros that are not in a specific file are placed here, note that not all macros are here some are spread throughout the other files
//This you only need it once for all simple situations
%define SIMPLE_OBJECT_OUTPUT_TYPEMAP(CTYPE, CSTYPE)
%typemap(ctype) CTYPE *OUTPUT, CTYPE &OUTPUT "CTYPE *"
%typemap(cstype) CTYPE *OUTPUT, CTYPE &OUTPUT "out CSTYPE"
%typemap(csin,
pre=" CSTYPE temp$csinput = new CSTYPE();",
post=" $csinput = temp$csinput;",
cshin="ref $csinput"
) CTYPE *OUTPUT, CTYPE &OUTPUT "CSTYPE.getCPtr(temp$csinput)"
%typemap(csdirectorin) CTYPE *OUTPUT, CTYPE &OUTPUT "$iminput"
%typemap(csdirectorout) CTYPE *OUTPUT, CTYPE &OUTPUT "$cscall"
%typemap(in) CTYPE *OUTPUT, CTYPE &OUTPUT
%{ $1 = ($1_ltype)$input; %}
%typemap(directorout,warning="Need to provide CTYPE *OUTPUT directorout typemap") TYPE *OUTPUT, TYPE &OUTPUT {
}
%typemap(directorin) CTYPE &OUTPUT
%{ $input = &$1; %}
%enddef