plugins/perl/common/Gaim.xs

Sat, 27 Sep 2003 19:17:21 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Sat, 27 Sep 2003 19:17:21 +0000
changeset 6982
12f08de92674
parent 6918
46c9836b0072
child 11118
36db35a9da56
permissions
-rw-r--r--

[gaim-migrate @ 7538]
This is Mr. Holland's Opus. And by Mr. Holland I mean Robot101. He
rewrote the coreish IM image support so that the binary data gets
ripped out in the prpl and put in an imgstore instead of just being
passed in the same huge as char string as the actual message. This
is good because it's prpl agnostic, or something. It also means
we don't have a silly length of "-1" with pretty much every send or
receive IM function.

It should be crash free, bug free, and memleak free, but additional
testing is always a good thing.

If you like good stuff then you'll love this patch. But don't take
my word for it--ba dun dunt!

6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 #include "module.h"
6520
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
2 #include "../perl-handlers.h"
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3
6588
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6584
diff changeset
4 #include "const-c.inc"
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6584
diff changeset
5
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6584
diff changeset
6 MODULE = Gaim PACKAGE = Gaim PREFIX = gaim_
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 PROTOTYPES: ENABLE
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8
6588
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6584
diff changeset
9 INCLUDE: const-xs.inc
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6584
diff changeset
10
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 void
6918
46c9836b0072 [gaim-migrate @ 7465]
Christian Hammond <chipx86@chipx86.com>
parents: 6735
diff changeset
12 timeout_add(plugin, seconds, callback, data = 0)
6520
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
13 Gaim::Plugin plugin
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
14 int seconds
6568
5c8c70b63dc3 [gaim-migrate @ 7090]
Christian Hammond <chipx86@chipx86.com>
parents: 6567
diff changeset
15 SV *callback
6552
e3fa6a85614b [gaim-migrate @ 7074]
Christian Hammond <chipx86@chipx86.com>
parents: 6550
diff changeset
16 SV *data
6520
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
17 CODE:
6568
5c8c70b63dc3 [gaim-migrate @ 7090]
Christian Hammond <chipx86@chipx86.com>
parents: 6567
diff changeset
18 gaim_perl_timeout_add(plugin, seconds, callback, data);
6520
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
19
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
20 void
6918
46c9836b0072 [gaim-migrate @ 7465]
Christian Hammond <chipx86@chipx86.com>
parents: 6735
diff changeset
21 signal_connect(instance, signal, plugin, callback, data = 0)
6554
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
22 void *instance
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
23 const char *signal
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
24 Gaim::Plugin plugin
6567
761a1feb5561 [gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents: 6554
diff changeset
25 SV *callback
6554
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
26 SV *data
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
27 CODE:
6567
761a1feb5561 [gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents: 6554
diff changeset
28 gaim_perl_signal_connect(plugin, instance, signal, callback, data);
6554
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
29
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
30 void
6567
761a1feb5561 [gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents: 6554
diff changeset
31 signal_disconnect(instance, signal, plugin)
6554
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
32 void *instance
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
33 const char *signal
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
34 Gaim::Plugin plugin
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
35 CODE:
6567
761a1feb5561 [gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents: 6554
diff changeset
36 gaim_perl_signal_disconnect(plugin, instance, signal);
6554
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
37
4e85a132ad50 [gaim-migrate @ 7076]
Christian Hammond <chipx86@chipx86.com>
parents: 6552
diff changeset
38 void
6588
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6584
diff changeset
39 gaim_debug(level, category, string)
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6584
diff changeset
40 Gaim::DebugLevel level
6539
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
41 const char *category
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
42 const char *string
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
43
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
44 void
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
45 debug_misc(category, string)
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
46 const char *category
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
47 const char *string
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
48 CODE:
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
49 gaim_debug(GAIM_DEBUG_MISC, category, string);
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
50
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
51 void
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
52 debug_info(category, string)
6520
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
53 const char *category
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 const char *string
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 CODE:
6520
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
56 gaim_debug(GAIM_DEBUG_INFO, category, string);
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
57
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
58 void
6539
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
59 debug_warning(category, string)
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
60 const char *category
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
61 const char *string
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
62 CODE:
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
63 gaim_debug(GAIM_DEBUG_WARNING, category, string);
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
64
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
65 void
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
66 debug_error(category, string)
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
67 const char *category
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
68 const char *string
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
69 CODE:
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
70 gaim_debug(GAIM_DEBUG_ERROR, category, string);
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
71
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
72 void
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
73 debug_fatal(category, string)
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
74 const char *category
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
75 const char *string
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
76 CODE:
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
77 gaim_debug(GAIM_DEBUG_FATAL, category, string);
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
78
f5d69f5dcaff [gaim-migrate @ 7057]
Christian Hammond <chipx86@chipx86.com>
parents: 6528
diff changeset
79 void
6520
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
80 deinit()
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
81 CODE:
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
82 gaim_perl_timeout_clear();
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
83
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85 BOOT:
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86 GAIM_PERL_BOOT(Account);
6542
c7b0cf99c527 [gaim-migrate @ 7064]
Christian Hammond <chipx86@chipx86.com>
parents: 6539
diff changeset
87 GAIM_PERL_BOOT(BuddyList);
c7b0cf99c527 [gaim-migrate @ 7064]
Christian Hammond <chipx86@chipx86.com>
parents: 6539
diff changeset
88 GAIM_PERL_BOOT(BuddyList__Group);
c7b0cf99c527 [gaim-migrate @ 7064]
Christian Hammond <chipx86@chipx86.com>
parents: 6539
diff changeset
89 GAIM_PERL_BOOT(BuddyList__Buddy);
c7b0cf99c527 [gaim-migrate @ 7064]
Christian Hammond <chipx86@chipx86.com>
parents: 6539
diff changeset
90 GAIM_PERL_BOOT(BuddyList__Chat);
6584
9785a533d08e [gaim-migrate @ 7106]
Christian Hammond <chipx86@chipx86.com>
parents: 6568
diff changeset
91 GAIM_PERL_BOOT(Connection);
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
92 GAIM_PERL_BOOT(Conversation);
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
93 GAIM_PERL_BOOT(Conversation__Chat);
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
94 GAIM_PERL_BOOT(Conversation__IM);
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
95 GAIM_PERL_BOOT(ConvWindow);
6520
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
96

mercurial