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.2 by root, Thu Dec 14 17:22:04 2006 UTC vs.
Revision 1.6 by root, Sat Dec 26 09:23:53 2009 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines