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.6 by root, Sat Dec 26 09:23:53 2009 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
65# deprecated
30NV 66NV
31timer::at () 67timer::at ()
32 CODE: 68 CODE:
33 RETVAL = THIS->at; 69 RETVAL = THIS->remaining () + ev_now ();
34 OUTPUT: 70 OUTPUT:
35 RETVAL 71 RETVAL
36 72
37CHAINED 73IOM_CHAINED
38timer::interval (NV interval) 74timer::interval (NV repeat)
39 CODE: 75 CODE:
40 THIS->interval = interval; 76 THIS->repeat = repeat;
41 OUTPUT: 77 OUTPUT:
42 RETVAL 78 RETVAL
43 79
44CHAINED 80IOM_CHAINED
45timer::set (NV tstamp) 81timer::set (NV tstamp, NV repeat = THIS->repeat)
46 CODE: 82 CODE:
47 THIS->set (tstamp); 83 THIS->set (tstamp, repeat);
48 OUTPUT: 84 OUTPUT:
49 RETVAL 85 RETVAL
50 86
51CHAINED 87IOM_CHAINED
52timer::start (NV tstamp = THIS->at) 88timer::start (NV tstamp = ev::now (), NV repeat = THIS->repeat)
53 CODE: 89 CODE:
54 THIS->start (tstamp); 90 THIS->start (tstamp - ev::now (), repeat);
55 OUTPUT: 91 OUTPUT:
56 RETVAL 92 RETVAL
57 93
58CHAINED 94IOM_CHAINED
59timer::after (NV delay) 95timer::after (NV delay, NV repeat = THIS->repeat)
60 CODE: 96 CODE:
61 THIS->start (NOW + delay); 97 THIS->start (delay, repeat);
62 OUTPUT: 98 OUTPUT:
63 RETVAL 99 RETVAL
64 100
65CHAINED 101IOM_CHAINED
66timer::stop () 102timer::stop ()
67 CODE: 103 CODE:
68 THIS->stop (); 104 THIS->stop ();
69 OUTPUT: 105 OUTPUT:
70 RETVAL 106 RETVAL
85 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iow"); 121 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iow");
86 w->self = (HV *)SvRV (RETVAL); 122 w->self = (HV *)SvRV (RETVAL);
87 OUTPUT: 123 OUTPUT:
88 RETVAL 124 RETVAL
89 125
90CHAINED 126IOM_CHAINED
91iow::fd (int fd) 127iow::fd (int fd)
92 CODE: 128 CODE:
93 THIS->fd = fd; 129 THIS->fd = fd;
94 OUTPUT: 130 OUTPUT:
95 RETVAL 131 RETVAL
96 132
97CHAINED 133IOM_CHAINED
98iow::events (short events) 134iow::events (short events)
99 CODE: 135 CODE:
100 THIS->events = events; 136 THIS->events = events;
101 OUTPUT: 137 OUTPUT:
102 RETVAL 138 RETVAL
103 139
104CHAINED 140IOM_CHAINED
105iow::start () 141iow::start ()
106 CODE: 142 CODE:
107 THIS->start (); 143 THIS->start ();
108 OUTPUT: 144 OUTPUT:
109 RETVAL 145 RETVAL
110 146
111CHAINED 147IOM_CHAINED
112iow::stop () 148iow::stop ()
113 CODE: 149 CODE:
114 THIS->stop (); 150 THIS->stop ();
115 OUTPUT: 151 OUTPUT:
116 RETVAL 152 RETVAL
131 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iw"); 167 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iw");
132 w->self = (HV *)SvRV (RETVAL); 168 w->self = (HV *)SvRV (RETVAL);
133 OUTPUT: 169 OUTPUT:
134 RETVAL 170 RETVAL
135 171
136CHAINED 172IOM_CHAINED
137iw::start () 173iw::start ()
138 CODE: 174 CODE:
139 THIS->start (); 175 THIS->start ();
140 OUTPUT: 176 OUTPUT:
141 RETVAL 177 RETVAL
142 178
143CHAINED 179IOM_CHAINED
144iw::stop () 180iw::stop ()
145 CODE: 181 CODE:
146 THIS->stop (); 182 THIS->stop ();
147 OUTPUT: 183 OUTPUT:
148 RETVAL 184 RETVAL
163 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::pw"); 199 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::pw");
164 w->self = (HV *)SvRV (RETVAL); 200 w->self = (HV *)SvRV (RETVAL);
165 OUTPUT: 201 OUTPUT:
166 RETVAL 202 RETVAL
167 203
168CHAINED 204IOM_CHAINED
169pw::start (int pid) 205pw::start (int pid)
170 CODE: 206 CODE:
171 THIS->start (pid); 207 THIS->start (pid);
172 OUTPUT: 208 OUTPUT:
173 RETVAL 209 RETVAL
174 210
175CHAINED 211IOM_CHAINED
176pw::stop () 212pw::stop ()
177 CODE: 213 CODE:
178 THIS->stop (); 214 THIS->stop ();
179 OUTPUT: 215 OUTPUT:
180 RETVAL 216 RETVAL
181 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
182void 232void
183pw::DESTROY () 233pw::DESTROY ()
184 234
185 235

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines