Sat, 27 Sep 2003 19:17:21 +0000
[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 | 1 | #include "module.h" |
|
6520
5386692555c9
[gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
2 | #include "../perl-handlers.h" |
| 6508 | 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 | 7 | PROTOTYPES: ENABLE |
| 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 | 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 | 54 | const char *string |
| 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 | 84 | |
| 85 | BOOT: | |
| 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 |