summaryrefslogtreecommitdiffstats
path: root/dcopperl/typemap
diff options
context:
space:
mode:
Diffstat (limited to 'dcopperl/typemap')
-rw-r--r--dcopperl/typemap23
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));