| |
1 |
| |
2 |
| |
3 typedef struct group *Purple__Group; |
| |
4 |
| |
5 #define group perl_group |
| |
6 |
| |
7 #include <glib.h> |
| |
8 #ifdef _WIN32 |
| |
9 #undef pipe |
| |
10 #endif |
| |
11 #include <EXTERN.h> |
| |
12 #include <perl.h> |
| |
13 #include <XSUB.h> |
| |
14 |
| |
15 #undef group |
| |
16 |
| |
17 #include "../perl-common.h" |
| |
18 |
| |
19 #include "account.h" |
| |
20 #include "accountopt.h" |
| |
21 #include "blist.h" |
| |
22 #include "buddyicon.h" |
| |
23 #include "cipher.h" |
| |
24 #include "cmds.h" |
| |
25 #include "connection.h" |
| |
26 #include "conversation.h" |
| |
27 #include "core.h" |
| |
28 #include "debug.h" |
| |
29 #include "desktopitem.h" |
| |
30 #include "eventloop.h" |
| |
31 #include "ft.h" |
| |
32 #ifdef PURPLE_GTKPERL |
| |
33 #include "gtkaccount.h" |
| |
34 #include "gtkblist.h" |
| |
35 #include "gtkconn.h" |
| |
36 #include "gtkconv.h" |
| |
37 #include "gtkutils.h" |
| |
38 #endif |
| |
39 #include "imgstore.h" |
| |
40 #include "network.h" |
| |
41 #include "notify.h" |
| |
42 #include "plugin.h" |
| |
43 #include "pluginpref.h" |
| |
44 #include "pounce.h" |
| |
45 #include "prefs.h" |
| |
46 #include "privacy.h" |
| |
47 #include "prpl.h" |
| |
48 #include "proxy.h" |
| |
49 #include "request.h" |
| |
50 #include "roomlist.h" |
| |
51 #include "savedstatuses.h" |
| |
52 #include "server.h" |
| |
53 #include "signals.h" |
| |
54 #include "sound.h" |
| |
55 #include "sslconn.h" |
| |
56 #include "status.h" |
| |
57 #include "stringref.h" |
| |
58 /* Ewww. perl has it's own util.h which is in the include path :( */ |
| |
59 #include "libpurple/util.h" |
| |
60 #include "value.h" |
| |
61 #include "xmlnode.h" |
| |
62 |
| |
63 /* account.h */ |
| |
64 typedef PurpleAccount * Purple__Account; |
| |
65 typedef PurpleAccountOption * Purple__Account__Option; |
| |
66 typedef PurpleAccountUiOps * Purple__Account__UiOps; |
| |
67 typedef PurpleAccountUserSplit * Purple__Account__UserSplit; |
| |
68 |
| |
69 /* blist.h */ |
| |
70 typedef PurpleBlistNode * Purple__BuddyList__Node; |
| |
71 typedef PurpleBlistNodeFlags Purple__BuddyList__NodeFlags; |
| |
72 typedef PurpleBlistUiOps * Purple__BuddyList__UiOps; |
| |
73 typedef PurpleBuddyList * Purple__BuddyList; |
| |
74 typedef PurpleBuddy * Purple__BuddyList__Buddy; |
| |
75 typedef PurpleChat * Purple__BuddyList__Chat; |
| |
76 typedef PurpleContact * Purple__BuddyList__Contact; |
| |
77 typedef PurpleGroup * Purple__BuddyList__Group; |
| |
78 |
| |
79 /* buddyicon.h */ |
| |
80 typedef PurpleBuddyIcon * Purple__Buddy__Icon; |
| |
81 |
| |
82 /* cipher.h */ |
| |
83 typedef PurpleCipher * Purple__Cipher; |
| |
84 typedef PurpleCipherCaps Purple__CipherCaps; |
| |
85 typedef PurpleCipherContext * Purple__Cipher__Context; |
| |
86 typedef PurpleCipherOps * Purple__Cipher__Ops; |
| |
87 |
| |
88 /* cmds.h */ |
| |
89 typedef PurpleCmdFlag Purple__Cmd__Flag; |
| |
90 typedef PurpleCmdId Purple__Cmd__Id; |
| |
91 typedef PurpleCmdPriority Purple__Cmd__Priority; |
| |
92 typedef PurpleCmdRet Purple__Cmd__Ret; |
| |
93 |
| |
94 /* connection.h */ |
| |
95 typedef PurpleConnection * Purple__Connection; |
| |
96 typedef PurpleConnectionFlags Purple__ConnectionFlags; |
| |
97 typedef PurpleConnectionState Purple__ConnectionState; |
| |
98 typedef PurpleConnectionUiOps * Purple__Connection__UiOps; |
| |
99 |
| |
100 /* conversation.h */ |
| |
101 typedef PurpleConversationType Purple__ConversationType; |
| |
102 typedef PurpleConvUpdateType Purple__ConvUpdateType; |
| |
103 typedef PurpleTypingState Purple__TypingState; |
| |
104 typedef PurpleMessageFlags Purple__MessageFlags; |
| |
105 typedef PurpleConvChatBuddyFlags Purple__ConvChatBuddyFlags; |
| |
106 typedef PurpleConversation * Purple__Conversation; |
| |
107 typedef PurpleConversationUiOps * Purple__Conversation__UiOps; |
| |
108 typedef PurpleConvIm * Purple__Conversation__IM; |
| |
109 typedef PurpleConvChat * Purple__Conversation__Chat; |
| |
110 typedef PurpleConvChatBuddy * Purple__Conversation__ChatBuddy; |
| |
111 |
| |
112 /* core.h */ |
| |
113 |
| |
114 typedef PurpleCore * Purple__Core; |
| |
115 typedef PurpleCoreUiOps * Purple__Core__UiOps; |
| |
116 |
| |
117 /* debug.h */ |
| |
118 typedef PurpleDebugLevel Purple__DebugLevel; |
| |
119 |
| |
120 /* desktopitem.h */ |
| |
121 typedef PurpleDesktopItem * Purple__DesktopItem; |
| |
122 typedef PurpleDesktopItemType Purple__DesktopItemType; |
| |
123 |
| |
124 /* eventloop.h */ |
| |
125 typedef PurpleInputCondition * Purple__InputCondition; |
| |
126 typedef PurpleEventLoopUiOps * Purple__EventLoopUiOps; |
| |
127 |
| |
128 /* ft.h */ |
| |
129 typedef PurpleXfer * Purple__Xfer; |
| |
130 typedef PurpleXferType Purple__XferType; |
| |
131 typedef PurpleXferStatusType Purple__XferStatusType; |
| |
132 typedef PurpleXferUiOps * Purple__XferUiOps; |
| |
133 |
| |
134 #ifdef PURPLE_GTKPERL |
| |
135 /* gtkblish.h */ |
| |
136 typedef PurpleGtkBuddyList * Purple__GTK__BuddyList; |
| |
137 typedef PurpleStatusIconSize Purple__StatusIconSize; |
| |
138 |
| |
139 /* gtkutils.h */ |
| |
140 typedef PurpleButtonOrientation Purple__ButtonOrientation; |
| |
141 typedef PurpleButtonStyle Purple__ButtonStyle; |
| |
142 #ifndef _WIN32 |
| |
143 typedef PurpleBrowserPlace Purple__BrowserPlace; |
| |
144 #endif /* _WIN32 */ |
| |
145 |
| |
146 /* gtkconv.h */ |
| |
147 typedef PurpleUnseenState Purple__UnseenState; |
| |
148 typedef PurpleGtkConversation * Purple__GTK__Conversation; |
| |
149 typedef GdkPixbuf * Purple__GDK__Pixbuf; |
| |
150 typedef GtkWidget * Purple__GTK__Widget; |
| |
151 |
| |
152 /* gtkutils.h */ |
| |
153 typedef GtkFileSelection * Purple__GTK__FileSelection; |
| |
154 typedef GtkSelectionData * Purple__GTK__SelectionData; |
| |
155 typedef GtkTextView * Purple__GTK__TextView; |
| |
156 |
| |
157 /* gtkconn.h */ |
| |
158 #endif |
| |
159 |
| |
160 /* imgstore.h */ |
| |
161 typedef PurpleStoredImage * Purple__StoredImage; |
| |
162 |
| |
163 /* log.h */ |
| |
164 typedef PurpleLog * Purple__Log; |
| |
165 typedef PurpleLogCommonLoggerData * Purple__LogCommonLoggerData; |
| |
166 typedef PurpleLogLogger * Purple__Log__Logger; |
| |
167 typedef PurpleLogReadFlags * Purple__Log__ReadFlags; |
| |
168 typedef PurpleLogSet * Purple__LogSet; |
| |
169 typedef PurpleLogType Purple__LogType; |
| |
170 |
| |
171 /* network.h */ |
| |
172 typedef PurpleNetworkListenData * Purple__NetworkListenData; |
| |
173 typedef PurpleNetworkListenCallback Purple__NetworkListenCallback; |
| |
174 |
| |
175 /* notify.h */ |
| |
176 typedef PurpleNotifyCloseCallback Purple__NotifyCloseCallback; |
| |
177 typedef PurpleNotifyMsgType Purple__NotifyMsgType; |
| |
178 typedef PurpleNotifySearchButtonType Purple__NotifySearchButtonType; |
| |
179 typedef PurpleNotifySearchResults * Purple__NotifySearchResults; |
| |
180 typedef PurpleNotifySearchColumn * Purple__NotifySearchColumn; |
| |
181 typedef PurpleNotifySearchButton * Purple__NotifySearchButton; |
| |
182 typedef PurpleNotifyType Purple__NotifyType; |
| |
183 typedef PurpleNotifyUiOps * Purple__NotifyUiOps; |
| |
184 typedef PurpleNotifyUserInfo * Purple__NotifyUserInfo; |
| |
185 typedef PurpleNotifyUserInfoEntry * Purple__NotifyUserInfoEntry; |
| |
186 |
| |
187 /* plugin.h */ |
| |
188 typedef PurplePlugin * Purple__Plugin; |
| |
189 typedef PurplePluginAction * Purple__Plugin__Action; |
| |
190 typedef PurplePluginInfo * Purple__PluginInfo; |
| |
191 typedef PurplePluginLoaderInfo * Purple__PluginLoaderInfo; |
| |
192 typedef PurplePluginType Purple__PluginType; |
| |
193 typedef PurplePluginUiInfo * Purple__PluginUiInfo; |
| |
194 |
| |
195 /* pluginpref.h */ |
| |
196 typedef PurplePluginPref * Purple__PluginPref; |
| |
197 typedef PurplePluginPrefFrame * Purple__PluginPref__Frame; |
| |
198 typedef PurplePluginPrefType Purple__PluginPrefType; |
| |
199 |
| |
200 /* pounce.h */ |
| |
201 typedef PurplePounce * Purple__Pounce; |
| |
202 typedef PurplePounceEvent Purple__PounceEvent; |
| |
203 |
| |
204 /* prefs.h */ |
| |
205 typedef PurplePrefType Purple__PrefType; |
| |
206 |
| |
207 /* privacy.h */ |
| |
208 typedef PurplePrivacyType Purple__PrivacyType; |
| |
209 typedef PurplePrivacyUiOps * Purple__Privacy__UiOps; |
| |
210 |
| |
211 /* proxy.h */ |
| |
212 typedef PurpleProxyInfo * Purple__ProxyInfo; |
| |
213 typedef PurpleProxyType Purple__ProxyType; |
| |
214 |
| |
215 /* prpl.h */ |
| |
216 typedef PurpleBuddyIconSpec * Purple__Buddy__Icon__Spec; |
| |
217 typedef PurpleIconScaleRules Purple__IconScaleRules; |
| |
218 typedef PurplePluginProtocolInfo * Purple__PluginProtocolInfo; |
| |
219 typedef PurpleProtocolOptions Purple__ProtocolOptions; |
| |
220 |
| |
221 /* request.h */ |
| |
222 typedef PurpleRequestField * Purple__Request__Field; |
| |
223 typedef PurpleRequestFields * Purple__Request__Fields; |
| |
224 typedef PurpleRequestFieldGroup * Purple__Request__Field__Group; |
| |
225 typedef PurpleRequestFieldType Purple__RequestFieldType; |
| |
226 typedef PurpleRequestType Purple__RequestType; |
| |
227 typedef PurpleRequestUiOps * Purple__Request__UiOps; |
| |
228 |
| |
229 /* roomlist.h */ |
| |
230 typedef PurpleRoomlist * Purple__Roomlist; |
| |
231 typedef PurpleRoomlistField * Purple__Roomlist__Field; |
| |
232 typedef PurpleRoomlistFieldType Purple__RoomlistFieldType; |
| |
233 typedef PurpleRoomlistRoom * Purple__Roomlist__Room; |
| |
234 typedef PurpleRoomlistRoomType Purple__RoomlistRoomType; |
| |
235 typedef PurpleRoomlistUiOps * Purple__Roomlist__UiOps; |
| |
236 |
| |
237 /* savedstatuses.h */ |
| |
238 typedef PurpleSavedStatus * Purple__SavedStatus; |
| |
239 typedef PurpleSavedStatusSub * Purple__SavedStatusSub; |
| |
240 |
| |
241 /* sound.h */ |
| |
242 typedef PurpleSoundEventID Purple__SoundEventID; |
| |
243 typedef PurpleSoundUiOps * Purple__Sound__UiOps; |
| |
244 |
| |
245 /* sslconn.h */ |
| |
246 typedef PurpleInputCondition * Purple__Input__Condition; |
| |
247 typedef PurpleSslConnection * Purple__Ssl__Connection; |
| |
248 typedef PurpleSslErrorType Purple__SslErrorType; |
| |
249 typedef PurpleSslOps * Purple__Ssl__Ops; |
| |
250 |
| |
251 /* status.h */ |
| |
252 typedef PurplePresence * Purple__Presence; |
| |
253 typedef PurplePresenceContext Purple__PresenceContext; |
| |
254 typedef PurpleStatus * Purple__Status; |
| |
255 typedef PurpleStatusAttr * Purple__StatusAttr; |
| |
256 typedef PurpleStatusPrimitive Purple__StatusPrimitive; |
| |
257 typedef PurpleStatusType * Purple__StatusType; |
| |
258 |
| |
259 /* stringref.h */ |
| |
260 typedef PurpleStringref * Purple__Stringref; |
| |
261 |
| |
262 /* util.h */ |
| |
263 typedef PurpleInfoFieldFormatCallback Purple__Util__InfoFieldFormatCallback; |
| |
264 typedef PurpleUtilFetchUrlData Purple__Util__FetchUrlData; |
| |
265 typedef PurpleMenuAction * Purple__Menu__Action; |
| |
266 |
| |
267 /* value.h */ |
| |
268 typedef PurpleValue * Purple__Value; |
| |
269 |
| |
270 /* xmlnode.h */ |
| |
271 typedef xmlnode * Purple__XMLNode; |
| |
272 typedef XMLNodeType XMLNode__Type; |
| |
273 |
| |
274 /* other */ |
| |
275 typedef void * Purple__Handle; |
| |
276 |
| |
277 typedef gchar gchar_own; |
| |
278 |