ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/typemap
(Generate patch)

Comparing EV/typemap (file contents):
Revision 1.5 by root, Mon Oct 29 07:56:03 2007 UTC vs.
Revision 1.7 by root, Wed Oct 31 10:50:05 2007 UTC

1Base T_BASE
2Event T_EVENT
3Signal T_SIGNAL 1Signal T_SIGNAL
4 2
5/* for 5.6 compatibility */ 3struct ev_watcher * T_WATCHER
4struct ev_io * T_WATCHER
5struct ev_time * T_WATCHER
6struct ev_timer * T_WATCHER
7struct ev_periodic * T_WATCHER
8struct ev_signal * T_WATCHER
9struct ev_idle * T_WATCHER
10struct ev_check * T_WATCHER
11
12char * T_PVbyte
6const char * T_PV 13const char * T_PVbyte
7 14
8INPUT 15INPUT
9
10T_BASE
11 if (!(SvROK ($arg) && SvOBJECT (SvRV ($arg))
12 && SvSTASH (SvRV ($arg)) == stash_base))
13 croak (\"object is not of type EV::Base\");
14 $var = (Base)SvIV (SvRV ($arg));
15
16T_EVENT
17 if (!(SvROK ($arg) && SvOBJECT (SvRV ($arg))
18 && SvSTASH (SvRV ($arg)) == stash_event))
19 croak (\"object is not of type EV::Event\");
20 $var = (Event)SvPVX (SvRV ($arg));
21 16
22T_SIGNAL 17T_SIGNAL
23 if (($var = sv_signum ($arg)) <= 0) 18 if (($var = sv_signum ($arg)) <= 0)
24 croak (\"'%s' is not a valid signal number or name\", SvPV_nolen ($arg)); 19 croak (\"'%s' is not a valid signal number or name\", SvPV_nolen ($arg));
25 20
21T_PVbyte
22 $var = ($type)SvPVbyte_nolen ($arg)
23
24T_WATCHER
25 if (!(SvROK ($arg) && SvOBJECT (SvRV ($arg))
26 && (SvSTASH (SvRV ($arg)) == stash_" . ($type =~ /ev_(\S+)/, "$1") . "
27 || sv_derived_from ($arg, \"EV::" . ($type =~ /ev_(\S+)/, ucfirst "$1") . "\"))))
28 croak (\"object is not of type EV::" . ($type =~ /ev_(\S+)/, ucfirst "$1") . "\");
29 $var = ($type)SvPVX (SvRV ($arg));
30
26OUTPUT 31OUTPUT
27 32
28T_BASE 33T_PVbyte
29 sv_setref_iv ($arg, "EV::Base", (IV)$var); 34 sv_setpv ((SV *)$arg, $var);
30 35
31T_EVENT 36T_WATCHER
32 $arg = e_self ($var); 37 $arg = e_bless ((struct ev_watcher *)$var, stash_${ ($type =~ /ev_(\S+)/, \"$1") });
33 38
39

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines