libpurple/plugins/perl/common/Prpl.xs

Thu, 30 Oct 2008 22:40:49 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Thu, 30 Oct 2008 22:40:49 +0000
changeset 24569
5dbd0617a27d
parent 21959
a20e87ea2403
child 28645
e1ccf67d8bf1
permissions
-rw-r--r--

Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
to detect when we're still using deprecated functions internally (and by
extension, when we've deprecated something we shouldn't have). In the
course of developing this changeset, I fixed a few such cases.

Given that the plan is to switch from PURPLE_HIDE_STRUCTS to
PURPLE_DISABLE_DEPRECATED as each struct is fully dealt with, this will
also ensure we have no regressions on the struct hiding work.

Deprecated functions are still available to the respective .c file, to
avoid missing prototype errors. Also, Perl and DBus undef the
*_DISABLE_DEPRECATED defines as appropriate so that deprecated functions
will still be exported to Perl plugins and via DBus. (Otherwise, we'd
be breaking backwards compatibility.)

11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
1 #include "module.h"
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
2
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
3 MODULE = Purple::Prpl PACKAGE = Purple::Find PREFIX = purple_find_
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
4 PROTOTYPES: ENABLE
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
5
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
6 Purple::Plugin
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
7 purple_find_prpl(id)
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
8 const char *id
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
9
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
10 MODULE = Purple::Prpl PACKAGE = Purple::Prpl PREFIX = purple_prpl_
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
11 PROTOTYPES: ENABLE
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
12
12792
cbc9e2021faa [gaim-migrate @ 15139]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
13 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
14 purple_prpl_change_account_status(account, old_status, new_status)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
15 Purple::Account account
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
16 Purple::Status old_status
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
17 Purple::Status new_status
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
18
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
19 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
20 purple_prpl_get_statuses(account, presence)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
21 Purple::Account account
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
22 Purple::Presence presence
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
23 PREINIT:
21737
fa92350ed598 applied changes from 8d953d5714cb202c5fa66fda1b0f31f01a969622
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15894
diff changeset
24 GList *l, *ll;
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
25 PPCODE:
21737
fa92350ed598 applied changes from 8d953d5714cb202c5fa66fda1b0f31f01a969622
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15894
diff changeset
26 ll = purple_prpl_get_statuses(account,presence);
fa92350ed598 applied changes from 8d953d5714cb202c5fa66fda1b0f31f01a969622
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15894
diff changeset
27 for (l = ll; l != NULL; l = l->next) {
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
28 XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Status")));
12792
cbc9e2021faa [gaim-migrate @ 15139]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
29 }
21737
fa92350ed598 applied changes from 8d953d5714cb202c5fa66fda1b0f31f01a969622
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15894
diff changeset
30 /* We can free the list here but the script needs to free the
fa92350ed598 applied changes from 8d953d5714cb202c5fa66fda1b0f31f01a969622
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15894
diff changeset
31 * Purple::Status 'objects' itself. */
fa92350ed598 applied changes from 8d953d5714cb202c5fa66fda1b0f31f01a969622
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15894
diff changeset
32 g_list_free(ll);
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
33
12792
cbc9e2021faa [gaim-migrate @ 15139]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
34 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
35 purple_prpl_got_account_idle(account, idle, idle_time)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
36 Purple::Account account
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
37 gboolean idle
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
38 time_t idle_time
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
39
12792
cbc9e2021faa [gaim-migrate @ 15139]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
40 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
41 purple_prpl_got_account_login_time(account, login_time)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
42 Purple::Account account
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
43 time_t login_time
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
44
12792
cbc9e2021faa [gaim-migrate @ 15139]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
45 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
46 purple_prpl_got_user_idle(account, name, idle, idle_time)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
47 Purple::Account account
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
48 const char *name
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
49 gboolean idle
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
50 time_t idle_time
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
51
12792
cbc9e2021faa [gaim-migrate @ 15139]
Etan Reisner <deryni@pidgin.im>
parents: 11290
diff changeset
52 void
15894
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
53 purple_prpl_got_user_login_time(account, name, login_time)
765ec644ac47 Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
54 Purple::Account account
11118
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
55 const char *name
36db35a9da56 [gaim-migrate @ 13174]
John H. Kelm <johnkelm@gmail.com>
parents:
diff changeset
56 time_t login_time
21959
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
57
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
58 int
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
59 purple_prpl_send_raw(gc, str)
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
60 Purple::Connection gc
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
61 const char *str
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
62 PREINIT:
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
63 PurplePluginProtocolInfo *prpl_info;
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
64 CODE:
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
65 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
66 if (prpl_info && prpl_info->send_raw != NULL) {
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
67 RETVAL = prpl_info->send_raw(gc, str, strlen(str));
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
68 } else {
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
69 RETVAL = 0;
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
70 }
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
71 OUTPUT:
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
72 RETVAL
a20e87ea2403 Add send_raw to Perl bindings. Patch from martijn. Fixes #3505
Sean Egan <seanegan@pidgin.im>
parents: 21737
diff changeset
73

mercurial