diff options
Diffstat (limited to 'dcopperl/typemap')
-rw-r--r-- | dcopperl/typemap | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/dcopperl/typemap b/dcopperl/typemap new file mode 100644 index 00000000..cb7f2420 --- /dev/null +++ b/dcopperl/typemap @@ -0,0 +1,23 @@ +TYPEMAP +DCOPClient * O_OBJECT +QCString T_QCSTRING +QCStringList T_QCSTRINGLIST + +INPUT +O_OBJECT + if(sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG)) + $var = ($type)SvIV((SV*)SvRV($arg)); + else { + warn(\"${Package}::$func_name() -- $var is not a blessed SV reference\"); + XSRETURN_UNDEF; + } +T_QCSTRING + $var = QCStringFromSV($arg); + +OUTPUT +O_OBJECT + sv_setref_pv( $arg, CLASS, (void*)$var ); +T_QCSTRING + sv_setsv($arg, QCStringToSV($var)); +T_QCSTRINGLIST + sv_setsv($arg, QCStringListToSV($var)); |