ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/iom_perl.xs
(Generate patch)

Comparing rxvt-unicode/src/iom_perl.xs (file contents):
Revision 1.1 by root, Thu Dec 14 15:19:31 2006 UTC vs.
Revision 1.4 by root, Sun Nov 11 04:08:00 2007 UTC

1#############################################################################
2# IOM_CLASS constants
3#############################################################################
4
5BOOT:
6{
7 {
8 HV *stash = gv_stashpv ("IOM_CLASS", 1);
9 SV *baseclass = newSVpv ("IOM_CLASS::watcher", 0);
10
11 static const struct {
12 const char *name;
13 IV iv;
14 } *civ, iom_const_iv[] = {
15# define iom_const_iv(name) { # name, (IV)name }
16 iom_const_iv (EV_NONE),
17 iom_const_iv (EV_READ),
18 iom_const_iv (EV_WRITE),
19# undef iom_const
20 };
21
22 for (civ = iom_const_iv + sizeof (iom_const_iv) / sizeof (iom_const_iv [0]); civ-- > iom_const_iv; )
23 newCONSTSUB (stash, (char *)civ->name, newSViv (civ->iv));
24
25 /* slightly dirty to put the same scalar into all those arrays, but */
26 /* we do not expect users to modify them anyways */
27 av_push (get_av ("IOM_CLASS" "::timer::ISA", 1), SvREFCNT_inc (baseclass));
28 av_push (get_av ("IOM_CLASS" "::iow::ISA", 1), SvREFCNT_inc (baseclass));
29 av_push (get_av ("IOM_CLASS" "::pw::ISA", 1), SvREFCNT_inc (baseclass));
30 av_push (get_av ("IOM_CLASS" "::iw::ISA", 1), SvREFCNT_inc (baseclass));
31
32 SvREFCNT_dec (baseclass);
33 }
34}
35
1############################################################################# 36#############################################################################
2# IOM_CLASS::watcher 37# IOM_CLASS::watcher
3############################################################################# 38#############################################################################
4 39
5MODULE = IOM_MODULE PACKAGE = IOM_CLASS::watcher 40MODULE = IOM_MODULE PACKAGE = IOM_CLASS::watcher
6 41
7CHAINED 42IOM_CHAINED
8perl_watcher::cb (SV *cb) 43perl_watcher::cb (SV *cb)
9 CODE: 44 CODE:
10 THIS->cb (cb); 45 THIS->cb (cb);
11 OUTPUT: 46 OUTPUT:
12 RETVAL 47 RETVAL
19 54
20SV * 55SV *
21timer::new () 56timer::new ()
22 CODE: 57 CODE:
23 timer *w = new timer; 58 timer *w = new timer;
24 w->start (NOW); 59 w->start (0);
25 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::timer"); 60 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::timer");
26 w->self = (HV *)SvRV (RETVAL); 61 w->self = (HV *)SvRV (RETVAL);
27 OUTPUT: 62 OUTPUT:
28 RETVAL 63 RETVAL
29 64
32 CODE: 67 CODE:
33 RETVAL = THIS->at; 68 RETVAL = THIS->at;
34 OUTPUT: 69 OUTPUT:
35 RETVAL 70 RETVAL
36 71
37CHAINED 72IOM_CHAINED
38timer::interval (NV interval) 73timer::interval (NV repeat)
39 CODE: 74 CODE:
40 THIS->interval = interval; 75 THIS->repeat = repeat;
41 OUTPUT: 76 OUTPUT:
42 RETVAL 77 RETVAL
43 78
44CHAINED 79IOM_CHAINED
45timer::set (NV tstamp) 80timer::set (NV tstamp)
46 CODE: 81 CODE:
47 THIS->set (tstamp); 82 THIS->set (tstamp);
48 OUTPUT: 83 OUTPUT:
49 RETVAL 84 RETVAL
50 85
51CHAINED 86IOM_CHAINED
52timer::start (NV tstamp = THIS->at) 87timer::start (NV tstamp = ev::now ())
53 CODE: 88 CODE:
54 THIS->start (tstamp); 89 THIS->start (tstamp - ev::now ());
55 OUTPUT: 90 OUTPUT:
56 RETVAL 91 RETVAL
57 92
58CHAINED 93IOM_CHAINED
59timer::after (NV delay) 94timer::after (NV delay)
60 CODE: 95 CODE:
61 THIS->start (NOW + delay); 96 THIS->start (delay);
62 OUTPUT: 97 OUTPUT:
63 RETVAL 98 RETVAL
64 99
65CHAINED 100IOM_CHAINED
66timer::stop () 101timer::stop ()
67 CODE: 102 CODE:
68 THIS->stop (); 103 THIS->stop ();
69 OUTPUT: 104 OUTPUT:
70 RETVAL 105 RETVAL
85 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iow"); 120 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iow");
86 w->self = (HV *)SvRV (RETVAL); 121 w->self = (HV *)SvRV (RETVAL);
87 OUTPUT: 122 OUTPUT:
88 RETVAL 123 RETVAL
89 124
90CHAINED 125IOM_CHAINED
91iow::fd (int fd) 126iow::fd (int fd)
92 CODE: 127 CODE:
93 THIS->fd = fd; 128 THIS->fd = fd;
94 OUTPUT: 129 OUTPUT:
95 RETVAL 130 RETVAL
96 131
97CHAINED 132IOM_CHAINED
98iow::events (short events) 133iow::events (short events)
99 CODE: 134 CODE:
100 THIS->events = events; 135 THIS->events = events;
101 OUTPUT: 136 OUTPUT:
102 RETVAL 137 RETVAL
103 138
104CHAINED 139IOM_CHAINED
105iow::start () 140iow::start ()
106 CODE: 141 CODE:
107 THIS->start (); 142 THIS->start ();
108 OUTPUT: 143 OUTPUT:
109 RETVAL 144 RETVAL
110 145
111CHAINED 146IOM_CHAINED
112iow::stop () 147iow::stop ()
113 CODE: 148 CODE:
114 THIS->stop (); 149 THIS->stop ();
115 OUTPUT: 150 OUTPUT:
116 RETVAL 151 RETVAL
131 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iw"); 166 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iw");
132 w->self = (HV *)SvRV (RETVAL); 167 w->self = (HV *)SvRV (RETVAL);
133 OUTPUT: 168 OUTPUT:
134 RETVAL 169 RETVAL
135 170
136CHAINED 171IOM_CHAINED
137iw::start () 172iw::start ()
138 CODE: 173 CODE:
139 THIS->start (); 174 THIS->start ();
140 OUTPUT: 175 OUTPUT:
141 RETVAL 176 RETVAL
142 177
143CHAINED 178IOM_CHAINED
144iw::stop () 179iw::stop ()
145 CODE: 180 CODE:
146 THIS->stop (); 181 THIS->stop ();
147 OUTPUT: 182 OUTPUT:
148 RETVAL 183 RETVAL
163 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::pw"); 198 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::pw");
164 w->self = (HV *)SvRV (RETVAL); 199 w->self = (HV *)SvRV (RETVAL);
165 OUTPUT: 200 OUTPUT:
166 RETVAL 201 RETVAL
167 202
168CHAINED 203IOM_CHAINED
169pw::start (int pid) 204pw::start (int pid)
170 CODE: 205 CODE:
171 THIS->start (pid); 206 THIS->start (pid);
172 OUTPUT: 207 OUTPUT:
173 RETVAL 208 RETVAL
174 209
175CHAINED 210IOM_CHAINED
176pw::stop () 211pw::stop ()
177 CODE: 212 CODE:
178 THIS->stop (); 213 THIS->stop ();
179 OUTPUT: 214 OUTPUT:
180 RETVAL 215 RETVAL

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines