Mercurial > pidgin.yaz
annotate plugins/perl/common/Gaim.xs @ 6567:6e25e1e08ffb
[gaim-migrate @ 7089]
Perl signal callbacks just got more spiffy. You can now embed a sub inside
of a callback instead of linking to the function.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Fri, 22 Aug 2003 04:09:06 +0000 |
parents | 28b38803d0bb |
children | 33486b749aa9 |
rev | line source |
---|---|
6508 | 1 #include "module.h" |
6520
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
2 #include "../perl-handlers.h" |
6508 | 3 |
4 MODULE = Gaim PACKAGE = Gaim | |
5 PROTOTYPES: ENABLE | |
6 | |
7 void | |
6552
65dc4d34f280
[gaim-migrate @ 7074]
Christian Hammond <chipx86@chipx86.com>
parents:
6550
diff
changeset
|
8 timeout_add(plugin, seconds, func, data) |
6520
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
9 Gaim::Plugin plugin |
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
10 int seconds |
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
11 const char *func |
6552
65dc4d34f280
[gaim-migrate @ 7074]
Christian Hammond <chipx86@chipx86.com>
parents:
6550
diff
changeset
|
12 SV *data |
6520
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
13 CODE: |
6552
65dc4d34f280
[gaim-migrate @ 7074]
Christian Hammond <chipx86@chipx86.com>
parents:
6550
diff
changeset
|
14 gaim_perl_timeout_add(plugin, seconds, func, data); |
6520
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
15 |
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
16 void |
6567
6e25e1e08ffb
[gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents:
6554
diff
changeset
|
17 signal_connect(instance, signal, plugin, callback, data) |
6554
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
18 void *instance |
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
19 const char *signal |
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
20 Gaim::Plugin plugin |
6567
6e25e1e08ffb
[gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents:
6554
diff
changeset
|
21 SV *callback |
6554
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
22 SV *data |
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
23 CODE: |
6567
6e25e1e08ffb
[gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents:
6554
diff
changeset
|
24 gaim_perl_signal_connect(plugin, instance, signal, callback, data); |
6554
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
25 |
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
26 void |
6567
6e25e1e08ffb
[gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents:
6554
diff
changeset
|
27 signal_disconnect(instance, signal, plugin) |
6554
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
28 void *instance |
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
29 const char *signal |
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
30 Gaim::Plugin plugin |
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
31 CODE: |
6567
6e25e1e08ffb
[gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents:
6554
diff
changeset
|
32 gaim_perl_signal_disconnect(plugin, instance, signal); |
6554
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
33 |
28b38803d0bb
[gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents:
6552
diff
changeset
|
34 void |
6539
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
35 debug(level, category, string) |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
36 const char *level |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
37 const char *category |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
38 const char *string |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
39 CODE: |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
40 if (!strcmp(level, "misc")) |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
41 gaim_debug(GAIM_DEBUG_MISC, category, string); |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
42 else if (!strcmp(level, "info")) |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
43 gaim_debug(GAIM_DEBUG_INFO, category, string); |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
44 else if (!strcmp(level, "warning")) |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
45 gaim_debug(GAIM_DEBUG_WARNING, category, string); |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
46 else if (!strcmp(level, "error")) |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
47 gaim_debug(GAIM_DEBUG_ERROR, category, string); |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
48 else if (!strcmp(level, "fatal")) |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
49 gaim_debug(GAIM_DEBUG_FATAL, category, string); |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
50 else |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
51 croak("Unknown debug level type '%s'", level); |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
52 |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
53 void |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
54 debug_misc(category, string) |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
55 const char *category |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
56 const char *string |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
57 CODE: |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
58 gaim_debug(GAIM_DEBUG_MISC, category, string); |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
59 |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
60 void |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
61 debug_info(category, string) |
6520
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
62 const char *category |
6508 | 63 const char *string |
64 CODE: | |
6520
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
65 gaim_debug(GAIM_DEBUG_INFO, category, string); |
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
66 |
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
67 void |
6539
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
68 debug_warning(category, string) |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
69 const char *category |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
70 const char *string |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
71 CODE: |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
72 gaim_debug(GAIM_DEBUG_WARNING, category, string); |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
73 |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
74 void |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
75 debug_error(category, string) |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
76 const char *category |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
77 const char *string |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
78 CODE: |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
79 gaim_debug(GAIM_DEBUG_ERROR, category, string); |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
80 |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
81 void |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
82 debug_fatal(category, string) |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
83 const char *category |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
84 const char *string |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
85 CODE: |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
86 gaim_debug(GAIM_DEBUG_FATAL, category, string); |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
87 |
1690791f0c70
[gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents:
6528
diff
changeset
|
88 void |
6520
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
89 deinit() |
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
90 PREINIT: |
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
91 GList *l; |
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
92 CODE: |
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
93 gaim_perl_timeout_clear(); |
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
94 |
6508 | 95 |
96 BOOT: | |
97 GAIM_PERL_BOOT(Account); | |
6542
fe0294504602
[gaim-migrate @ 7064]
Christian Hammond <chipx86@chipx86.com>
parents:
6539
diff
changeset
|
98 GAIM_PERL_BOOT(BuddyList); |
fe0294504602
[gaim-migrate @ 7064]
Christian Hammond <chipx86@chipx86.com>
parents:
6539
diff
changeset
|
99 GAIM_PERL_BOOT(BuddyList__Group); |
fe0294504602
[gaim-migrate @ 7064]
Christian Hammond <chipx86@chipx86.com>
parents:
6539
diff
changeset
|
100 GAIM_PERL_BOOT(BuddyList__Buddy); |
fe0294504602
[gaim-migrate @ 7064]
Christian Hammond <chipx86@chipx86.com>
parents:
6539
diff
changeset
|
101 GAIM_PERL_BOOT(BuddyList__Chat); |
6520
2e2593d95121
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
102 |