Mercurial > pidgin.yaz
annotate libpurple/plugins/perl/common/Roomlist.xs @ 16750:39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
exposed to perl.
author | Etan Reisner <pidgin@unreliablesource.net> |
---|---|
date | Tue, 01 May 2007 02:34:22 +0000 |
parents | 2f8274ce570a |
children | 6f47135f5378 |
rev | line source |
---|---|
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1 #include "module.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2 |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
3 MODULE = Purple::Roomlist PACKAGE = Purple::Roomlist PREFIX = purple_roomlist_ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4 PROTOTYPES: ENABLE |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5 |
16750
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
6 BOOT: |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
7 { |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
8 HV *room_stash = gv_stashpv("Purple::Roomlist::Room::Type", 1); |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
9 HV *field_stash = gv_stashpv("Purple::Roomlist::Field::Type", 1); |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
10 |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
11 static const constiv *civ, room_const_iv[] = { |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
12 #define const_iv(name) {#name, (IV)PURPLE_ROOMLIST_ROOMTYPE_##name} |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
13 const_iv(CATEGORY), |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
14 const_iv(ROOM), |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
15 }; |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
16 static const constiv field_const_iv[] = { |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
17 #undef const_iv |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
18 #define const_iv(name) {#name, (IV)PURPLE_ROOMLIST_FIELD_##name} |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
19 const_iv(BOOL), |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
20 const_iv(INT), |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
21 const_iv(STRING), |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
22 }; |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
23 |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
24 for (civ = room_const_iv + sizeof(room_const_iv) / sizeof(room_const_iv[0]); civ-- > room_const_iv; ) |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
25 newCONSTSUB(room_stash, (char *)civ->name, newSViv(civ->iv)); |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
26 |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
27 for (civ = field_const_iv + sizeof(field_const_iv) / sizeof(field_const_iv[0]); civ-- > field_const_iv; ) |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
28 newCONSTSUB(field_stash, (char *)civ->name, newSViv(civ->iv)); |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
29 } |
39c7bb133a9f
Remove the const-c and const-xs stuff and replace it with real constants
Etan Reisner <pidgin@unreliablesource.net>
parents:
15834
diff
changeset
|
30 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
32 purple_roomlist_cancel_get_list(list) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
33 Purple::Roomlist list |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
34 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
35 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
36 purple_roomlist_expand_category(list, category) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
37 Purple::Roomlist list |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
38 Purple::Roomlist::Room category |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
39 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
40 gboolean |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
41 purple_roomlist_get_in_progress(list) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
42 Purple::Roomlist list |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
43 |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
44 Purple::Roomlist |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
45 purple_roomlist_get_list(gc) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
46 Purple::Connection gc |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
47 |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
48 Purple::Roomlist::UiOps |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
49 purple_roomlist_get_ui_ops() |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
50 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
51 |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
52 Purple::Roomlist |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
53 purple_roomlist_new(account) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
54 Purple::Account account |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
55 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
56 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
57 purple_roomlist_ref(list) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
58 Purple::Roomlist list |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
59 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
60 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
61 purple_roomlist_room_add(list, room) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
62 Purple::Roomlist list |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
63 Purple::Roomlist::Room room |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
64 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
65 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
66 purple_roomlist_room_add_field(list, room, field) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
67 Purple::Roomlist list |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
68 Purple::Roomlist::Room room |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
69 gconstpointer field |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
70 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
71 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
72 purple_roomlist_room_join(list, room) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
73 Purple::Roomlist list |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
74 Purple::Roomlist::Room room |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
75 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
76 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
77 purple_roomlist_set_fields(list, fields) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
78 Purple::Roomlist list |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
79 SV *fields |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
80 PREINIT: |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
81 GList *t_GL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
82 int i, t_len; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
83 PPCODE: |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
84 t_GL = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
85 t_len = av_len((AV *)SvRV(fields)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
86 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
87 for (i = 0; i < t_len; i++) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
88 STRLEN t_sl; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
89 t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(fields), i, 0), t_sl)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
90 } |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
91 purple_roomlist_set_fields(list, t_GL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
92 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
93 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
94 purple_roomlist_set_in_progress(list, in_progress) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
95 Purple::Roomlist list |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
96 gboolean in_progress |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
97 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
98 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
99 purple_roomlist_set_ui_ops(ops) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
100 Purple::Roomlist::UiOps ops |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
101 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
102 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
103 purple_roomlist_show_with_account(account) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
104 Purple::Account account |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
105 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
106 void |
15834
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
107 purple_roomlist_unref(list) |
2f8274ce570a
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15374
diff
changeset
|
108 Purple::Roomlist list |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
109 |