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.9 by root, Wed Oct 31 19:07:43 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_prepare * T_WATCHER
11struct ev_check * T_WATCHER
12struct ev_child * T_WATCHER
13
14char * T_PVbyte
6const char * T_PV 15const char * T_PVbyte
7 16
8INPUT 17INPUT
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 18
22T_SIGNAL 19T_SIGNAL
23 if (($var = sv_signum ($arg)) <= 0) 20 if (($var = sv_signum ($arg)) <= 0)
24 croak (\"'%s' is not a valid signal number or name\", SvPV_nolen ($arg)); 21 croak (\"'%s' is not a valid signal number or name\", SvPV_nolen ($arg));
25 22
23T_PVbyte
24 $var = ($type)SvPVbyte_nolen ($arg)
25
26T_WATCHER
27 if (!(SvROK ($arg) && SvOBJECT (SvRV ($arg))
28 && (SvSTASH (SvRV ($arg)) == stash_" . ($type =~ /ev_(\S+)/, "$1") . "
29 || sv_derived_from ($arg, \"EV::" . ($type =~ /ev_(\S+)/, ucfirst "$1") . "\"))))
30 croak (\"object is not of type EV::" . ($type =~ /ev_(\S+)/, ucfirst "$1") . "\");
31 $var = ($type)SvPVX (SvRV ($arg));
32
26OUTPUT 33OUTPUT
27 34
28T_BASE 35T_PVbyte
29 sv_setref_iv ($arg, "EV::Base", (IV)$var); 36 sv_setpv ((SV *)$arg, $var);
30 37
31T_EVENT 38T_WATCHER
32 $arg = e_self ($var); 39 $arg = e_bless ((struct ev_watcher *)$var, stash_${ ($type =~ /ev_(\S+)/, \"$1") });
33 40
41

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines