~ubuntu-branches/ubuntu/karmic/rxvt-unicode/karmic

« back to all changes in this revision

Viewing changes to src/iom_perl.xs

  • Committer: Bazaar Package Importer
  • Author(s): Decklin Foster
  • Date: 2007-08-03 12:44:44 UTC
  • mfrom: (1.1.10 upstream)
  • Revision ID: james.westby@ubuntu.com-20070803124444-uwmus5csvd7rm4fp
Tags: 8.3-1
* New upstream release (Closes: #433004)
  - Rolled with autoconf 2.61 (Closes: #422540)
* Match https URLs in selection-popup (Closes: #428659)
* Fix typos in urxvtperl(3) (Closes: #411074, #415848)
* Use sensible-browser instead of x-www-browser directly (Closes: #415846)
* Added urxvtcd as alternative (Closes: #381967)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#############################################################################
 
2
# IOM_CLASS constants
 
3
#############################################################################
 
4
 
 
5
BOOT:
 
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 (EVENT_NONE),
 
17
      iom_const_iv (EVENT_READ),
 
18
      iom_const_iv (EVENT_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
 
 
36
#############################################################################
 
37
# IOM_CLASS::watcher
 
38
#############################################################################
 
39
 
 
40
MODULE = IOM_MODULE             PACKAGE = IOM_CLASS::watcher
 
41
 
 
42
IOM_CHAINED
 
43
perl_watcher::cb (SV *cb)
 
44
        CODE:
 
45
        THIS->cb (cb);
 
46
        OUTPUT:
 
47
        RETVAL
 
48
 
 
49
#############################################################################
 
50
# IOM_CLASS::timer
 
51
#############################################################################
 
52
 
 
53
MODULE = IOM_MODULE             PACKAGE = IOM_CLASS::timer
 
54
 
 
55
SV *
 
56
timer::new ()
 
57
        CODE:
 
58
        timer *w =  new timer;
 
59
        w->start (NOW);
 
60
        RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::timer");
 
61
        w->self = (HV *)SvRV (RETVAL);
 
62
        OUTPUT:
 
63
        RETVAL
 
64
 
 
65
NV
 
66
timer::at ()
 
67
        CODE:
 
68
        RETVAL = THIS->at;
 
69
        OUTPUT:
 
70
        RETVAL
 
71
 
 
72
IOM_CHAINED
 
73
timer::interval (NV interval)
 
74
        CODE:
 
75
        THIS->interval = interval;
 
76
        OUTPUT:
 
77
        RETVAL
 
78
 
 
79
IOM_CHAINED
 
80
timer::set (NV tstamp)
 
81
        CODE:
 
82
        THIS->set (tstamp);
 
83
        OUTPUT:
 
84
        RETVAL
 
85
 
 
86
IOM_CHAINED
 
87
timer::start (NV tstamp = THIS->at)
 
88
        CODE:
 
89
        THIS->start (tstamp);
 
90
        OUTPUT:
 
91
        RETVAL
 
92
 
 
93
IOM_CHAINED
 
94
timer::after (NV delay)
 
95
        CODE:
 
96
        THIS->start (NOW + delay);
 
97
        OUTPUT:
 
98
        RETVAL
 
99
 
 
100
IOM_CHAINED
 
101
timer::stop ()
 
102
        CODE:
 
103
        THIS->stop ();
 
104
        OUTPUT:
 
105
        RETVAL
 
106
 
 
107
void
 
108
timer::DESTROY ()
 
109
 
 
110
#############################################################################
 
111
# IOM_CLASS::iow
 
112
#############################################################################
 
113
 
 
114
MODULE = IOM_MODULE             PACKAGE = IOM_CLASS::iow
 
115
 
 
116
SV *
 
117
iow::new ()
 
118
        CODE:
 
119
        iow *w =  new iow;
 
120
        RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iow");
 
121
        w->self = (HV *)SvRV (RETVAL);
 
122
        OUTPUT:
 
123
        RETVAL
 
124
 
 
125
IOM_CHAINED
 
126
iow::fd (int fd)
 
127
        CODE:
 
128
        THIS->fd = fd;
 
129
        OUTPUT:
 
130
        RETVAL
 
131
 
 
132
IOM_CHAINED
 
133
iow::events (short events)
 
134
        CODE:
 
135
        THIS->events = events;
 
136
        OUTPUT:
 
137
        RETVAL
 
138
 
 
139
IOM_CHAINED
 
140
iow::start ()
 
141
        CODE:
 
142
        THIS->start ();
 
143
        OUTPUT:
 
144
        RETVAL
 
145
 
 
146
IOM_CHAINED
 
147
iow::stop ()
 
148
        CODE:
 
149
        THIS->stop ();
 
150
        OUTPUT:
 
151
        RETVAL
 
152
 
 
153
void
 
154
iow::DESTROY ()
 
155
 
 
156
#############################################################################
 
157
# IOM_CLASS::iw
 
158
#############################################################################
 
159
 
 
160
MODULE = IOM_MODULE             PACKAGE = IOM_CLASS::iw
 
161
 
 
162
SV *
 
163
iw::new ()
 
164
        CODE:
 
165
        iw *w =  new iw;
 
166
        RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iw");
 
167
        w->self = (HV *)SvRV (RETVAL);
 
168
        OUTPUT:
 
169
        RETVAL
 
170
 
 
171
IOM_CHAINED
 
172
iw::start ()
 
173
        CODE:
 
174
        THIS->start ();
 
175
        OUTPUT:
 
176
        RETVAL
 
177
 
 
178
IOM_CHAINED
 
179
iw::stop ()
 
180
        CODE:
 
181
        THIS->stop ();
 
182
        OUTPUT:
 
183
        RETVAL
 
184
 
 
185
void
 
186
iw::DESTROY ()
 
187
 
 
188
#############################################################################
 
189
# IOM_CLASS::pw
 
190
#############################################################################
 
191
 
 
192
MODULE = IOM_MODULE             PACKAGE = IOM_CLASS::pw
 
193
 
 
194
SV *
 
195
pw::new ()
 
196
        CODE:
 
197
        pw *w =  new pw;
 
198
        RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::pw");
 
199
        w->self = (HV *)SvRV (RETVAL);
 
200
        OUTPUT:
 
201
        RETVAL
 
202
 
 
203
IOM_CHAINED
 
204
pw::start (int pid)
 
205
        CODE:
 
206
        THIS->start (pid);
 
207
        OUTPUT:
 
208
        RETVAL
 
209
 
 
210
IOM_CHAINED
 
211
pw::stop ()
 
212
        CODE:
 
213
        THIS->stop ();
 
214
        OUTPUT:
 
215
        RETVAL
 
216
 
 
217
void
 
218
pw::DESTROY ()
 
219
 
 
220