Added SILC Thread Queue API
[crypto.git] / apps / irssi / src / perl / ui / Window.xs
1 #include "module.h"
2
3 #include "window-activity.h"
4
5 MODULE = Irssi::UI::Window  PACKAGE = Irssi
6 PROTOTYPES: ENABLE
7
8 void
9 windows()
10 PREINIT:
11         GSList *tmp;
12 PPCODE:
13         for (tmp = windows; tmp != NULL; tmp = tmp->next) {
14                 XPUSHs(sv_2mortal(plain_bless(tmp->data, "Irssi::UI::Window")));
15         }
16
17
18 Irssi::UI::Window
19 active_win()
20 CODE:
21         RETVAL = active_win;
22 OUTPUT:
23         RETVAL
24
25 Irssi::Server
26 active_server()
27 CODE:
28         RETVAL = active_win->active_server;
29 OUTPUT:
30         RETVAL
31
32 void
33 print(str, level=MSGLEVEL_CLIENTNOTICE)
34         char *str
35         int level;
36 CODE:
37         printtext_string(NULL, NULL, level, str);
38
39 Irssi::UI::Window
40 window_find_name(name)
41         char *name
42
43 Irssi::UI::Window
44 window_find_refnum(refnum)
45         int refnum
46
47 int
48 window_refnum_prev(refnum, wrap)
49         int refnum
50         int wrap
51
52 int
53 window_refnum_next(refnum, wrap)
54         int refnum
55         int wrap
56
57 int
58 windows_refnum_last()
59
60 Irssi::UI::Window
61 window_find_level(level)
62         int level
63 CODE:
64         RETVAL = window_find_level(NULL, level);
65 OUTPUT:
66         RETVAL
67
68 Irssi::UI::Window
69 window_find_item(name)
70         char *name
71 CODE:
72         RETVAL = window_find_item(NULL, name);
73 OUTPUT:
74         RETVAL
75
76 Irssi::UI::Window
77 window_find_closest(name, level)
78         char *name
79         int level
80 CODE:
81         RETVAL = window_find_closest(NULL, name, level);
82 OUTPUT:
83         RETVAL
84
85 Irssi::Windowitem
86 window_item_find(name)
87         char *name
88 CODE:
89         RETVAL = window_item_find(NULL, name);
90 OUTPUT:
91         RETVAL
92
93
94 #*******************************
95 MODULE = Irssi::UI::Window  PACKAGE = Irssi::Server
96 #*******************************
97
98 void
99 print(server, channel, str, level=MSGLEVEL_CLIENTNOTICE)
100         Irssi::Server server
101         char *channel
102         char *str
103         int level
104 CODE:
105         printtext_string(server, channel, level, str);
106
107 Irssi::Windowitem
108 window_item_find(server, name)
109         Irssi::Server server
110         char *name
111
112 Irssi::UI::Window
113 window_find_item(server, name)
114         Irssi::Server server
115         char *name
116
117 Irssi::UI::Window
118 window_find_level(server, level)
119         Irssi::Server server
120         int level
121
122 Irssi::UI::Window
123 window_find_closest(server, name, level)
124         Irssi::Server server
125         char *name
126         int level
127
128
129 #*******************************
130 MODULE = Irssi::UI::Window  PACKAGE = Irssi::UI::Window  PREFIX=window_
131 #*******************************
132
133 void
134 items(window)
135         Irssi::UI::Window window
136 PREINIT:
137         GSList *tmp;
138 PPCODE:
139         for (tmp = window->items; tmp != NULL; tmp = tmp->next) {
140                 CHANNEL_REC *rec = tmp->data;
141
142                 XPUSHs(sv_2mortal(iobject_bless(rec)));
143         }
144
145 void
146 print(window, str, level=MSGLEVEL_CLIENTNOTICE)
147         Irssi::UI::Window window
148         char *str
149         int level;
150 CODE:
151         printtext_string_window(window, level, str);
152
153 void
154 command(window, cmd)
155         Irssi::UI::Window window
156         char *cmd
157 PREINIT:
158         WINDOW_REC *old;
159 CODE:
160         old = active_win;
161         active_win = window;
162         perl_command(cmd, window->active_server, window->active);
163         if (active_win == window &&
164             g_slist_find(windows, old) != NULL)
165                 active_win = old;
166
167 void
168 window_item_add(window, item, automatic)
169         Irssi::UI::Window window
170         Irssi::Windowitem item
171         int automatic
172
173 void
174 window_item_remove(item)
175         Irssi::Windowitem item
176
177 void
178 window_item_destroy(item)
179         Irssi::Windowitem item
180
181 void
182 window_item_prev(window)
183         Irssi::UI::Window window
184
185 void
186 window_item_next(window)
187         Irssi::UI::Window window
188
189 void
190 window_destroy(window)
191         Irssi::UI::Window window
192
193 void
194 window_set_active(window)
195         Irssi::UI::Window window
196
197 void
198 window_change_server(window, server)
199         Irssi::UI::Window window
200         Irssi::Server server
201
202 void
203 window_set_refnum(window, refnum)
204         Irssi::UI::Window window
205         int refnum
206
207 void
208 window_set_name(window, name)
209         Irssi::UI::Window window
210         char *name
211
212 void
213 window_set_history(window, name)
214         Irssi::UI::Window window
215         char *name
216
217 void
218 window_set_level(window, level)
219         Irssi::UI::Window window
220         int level
221
222 void
223 window_activity(window, data_level, hilight_color=NULL)
224         Irssi::UI::Window window
225         int data_level
226         char *hilight_color
227
228 char *
229 window_get_active_name(window)
230         Irssi::UI::Window window
231 CODE:
232         RETVAL = (char *) window_get_active_name(window);
233 OUTPUT:
234         RETVAL
235
236 Irssi::Windowitem
237 window_item_find(window, server, name)
238         Irssi::UI::Window window
239         Irssi::Server server
240         char *name
241 CODE:
242         RETVAL = window_item_find_window(window, server, name);
243 OUTPUT:
244         RETVAL
245
246 #*******************************
247 MODULE = Irssi::UI::Window  PACKAGE = Irssi::Windowitem  PREFIX = window_item_
248 #*******************************
249
250 void
251 print(item, str, level=MSGLEVEL_CLIENTNOTICE)
252         Irssi::Windowitem item
253         int level
254         char *str
255 CODE:
256         printtext_string(item->server, item->visible_name, level, str);
257
258 Irssi::UI::Window
259 window_create(item, automatic)
260         Irssi::Windowitem item
261         int automatic
262
263 Irssi::UI::Window
264 window(item)
265         Irssi::Windowitem item
266 CODE:
267         RETVAL = window_item_window(item);
268 OUTPUT:
269         RETVAL
270
271 void
272 window_item_change_server(item, server)
273         Irssi::Windowitem item
274         Irssi::Server server
275
276 int
277 window_item_is_active(item)
278         Irssi::Windowitem item
279
280 void
281 window_item_set_active(item)
282         Irssi::Windowitem item
283 CODE:
284         window_item_set_active(window_item_window(item), item);
285
286 void
287 window_item_activity(item, data_level, hilight_color=NULL)
288         Irssi::Windowitem item
289         int data_level
290         char *hilight_color
291