Release 0.40.3
[vala-gnome.git] / vapi / purple.vapi
blobf1ed221b0efbbf33e4f6ff1d677e713ebc84057f
1 /* purple.vapi generated by vapigen, do not modify. */
3 namespace Purple {
4         [CCode (cheader_filename = "purple.h", free_function = "purple_account_destroy")]
5         [Compact]
6         public class Account {
7                 public weak string alias;
8                 public weak string buddy_icon_path;
9                 public weak GLib.SList deny;
10                 public bool disconnecting;
11                 public weak Purple.Connection gc;
12                 public weak string password;
13                 public Purple.PrivacyType perm_deny;
14                 public weak GLib.SList permit;
15                 public weak Purple.Presence presence;
16                 public void* priv;
17                 public weak string protocol_id;
18                 public weak Purple.ProxyInfo proxy_info;
19                 public weak Purple.AccountRegistrationCb registration_cb;
20                 public void* registration_cb_user_data;
21                 public bool remember_pass;
22                 public weak GLib.HashTable settings;
23                 public weak GLib.List status_types;
24                 public weak Purple.Log system_log;
25                 public void* ui_data;
26                 public weak GLib.HashTable ui_settings;
27                 public weak string user_info;
28                 public weak string username;
29                 [CCode (has_construct_function = false)]
30                 public Account (string username, string protocol_id);
31                 public void add_buddies (GLib.List buddies);
32                 public void add_buddies_with_invite (GLib.List buddies, string message);
33                 public void add_buddy (Purple.Buddy buddy);
34                 public void add_buddy_with_invite (Purple.Buddy buddy, string message);
35                 public void change_password (string orig_pw, string new_pw);
36                 public void clear_current_error ();
37                 public void clear_settings ();
38                 public void connect ();
39                 public void destroy_log ();
40                 public void disconnect ();
41                 public unowned Purple.Status get_active_status ();
42                 public unowned string get_alias ();
43                 public bool get_bool (string name, bool default_value);
44                 public unowned string get_buddy_icon_path ();
45                 public bool get_check_mail ();
46                 public unowned Purple.Connection get_connection ();
47                 public unowned Purple.ConnectionErrorInfo get_current_error ();
48                 public bool get_enabled (string ui);
49                 public int get_int (string name, int default_value);
50                 public unowned Purple.Log get_log (bool create);
51                 public unowned string get_name_for_display ();
52                 public unowned string get_password ();
53                 public unowned Purple.Presence get_presence ();
54                 public Purple.PrivacyType get_privacy_type ();
55                 public unowned string get_protocol_id ();
56                 public unowned string get_protocol_name ();
57                 public unowned Purple.ProxyInfo get_proxy_info ();
58                 public void get_public_alias (Purple.GetPublicAliasSuccessCallback success_cb, Purple.GetPublicAliasFailureCallback failure_cb);
59                 public bool get_remember_password ();
60                 public bool get_silence_suppression ();
61                 public unowned Purple.Status get_status (string status_id);
62                 public unowned Purple.StatusType get_status_type (string id);
63                 public unowned Purple.StatusType get_status_type_with_primitive (Purple.StatusPrimitive primitive);
64                 public unowned GLib.List get_status_types ();
65                 public unowned string get_string (string name, string default_value);
66                 public bool get_ui_bool (string ui, string name, bool default_value);
67                 public int get_ui_int (string ui, string name, int default_value);
68                 public unowned string get_ui_string (string ui, string name, string default_value);
69                 public unowned string get_user_info ();
70                 public unowned string get_username ();
71                 public bool is_connected ();
72                 public bool is_connecting ();
73                 public bool is_disconnected ();
74                 public bool is_status_active (string status_id);
75                 public void notify_added (string remote_user, string id, string alias, string message);
76                 public static unowned Purple.AccountPrefsUiOps prefs_get_ui_ops ();
77                 public static void prefs_set_ui_ops (Purple.AccountPrefsUiOps ops);
78                 public void register ();
79                 public void remove_buddies (GLib.List buddies, GLib.List groups);
80                 public void remove_buddy (Purple.Buddy buddy, Purple.Group group);
81                 public void remove_group (Purple.Group group);
82                 public void remove_setting (string setting);
83                 public void request_add (string remote_user, string id, string alias, string message);
84                 public void* request_authorization (string remote_user, string id, string alias, string message, bool on_list, Purple.AccountRequestAuthorizationCb auth_cb, Purple.AccountRequestAuthorizationCb deny_cb);
85                 public void request_change_password ();
86                 public void request_change_user_info ();
87                 public static void request_close (void* ui_handle);
88                 public void request_close_with_account ();
89                 public void request_password (GLib.Callback ok_cb, GLib.Callback cancel_cb);
90                 public void set_alias (string alias);
91                 public void set_bool (string name, bool value);
92                 public void set_buddy_icon_path (string path);
93                 public void set_check_mail (bool value);
94                 public void set_connection (Purple.Connection gc);
95                 public void set_enabled (string ui, bool value);
96                 public void set_int (string name, int value);
97                 public void set_password (string password);
98                 public void set_privacy_type (Purple.PrivacyType privacy_type);
99                 public void set_protocol_id (string protocol_id);
100                 public void set_proxy_info (Purple.ProxyInfo info);
101                 public void set_public_alias (string alias, Purple.SetPublicAliasSuccessCallback success_cb, Purple.SetPublicAliasFailureCallback failure_cb);
102                 public void set_register_callback (Purple.AccountRegistrationCb cb);
103                 public void set_remember_password (bool value);
104                 public void set_silence_suppression (bool value);
105                 public void set_status (string status_id, bool active);
106                 public void set_status_list (string status_id, bool active, GLib.List attrs);
107                 public void set_status_types (GLib.List status_types);
108                 public void set_string (string name, string value);
109                 public void set_ui_bool (string ui, string name, bool value);
110                 public void set_ui_int (string ui, string name, int value);
111                 public void set_ui_string (string ui, string name, string value);
112                 public void set_user_info (string user_info);
113                 public void set_username (string username);
114                 public bool supports_offline_message (Purple.Buddy buddy);
115                 public void unregister (Purple.AccountUnregistrationCb cb);
116         }
117         [CCode (cheader_filename = "purple.h", free_function = "purple_account_option_destroy")]
118         [Compact]
119         public class AccountOption {
120                 public void* default_value;
121                 public bool masked;
122                 public weak string pref_name;
123                 public weak string text;
124                 public Purple.PrefType type;
125                 [CCode (has_construct_function = false)]
126                 public AccountOption (Purple.PrefType type, string text, string pref_name);
127                 public void add_list_item (string key, string value);
128                 public static unowned Purple.AccountOption bool_new (string text, string pref_name, bool default_value);
129                 public bool get_default_bool ();
130                 public int get_default_int ();
131                 public unowned string get_default_list_value ();
132                 public unowned string get_default_string ();
133                 public unowned GLib.List get_list ();
134                 public bool get_masked ();
135                 public unowned string get_setting ();
136                 public unowned string get_text ();
137                 public static unowned Purple.AccountOption int_new (string text, string pref_name, int default_value);
138                 public static unowned Purple.AccountOption list_new (string text, string pref_name, GLib.List list);
139                 public void set_default_bool (bool value);
140                 public void set_default_int (int value);
141                 public void set_default_string (string value);
142                 public void set_list (GLib.List values);
143                 public void set_masked (bool masked);
144                 public static unowned Purple.AccountOption string_new (string text, string pref_name, string default_value);
145         }
146         [CCode (cheader_filename = "purple.h")]
147         [Compact]
148         public class AccountPrefsUiOps {
149                 public weak GLib.Callback load;
150                 public weak GLib.Callback save;
151                 public weak GLib.Callback schedule_save;
152                 public weak GLib.Callback set_bool;
153                 public weak GLib.Callback set_int;
154                 public weak GLib.Callback set_string;
155         }
156         [CCode (cheader_filename = "purple.h")]
157         [Compact]
158         public class AccountUiOps {
159                 public weak GLib.Callback close_account_request;
160                 public weak GLib.Callback notify_added;
161                 public weak GLib.Callback request_add;
162                 public weak GLib.Callback request_authorize;
163                 public weak GLib.Callback status_changed;
164         }
165         [CCode (cheader_filename = "purple.h", free_function = "purple_account_user_split_destroy")]
166         [Compact]
167         public class AccountUserSplit {
168                 public weak string default_value;
169                 public weak GLib.ObjectPath field_sep;
170                 public bool reverse;
171                 public weak string text;
172                 [CCode (has_construct_function = false)]
173                 public AccountUserSplit (string text, string default_value, GLib.ObjectPath sep);
174                 public unowned string get_default_value ();
175                 public bool get_reverse ();
176                 public unowned GLib.ObjectPath get_separator ();
177                 public unowned string get_text ();
178                 public void set_reverse (bool reverse);
179         }
180         [CCode (cheader_filename = "purple.h")]
181         [Compact]
182         public class AttentionType {
183                 public weak string icon_name;
184                 public weak string incoming_description;
185                 public weak string name;
186                 public weak string outgoing_description;
187                 public weak string unlocalized_name;
188                 [CCode (has_construct_function = false)]
189                 public AttentionType (string ulname, string name, string inc_desc, string out_desc);
190                 public unowned string get_icon_name ();
191                 public unowned string get_incoming_desc ();
192                 public unowned string get_name ();
193                 public unowned string get_outgoing_desc ();
194                 public unowned string get_unlocalized_name ();
195                 public void set_icon_name (string name);
196                 public void set_incoming_desc (string desc);
197                 public void set_name (string name);
198                 public void set_outgoing_desc (string desc);
199                 public void set_unlocalized_name (string ulname);
200         }
201         [CCode (cheader_filename = "purple.h")]
202         [Compact]
203         public class BlistNode {
204                 public weak Purple.BlistNode child;
205                 public Purple.BlistNodeFlags flags;
206                 public weak Purple.BlistNode parent;
207                 public weak Purple.BlistNode prev;
208                 public weak GLib.HashTable settings;
209                 public Purple.BlistNodeType type;
210                 public void* ui_data;
211                 public bool get_bool (string key);
212                 public unowned GLib.List get_extended_menu ();
213                 public unowned Purple.BlistNode get_first_child ();
214                 public Purple.BlistNodeFlags get_flags ();
215                 public int get_int (string key);
216                 public unowned Purple.BlistNode get_parent ();
217                 public unowned Purple.BlistNode get_sibling_next ();
218                 public unowned Purple.BlistNode get_sibling_prev ();
219                 public unowned string get_string (string key);
220                 public void* get_ui_data ();
221                 public unowned Purple.BlistNode next (bool offline);
222                 public void remove_setting (string key);
223                 public void set_bool (string key, bool value);
224                 public void set_flags (Purple.BlistNodeFlags flags);
225                 public void set_int (string key, int value);
226                 public void set_string (string key, string value);
227                 public void set_ui_data (void* ui_data);
228         }
229         [CCode (cheader_filename = "purple.h")]
230         [Compact]
231         public class BlistUiOps {
232                 public weak GLib.Callback destroy;
233                 public weak GLib.Callback new_list;
234                 public weak GLib.Callback new_node;
235                 public weak GLib.Callback remove;
236                 public weak GLib.Callback remove_node;
237                 public weak GLib.Callback request_add_buddy;
238                 public weak GLib.Callback request_add_chat;
239                 public weak GLib.Callback request_add_group;
240                 public weak GLib.Callback save_account;
241                 public weak GLib.Callback save_node;
242                 public weak GLib.Callback set_visible;
243                 public weak GLib.Callback show;
244                 public weak GLib.Callback update;
245         }
246         [CCode (cheader_filename = "purple.h", free_function = "purple_buddy_destroy")]
247         [Compact]
248         public class Buddy {
249                 public weak Purple.Account account;
250                 public weak string alias;
251                 public weak Purple.BuddyIcon icon;
252                 public Purple.MediaCaps media_caps;
253                 public weak string name;
254                 public weak Purple.BlistNode node;
255                 public weak Purple.Presence presence;
256                 public void* proto_data;
257                 public weak string server_alias;
258                 [CCode (has_construct_function = false)]
259                 public Buddy (Purple.Account account, string name, string alias);
260                 public unowned Purple.Account get_account ();
261                 public unowned string get_alias ();
262                 public unowned string get_alias_only ();
263                 public unowned Purple.Contact get_contact ();
264                 public unowned string get_contact_alias ();
265                 public unowned Purple.Group get_group ();
266                 public unowned Purple.BuddyIcon get_icon ();
267                 public unowned string get_local_alias ();
268                 public unowned string get_local_buddy_alias ();
269                 public Purple.MediaCaps get_media_caps ();
270                 public unowned string get_name ();
271                 public unowned Purple.Presence get_presence ();
272                 public void* get_protocol_data ();
273                 public unowned string get_server_alias ();
274                 public static unowned Purple.BuddyIcon icons_find (Purple.Account account, string username);
275                 public static unowned Purple.StoredImage icons_find_account_icon (Purple.Account account);
276                 public static unowned Purple.StoredImage icons_find_custom_icon (Purple.Contact contact);
277                 public static ulong icons_get_account_icon_timestamp (Purple.Account account);
278                 public static unowned string icons_get_cache_dir ();
279                 public unowned string icons_get_checksum_for_user ();
280                 public static void* icons_get_handle ();
281                 public static bool icons_has_custom_icon (Purple.Contact contact);
282                 public static void icons_init ();
283                 public static bool icons_is_caching ();
284                 public static unowned Purple.StoredImage icons_node_find_custom_icon (Purple.BlistNode node);
285                 public static bool icons_node_has_custom_icon (Purple.BlistNode node);
286                 public static unowned Purple.StoredImage icons_node_set_custom_icon (Purple.BlistNode node, uchar[] icon_data, size_t icon_len);
287                 public static unowned Purple.StoredImage icons_node_set_custom_icon_from_file (Purple.BlistNode node, string filename);
288                 public static unowned Purple.StoredImage icons_set_account_icon (Purple.Account account, uchar[] icon_data, size_t icon_len);
289                 public static void icons_set_cache_dir (string cache_dir);
290                 public static void icons_set_caching (bool caching);
291                 public static unowned Purple.StoredImage icons_set_custom_icon (Purple.Contact contact, uchar[] icon_data, size_t icon_len);
292                 public static void icons_set_for_user (Purple.Account account, string username, void* icon_data, size_t icon_len, string checksum);
293                 public static void icons_uninit ();
294                 public void set_icon (Purple.BuddyIcon icon);
295                 public void set_media_caps (Purple.MediaCaps media_caps);
296                 public void set_protocol_data (void* data);
297         }
298         [CCode (cheader_filename = "purple.h", ref_function = "purple_buddy_icon_ref", unref_function = "purple_buddy_icon_unref")]
299         [Compact]
300         public class BuddyIcon {
301                 [CCode (has_construct_function = false)]
302                 public BuddyIcon (Purple.Account account, string username, void* icon_data, size_t icon_len, string checksum);
303                 public unowned Purple.Account get_account ();
304                 public unowned string get_checksum ();
305                 public void* get_data (size_t len);
306                 public unowned string get_extension ();
307                 public unowned string get_full_path ();
308                 public static void get_scale_size (Purple.BuddyIconSpec spec, int width, int height);
309                 public unowned string get_username ();
310                 public void set_data (uchar[] data, size_t len, string checksum);
311                 public void update ();
312         }
313         [CCode (cheader_filename = "purple.h")]
314         [Compact]
315         public class BuddyIconSpec {
316                 public weak string format;
317                 public size_t max_filesize;
318                 public int max_height;
319                 public int max_width;
320                 public int min_height;
321                 public int min_width;
322                 public Purple.IconScaleRules scale_rules;
323         }
324         [CCode (cheader_filename = "purple.h")]
325         [Compact]
326         public class BuddyList {
327                 public weak GLib.HashTable buddies;
328                 public weak Purple.BlistNode root;
329                 public void* ui_data;
330         }
331         [CCode (cheader_filename = "purple.h", copy_function = "purple_certificate_copy", free_function = "purple_certificate_destroy")]
332         [Compact]
333         public class Certificate {
334                 public void* data;
335                 public weak Purple.CertificateScheme scheme;
336                 public static void add_ca_search_path (string path);
337                 public static bool check_signature_chain (GLib.List chain);
338                 public static bool check_signature_chain_with_failing (GLib.List chain, out unowned Purple.Certificate failing);
339                 public bool check_subject_name (string name);
340                 public bool compare_pubkeys (Purple.Certificate crt2);
341                 public unowned Purple.Certificate copy ();
342                 public static unowned GLib.List copy_list (GLib.List crt_list);
343                 public static void destroy_list (GLib.List crt_list);
344                 public void display_x509 ();
345                 public static bool export (string filename, Purple.Certificate crt);
346                 public static unowned Purple.CertificatePool find_pool (string scheme_name, string pool_name);
347                 public static unowned Purple.CertificateScheme find_scheme (string name);
348                 public static unowned Purple.CertificateVerifier find_verifier (string scheme_name, string ver_name);
349                 public unowned GLib.ByteArray get_fingerprint_sha1 ();
350                 public unowned GLib.ByteArray get_fingerprint_sha256 (bool sha1_fallback);
351                 public static void* get_handle ();
352                 public unowned string get_issuer_unique_id ();
353                 public static unowned GLib.List get_pools ();
354                 public static unowned GLib.List get_schemes ();
355                 public unowned string get_subject_name ();
356                 public bool get_times (ulong activation, ulong expiration);
357                 public unowned string get_unique_id ();
358                 public static unowned GLib.List get_verifiers ();
359                 public static unowned Purple.Certificate import (Purple.CertificateScheme scheme, string filename);
360                 public static void init ();
361                 public static bool register_pool (Purple.CertificatePool pool);
362                 public static bool register_scheme (Purple.CertificateScheme scheme);
363                 public static bool register_verifier (Purple.CertificateVerifier vr);
364                 public bool signed_by (Purple.Certificate issuer);
365                 public static void uninit ();
366                 public static bool unregister_pool (Purple.CertificatePool pool);
367                 public static bool unregister_scheme (Purple.CertificateScheme scheme);
368                 public static bool unregister_verifier (Purple.CertificateVerifier vr);
369                 public static void verify (Purple.CertificateVerifier verifier, string subject_name, GLib.List cert_chain, Purple.CertificateVerifiedCallback cb, void* cb_data);
370                 public static void verify_complete (Purple.CertificateVerificationRequest vrq, Purple.CertificateVerificationStatus st);
371         }
372         [CCode (cheader_filename = "purple.h")]
373         [Compact]
374         public class CertificatePool {
375                 public weak GLib.Callback cert_in_pool;
376                 public void* data;
377                 public weak GLib.Callback delete_cert;
378                 public weak string fullname;
379                 public weak GLib.Callback get_cert;
380                 public weak GLib.Callback init;
381                 public weak string name;
382                 public weak GLib.Callback put_cert;
383                 public weak string scheme_name;
384                 public weak GLib.Callback uninit;
385                 public bool contains (string id);
386                 public bool @delete (string id);
387                 public static void destroy_idlist (GLib.List idlist);
388                 public unowned GLib.List get_idlist ();
389                 public unowned Purple.CertificateScheme get_scheme ();
390                 public unowned string mkpath (string id);
391                 public unowned Purple.Certificate retrieve (string id);
392                 public bool store (string id, Purple.Certificate crt);
393                 public bool usable ();
394         }
395         [CCode (cheader_filename = "purple.h")]
396         [Compact]
397         public class CertificateScheme {
398                 public weak GLib.Callback check_subject_name;
399                 public weak GLib.Callback compare_pubkeys;
400                 public weak GLib.Callback copy_certificate;
401                 public weak GLib.Callback destroy_certificate;
402                 public weak GLib.Callback export_certificate;
403                 public weak string fullname;
404                 public weak GLib.Callback get_fingerprint_sha1;
405                 public weak GLib.Callback get_fingerprint_sha256;
406                 public weak GLib.Callback get_issuer_unique_id;
407                 public weak GLib.Callback get_subject_name;
408                 public weak GLib.Callback get_times;
409                 public weak GLib.Callback get_unique_id;
410                 public weak GLib.Callback import_certificate;
411                 public weak GLib.Callback import_certificates;
412                 public weak string name;
413                 public weak GLib.Callback register_trusted_tls_cert;
414                 public weak GLib.Callback signed_by;
415                 public uint struct_size;
416                 public weak GLib.Callback verify_cert;
417         }
418         [CCode (cheader_filename = "purple.h")]
419         [Compact]
420         public class CertificateVerificationRequest {
421                 public weak Purple.CertificateVerifiedCallback cb;
422                 public void* cb_data;
423                 public weak GLib.List cert_chain;
424                 public void* data;
425                 public weak Purple.CertificateScheme scheme;
426                 public weak string subject_name;
427                 public weak Purple.CertificateVerifier verifier;
428         }
429         [CCode (cheader_filename = "purple.h")]
430         [Compact]
431         public class CertificateVerifier {
432                 public weak GLib.Callback destroy_request;
433                 public weak string name;
434                 public weak string scheme_name;
435                 public weak GLib.Callback start_verification;
436         }
437         [CCode (cheader_filename = "purple.h", free_function = "purple_chat_destroy")]
438         [Compact]
439         public class Chat {
440                 public weak Purple.Account account;
441                 public weak string alias;
442                 public weak GLib.HashTable components;
443                 public weak Purple.BlistNode node;
444                 [CCode (has_construct_function = false)]
445                 public Chat (Purple.Account account, string alias, GLib.HashTable components);
446                 public unowned Purple.Account get_account ();
447                 public unowned GLib.HashTable get_components ();
448                 public unowned Purple.Group get_group ();
449                 public unowned string get_name ();
450         }
451         [CCode (cheader_filename = "purple.h")]
452         [Compact]
453         public class Cipher {
454                 public static bool digest_region (string name, uchar[] data, size_t data_len, size_t in_len, uchar[] digest, size_t out_len);
455                 public uint get_capabilities ();
456                 public unowned string get_name ();
457                 public static unowned string http_digest_calculate_response (string algorithm, string method, string digest_uri, string qop, string entity, string nonce, string nonce_count, string client_nonce, string session_key);
458                 public static unowned string http_digest_calculate_session_key (string algorithm, string username, string realm, string password, string nonce, string client_nonce);
459         }
460         [CCode (cheader_filename = "purple.h", free_function = "purple_cipher_context_destroy")]
461         [Compact]
462         public class CipherContext {
463                 [CCode (has_construct_function = false)]
464                 public CipherContext (Purple.Cipher cipher, void* extra);
465                 public void append (uchar[] data, size_t len);
466                 [CCode (has_construct_function = false)]
467                 public CipherContext.by_name (string name, void* extra);
468                 public int decrypt (uchar[] data, size_t len, uchar[] output, size_t outlen);
469                 public bool digest (size_t in_len, uchar[] digest, size_t out_len);
470                 public bool digest_to_str (size_t in_len, char[] digest_s, size_t out_len);
471                 public int encrypt (uchar[] data, size_t len, uchar[] output, size_t outlen);
472                 public Purple.CipherBatchMode get_batch_mode ();
473                 public size_t get_block_size ();
474                 public void* get_data ();
475                 public size_t get_key_size ();
476                 public void* get_option (string name);
477                 public size_t get_salt_size ();
478                 public void reset (void* extra);
479                 public void set_batch_mode (Purple.CipherBatchMode mode);
480                 public void set_data (void* data);
481                 public void set_iv (uchar[] iv, size_t len);
482                 public void set_key (uchar[] key);
483                 public void set_key_with_len (uchar[] key, size_t len);
484                 public void set_option (string name, void* value);
485                 public void set_salt (uchar[] salt);
486         }
487         [CCode (cheader_filename = "purple.h")]
488         [Compact]
489         public class CipherOps {
490                 public weak GLib.Callback append;
491                 public weak GLib.Callback decrypt;
492                 public weak GLib.Callback digest;
493                 public weak GLib.Callback encrypt;
494                 public weak GLib.Callback get_batch_mode;
495                 public weak GLib.Callback get_block_size;
496                 public weak GLib.Callback get_key_size;
497                 public weak GLib.Callback get_option;
498                 public weak GLib.Callback get_salt_size;
499                 public weak GLib.Callback init;
500                 public weak GLib.Callback reset;
501                 public weak GLib.Callback set_batch_mode;
502                 public weak GLib.Callback set_iv;
503                 public weak GLib.Callback set_key;
504                 public weak GLib.Callback set_key_with_len;
505                 public weak GLib.Callback set_option;
506                 public weak GLib.Callback set_salt;
507                 public weak GLib.Callback uninit;
508         }
509         [CCode (cheader_filename = "purple.h", free_function = "purple_circ_buffer_destroy")]
510         [Compact]
511         public class CircBuffer {
512                 public weak string buffer;
513                 public size_t buflen;
514                 public size_t bufused;
515                 public size_t growsize;
516                 public weak string inptr;
517                 public weak string outptr;
518                 [CCode (has_construct_function = false)]
519                 public CircBuffer (size_t growsize);
520                 public void append (void* src, size_t len);
521                 public size_t get_max_read ();
522                 public bool mark_read (size_t len);
523         }
524         [CCode (cheader_filename = "purple.h")]
525         [Compact]
526         public class Cmd {
527                 public static Purple.CmdStatus do_command (Purple.Conversation conv, string cmdline, string markup, string errormsg);
528                 public bool execute (Purple.Conversation conv, string cmdline);
529                 public static unowned GLib.List help (Purple.Conversation conv, string cmd);
530                 public static unowned GLib.List list (Purple.Conversation conv);
531                 public static unowned Purple.CmdId register (string cmd, string args, Purple.CmdPriority p, Purple.CmdFlag f, string prpl_id, Purple.CmdFunc func, string helpstr, void* data);
532                 public static void unregister (Purple.CmdId id);
533         }
534         [CCode (cheader_filename = "purple.h")]
535         [Compact]
536         public class CmdId {
537         }
538         [CCode (cheader_filename = "purple.h")]
539         [Compact]
540         public class CommandsUiOps {
541                 public weak GLib.Callback register_command;
542                 public weak GLib.Callback unregister_command;
543         }
544         [CCode (cheader_filename = "purple.h", free_function = "purple_connection_destroy")]
545         [Compact]
546         public class Connection {
547                 public weak Purple.Account account;
548                 public weak GLib.SList buddy_chats;
549                 public uint disconnect_timeout;
550                 public weak string display_name;
551                 public Purple.ConnectionFlags flags;
552                 public int inpa;
553                 public uint keepalive;
554                 public ulong last_received;
555                 public weak string password;
556                 public void* proto_data;
557                 public weak Purple.Plugin prpl;
558                 public Purple.ConnectionState state;
559                 public bool wants_to_die;
560                 [CCode (has_construct_function = false, type = "void")]
561                 public Connection (Purple.Account account, bool regist, string password);
562                 public void error (string reason);
563                 public static bool error_is_fatal (Purple.ConnectionError reason);
564                 public void error_reason (Purple.ConnectionError reason, string description);
565                 public unowned Purple.Account get_account ();
566                 public unowned string get_display_name ();
567                 public unowned string get_password ();
568                 public void* get_protocol_data ();
569                 public unowned Purple.Plugin get_prpl ();
570                 public Purple.ConnectionState get_state ();
571                 public void notice (string text);
572                 public void set_account (Purple.Account account);
573                 public void set_display_name (string name);
574                 public void set_protocol_data (void* proto_data);
575                 public void set_state (Purple.ConnectionState state);
576                 public void ssl_error (Purple.SslErrorType ssl_error);
577                 [CCode (has_construct_function = false, type = "void")]
578                 public Connection.unregister (Purple.Account account, string password, Purple.AccountUnregistrationCb cb);
579                 public void update_progress (string text, size_t step, size_t count);
580         }
581         [CCode (cheader_filename = "purple.h")]
582         [Compact]
583         public class ConnectionErrorInfo {
584                 public weak string description;
585                 public Purple.ConnectionError type;
586         }
587         [CCode (cheader_filename = "purple.h")]
588         [Compact]
589         public class ConnectionUiOps {
590                 public weak GLib.Callback connect_progress;
591                 public weak GLib.Callback connected;
592                 public weak GLib.Callback disconnected;
593                 public weak GLib.Callback network_connected;
594                 public weak GLib.Callback network_disconnected;
595                 public weak GLib.Callback notice;
596                 public weak GLib.Callback report_disconnect;
597                 public weak GLib.Callback report_disconnect_reason;
598         }
599         [CCode (cheader_filename = "purple.h", free_function = "purple_contact_destroy")]
600         [Compact]
601         public class Contact {
602                 public weak string alias;
603                 public int currentsize;
604                 public weak Purple.BlistNode node;
605                 public int online;
606                 public weak Purple.Buddy priority;
607                 public bool priority_valid;
608                 public int totalsize;
609                 [CCode (has_construct_function = false)]
610                 public Contact ();
611                 public unowned string get_alias ();
612                 public unowned Purple.Group get_group ();
613                 public unowned Purple.Buddy get_priority_buddy ();
614                 public void invalidate_priority_buddy ();
615                 public bool on_account (Purple.Account account);
616                 public void set_alias (string alias);
617         }
618         [CCode (cheader_filename = "purple.h")]
619         [Compact]
620         public class ConvChat {
621                 public weak Purple.Conversation conv;
622                 public int id;
623                 public weak GLib.List ignored;
624                 public weak GLib.List in_room;
625                 public weak string nick;
626                 public weak string topic;
627                 public weak GLib.HashTable users;
628                 public weak string who;
629                 public void add_user (string user, string extra_msg, Purple.ConvChatBuddyFlags flags, bool new_arrival);
630                 public void add_users (GLib.List users, GLib.List extra_msgs, GLib.List flags, bool new_arrivals);
631                 public static void cb_destroy (Purple.ConvChatBuddy cb);
632                 public unowned Purple.ConvChatBuddy cb_find (string name);
633                 public static unowned string cb_get_attribute (Purple.ConvChatBuddy cb, string key);
634                 public static unowned GLib.List cb_get_attribute_keys (Purple.ConvChatBuddy cb);
635                 public static unowned string cb_get_name (Purple.ConvChatBuddy cb);
636                 public static unowned Purple.ConvChatBuddy cb_new (string name, string alias, Purple.ConvChatBuddyFlags flags);
637                 public void cb_set_attribute (Purple.ConvChatBuddy cb, string key, string value);
638                 public void cb_set_attributes (Purple.ConvChatBuddy cb, GLib.List keys, GLib.List values);
639                 public void clear_users ();
640                 public bool find_user (string user);
641                 public unowned Purple.Conversation get_conversation ();
642                 public int get_id ();
643                 public unowned GLib.List get_ignored ();
644                 public unowned string get_ignored_user (string user);
645                 public unowned string get_nick ();
646                 public unowned string get_topic ();
647                 public unowned GLib.List get_users ();
648                 public bool has_left ();
649                 public void ignore (string name);
650                 public void invite_user (string user, string message, bool confirm);
651                 public bool is_user_ignored (string user);
652                 public void left ();
653                 public void remove_user (string user, string reason);
654                 public void remove_users (GLib.List users, string reason);
655                 public void rename_user (string old_user, string new_user);
656                 public void send (string message);
657                 public void send_with_flags (string message, Purple.MessageFlags flags);
658                 public void set_id (int id);
659                 public unowned GLib.List set_ignored (GLib.List ignored);
660                 public void set_nick (string nick);
661                 public void set_topic (string who, string topic);
662                 public unowned GLib.List set_users (GLib.List users);
663                 public void unignore (string name);
664                 public Purple.ConvChatBuddyFlags user_get_flags (string user);
665                 public void user_set_flags (string user, Purple.ConvChatBuddyFlags flags);
666                 public void write (string who, string message, Purple.MessageFlags flags, ulong mtime);
667         }
668         [CCode (cheader_filename = "purple.h")]
669         [Compact]
670         public class ConvChatBuddy {
671                 public weak string alias;
672                 public weak string alias_key;
673                 public weak GLib.HashTable attributes;
674                 public bool buddy;
675                 public Purple.ConvChatBuddyFlags flags;
676                 public weak string name;
677                 public void* ui_data;
678         }
679         [CCode (cheader_filename = "purple.h")]
680         [Compact]
681         public class ConvIm {
682                 public weak Purple.Conversation conv;
683                 public weak Purple.BuddyIcon icon;
684                 public uint send_typed_timeout;
685                 public ulong type_again;
686                 public Purple.TypingState typing_state;
687                 public uint typing_timeout;
688                 public unowned Purple.Conversation get_conversation ();
689                 public unowned Purple.BuddyIcon get_icon ();
690                 public uint get_send_typed_timeout ();
691                 public ulong get_type_again ();
692                 public Purple.TypingState get_typing_state ();
693                 public uint get_typing_timeout ();
694                 public void send (string message);
695                 public void send_with_flags (string message, Purple.MessageFlags flags);
696                 public void set_icon (Purple.BuddyIcon icon);
697                 public void set_type_again (uint val);
698                 public void set_typing_state (Purple.TypingState state);
699                 public void start_send_typed_timeout ();
700                 public void start_typing_timeout (int timeout);
701                 public void stop_send_typed_timeout ();
702                 public void stop_typing_timeout ();
703                 public void update_typing ();
704                 public void write (string who, string message, Purple.MessageFlags flags, ulong mtime);
705         }
706         [CCode (cheader_filename = "purple.h")]
707         [Compact]
708         public class ConvMessage {
709                 public weak string alias;
710                 public weak Purple.Conversation conv;
711                 public Purple.MessageFlags flags;
712                 public weak string what;
713                 public ulong when;
714                 public weak string who;
715         }
716         [CCode (cheader_filename = "purple.h", free_function = "purple_conversation_destroy")]
717         [Compact]
718         public class Conversation {
719                 public weak Purple.Account account;
720                 public weak GLib.HashTable data;
721                 public Purple.ConnectionFlags features;
722                 public bool logging;
723                 public weak GLib.List logs;
724                 public weak GLib.List message_history;
725                 public weak string name;
726                 public weak string title;
727                 public Purple.ConversationType type;
728                 public void* u;
729                 public void* ui_data;
730                 public weak Purple.ConversationUiOps ui_ops;
731                 [CCode (has_construct_function = false)]
732                 public Conversation (Purple.ConversationType type, Purple.Account account, string name);
733                 public void autoset_title ();
734                 public void clear_message_history ();
735                 public void close_logs ();
736                 public bool do_command (string cmdline, string markup, string error);
737                 public static void @foreach (GLib.Callback func);
738                 public unowned Purple.Account get_account ();
739                 public unowned Purple.ConvChat get_chat_data ();
740                 public void* get_data (string key);
741                 public unowned GLib.List get_extended_menu ();
742                 public Purple.ConnectionFlags get_features ();
743                 public unowned Purple.Connection get_gc ();
744                 public unowned Purple.ConvIm get_im_data ();
745                 public unowned GLib.List get_message_history ();
746                 public unowned string get_name ();
747                 public unowned string get_title ();
748                 public unowned Purple.ConversationUiOps get_ui_ops ();
749                 public bool has_focus ();
750                 public bool is_logging ();
751                 public static Purple.MessageFlags message_get_flags (Purple.ConvMessage msg);
752                 public static unowned string message_get_message (Purple.ConvMessage msg);
753                 public static unowned string message_get_sender (Purple.ConvMessage msg);
754                 public static ulong message_get_timestamp (Purple.ConvMessage msg);
755                 public void present ();
756                 public void set_account (Purple.Account account);
757                 public void set_data (string key, void* data);
758                 public void set_features (Purple.ConnectionFlags features);
759                 public void set_logging (bool log);
760                 public void set_name (string name);
761                 public void set_title (string title);
762                 public void set_ui_ops (Purple.ConversationUiOps ops);
763                 public void update (Purple.ConvUpdateType type);
764                 public void write (string who, string message, Purple.MessageFlags flags, ulong mtime);
765         }
766         [CCode (cheader_filename = "purple.h")]
767         [Compact]
768         public class ConversationUiOps {
769                 public weak GLib.Callback chat_add_users;
770                 public weak GLib.Callback chat_remove_users;
771                 public weak GLib.Callback chat_rename_user;
772                 public weak GLib.Callback chat_update_user;
773                 public weak GLib.Callback create_conversation;
774                 public weak GLib.Callback custom_smiley_add;
775                 public weak GLib.Callback custom_smiley_close;
776                 public weak GLib.Callback custom_smiley_write;
777                 public weak GLib.Callback destroy_conversation;
778                 public weak GLib.Callback has_focus;
779                 public weak GLib.Callback present;
780                 public weak GLib.Callback send_confirm;
781                 public weak GLib.Callback write_chat;
782                 public weak GLib.Callback write_conv;
783                 public weak GLib.Callback write_im;
784         }
785         [CCode (cheader_filename = "purple.h")]
786         [Compact]
787         public class Core {
788                 public static bool ensure_single_instance ();
789                 public static unowned string get_ui ();
790                 public static unowned GLib.HashTable get_ui_info ();
791                 public static unowned Purple.CoreUiOps get_ui_ops ();
792                 public static unowned string get_version ();
793                 public static bool init (string ui);
794                 public static bool migrate ();
795                 public static void quit ();
796                 public static bool quit_cb (void* unused);
797                 public static void set_ui_ops (Purple.CoreUiOps ops);
798         }
799         [CCode (cheader_filename = "purple.h")]
800         [Compact]
801         public class CoreUiOps {
802                 public weak GLib.Callback debug_ui_init;
803                 public weak GLib.Callback get_ui_info;
804                 public weak GLib.Callback quit;
805                 public weak GLib.Callback ui_init;
806                 public weak GLib.Callback ui_prefs_init;
807         }
808         [CCode (cheader_filename = "purple.h")]
809         [Compact]
810         public class DBusType {
811                 public weak Purple.DBusType parent;
812         }
813         [CCode (cheader_filename = "purple.h")]
814         [Compact]
815         public class DebugUiOps {
816                 public weak GLib.Callback is_enabled;
817                 public weak GLib.Callback print;
818         }
819         [CCode (cheader_filename = "purple.h", copy_function = "purple_desktop_item_copy", unref_function = "purple_desktop_item_unref")]
820         [Compact]
821         public class DesktopItem {
822                 public unowned Purple.DesktopItem copy ();
823                 [CCode (has_construct_function = false)]
824                 public DesktopItem.from_file (string filename);
825                 public Purple.DesktopItemType get_entry_type ();
826                 public unowned string get_string (string attr);
827         }
828         [CCode (cheader_filename = "purple.h")]
829         [Compact]
830         public class DnsQueryData {
831         }
832         [CCode (cheader_filename = "purple.h")]
833         [Compact]
834         public class DnsQueryUiOps {
835                 public weak GLib.Callback destroy;
836                 public weak GLib.Callback resolve_host;
837         }
838         [CCode (cheader_filename = "purple.h")]
839         [Compact]
840         public class EventLoopUiOps {
841                 public weak GLib.Callback input_add;
842                 public weak GLib.Callback input_get_error;
843                 public weak GLib.Callback input_remove;
844                 public weak GLib.Callback timeout_add;
845                 public weak GLib.Callback timeout_add_seconds;
846                 public weak GLib.Callback timeout_remove;
847         }
848         [CCode (cheader_filename = "purple.h", free_function = "purple_group_destroy")]
849         [Compact]
850         public class Group {
851                 public int currentsize;
852                 public weak string name;
853                 public weak Purple.BlistNode node;
854                 public int online;
855                 public int totalsize;
856                 [CCode (has_construct_function = false)]
857                 public Group (string name);
858                 public unowned GLib.SList get_accounts ();
859                 public unowned string get_name ();
860                 public bool on_account (Purple.Account account);
861         }
862         [CCode (cheader_filename = "purple.h")]
863         [Compact]
864         public class IdleUiOps {
865                 public weak GLib.Callback get_time_idle;
866         }
867         [CCode (cheader_filename = "purple.h")]
868         [Compact]
869         public class KeyValuePair {
870                 public weak string key;
871                 public void* value;
872         }
873         [CCode (cheader_filename = "purple.h")]
874         [Compact]
875         public class Log {
876                 public weak Purple.Account account;
877                 public weak Purple.Conversation conv;
878                 public weak Purple.LogLogger logger;
879                 public void* logger_data;
880                 public weak string name;
881                 public ulong time;
882                 public void* tm;
883                 public Purple.LogType type;
884                 [CCode (has_construct_function = false)]
885                 public Log (Purple.LogType type, string name, Purple.Account account, Purple.Conversation conv, ulong time, void* tm);
886                 public bool common_deleter ();
887                 public bool common_is_deletable ();
888                 public static unowned GLib.List common_lister (Purple.LogType type, string name, Purple.Account account, string ext, Purple.LogLogger logger);
889                 public int common_sizer ();
890                 public static int common_total_sizer (Purple.LogType type, string name, Purple.Account account, string ext);
891                 public void common_writer (string ext);
892                 public static int compare (void* y, void* z);
893                 public bool @delete ();
894                 public static int get_activity_score (Purple.LogType type, string name, Purple.Account account);
895                 public static void* get_handle ();
896                 public static unowned string get_log_dir (Purple.LogType type, string name, Purple.Account account);
897                 public static unowned GLib.HashTable get_log_sets ();
898                 public static unowned GLib.List get_logs (Purple.LogType type, string name, Purple.Account account);
899                 public int get_size ();
900                 public static unowned GLib.List get_system_logs (Purple.Account account);
901                 public static int get_total_size (Purple.LogType type, string name, Purple.Account account);
902                 public static void init ();
903                 public bool is_deletable ();
904                 public unowned string read (Purple.LogReadFlags flags);
905                 public static void uninit ();
906                 public void write (Purple.MessageFlags type, string from, ulong time, string message);
907         }
908         [CCode (cheader_filename = "purple.h")]
909         [Compact]
910         public class LogCommonLoggerData {
911                 public void* extra_data;
912                 public weak GLib.FileStream file;
913                 public weak string path;
914         }
915         [CCode (cheader_filename = "purple.h")]
916         [Compact]
917         public class LogLogger {
918                 public weak GLib.Callback create;
919                 public weak GLib.Callback finalize;
920                 public weak GLib.Callback get_log_sets;
921                 public weak string id;
922                 public weak GLib.Callback is_deletable;
923                 public weak GLib.Callback list;
924                 public weak GLib.Callback list_syslog;
925                 public weak string name;
926                 public weak GLib.Callback read;
927                 public weak GLib.Callback size;
928                 public weak GLib.Callback total_size;
929                 public weak GLib.Callback write;
930                 [CCode (has_construct_function = false)]
931                 public LogLogger (string id, string name, int functions);
932                 public void add ();
933                 public static unowned Purple.LogLogger @get ();
934                 public static unowned GLib.List get_options ();
935                 public void remove ();
936                 public void @set ();
937         }
938         [CCode (cheader_filename = "purple.h")]
939         [Compact]
940         public class LogSet {
941                 public weak Purple.Account account;
942                 public bool buddy;
943                 public weak string name;
944                 public weak string normalized_name;
945                 public Purple.LogType type;
946                 public static int compare (void* y, void* z);
947         }
948         [CCode (cheader_filename = "purple.h")]
949         [Compact]
950         public class Media {
951                 public bool accepted (string sess_id, string participant);
952                 public void add_remote_candidates (string sess_id, string participant, GLib.List remote_candidates);
953                 public bool add_stream (string sess_id, string who, Purple.MediaSessionType type, bool initiator, string transmitter, uint num_params, GLib.Parameter @params);
954                 public bool candidates_prepared (string session_id, string participant);
955                 public static GLib.Type caps_get_type ();
956                 public bool codecs_ready (string sess_id);
957                 public static GLib.Type element_type_get_type ();
958                 public void end (string session_id, string participant);
959                 public void error (string error);
960                 public unowned Purple.Account get_account ();
961                 public unowned GLib.List get_active_local_candidates (string sess_id, string participant);
962                 public unowned GLib.List get_active_remote_candidates (string sess_id, string participant);
963                 public unowned string get_available_params ();
964                 public unowned GLib.List get_codecs (string sess_id);
965                 public unowned GLib.List get_local_candidates (string sess_id, string participant);
966                 public void* get_manager ();
967                 public void* get_prpl_data ();
968                 public unowned GLib.List get_session_ids ();
969                 public Purple.MediaSessionType get_session_type (string sess_id);
970                 public unowned Gst.Element get_src (string sess_id);
971                 public unowned Gst.Element get_tee (string session_id, string participant);
972                 public static GLib.Type info_type_get_type ();
973                 public bool is_initiator (string sess_id, string participant);
974                 public static GLib.Type network_protocol_get_type ();
975                 public bool param_is_supported (string param);
976                 public void remove_output_windows ();
977                 public bool send_dtmf (string session_id, char dtmf, uchar volume, uint16 duration);
978                 public static GLib.Type session_type_get_type ();
979                 public bool set_decryption_parameters (string sess_id, string participant, string cipher, string auth, string key, size_t key_len);
980                 public bool set_encryption_parameters (string sess_id, string cipher, string auth, string key, size_t key_len);
981                 public void set_input_volume (string session_id, double level);
982                 public void set_output_volume (string session_id, string participant, double level);
983                 public ulong set_output_window (string session_id, string participant, ulong window_id);
984                 public void set_params (uint num_params, GLib.Parameter @params);
985                 public void set_prpl_data (void* prpl_data);
986                 public bool set_remote_codecs (string sess_id, string participant, GLib.List codecs);
987                 public bool set_send_codec (string sess_id, Purple.MediaCodec codec);
988                 public bool set_send_rtcp_mux (string sess_id, string participant, bool send_rtcp_mux);
989                 public static GLib.Type state_changed_get_type ();
990                 public void stream_info (Purple.MediaInfoType type, string session_id, string participant, bool local);
991         }
992         [CCode (cheader_filename = "purple.h")]
993         [Compact]
994         public class MediaAppDataCallbacks {
995                 public weak GLib.Callback readable;
996                 public weak GLib.Callback writable;
997         }
998         [CCode (cheader_filename = "purple.h")]
999         [Compact]
1000         public class MediaBackend {
1001                 public void add_remote_candidates (string sess_id, string participant, GLib.List remote_candidates);
1002                 public bool add_stream (string sess_id, string who, Purple.MediaSessionType type, bool initiator, string transmitter, uint num_params, GLib.Parameter @params);
1003                 public bool codecs_ready (string sess_id);
1004                 public unowned string get_available_params ();
1005                 public unowned GLib.List get_codecs (string sess_id);
1006                 public unowned GLib.List get_local_candidates (string sess_id, string participant);
1007                 public bool set_decryption_parameters (string sess_id, string participant, string cipher, string auth, string key, size_t key_len);
1008                 public bool set_encryption_parameters (string sess_id, string cipher, string auth, string key, size_t key_len);
1009                 public void set_params (uint num_params, GLib.Parameter @params);
1010                 public bool set_remote_codecs (string sess_id, string participant, GLib.List codecs);
1011                 public bool set_send_codec (string sess_id, Purple.MediaCodec codec);
1012                 public bool set_send_rtcp_mux (string sess_id, string participant, bool send_rtcp_mux);
1013         }
1014         [CCode (cheader_filename = "purple.h")]
1015         [Compact]
1016         public class MediaBackendIface {
1017                 public weak GLib.Callback add_remote_candidates;
1018                 public weak GLib.Callback add_stream;
1019                 public weak GLib.Callback codecs_ready;
1020                 public weak GLib.Callback get_available_params;
1021                 public weak GLib.Callback get_codecs;
1022                 public weak GLib.Callback get_local_candidates;
1023                 public weak GLib.TypeInterface parent_iface;
1024                 public weak GLib.Callback send_dtmf;
1025                 public weak GLib.Callback set_decryption_parameters;
1026                 public weak GLib.Callback set_encryption_parameters;
1027                 public weak GLib.Callback set_params;
1028                 public weak GLib.Callback set_remote_codecs;
1029                 public weak GLib.Callback set_send_codec;
1030                 public weak GLib.Callback set_send_rtcp_mux;
1031         }
1032         [CCode (cheader_filename = "purple.h", copy_function = "purple_media_candidate_copy")]
1033         [Compact]
1034         public class MediaCandidate {
1035                 [CCode (has_construct_function = false)]
1036                 public MediaCandidate (string foundation, uint component_id, Purple.MediaCandidateType type, Purple.MediaNetworkProtocol proto, string ip, uint port);
1037                 public unowned Purple.MediaCandidate copy ();
1038                 public unowned string get_base_ip ();
1039                 public uint16 get_base_port ();
1040                 public Purple.MediaCandidateType get_candidate_type ();
1041                 public uint get_component_id ();
1042                 public unowned string get_foundation ();
1043                 public unowned string get_ip ();
1044                 public unowned string get_password ();
1045                 public uint16 get_port ();
1046                 public uint32 get_priority ();
1047                 public Purple.MediaNetworkProtocol get_protocol ();
1048                 public uint get_ttl ();
1049                 public unowned string get_username ();
1050                 public static unowned GLib.List list_copy (GLib.List candidates);
1051                 public static void list_free (GLib.List candidates);
1052                 public static GLib.Type type_get_type ();
1053         }
1054         [CCode (cheader_filename = "purple.h", copy_function = "purple_media_codec_copy")]
1055         [Compact]
1056         public class MediaCodec {
1057                 [CCode (has_construct_function = false)]
1058                 public MediaCodec (int id, string encoding_name, Purple.MediaSessionType media_type, uint clock_rate);
1059                 public void add_optional_parameter (string name, string value);
1060                 public unowned Purple.MediaCodec copy ();
1061                 public uint get_channels ();
1062                 public uint get_clock_rate ();
1063                 public unowned string get_encoding_name ();
1064                 public uint get_id ();
1065                 public unowned Purple.KeyValuePair get_optional_parameter (string name, string value);
1066                 public unowned GLib.List get_optional_parameters ();
1067                 public static unowned GLib.List list_copy (GLib.List codecs);
1068                 public static void list_free (GLib.List codecs);
1069                 public void remove_optional_parameter (Purple.KeyValuePair param);
1070                 public unowned string to_string ();
1071         }
1072         [CCode (cheader_filename = "purple.h")]
1073         [Compact]
1074         public class MediaElementInfo {
1075                 public unowned Gst.Element call_create (Purple.Media media, string session_id, string participant);
1076                 public Purple.MediaElementType get_element_type ();
1077                 public unowned string get_id ();
1078                 public unowned string get_name ();
1079         }
1080         [CCode (cheader_filename = "purple.h")]
1081         [Compact]
1082         public class MediaElementInfoClass {
1083         }
1084         [CCode (cheader_filename = "purple.h")]
1085         [Compact]
1086         public class MediaManager {
1087                 public unowned Purple.Media create_media (Purple.Account account, string conference_type, string remote_user, bool initiator);
1088                 public bool create_output_window (Purple.Media media, string session_id, string participant);
1089                 public unowned Purple.Media create_private_media (Purple.Account account, string conference_type, string remote_user, bool initiator);
1090                 public static unowned Purple.MediaManager @get ();
1091                 public unowned Purple.MediaElementInfo get_active_element (Purple.MediaElementType type);
1092                 public GLib.Type get_backend_type ();
1093                 public unowned Gst.Element get_element (Purple.MediaSessionType type, Purple.Media media, string session_id, string participant);
1094                 public unowned Purple.MediaElementInfo get_element_info (string name);
1095                 public unowned GLib.List get_media ();
1096                 public unowned GLib.List get_media_by_account (Purple.Account account);
1097                 public unowned Gst.Element get_pipeline ();
1098                 public unowned GLib.List get_private_media ();
1099                 public unowned GLib.List get_private_media_by_account (Purple.Account account);
1100                 public Purple.MediaCaps get_ui_caps ();
1101                 public unowned Gst.Caps get_video_caps ();
1102                 public int receive_application_data (Purple.Media media, string session_id, string participant, void* buffer, uint max_size, bool blocking);
1103                 public bool register_element (Purple.MediaElementInfo info);
1104                 public void remove_media (Purple.Media media);
1105                 public bool remove_output_window (ulong output_window_id);
1106                 public void remove_output_windows (Purple.Media media, string session_id, string participant);
1107                 public int send_application_data (Purple.Media media, string session_id, string participant, void* buffer, uint size, bool blocking);
1108                 public bool set_active_element (Purple.MediaElementInfo info);
1109                 public void set_application_data_callbacks (Purple.Media media, string session_id, string participant, Purple.MediaAppDataCallbacks callbacks, GLib.DestroyNotify notify);
1110                 public void set_backend_type (GLib.Type backend_type);
1111                 public ulong set_output_window (Purple.Media media, string session_id, string participant, ulong window_id);
1112                 public void set_ui_caps (Purple.MediaCaps caps);
1113                 public void set_video_caps (Gst.Caps caps);
1114                 public bool unregister_element (string name);
1115         }
1116         [CCode (cheader_filename = "purple.h")]
1117         [Compact]
1118         public class MediaManagerClass {
1119         }
1120         [CCode (cheader_filename = "purple.h")]
1121         [Compact]
1122         public class MenuAction {
1123                 public weak Purple.Callback callback;
1124                 public weak GLib.List children;
1125                 public void* data;
1126                 public weak string label;
1127                 [CCode (has_construct_function = false)]
1128                 public MenuAction (string label, Purple.Callback callback, void* data, GLib.List children);
1129         }
1130         [CCode (cheader_filename = "purple.h")]
1131         [Compact]
1132         public class MimeDocument {
1133                 [CCode (has_construct_function = false)]
1134                 public MimeDocument ();
1135                 public unowned string get_field (string field);
1136                 public unowned GLib.List get_fields ();
1137                 public unowned GLib.List get_parts ();
1138                 public static unowned Purple.MimeDocument parse (string buf);
1139                 public static unowned Purple.MimeDocument parsen (string buf, size_t len);
1140                 public void set_field (string field, string value);
1141                 public void write (GLib.StringBuilder str);
1142         }
1143         [CCode (cheader_filename = "purple.h")]
1144         [Compact]
1145         public class MimePart {
1146                 [CCode (has_construct_function = false)]
1147                 public MimePart (Purple.MimeDocument doc);
1148                 public unowned string get_data ();
1149                 public void get_data_decoded (uchar[] data, size_t len);
1150                 public unowned string get_field (string field);
1151                 public unowned string get_field_decoded (string field);
1152                 public unowned GLib.List get_fields ();
1153                 public size_t get_length ();
1154                 public void set_data (string data);
1155                 public void set_field (string field, string value);
1156         }
1157         [CCode (cheader_filename = "purple.h")]
1158         [Compact]
1159         public class Mood {
1160                 public weak string description;
1161                 public weak string mood;
1162                 public void* padding;
1163         }
1164         [CCode (cheader_filename = "purple.h")]
1165         [Compact]
1166         public class NetworkListenData {
1167         }
1168         [CCode (cheader_filename = "purple.h")]
1169         [Compact]
1170         public class NotifySearchButton {
1171                 public weak Purple.NotifySearchResultsCallback callback;
1172                 public weak string label;
1173                 public Purple.NotifySearchButtonType type;
1174         }
1175         [CCode (cheader_filename = "purple.h")]
1176         [Compact]
1177         public class NotifySearchColumn {
1178                 public weak string title;
1179         }
1180         [CCode (cheader_filename = "purple.h", free_function = "purple_notify_searchresults_free")]
1181         [Compact]
1182         public class NotifySearchResults {
1183                 public weak GLib.List buttons;
1184                 public weak GLib.List columns;
1185                 [CCode (cname = "purple_notify_searchresults_new", has_construct_function = false)]
1186                 public NotifySearchResults ();
1187                 [CCode (cname = "purple_notify_searchresults_button_add")]
1188                 public void button_add (Purple.NotifySearchButtonType type, Purple.NotifySearchResultsCallback cb);
1189                 [CCode (cname = "purple_notify_searchresults_button_add_labeled")]
1190                 public void button_add_labeled (string label, Purple.NotifySearchResultsCallback cb);
1191                 [CCode (cname = "purple_notify_searchresults_column_add")]
1192                 public void column_add (Purple.NotifySearchColumn column);
1193                 [CCode (cname = "purple_notify_searchresults_column_get_title")]
1194                 public unowned string column_get_title (uint column_id);
1195                 [CCode (cname = "purple_notify_searchresults_column_new")]
1196                 public static unowned Purple.NotifySearchColumn column_new (string title);
1197                 [CCode (cname = "purple_notify_searchresults_get_columns_count")]
1198                 public uint get_columns_count ();
1199                 [CCode (cname = "purple_notify_searchresults_get_rows_count")]
1200                 public uint get_rows_count ();
1201                 [CCode (cname = "purple_notify_searchresults_row_add")]
1202                 public void row_add (GLib.List row);
1203                 [CCode (cname = "purple_notify_searchresults_row_get")]
1204                 public unowned GLib.List row_get (uint row_id);
1205                 [CCode (cname = "purple_notify_searchresults_new_rows", has_construct_function = false, type = "void")]
1206                 public NotifySearchResults.rows (Purple.Connection gc, Purple.NotifySearchResults results, void* data);
1207         }
1208         [CCode (cheader_filename = "purple.h")]
1209         [Compact]
1210         public class NotifyUiOps {
1211                 public weak GLib.Callback close_notify;
1212                 public weak GLib.Callback notify_email;
1213                 public weak GLib.Callback notify_emails;
1214                 public weak GLib.Callback notify_formatted;
1215                 public weak GLib.Callback notify_message;
1216                 public weak GLib.Callback notify_searchresults;
1217                 public weak GLib.Callback notify_searchresults_new_rows;
1218                 public weak GLib.Callback notify_uri;
1219                 public weak GLib.Callback notify_userinfo;
1220         }
1221         [CCode (cheader_filename = "purple.h", free_function = "purple_notify_user_info_destroy")]
1222         [Compact]
1223         public class NotifyUserInfo {
1224                 [CCode (has_construct_function = false)]
1225                 public NotifyUserInfo ();
1226                 public void add_pair (string label, string value);
1227                 public void add_pair_plaintext (string label, string value);
1228                 public void add_section_break ();
1229                 public void add_section_header (string label);
1230                 public unowned GLib.List get_entries ();
1231                 public unowned string get_text_with_newline (string newline);
1232                 public void prepend_pair (string label, string value);
1233                 public void prepend_section_break ();
1234                 public void prepend_section_header (string label);
1235                 public void remove_entry (Purple.NotifyUserInfoEntry user_info_entry);
1236                 public void remove_last_item ();
1237         }
1238         [CCode (cheader_filename = "purple.h")]
1239         [Compact]
1240         public class NotifyUserInfoEntry {
1241                 [CCode (has_construct_function = false)]
1242                 public NotifyUserInfoEntry (string label, string value);
1243                 public unowned string get_label ();
1244                 public unowned string get_value ();
1245                 public void set_label (string label);
1246                 public void set_type (Purple.NotifyUserInfoEntryType type);
1247                 public void set_value (string value);
1248         }
1249         [CCode (cheader_filename = "purple.h", free_function = "purple_plugin_destroy")]
1250         [Compact]
1251         public class Plugin {
1252                 public weak GLib.List dependent_plugins;
1253                 public weak string error;
1254                 public void* extra;
1255                 public void* handle;
1256                 public weak Purple.PluginInfo info;
1257                 public void* ipc_data;
1258                 public bool loaded;
1259                 public bool native_plugin;
1260                 public weak string path;
1261                 public bool unloadable;
1262                 [CCode (has_construct_function = false)]
1263                 public Plugin (bool native, string path);
1264                 public void disable ();
1265                 public unowned string get_author ();
1266                 public unowned string get_description ();
1267                 public unowned string get_homepage ();
1268                 public unowned string get_id ();
1269                 public unowned string get_name ();
1270                 public unowned string get_summary ();
1271                 public unowned string get_version ();
1272                 public void* ipc_call (string command, bool ok);
1273                 public bool ipc_get_params (string command, out unowned Purple.Value ret_value, int num_params, out unowned Purple.Value @params);
1274                 public bool ipc_register (string command, Purple.Callback func, Purple.SignalMarshalFunc marshal, Purple.Value ret_value, int num_params);
1275                 public void ipc_unregister (string command);
1276                 public void ipc_unregister_all ();
1277                 public bool is_loaded ();
1278                 public bool is_unloadable ();
1279                 public bool load ();
1280                 public static unowned Purple.Plugin probe (string filename);
1281                 public bool register ();
1282                 public bool reload ();
1283                 public bool unload ();
1284         }
1285         [CCode (cheader_filename = "purple.h")]
1286         [Compact]
1287         public class PluginAction {
1288                 public weak GLib.Callback callback;
1289                 public void* context;
1290                 public weak string label;
1291                 public weak Purple.Plugin plugin;
1292                 public void* user_data;
1293                 [CCode (has_construct_function = false)]
1294                 public PluginAction (string label, GLib.Callback callback);
1295         }
1296         [CCode (cheader_filename = "purple.h")]
1297         [Compact]
1298         public class PluginInfo {
1299                 public weak GLib.Callback actions;
1300                 public weak string author;
1301                 public weak GLib.List dependencies;
1302                 public weak string description;
1303                 public weak GLib.Callback destroy;
1304                 public void* extra_info;
1305                 public uint flags;
1306                 public weak string homepage;
1307                 public weak string id;
1308                 public weak GLib.Callback load;
1309                 public uint magic;
1310                 public uint major_version;
1311                 public uint minor_version;
1312                 public weak string name;
1313                 public weak Purple.PluginUiInfo prefs_info;
1314                 public weak Purple.PluginPriority priority;
1315                 public weak string summary;
1316                 public Purple.PluginType type;
1317                 public void* ui_info;
1318                 public weak string ui_requirement;
1319                 public weak GLib.Callback unload;
1320                 public weak string version;
1321         }
1322         [CCode (cheader_filename = "purple.h")]
1323         [Compact]
1324         public class PluginLoaderInfo {
1325                 public weak GLib.Callback destroy;
1326                 public weak GLib.List exts;
1327                 public weak GLib.Callback load;
1328                 public weak GLib.Callback probe;
1329                 public weak GLib.Callback unload;
1330         }
1331         [CCode (cheader_filename = "purple.h", free_function = "purple_plugin_pref_destroy")]
1332         [Compact]
1333         public class PluginPref {
1334                 [CCode (has_construct_function = false)]
1335                 public PluginPref ();
1336                 public void add_choice (string label, void* choice);
1337                 public void get_bounds (int min, int max);
1338                 public unowned GLib.List get_choices ();
1339                 public Purple.StringFormatType get_format_type ();
1340                 public unowned string get_label ();
1341                 public bool get_masked ();
1342                 public uint get_max_length ();
1343                 public unowned string get_name ();
1344                 public void set_bounds (int min, int max);
1345                 public void set_format_type (Purple.StringFormatType format);
1346                 public void set_label (string label);
1347                 public void set_masked (bool mask);
1348                 public void set_max_length (uint max_length);
1349                 public void set_name (string name);
1350                 public void set_type (Purple.PluginPrefType type);
1351                 [CCode (has_construct_function = false)]
1352                 public PluginPref.with_label (string label);
1353                 [CCode (has_construct_function = false)]
1354                 public PluginPref.with_name (string name);
1355                 [CCode (has_construct_function = false)]
1356                 public PluginPref.with_name_and_label (string name, string label);
1357         }
1358         [CCode (cheader_filename = "purple.h", free_function = "purple_plugin_pref_frame_destroy")]
1359         [Compact]
1360         public class PluginPrefFrame {
1361                 [CCode (has_construct_function = false)]
1362                 public PluginPrefFrame ();
1363                 public void add (Purple.PluginPref pref);
1364                 public unowned GLib.List get_prefs ();
1365         }
1366         [CCode (cheader_filename = "purple.h")]
1367         [Compact]
1368         public class PluginPriority {
1369         }
1370         [CCode (cheader_filename = "purple.h")]
1371         [Compact]
1372         public class PluginProtocolInfo {
1373                 public weak GLib.Callback add_buddies;
1374                 public weak GLib.Callback add_buddies_with_invite;
1375                 public weak GLib.Callback add_buddy;
1376                 public weak GLib.Callback add_buddy_with_invite;
1377                 public weak GLib.Callback add_deny;
1378                 public weak GLib.Callback add_permit;
1379                 public weak GLib.Callback alias_buddy;
1380                 public weak GLib.Callback blist_node_menu;
1381                 public weak GLib.Callback buddy_free;
1382                 public weak GLib.Callback can_receive_file;
1383                 public weak GLib.Callback change_passwd;
1384                 public weak GLib.Callback chat_info;
1385                 public weak GLib.Callback chat_info_defaults;
1386                 public weak GLib.Callback chat_invite;
1387                 public weak GLib.Callback chat_leave;
1388                 public weak GLib.Callback chat_send;
1389                 public weak GLib.Callback chat_whisper;
1390                 public weak GLib.Callback close;
1391                 public weak GLib.Callback convo_closed;
1392                 public weak GLib.Callback find_blist_chat;
1393                 public weak GLib.Callback get_account_text_table;
1394                 public weak GLib.Callback get_attention_types;
1395                 public weak GLib.Callback get_cb_away;
1396                 public weak GLib.Callback get_cb_info;
1397                 public weak GLib.Callback get_cb_real_name;
1398                 public weak GLib.Callback get_chat_name;
1399                 public weak GLib.Callback get_info;
1400                 public weak GLib.Callback get_media_caps;
1401                 public weak GLib.Callback get_moods;
1402                 public weak GLib.Callback get_public_alias;
1403                 public weak GLib.Callback group_buddy;
1404                 public weak Purple.BuddyIconSpec icon_spec;
1405                 public weak GLib.Callback initiate_media;
1406                 public weak GLib.Callback join_chat;
1407                 public weak GLib.Callback keepalive;
1408                 public weak GLib.Callback list_emblem;
1409                 public weak GLib.Callback list_icon;
1410                 public weak GLib.Callback login;
1411                 public weak GLib.Callback new_xfer;
1412                 public weak GLib.Callback normalize;
1413                 public weak GLib.Callback offline_message;
1414                 public Purple.ProtocolOptions options;
1415                 public weak GLib.List protocol_options;
1416                 public weak GLib.Callback register_user;
1417                 public weak GLib.Callback reject_chat;
1418                 public weak GLib.Callback rem_deny;
1419                 public weak GLib.Callback rem_permit;
1420                 public weak GLib.Callback remove_buddies;
1421                 public weak GLib.Callback remove_buddy;
1422                 public weak GLib.Callback remove_group;
1423                 public weak GLib.Callback rename_group;
1424                 public weak GLib.Callback roomlist_cancel;
1425                 public weak GLib.Callback roomlist_expand_category;
1426                 public weak GLib.Callback roomlist_get_list;
1427                 public weak GLib.Callback roomlist_room_serialize;
1428                 public weak GLib.Callback send_attention;
1429                 public weak GLib.Callback send_file;
1430                 public weak GLib.Callback send_im;
1431                 public weak GLib.Callback send_raw;
1432                 public weak GLib.Callback send_typing;
1433                 public weak GLib.Callback set_buddy_icon;
1434                 public weak GLib.Callback set_chat_topic;
1435                 public weak GLib.Callback set_idle;
1436                 public weak GLib.Callback set_info;
1437                 public weak GLib.Callback set_permit_deny;
1438                 public weak GLib.Callback set_public_alias;
1439                 public weak GLib.Callback set_status;
1440                 public weak GLib.Callback status_text;
1441                 public weak GLib.Callback status_types;
1442                 public uint struct_size;
1443                 public weak GLib.Callback tooltip_text;
1444                 public weak GLib.Callback unregister_user;
1445                 public weak GLib.List user_splits;
1446                 public weak Purple.WhiteboardPrplOps whiteboard_prpl_ops;
1447         }
1448         [CCode (cheader_filename = "purple.h")]
1449         [Compact]
1450         public class PluginUiInfo {
1451                 public weak Purple.PluginPrefFrame frame;
1452                 public weak GLib.Callback get_plugin_pref_frame;
1453                 public int page_num;
1454         }
1455         [CCode (cheader_filename = "purple.h", free_function = "purple_pounce_destroy")]
1456         [Compact]
1457         public class Pounce {
1458                 public weak GLib.HashTable actions;
1459                 public void* data;
1460                 public Purple.PounceEvent events;
1461                 public Purple.PounceOption options;
1462                 public weak string pouncee;
1463                 public weak Purple.Account pouncer;
1464                 public bool save;
1465                 public weak string ui_type;
1466                 [CCode (has_construct_function = false)]
1467                 public Pounce (string ui_type, Purple.Account pouncer, string pouncee, Purple.PounceEvent event, Purple.PounceOption option);
1468                 public unowned string action_get_attribute (string action, string attr);
1469                 public bool action_is_enabled (string action);
1470                 public void action_register (string name);
1471                 public void action_set_attribute (string action, string attr, string value);
1472                 public void action_set_enabled (string action, bool enabled);
1473                 public static void destroy_all_by_account (Purple.Account account);
1474                 public static void destroy_all_by_buddy (Purple.Buddy buddy);
1475                 public static void execute (Purple.Account pouncer, string pouncee, Purple.PounceEvent events);
1476                 public void* get_data ();
1477                 public Purple.PounceEvent get_events ();
1478                 public Purple.PounceOption get_options ();
1479                 public unowned string get_pouncee ();
1480                 public unowned Purple.Account get_pouncer ();
1481                 public bool get_save ();
1482                 public void set_data (void* data);
1483                 public void set_events (Purple.PounceEvent events);
1484                 public void set_options (Purple.PounceOption options);
1485                 public void set_pouncee (string pouncee);
1486                 public void set_pouncer (Purple.Account pouncer);
1487                 public void set_save (bool save);
1488         }
1489         [CCode (cheader_filename = "purple.h")]
1490         [Compact]
1491         public class PrefCallbackData {
1492         }
1493         [CCode (cheader_filename = "purple.h")]
1494         [Compact]
1495         public class PrefsUiOps {
1496                 public weak GLib.Callback add_bool;
1497                 public weak GLib.Callback add_int;
1498                 public weak GLib.Callback add_none;
1499                 public weak GLib.Callback add_string;
1500                 public weak GLib.Callback add_string_list;
1501                 public weak GLib.Callback connect_callback;
1502                 public weak GLib.Callback disconnect_callback;
1503                 public weak GLib.Callback exists;
1504                 public weak GLib.Callback get_bool;
1505                 public weak GLib.Callback get_children_names;
1506                 public weak GLib.Callback get_int;
1507                 public weak GLib.Callback get_string;
1508                 public weak GLib.Callback get_string_list;
1509                 public weak GLib.Callback get_type;
1510                 public weak GLib.Callback load;
1511                 public weak GLib.Callback remove;
1512                 public weak GLib.Callback rename;
1513                 public weak GLib.Callback rename_boolean_toggle;
1514                 public weak GLib.Callback save;
1515                 public weak GLib.Callback schedule_save;
1516                 public weak GLib.Callback set_bool;
1517                 public weak GLib.Callback set_int;
1518                 public weak GLib.Callback set_string;
1519                 public weak GLib.Callback set_string_list;
1520         }
1521         [CCode (cheader_filename = "purple.h", free_function = "purple_presence_destroy")]
1522         [Compact]
1523         public class Presence {
1524                 [CCode (has_construct_function = false)]
1525                 public Presence (Purple.PresenceContext context);
1526                 public void add_list (GLib.List source_list);
1527                 public void add_status (Purple.Status status);
1528                 public int compare (Purple.Presence presence2);
1529                 [CCode (has_construct_function = false)]
1530                 public Presence.for_account (Purple.Account account);
1531                 [CCode (has_construct_function = false)]
1532                 public Presence.for_buddy (Purple.Buddy buddy);
1533                 [CCode (has_construct_function = false)]
1534                 public Presence.for_conv (Purple.Conversation conv);
1535                 public unowned Purple.Account get_account ();
1536                 public unowned Purple.Status get_active_status ();
1537                 public unowned Purple.Buddy get_buddy ();
1538                 public unowned string get_chat_user ();
1539                 public Purple.PresenceContext get_context ();
1540                 public unowned Purple.Conversation get_conversation ();
1541                 public ulong get_idle_time ();
1542                 public ulong get_login_time ();
1543                 public unowned Purple.Status get_status (string status_id);
1544                 public unowned GLib.List get_statuses ();
1545                 public bool is_available ();
1546                 public bool is_idle ();
1547                 public bool is_online ();
1548                 public bool is_status_active (string status_id);
1549                 public bool is_status_primitive_active (Purple.StatusPrimitive primitive);
1550                 public void set_idle (bool idle, ulong idle_time);
1551                 public void set_login_time (ulong login_time);
1552                 public void set_status_active (string status_id, bool active);
1553                 public void switch_status (string status_id);
1554         }
1555         [CCode (cheader_filename = "purple.h")]
1556         [Compact]
1557         public class PrivacyUiOps {
1558                 public weak GLib.Callback deny_added;
1559                 public weak GLib.Callback deny_removed;
1560                 public weak GLib.Callback permit_added;
1561                 public weak GLib.Callback permit_removed;
1562         }
1563         [CCode (cheader_filename = "purple.h")]
1564         [Compact]
1565         public class ProxyConnectData {
1566         }
1567         [CCode (cheader_filename = "purple.h", free_function = "purple_proxy_info_destroy")]
1568         [Compact]
1569         public class ProxyInfo {
1570                 public weak string host;
1571                 public weak string password;
1572                 public int port;
1573                 public Purple.ProxyType type;
1574                 public weak string username;
1575                 [CCode (has_construct_function = false)]
1576                 public ProxyInfo ();
1577                 public unowned string get_host ();
1578                 public unowned string get_password ();
1579                 public int get_port ();
1580                 public unowned string get_username ();
1581                 public void set_host (string host);
1582                 public void set_password (string password);
1583                 public void set_port (int port);
1584                 public void set_type (Purple.ProxyType type);
1585                 public void set_username (string username);
1586         }
1587         [CCode (cheader_filename = "purple.h", free_function = "purple_request_field_destroy")]
1588         [Compact]
1589         public class RequestField {
1590                 public weak Purple.RequestFieldGroup group;
1591                 public weak string id;
1592                 public weak string label;
1593                 public bool required;
1594                 public Purple.RequestFieldType type;
1595                 public weak string type_hint;
1596                 public void* u;
1597                 public void* ui_data;
1598                 public bool visible;
1599                 [CCode (has_construct_function = false)]
1600                 public RequestField (string id, string text, Purple.RequestFieldType type);
1601                 public unowned Purple.Account account_get_default_value ();
1602                 public unowned Purple.FilterAccountFunc account_get_filter ();
1603                 public bool account_get_show_all ();
1604                 public unowned Purple.Account account_get_value ();
1605                 public static unowned Purple.RequestField account_new (string id, string text, Purple.Account account);
1606                 public void account_set_default_value (Purple.Account default_value);
1607                 public void account_set_filter (Purple.FilterAccountFunc filter_func);
1608                 public void account_set_show_all (bool show_all);
1609                 public void account_set_value (Purple.Account value);
1610                 public bool bool_get_default_value ();
1611                 public bool bool_get_value ();
1612                 public static unowned Purple.RequestField bool_new (string id, string text, bool default_value);
1613                 public void bool_set_default_value (bool default_value);
1614                 public void bool_set_value (bool value);
1615                 public void choice_add (string label);
1616                 public int choice_get_default_value ();
1617                 public unowned GLib.List choice_get_labels ();
1618                 public int choice_get_value ();
1619                 public static unowned Purple.RequestField choice_new (string id, string text, int default_value);
1620                 public void choice_set_default_value (int default_value);
1621                 public void choice_set_value (int value);
1622                 public unowned Purple.RequestFieldGroup get_group ();
1623                 public unowned string get_id ();
1624                 public unowned string get_label ();
1625                 public unowned string get_type_hint ();
1626                 public void* get_ui_data ();
1627                 public unowned string image_get_buffer ();
1628                 public uint image_get_scale_x ();
1629                 public uint image_get_scale_y ();
1630                 public size_t image_get_size ();
1631                 public static unowned Purple.RequestField image_new (string id, string text, string buf, size_t size);
1632                 public void image_set_scale (uint x, uint y);
1633                 public int int_get_default_value ();
1634                 public int int_get_value ();
1635                 public static unowned Purple.RequestField int_new (string id, string text, int default_value);
1636                 public void int_set_default_value (int default_value);
1637                 public void int_set_value (int value);
1638                 public bool is_required ();
1639                 public bool is_visible ();
1640                 public static unowned Purple.RequestField label_new (string id, string text);
1641                 public void list_add (string item, void* data);
1642                 public void list_add_icon (string item, string icon_path, void* data);
1643                 public void list_add_selected (string item);
1644                 public void list_clear_selected ();
1645                 public void* list_get_data (string text);
1646                 public unowned GLib.List list_get_icons ();
1647                 public unowned GLib.List list_get_items ();
1648                 public bool list_get_multi_select ();
1649                 public unowned GLib.List list_get_selected ();
1650                 public bool list_is_selected (string item);
1651                 public static unowned Purple.RequestField list_new (string id, string text);
1652                 public void list_set_multi_select (bool multi_select);
1653                 public void list_set_selected (GLib.List items);
1654                 public void set_label (string label);
1655                 public void set_required (bool required);
1656                 public void set_type_hint (string type_hint);
1657                 public void set_ui_data (void* ui_data);
1658                 public void set_visible (bool visible);
1659                 public unowned string string_get_default_value ();
1660                 public unowned string string_get_value ();
1661                 public bool string_is_editable ();
1662                 public bool string_is_masked ();
1663                 public bool string_is_multiline ();
1664                 public static unowned Purple.RequestField string_new (string id, string text, string default_value, bool multiline);
1665                 public void string_set_default_value (string default_value);
1666                 public void string_set_editable (bool editable);
1667                 public void string_set_masked (bool masked);
1668                 public void string_set_value (string value);
1669         }
1670         [CCode (cheader_filename = "purple.h", free_function = "purple_request_field_group_destroy")]
1671         [Compact]
1672         public class RequestFieldGroup {
1673                 public weak GLib.List fields;
1674                 public weak Purple.RequestFields fields_list;
1675                 public weak string title;
1676                 [CCode (has_construct_function = false)]
1677                 public RequestFieldGroup (string title);
1678                 public void add_field (Purple.RequestField field);
1679                 public unowned GLib.List get_fields ();
1680                 public unowned string get_title ();
1681         }
1682         [CCode (cheader_filename = "purple.h", free_function = "purple_request_fields_destroy")]
1683         [Compact]
1684         public class RequestFields {
1685                 public weak GLib.HashTable fields;
1686                 public weak GLib.List groups;
1687                 public weak GLib.List required_fields;
1688                 public void* ui_data;
1689                 [CCode (has_construct_function = false)]
1690                 public RequestFields ();
1691                 public void add_group (Purple.RequestFieldGroup group);
1692                 public bool all_required_filled ();
1693                 public bool exists (string id);
1694                 public unowned Purple.Account get_account (string id);
1695                 public bool get_bool (string id);
1696                 public int get_choice (string id);
1697                 public unowned Purple.RequestField get_field (string id);
1698                 public unowned GLib.List get_groups ();
1699                 public int get_integer (string id);
1700                 public unowned GLib.List get_required ();
1701                 public unowned string get_string (string id);
1702                 public bool is_field_required (string id);
1703         }
1704         [CCode (cheader_filename = "purple.h")]
1705         [Compact]
1706         public class RequestUiOps {
1707                 public weak GLib.Callback close_request;
1708                 public weak GLib.Callback request_action;
1709                 public weak GLib.Callback request_action_with_icon;
1710                 public weak GLib.Callback request_choice;
1711                 public weak GLib.Callback request_fields;
1712                 public weak GLib.Callback request_file;
1713                 public weak GLib.Callback request_folder;
1714                 public weak GLib.Callback request_input;
1715         }
1716         [CCode (cheader_filename = "purple.h", ref_function = "purple_roomlist_ref", ref_function_void = true, unref_function = "purple_roomlist_unref")]
1717         [Compact]
1718         public class Roomlist {
1719                 public weak Purple.Account account;
1720                 public weak GLib.List fields;
1721                 public bool in_progress;
1722                 public void* proto_data;
1723                 public uint @ref;
1724                 public weak GLib.List rooms;
1725                 public void* ui_data;
1726                 [CCode (has_construct_function = false)]
1727                 public Roomlist (Purple.Account account);
1728                 public void cancel_get_list ();
1729                 public void expand_category (Purple.RoomlistRoom category);
1730                 public unowned GLib.List get_fields ();
1731                 public bool get_in_progress ();
1732                 public static unowned Purple.Roomlist get_list (Purple.Connection gc);
1733                 public static unowned Purple.RoomlistUiOps get_ui_ops ();
1734                 public void set_fields (GLib.List fields);
1735                 public void set_in_progress (bool in_progress);
1736                 public static void set_ui_ops (Purple.RoomlistUiOps ops);
1737                 public static void show_with_account (Purple.Account account);
1738         }
1739         [CCode (cheader_filename = "purple.h")]
1740         [Compact]
1741         public class RoomlistField {
1742                 public bool hidden;
1743                 public weak string label;
1744                 public weak string name;
1745                 public Purple.RoomlistFieldType type;
1746                 [CCode (has_construct_function = false)]
1747                 public RoomlistField (Purple.RoomlistFieldType type, string label, string name, bool hidden);
1748                 public bool get_hidden ();
1749                 public unowned string get_label ();
1750         }
1751         [CCode (cheader_filename = "purple.h")]
1752         [Compact]
1753         public class RoomlistRoom {
1754                 public bool expanded_once;
1755                 public weak GLib.List fields;
1756                 public weak string name;
1757                 public weak Purple.RoomlistRoom parent;
1758                 public Purple.RoomlistRoomType type;
1759                 [CCode (has_construct_function = false)]
1760                 public RoomlistRoom (Purple.RoomlistRoomType type, string name, Purple.RoomlistRoom parent);
1761                 public static void add (Purple.Roomlist list, Purple.RoomlistRoom room);
1762                 public static void add_field (Purple.Roomlist list, Purple.RoomlistRoom room, void* field);
1763                 public unowned GLib.List get_fields ();
1764                 public unowned string get_name ();
1765                 public unowned Purple.RoomlistRoom get_parent ();
1766                 public static void join (Purple.Roomlist list, Purple.RoomlistRoom room);
1767         }
1768         [CCode (cheader_filename = "purple.h")]
1769         [Compact]
1770         public class RoomlistUiOps {
1771                 public weak GLib.Callback add_room;
1772                 public weak GLib.Callback create;
1773                 public weak GLib.Callback destroy;
1774                 public weak GLib.Callback in_progress;
1775                 public weak GLib.Callback set_fields;
1776                 public weak GLib.Callback show_with_account;
1777         }
1778         [CCode (cheader_filename = "purple.h")]
1779         [Compact]
1780         public class SavedStatus {
1781                 [CCode (cname = "purple_savedstatus_new", has_construct_function = false)]
1782                 public SavedStatus (string title, Purple.StatusPrimitive type);
1783                 [CCode (cname = "purple_savedstatus_activate")]
1784                 public void activate ();
1785                 [CCode (cname = "purple_savedstatus_activate_for_account")]
1786                 public void activate_for_account (Purple.Account account);
1787                 [CCode (cname = "purple_savedstatus_delete")]
1788                 public static bool @delete (string title);
1789                 [CCode (cname = "purple_savedstatus_delete_by_status")]
1790                 public void delete_by_status ();
1791                 [CCode (cname = "purple_savedstatus_find")]
1792                 public static unowned Purple.SavedStatus find (string title);
1793                 [CCode (cname = "purple_savedstatus_find_by_creation_time")]
1794                 public static unowned Purple.SavedStatus find_by_creation_time (ulong creation_time);
1795                 [CCode (cname = "purple_savedstatus_find_transient_by_type_and_message")]
1796                 public static unowned Purple.SavedStatus find_transient_by_type_and_message (Purple.StatusPrimitive type, string message);
1797                 [CCode (cname = "purple_savedstatus_get_creation_time")]
1798                 public ulong get_creation_time ();
1799                 [CCode (cname = "purple_savedstatus_get_current")]
1800                 public static unowned Purple.SavedStatus get_current ();
1801                 [CCode (cname = "purple_savedstatus_get_default")]
1802                 public static unowned Purple.SavedStatus get_default ();
1803                 [CCode (cname = "purple_savedstatus_get_idleaway")]
1804                 public static unowned Purple.SavedStatus get_idleaway ();
1805                 [CCode (cname = "purple_savedstatus_get_message")]
1806                 public unowned string get_message ();
1807                 [CCode (cname = "purple_savedstatus_get_startup")]
1808                 public static unowned Purple.SavedStatus get_startup ();
1809                 [CCode (cname = "purple_savedstatus_get_substatus")]
1810                 public unowned Purple.SavedStatusSub get_substatus (Purple.Account account);
1811                 [CCode (cname = "purple_savedstatus_get_title")]
1812                 public unowned string get_title ();
1813                 [CCode (cname = "purple_savedstatus_has_substatuses")]
1814                 public bool has_substatuses ();
1815                 [CCode (cname = "purple_savedstatus_is_idleaway")]
1816                 public static bool is_idleaway ();
1817                 [CCode (cname = "purple_savedstatus_is_transient")]
1818                 public bool is_transient ();
1819                 [CCode (cname = "purple_savedstatus_set_idleaway")]
1820                 public static void set_idleaway (bool idleaway);
1821                 [CCode (cname = "purple_savedstatus_set_message")]
1822                 public void set_message (string message);
1823                 [CCode (cname = "purple_savedstatus_set_substatus")]
1824                 public void set_substatus (Purple.Account account, Purple.StatusType type, string message);
1825                 [CCode (cname = "purple_savedstatus_set_title")]
1826                 public void set_title (string title);
1827                 [CCode (cname = "purple_savedstatus_set_type")]
1828                 public void set_type (Purple.StatusPrimitive type);
1829                 [CCode (cname = "purple_savedstatus_substatus_get_message")]
1830                 public static unowned string substatus_get_message (Purple.SavedStatusSub substatus);
1831                 [CCode (cname = "purple_savedstatus_substatus_get_type")]
1832                 public static unowned Purple.StatusType substatus_get_type (Purple.SavedStatusSub substatus);
1833                 [CCode (cname = "purple_savedstatus_unset_substatus")]
1834                 public void unset_substatus (Purple.Account account);
1835         }
1836         [CCode (cheader_filename = "purple.h")]
1837         [Compact]
1838         public class SavedStatusSub {
1839         }
1840         [CCode (cheader_filename = "purple.h")]
1841         [Compact]
1842         public class Smiley {
1843                 [CCode (has_construct_function = false)]
1844                 public Smiley (Purple.StoredImage img, string shortcut);
1845                 public void @delete ();
1846                 [CCode (has_construct_function = false)]
1847                 public Smiley.from_file (string shortcut, string filepath);
1848                 public unowned string get_checksum ();
1849                 public void* get_data (size_t len);
1850                 public unowned string get_extension ();
1851                 public unowned string get_full_path ();
1852                 public unowned string get_shortcut ();
1853                 public unowned Purple.StoredImage get_stored_image ();
1854                 public void set_data (uchar[] smiley_data, size_t smiley_data_len);
1855                 public bool set_shortcut (string shortcut);
1856         }
1857         [CCode (cheader_filename = "purple.h")]
1858         [Compact]
1859         public class SmileyClass {
1860         }
1861         [CCode (cheader_filename = "purple.h")]
1862         [Compact]
1863         public class SoundTheme {
1864                 public weak Purple.Theme parent;
1865                 public void* priv;
1866                 public unowned string get_file (string event);
1867                 public unowned string get_file_full (string event);
1868                 public void set_file (string event, string filename);
1869         }
1870         [CCode (cheader_filename = "purple.h")]
1871         [Compact]
1872         public class SoundThemeClass {
1873                 public weak Purple.ThemeClass parent_class;
1874         }
1875         [CCode (cheader_filename = "purple.h")]
1876         [Compact]
1877         public class SoundThemeLoader {
1878                 public weak Purple.ThemeLoader parent;
1879         }
1880         [CCode (cheader_filename = "purple.h")]
1881         [Compact]
1882         public class SoundThemeLoaderClass {
1883                 public weak Purple.ThemeLoaderClass parent_class;
1884         }
1885         [CCode (cheader_filename = "purple.h")]
1886         [Compact]
1887         public class SoundUiOps {
1888                 public weak GLib.Callback init;
1889                 public weak GLib.Callback play_event;
1890                 public weak GLib.Callback play_file;
1891                 public weak GLib.Callback uninit;
1892         }
1893         [CCode (cheader_filename = "purple.h")]
1894         [Compact]
1895         public class SrvQueryData {
1896         }
1897         [CCode (cheader_filename = "purple.h")]
1898         [Compact]
1899         public class SrvResponse {
1900                 [CCode (array_length = false)]
1901                 public weak GLib.ObjectPath[] hostname;
1902                 public int port;
1903                 public int pref;
1904                 public int weight;
1905         }
1906         [CCode (cheader_filename = "purple.h")]
1907         [Compact]
1908         public class SrvTxtQueryData {
1909         }
1910         [CCode (cheader_filename = "purple.h")]
1911         [Compact]
1912         public class SrvTxtQueryUiOps {
1913                 public weak GLib.Callback destroy;
1914                 public weak GLib.Callback resolve;
1915         }
1916         [CCode (cheader_filename = "purple.h")]
1917         [Compact]
1918         public class SslConnection {
1919                 public weak Purple.SslInputFunction connect_cb;
1920                 public void* connect_cb_data;
1921                 public weak Purple.ProxyConnectData connect_data;
1922                 public weak Purple.SslErrorFunction error_cb;
1923                 public int fd;
1924                 public weak string host;
1925                 public uint inpa;
1926                 public int port;
1927                 public void* private_data;
1928                 public weak Purple.SslInputFunction recv_cb;
1929                 public void* recv_cb_data;
1930                 public weak Purple.CertificateVerifier verifier;
1931         }
1932         [CCode (cheader_filename = "purple.h")]
1933         [Compact]
1934         public class SslOps {
1935                 public weak GLib.Callback close;
1936                 public weak GLib.Callback connectfunc;
1937                 public weak GLib.Callback get_peer_certificates;
1938                 public weak GLib.Callback init;
1939                 public weak GLib.Callback read;
1940                 public weak GLib.Callback uninit;
1941                 public weak GLib.Callback write;
1942         }
1943         [CCode (cheader_filename = "purple.h", free_function = "purple_status_destroy")]
1944         [Compact]
1945         public class Status {
1946                 [CCode (has_construct_function = false)]
1947                 public Status (Purple.StatusType status_type, Purple.Presence presence);
1948                 public int compare (Purple.Status status2);
1949                 public bool get_attr_boolean (string id);
1950                 public int get_attr_int (string id);
1951                 public unowned string get_attr_string (string id);
1952                 public unowned Purple.Value get_attr_value (string id);
1953                 public static void* get_handle ();
1954                 public unowned string get_id ();
1955                 public unowned string get_name ();
1956                 public unowned Purple.Presence get_presence ();
1957                 public static void init ();
1958                 public bool is_active ();
1959                 public bool is_available ();
1960                 public bool is_exclusive ();
1961                 public bool is_independent ();
1962                 public bool is_online ();
1963                 public void set_active (bool active);
1964                 public void set_active_with_attrs (bool active, void* args);
1965                 public void set_active_with_attrs_list (bool active, GLib.List attrs);
1966                 public void set_attr_boolean (string id, bool value);
1967                 public void set_attr_int (string id, int value);
1968                 public void set_attr_string (string id, string value);
1969                 public static void uninit ();
1970         }
1971         [CCode (cheader_filename = "purple.h", free_function = "purple_status_attr_destroy")]
1972         [Compact]
1973         public class StatusAttr {
1974                 [CCode (has_construct_function = false)]
1975                 public StatusAttr (string id, string name, Purple.Value value_type);
1976                 public unowned string get_id ();
1977                 public unowned string get_name ();
1978                 public unowned Purple.Value get_value ();
1979         }
1980         [CCode (cheader_filename = "purple.h", free_function = "purple_status_type_destroy")]
1981         [Compact]
1982         public class StatusType {
1983                 [CCode (has_construct_function = false)]
1984                 public StatusType (Purple.StatusPrimitive primitive, string id, string name, bool user_settable);
1985                 public void add_attr (string id, string name, Purple.Value value);
1986                 public void add_attrs (string id, string name, Purple.Value value);
1987                 public void add_attrs_vargs (void* args);
1988                 public static unowned Purple.StatusType find_with_id (GLib.List status_types, string id);
1989                 [CCode (has_construct_function = false)]
1990                 public StatusType.full (Purple.StatusPrimitive primitive, string id, string name, bool saveable, bool user_settable, bool independent);
1991                 public unowned Purple.StatusAttr get_attr (string id);
1992                 public unowned GLib.List get_attrs ();
1993                 public unowned string get_id ();
1994                 public unowned string get_name ();
1995                 public unowned string get_primary_attr ();
1996                 public Purple.StatusPrimitive get_primitive ();
1997                 public bool is_available ();
1998                 public bool is_exclusive ();
1999                 public bool is_independent ();
2000                 public bool is_saveable ();
2001                 public bool is_user_settable ();
2002                 public void set_primary_attr (string attr_id);
2003                 [CCode (has_construct_function = false)]
2004                 public StatusType.with_attrs (Purple.StatusPrimitive primitive, string id, string name, bool saveable, bool user_settable, bool independent, string attr_id, string attr_name, Purple.Value attr_value);
2005         }
2006         [CCode (cheader_filename = "purple.h")]
2007         [Compact]
2008         public class StoredImage {
2009         }
2010         [CCode (cheader_filename = "purple.h", ref_function = "purple_stringref_ref", unref_function = "purple_stringref_unref")]
2011         [Compact]
2012         public class Stringref {
2013                 [CCode (has_construct_function = false)]
2014                 public Stringref (string value);
2015                 public int cmp (Purple.Stringref s2);
2016                 public size_t len ();
2017                 [CCode (has_construct_function = false)]
2018                 public Stringref.noref (string value);
2019                 public static unowned Purple.Stringref printf (string format);
2020                 public unowned string value ();
2021         }
2022         [CCode (cheader_filename = "purple.h")]
2023         [Compact]
2024         public class StunNatDiscovery {
2025                 public ulong lookup_time;
2026                 [CCode (array_length = false)]
2027                 public weak GLib.ObjectPath[] publicip;
2028                 public weak string servername;
2029                 public Purple.StunStatus status;
2030                 public Purple.StunNatType type;
2031         }
2032         [CCode (cheader_filename = "purple.h")]
2033         [Compact]
2034         public class Theme {
2035                 public weak GLib.Object parent;
2036                 public void* priv;
2037                 public unowned string get_author ();
2038                 public unowned string get_description ();
2039                 public unowned string get_dir ();
2040                 public unowned string get_image ();
2041                 public unowned string get_image_full ();
2042                 public unowned string get_name ();
2043                 public unowned string get_type_string ();
2044                 public void set_author (string author);
2045                 public void set_description (string description);
2046                 public void set_dir (string dir);
2047                 public void set_image (string img);
2048                 public void set_name (string name);
2049         }
2050         [CCode (cheader_filename = "purple.h")]
2051         [Compact]
2052         public class ThemeClass {
2053                 public weak GLib.ObjectClass parent_class;
2054         }
2055         [CCode (cheader_filename = "purple.h")]
2056         [Compact]
2057         public class ThemeLoader {
2058                 public weak GLib.Object parent;
2059                 public void* priv;
2060                 public unowned Purple.Theme build (string dir);
2061                 public unowned string get_type_string ();
2062         }
2063         [CCode (cheader_filename = "purple.h")]
2064         [Compact]
2065         public class ThemeLoaderClass {
2066                 public weak GLib.ObjectClass parent_class;
2067                 public weak GLib.Callback purple_theme_loader_build;
2068         }
2069         [CCode (cheader_filename = "purple.h")]
2070         [Compact]
2071         public class ThemeManager {
2072                 public weak GLib.Object parent;
2073                 public static void add_theme (Purple.Theme theme);
2074                 public static unowned Purple.Theme find_theme (string name, string type);
2075                 public static void for_each_theme (Purple.PTFunc func);
2076                 public static void init ();
2077                 public static unowned Purple.Theme load_theme (string theme_dir, string type);
2078                 public static void refresh ();
2079                 public static void register_type (Purple.ThemeLoader loader);
2080                 public static void remove_theme (Purple.Theme theme);
2081                 public static void uninit ();
2082                 public static void unregister_type (Purple.ThemeLoader loader);
2083         }
2084         [CCode (cheader_filename = "purple.h")]
2085         [Compact]
2086         public class ThemeManagerClass {
2087                 public weak GLib.ObjectClass parent_class;
2088         }
2089         [CCode (cheader_filename = "purple.h")]
2090         [Compact]
2091         public class ThumbnailSpec {
2092         }
2093         [CCode (cheader_filename = "purple.h", free_function = "purple_txt_response_destroy")]
2094         [Compact]
2095         public class TxtResponse {
2096                 public weak string content;
2097                 public unowned string get_content ();
2098         }
2099         [CCode (cheader_filename = "purple.h")]
2100         [Compact]
2101         public class UPnPMappingAddRemove {
2102         }
2103         [CCode (cheader_filename = "purple.h")]
2104         [Compact]
2105         public class UtilFetchUrlData {
2106         }
2107         [CCode (cheader_filename = "purple.h", free_function = "purple_value_destroy")]
2108         [Compact]
2109         public class Value {
2110                 public void* data;
2111                 public uint flags;
2112                 public Purple.Type type;
2113                 public void* u;
2114                 [CCode (has_construct_function = false)]
2115                 public Value (Purple.Type type);
2116                 public unowned Purple.Value dup ();
2117                 public bool get_boolean ();
2118                 public void* get_boxed ();
2119                 public unowned GLib.ObjectPath get_char ();
2120                 public int get_enum ();
2121                 public int get_int ();
2122                 public int64 get_int64 ();
2123                 public long get_long ();
2124                 public void* get_object ();
2125                 public void* get_pointer ();
2126                 public short get_short ();
2127                 public unowned string get_specific_type ();
2128                 public unowned string get_string ();
2129                 public uint get_subtype ();
2130                 public uint get_uchar ();
2131                 public uint get_uint ();
2132                 public uint64 get_uint64 ();
2133                 public uint get_ulong ();
2134                 public uint get_ushort ();
2135                 public bool is_outgoing ();
2136                 [CCode (has_construct_function = false)]
2137                 public Value.outgoing (Purple.Type type);
2138                 public void set_boolean (bool data);
2139                 public void set_boxed (void* data);
2140                 public void set_char (GLib.ObjectPath data);
2141                 public void set_enum (int data);
2142                 public void set_int (int data);
2143                 public void set_int64 (int64 data);
2144                 public void set_long (long data);
2145                 public void set_object (void* data);
2146                 public void set_pointer (void* data);
2147                 public void set_short (short data);
2148                 public void set_string (string data);
2149                 public void set_uchar (uint data);
2150                 public void set_uint (uint data);
2151                 public void set_uint64 (uint64 data);
2152                 public void set_ulong (uint data);
2153                 public void set_ushort (uint data);
2154         }
2155         [CCode (cheader_filename = "purple.h", free_function = "purple_whiteboard_destroy")]
2156         [Compact]
2157         public class Whiteboard {
2158                 public weak Purple.Account account;
2159                 public weak GLib.List draw_list;
2160                 public void* proto_data;
2161                 public weak Purple.WhiteboardPrplOps prpl_ops;
2162                 public int state;
2163                 public void* ui_data;
2164                 public weak string who;
2165                 public void clear ();
2166                 public static unowned Purple.Whiteboard create (Purple.Account account, string who, int state);
2167                 public void draw_line (int x1, int y1, int x2, int y2, int color, int size);
2168                 public static void draw_list_destroy (GLib.List draw_list);
2169                 public void draw_point (int x, int y, int color, int size);
2170                 public bool get_brush (int size, int color);
2171                 public bool get_dimensions (int width, int height);
2172                 public static unowned Purple.Whiteboard get_session (Purple.Account account, string who);
2173                 public void send_brush (int size, int color);
2174                 public void send_clear ();
2175                 public void send_draw_list (GLib.List list);
2176                 public void set_brush (int size, int color);
2177                 public void set_dimensions (int width, int height);
2178                 public void set_prpl_ops (Purple.WhiteboardPrplOps ops);
2179                 public static void set_ui_ops (Purple.WhiteboardUiOps ops);
2180                 public void start ();
2181         }
2182         [CCode (cheader_filename = "purple.h")]
2183         [Compact]
2184         public class WhiteboardPrplOps {
2185                 public weak GLib.Callback clear;
2186                 public weak GLib.Callback end;
2187                 public weak GLib.Callback get_brush;
2188                 public weak GLib.Callback get_dimensions;
2189                 public weak GLib.Callback send_draw_list;
2190                 public weak GLib.Callback set_brush;
2191                 public weak GLib.Callback set_dimensions;
2192                 public weak GLib.Callback start;
2193         }
2194         [CCode (cheader_filename = "purple.h")]
2195         [Compact]
2196         public class WhiteboardUiOps {
2197                 public weak GLib.Callback clear;
2198                 public weak GLib.Callback create;
2199                 public weak GLib.Callback destroy;
2200                 public weak GLib.Callback draw_line;
2201                 public weak GLib.Callback draw_point;
2202                 public weak GLib.Callback set_brush;
2203                 public weak GLib.Callback set_dimensions;
2204         }
2205         [CCode (cheader_filename = "purple.h", ref_function = "purple_xfer_ref", ref_function_void = true, unref_function = "purple_xfer_unref")]
2206         [Compact]
2207         public class Xfer {
2208                 public weak Purple.Account account;
2209                 public size_t bytes_remaining;
2210                 public size_t bytes_sent;
2211                 public size_t current_buffer_size;
2212                 public void* data;
2213                 public weak GLib.FileStream dest_fp;
2214                 public ulong end_time;
2215                 public int fd;
2216                 public weak string filename;
2217                 public weak string local_filename;
2218                 public int local_port;
2219                 public weak string message;
2220                 public void* ops;
2221                 public uint @ref;
2222                 public weak string remote_ip;
2223                 public int remote_port;
2224                 public size_t size;
2225                 public ulong start_time;
2226                 public Purple.XferStatusType status;
2227                 public Purple.XferType type;
2228                 public void* ui_data;
2229                 public weak Purple.XferUiOps ui_ops;
2230                 public int watcher;
2231                 public weak string who;
2232                 [CCode (has_construct_function = false)]
2233                 public Xfer (Purple.Account account, Purple.XferType type, string who);
2234                 public void add ();
2235                 public void cancel_local ();
2236                 public void cancel_remote ();
2237                 public void conversation_write (string message, bool is_error);
2238                 public void end ();
2239                 public static void error (Purple.XferType type, Purple.Account account, string who, string msg);
2240                 public unowned Purple.Account get_account ();
2241                 public size_t get_bytes_remaining ();
2242                 public size_t get_bytes_sent ();
2243                 public ulong get_end_time ();
2244                 public unowned string get_filename ();
2245                 public unowned string get_local_filename ();
2246                 public uint get_local_port ();
2247                 public double get_progress ();
2248                 public unowned string get_remote_ip ();
2249                 public uint get_remote_port ();
2250                 public unowned string get_remote_user ();
2251                 public size_t get_size ();
2252                 public ulong get_start_time ();
2253                 public Purple.XferStatusType get_status ();
2254                 public void* get_thumbnail (size_t len);
2255                 public unowned string get_thumbnail_mimetype ();
2256                 public unowned Purple.XferUiOps get_ui_ops ();
2257                 public bool is_canceled ();
2258                 public bool is_completed ();
2259                 public void prepare_thumbnail (string formats);
2260                 public void prpl_ready ();
2261                 public ssize_t read (uchar[] buffer);
2262                 public ssize_t read_file (uchar[] buffer, size_t size);
2263                 public void request ();
2264                 public void request_accepted (string filename);
2265                 public void request_denied ();
2266                 public void set_ack_fnc (GLib.Callback fnc);
2267                 public void set_bytes_sent (size_t bytes_sent);
2268                 public void set_cancel_recv_fnc (GLib.Callback fnc);
2269                 public void set_cancel_send_fnc (GLib.Callback fnc);
2270                 public void set_completed (bool completed);
2271                 public void set_end_fnc (GLib.Callback fnc);
2272                 public void set_filename (string filename);
2273                 public void set_init_fnc (GLib.Callback fnc);
2274                 public void set_local_filename (string filename);
2275                 public void set_message (string message);
2276                 public void set_read_fnc (GLib.Callback fnc);
2277                 public void set_request_denied_fnc (GLib.Callback fnc);
2278                 public void set_size (size_t size);
2279                 public void set_start_fnc (GLib.Callback fnc);
2280                 public void set_thumbnail (void* thumbnail, size_t size, string mimetype);
2281                 public void set_write_fnc (GLib.Callback fnc);
2282                 public void start (int fd, string ip, uint port);
2283                 public void ui_ready ();
2284                 public void update_progress ();
2285                 public ssize_t write (uchar[] buffer, size_t size);
2286                 public bool write_file (uchar[] buffer, size_t size);
2287         }
2288         [CCode (cheader_filename = "purple.h")]
2289         [Compact]
2290         public class XferUiOps {
2291                 public weak GLib.Callback add_thumbnail;
2292                 public weak GLib.Callback add_xfer;
2293                 public weak GLib.Callback cancel_local;
2294                 public weak GLib.Callback cancel_remote;
2295                 public weak GLib.Callback data_not_sent;
2296                 public weak GLib.Callback destroy;
2297                 public weak GLib.Callback new_xfer;
2298                 public weak GLib.Callback ui_read;
2299                 public weak GLib.Callback ui_write;
2300                 public weak GLib.Callback update_progress;
2301         }
2302         [CCode (cheader_filename = "purple.h", copy_function = "xmlnode_copy", free_function = "xmlnode_free")]
2303         [Compact]
2304         public class xmlnode {
2305                 public weak string data;
2306                 public size_t data_sz;
2307                 public weak Purple.xmlnode lastchild;
2308                 public weak string name;
2309                 public weak GLib.HashTable namespace_map;
2310                 public weak Purple.xmlnode next;
2311                 public weak Purple.xmlnode parent;
2312                 public weak string prefix;
2313                 public Purple.XMLNodeType type;
2314                 public weak string xmlns;
2315                 [CCode (cname = "xmlnode_new", has_construct_function = false, type = "xmlnode*")]
2316                 public xmlnode (string name);
2317                 [CCode (cname = "xmlnode_new_child", has_construct_function = false, type = "xmlnode*")]
2318                 public xmlnode.child (Purple.xmlnode parent, string name);
2319                 [CCode (cname = "xmlnode_copy")]
2320                 public static unowned Purple.xmlnode copy (Purple.xmlnode src);
2321                 [CCode (cname = "xmlnode_from_file")]
2322                 public static unowned Purple.xmlnode from_file (string dir, string filename, string description, string process);
2323                 [CCode (cname = "xmlnode_from_str")]
2324                 public static unowned Purple.xmlnode from_str (string str, ssize_t size);
2325                 [CCode (cname = "xmlnode_get_attrib")]
2326                 public static unowned string get_attrib (Purple.xmlnode node, string attr);
2327                 [CCode (cname = "xmlnode_get_attrib_with_namespace")]
2328                 public static unowned string get_attrib_with_namespace (Purple.xmlnode node, string attr, string xmlns);
2329                 [CCode (cname = "xmlnode_get_child")]
2330                 public static unowned Purple.xmlnode get_child (Purple.xmlnode parent, string name);
2331                 [CCode (cname = "xmlnode_get_child_with_namespace")]
2332                 public static unowned Purple.xmlnode get_child_with_namespace (Purple.xmlnode parent, string name, string xmlns);
2333                 [CCode (cname = "xmlnode_get_data")]
2334                 public static unowned string get_data (Purple.xmlnode node);
2335                 [CCode (cname = "xmlnode_get_data_unescaped")]
2336                 public static unowned string get_data_unescaped (Purple.xmlnode node);
2337                 [CCode (cname = "xmlnode_get_namespace")]
2338                 public static unowned string get_namespace (Purple.xmlnode node);
2339                 [CCode (cname = "xmlnode_get_next_twin")]
2340                 public static unowned Purple.xmlnode get_next_twin (Purple.xmlnode node);
2341                 [CCode (cname = "xmlnode_get_parent")]
2342                 public static unowned Purple.xmlnode get_parent (Purple.xmlnode child);
2343                 [CCode (cname = "xmlnode_get_prefix")]
2344                 public static unowned string get_prefix (Purple.xmlnode node);
2345                 [CCode (cname = "xmlnode_insert_child")]
2346                 public static void insert_child (Purple.xmlnode parent, Purple.xmlnode child);
2347                 [CCode (cname = "xmlnode_insert_data")]
2348                 public static void insert_data (Purple.xmlnode node, string data, ssize_t size);
2349                 [CCode (cname = "xmlnode_remove_attrib")]
2350                 public static void remove_attrib (Purple.xmlnode node, string attr);
2351                 [CCode (cname = "xmlnode_remove_attrib_with_namespace")]
2352                 public static void remove_attrib_with_namespace (Purple.xmlnode node, string attr, string xmlns);
2353                 [CCode (cname = "xmlnode_set_attrib")]
2354                 public static void set_attrib (Purple.xmlnode node, string attr, string value);
2355                 [CCode (cname = "xmlnode_set_attrib_full")]
2356                 public static void set_attrib_full (Purple.xmlnode node, string attr, string xmlns, string prefix, string value);
2357                 [CCode (cname = "xmlnode_set_attrib_with_namespace")]
2358                 public static void set_attrib_with_namespace (Purple.xmlnode node, string attr, string xmlns, string value);
2359                 [CCode (cname = "xmlnode_set_attrib_with_prefix")]
2360                 public static void set_attrib_with_prefix (Purple.xmlnode node, string attr, string prefix, string value);
2361                 [CCode (cname = "xmlnode_set_namespace")]
2362                 public static void set_namespace (Purple.xmlnode node, string xmlns);
2363                 [CCode (cname = "xmlnode_set_prefix")]
2364                 public static void set_prefix (Purple.xmlnode node, string prefix);
2365                 [CCode (cname = "xmlnode_to_formatted_str")]
2366                 public static unowned string to_formatted_str (Purple.xmlnode node, int len);
2367                 [CCode (cname = "xmlnode_to_str")]
2368                 public static unowned string to_str (Purple.xmlnode node, int len);
2369         }
2370         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ACCOUNT_RESPONSE_", has_type_id = false)]
2371         public enum AccountRequestResponse {
2372                 IGNORE,
2373                 DENY,
2374                 PASS,
2375                 ACCEPT
2376         }
2377         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ACCOUNT_REQUEST_", has_type_id = false)]
2378         public enum AccountRequestType {
2379                 AUTHORIZATION
2380         }
2381         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_BLIST_NODE_FLAG_NO_", has_type_id = false)]
2382         public enum BlistNodeFlags {
2383                 SAVE
2384         }
2385         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_BLIST_", has_type_id = false)]
2386         public enum BlistNodeType {
2387                 GROUP_NODE,
2388                 CONTACT_NODE,
2389                 BUDDY_NODE,
2390                 CHAT_NODE,
2391                 OTHER_NODE
2392         }
2393         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CERTIFICATE_", has_type_id = false)]
2394         public enum CertificateInvalidityFlags {
2395                 UNKNOWN_ERROR,
2396                 NO_PROBLEMS,
2397                 NON_FATALS_MASK,
2398                 SELF_SIGNED,
2399                 CA_UNKNOWN,
2400                 NOT_ACTIVATED,
2401                 EXPIRED,
2402                 NAME_MISMATCH,
2403                 NO_CA_POOL,
2404                 FATALS_MASK,
2405                 INVALID_CHAIN,
2406                 REVOKED,
2407                 LAST
2408         }
2409         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CERTIFICATE_", has_type_id = false)]
2410         public enum CertificateVerificationStatus {
2411                 INVALID,
2412                 VALID
2413         }
2414         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CIPHER_BATCH_MODE_", has_type_id = false)]
2415         public enum CipherBatchMode {
2416                 ECB,
2417                 CBC
2418         }
2419         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CIPHER_CAPS_", has_type_id = false)]
2420         public enum CipherCaps {
2421                 SET_OPT,
2422                 GET_OPT,
2423                 INIT,
2424                 RESET,
2425                 UNINIT,
2426                 SET_IV,
2427                 APPEND,
2428                 DIGEST,
2429                 ENCRYPT,
2430                 DECRYPT,
2431                 SET_SALT,
2432                 GET_SALT_SIZE,
2433                 SET_KEY,
2434                 GET_KEY_SIZE,
2435                 SET_BATCH_MODE,
2436                 GET_BATCH_MODE,
2437                 GET_BLOCK_SIZE,
2438                 SET_KEY_WITH_LEN,
2439                 UNKNOWN
2440         }
2441         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_FLAG_", has_type_id = false)]
2442         public enum CmdFlag {
2443                 IM,
2444                 CHAT,
2445                 PRPL_ONLY,
2446                 ALLOW_WRONG_ARGS
2447         }
2448         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_P_", has_type_id = false)]
2449         public enum CmdPriority {
2450                 VERY_LOW,
2451                 LOW,
2452                 DEFAULT,
2453                 PRPL,
2454                 PLUGIN,
2455                 ALIAS,
2456                 HIGH,
2457                 VERY_HIGH
2458         }
2459         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_RET_", has_type_id = false)]
2460         public enum CmdRet {
2461                 OK,
2462                 FAILED,
2463                 CONTINUE
2464         }
2465         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_STATUS_", has_type_id = false)]
2466         public enum CmdStatus {
2467                 OK,
2468                 FAILED,
2469                 NOT_FOUND,
2470                 WRONG_ARGS,
2471                 WRONG_PRPL,
2472                 WRONG_TYPE
2473         }
2474         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONNECTION_ERROR_", has_type_id = false)]
2475         public enum ConnectionError {
2476                 NETWORK_ERROR,
2477                 INVALID_USERNAME,
2478                 AUTHENTICATION_FAILED,
2479                 AUTHENTICATION_IMPOSSIBLE,
2480                 NO_SSL_SUPPORT,
2481                 ENCRYPTION_ERROR,
2482                 NAME_IN_USE,
2483                 INVALID_SETTINGS,
2484                 CERT_NOT_PROVIDED,
2485                 CERT_UNTRUSTED,
2486                 CERT_EXPIRED,
2487                 CERT_NOT_ACTIVATED,
2488                 CERT_HOSTNAME_MISMATCH,
2489                 CERT_FINGERPRINT_MISMATCH,
2490                 CERT_SELF_SIGNED,
2491                 CERT_OTHER_ERROR,
2492                 OTHER_ERROR
2493         }
2494         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONNECTION_", has_type_id = false)]
2495         public enum ConnectionFlags {
2496                 HTML,
2497                 NO_BGCOLOR,
2498                 AUTO_RESP,
2499                 FORMATTING_WBFO,
2500                 NO_NEWLINES,
2501                 NO_FONTSIZE,
2502                 NO_URLDESC,
2503                 NO_IMAGES,
2504                 ALLOW_CUSTOM_SMILEY,
2505                 SUPPORT_MOODS,
2506                 SUPPORT_MOOD_MESSAGES
2507         }
2508         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_", has_type_id = false)]
2509         public enum ConnectionState {
2510                 DISCONNECTED,
2511                 CONNECTED,
2512                 CONNECTING
2513         }
2514         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CBFLAGS_", has_type_id = false)]
2515         public enum ConvChatBuddyFlags {
2516                 NONE,
2517                 VOICE,
2518                 HALFOP,
2519                 OP,
2520                 FOUNDER,
2521                 TYPING,
2522                 AWAY
2523         }
2524         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONV_", has_type_id = false)]
2525         public enum ConvUpdateType {
2526                 UPDATE_ADD,
2527                 UPDATE_REMOVE,
2528                 UPDATE_ACCOUNT,
2529                 UPDATE_TYPING,
2530                 UPDATE_UNSEEN,
2531                 UPDATE_LOGGING,
2532                 UPDATE_TOPIC,
2533                 ACCOUNT_ONLINE,
2534                 ACCOUNT_OFFLINE,
2535                 UPDATE_AWAY,
2536                 UPDATE_ICON,
2537                 UPDATE_TITLE,
2538                 UPDATE_CHATLEFT,
2539                 UPDATE_FEATURES
2540         }
2541         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONV_TYPE_", has_type_id = false)]
2542         public enum ConversationType {
2543                 UNKNOWN,
2544                 IM,
2545                 CHAT,
2546                 MISC,
2547                 ANY
2548         }
2549         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_DEBUG_", has_type_id = false)]
2550         public enum DebugLevel {
2551                 ALL,
2552                 MISC,
2553                 INFO,
2554                 WARNING,
2555                 ERROR,
2556                 FATAL
2557         }
2558         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_DESKTOP_ITEM_TYPE_", has_type_id = false)]
2559         public enum DesktopItemType {
2560                 NULL,
2561                 OTHER,
2562                 APPLICATION,
2563                 LINK,
2564                 FSDEVICE,
2565                 MIME_TYPE,
2566                 DIRECTORY,
2567                 SERVICE,
2568                 SERVICE_TYPE
2569         }
2570         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ICON_SCALE_", has_type_id = false)]
2571         public enum IconScaleRules {
2572                 DISPLAY,
2573                 SEND
2574         }
2575         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_INPUT_", has_type_id = false)]
2576         public enum InputCondition {
2577                 READ,
2578                 WRITE
2579         }
2580         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_LOG_READ_NO_", has_type_id = false)]
2581         public enum LogReadFlags {
2582                 NEWLINE
2583         }
2584         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_LOG_", has_type_id = false)]
2585         public enum LogType {
2586                 IM,
2587                 CHAT,
2588                 SYSTEM
2589         }
2590         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_CANDIDATE_TYPE_", has_type_id = false)]
2591         public enum MediaCandidateType {
2592                 HOST,
2593                 SRFLX,
2594                 PRFLX,
2595                 RELAY,
2596                 MULTICAST
2597         }
2598         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_CAPS_", has_type_id = false)]
2599         public enum MediaCaps {
2600                 NONE,
2601                 AUDIO,
2602                 AUDIO_SINGLE_DIRECTION,
2603                 VIDEO,
2604                 VIDEO_SINGLE_DIRECTION,
2605                 AUDIO_VIDEO,
2606                 MODIFY_SESSION,
2607                 CHANGE_DIRECTION
2608         }
2609         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_COMPONENT_", has_type_id = false)]
2610         public enum MediaComponentType {
2611                 NONE,
2612                 RTP,
2613                 RTCP
2614         }
2615         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_ELEMENT_", has_type_id = false)]
2616         public enum MediaElementType {
2617                 NONE,
2618                 AUDIO,
2619                 VIDEO,
2620                 AUDIO_VIDEO,
2621                 NO_SRCS,
2622                 ONE_SRC,
2623                 MULTI_SRC,
2624                 REQUEST_SRC,
2625                 NO_SINKS,
2626                 ONE_SINK,
2627                 MULTI_SINK,
2628                 REQUEST_SINK,
2629                 UNIQUE,
2630                 SRC,
2631                 SINK,
2632                 APPLICATION
2633         }
2634         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_INFO_", has_type_id = false)]
2635         public enum MediaInfoType {
2636                 HANGUP,
2637                 ACCEPT,
2638                 REJECT,
2639                 MUTE,
2640                 UNMUTE,
2641                 PAUSE,
2642                 UNPAUSE,
2643                 HOLD,
2644                 UNHOLD
2645         }
2646         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_NETWORK_PROTOCOL_", has_type_id = false)]
2647         public enum MediaNetworkProtocol {
2648                 UDP,
2649                 TCP_PASSIVE,
2650                 TCP_ACTIVE,
2651                 TCP_SO
2652         }
2653         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_", has_type_id = false)]
2654         public enum MediaSessionType {
2655                 NONE,
2656                 RECV_AUDIO,
2657                 SEND_AUDIO,
2658                 RECV_VIDEO,
2659                 SEND_VIDEO,
2660                 RECV_APPLICATION,
2661                 SEND_APPLICATION,
2662                 AUDIO,
2663                 VIDEO,
2664                 APPLICATION
2665         }
2666         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_STATE_", has_type_id = false)]
2667         public enum MediaState {
2668                 NEW,
2669                 CONNECTED,
2670                 END
2671         }
2672         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MESSAGE_", has_type_id = false)]
2673         public enum MessageFlags {
2674                 SEND,
2675                 RECV,
2676                 SYSTEM,
2677                 AUTO_RESP,
2678                 ACTIVE_ONLY,
2679                 NICK,
2680                 NO_LOG,
2681                 WHISPER,
2682                 ERROR,
2683                 DELAYED,
2684                 RAW,
2685                 IMAGES,
2686                 NOTIFY,
2687                 NO_LINKIFY,
2688                 INVISIBLE,
2689                 REMOTE_SEND
2690         }
2691         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_MSG_", has_type_id = false)]
2692         public enum NotifyMsgType {
2693                 ERROR,
2694                 WARNING,
2695                 INFO
2696         }
2697         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_BUTTON_", has_type_id = false)]
2698         public enum NotifySearchButtonType {
2699                 LABELED,
2700                 CONTINUE,
2701                 ADD,
2702                 INFO,
2703                 IM,
2704                 JOIN,
2705                 INVITE
2706         }
2707         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_", has_type_id = false)]
2708         public enum NotifyType {
2709                 MESSAGE,
2710                 EMAIL,
2711                 EMAILS,
2712                 FORMATTED,
2713                 SEARCHRESULTS,
2714                 USERINFO,
2715                 URI
2716         }
2717         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_USER_INFO_ENTRY_", has_type_id = false)]
2718         public enum NotifyUserInfoEntryType {
2719                 PAIR,
2720                 SECTION_BREAK,
2721                 SECTION_HEADER
2722         }
2723         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PLUGIN_PREF_", has_type_id = false)]
2724         public enum PluginPrefType {
2725                 NONE,
2726                 CHOICE,
2727                 INFO,
2728                 STRING_FORMAT
2729         }
2730         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PLUGIN_", has_type_id = false)]
2731         public enum PluginType {
2732                 UNKNOWN,
2733                 STANDARD,
2734                 LOADER,
2735                 PROTOCOL
2736         }
2737         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PMP_TYPE_", has_type_id = false)]
2738         public enum PmpType {
2739                 UDP,
2740                 TCP
2741         }
2742         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_POUNCE_", has_type_id = false)]
2743         public enum PounceEvent {
2744                 NONE,
2745                 SIGNON,
2746                 SIGNOFF,
2747                 AWAY,
2748                 AWAY_RETURN,
2749                 IDLE,
2750                 IDLE_RETURN,
2751                 TYPING,
2752                 TYPED,
2753                 TYPING_STOPPED,
2754                 MESSAGE_RECEIVED
2755         }
2756         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_POUNCE_OPTION_", has_type_id = false)]
2757         public enum PounceOption {
2758                 NONE,
2759                 AWAY
2760         }
2761         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PREF_", has_type_id = false)]
2762         public enum PrefType {
2763                 NONE,
2764                 BOOLEAN,
2765                 INT,
2766                 STRING,
2767                 STRING_LIST,
2768                 PATH,
2769                 PATH_LIST
2770         }
2771         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PRESENCE_CONTEXT_", has_type_id = false)]
2772         public enum PresenceContext {
2773                 UNSET,
2774                 ACCOUNT,
2775                 CONV,
2776                 BUDDY
2777         }
2778         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PRIVACY_", has_type_id = false)]
2779         public enum PrivacyType {
2780                 ALLOW_ALL,
2781                 DENY_ALL,
2782                 ALLOW_USERS,
2783                 DENY_USERS,
2784                 ALLOW_BUDDYLIST
2785         }
2786         [CCode (cheader_filename = "purple.h", cprefix = "OPT_PROTO_", has_type_id = false)]
2787         public enum ProtocolOptions {
2788                 UNIQUE_CHATNAME,
2789                 CHAT_TOPIC,
2790                 NO_PASSWORD,
2791                 MAIL_CHECK,
2792                 IM_IMAGE,
2793                 PASSWORD_OPTIONAL,
2794                 USE_POINTSIZE,
2795                 REGISTER_NOSCREENNAME,
2796                 SLASH_COMMANDS_NATIVE,
2797                 INVITE_MESSAGE
2798         }
2799         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PROXY_", has_type_id = false)]
2800         public enum ProxyType {
2801                 USE_GLOBAL,
2802                 NONE,
2803                 HTTP,
2804                 SOCKS4,
2805                 SOCKS5,
2806                 USE_ENVVAR,
2807                 TOR
2808         }
2809         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_REQUEST_FIELD_", has_type_id = false)]
2810         public enum RequestFieldType {
2811                 NONE,
2812                 STRING,
2813                 INTEGER,
2814                 BOOLEAN,
2815                 CHOICE,
2816                 LIST,
2817                 LABEL,
2818                 IMAGE,
2819                 ACCOUNT
2820         }
2821         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_REQUEST_", has_type_id = false)]
2822         public enum RequestType {
2823                 INPUT,
2824                 CHOICE,
2825                 ACTION,
2826                 FIELDS,
2827                 FILE,
2828                 FOLDER
2829         }
2830         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ROOMLIST_FIELD_", has_type_id = false)]
2831         public enum RoomlistFieldType {
2832                 BOOL,
2833                 INT,
2834                 STRING
2835         }
2836         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ROOMLIST_ROOMTYPE_", has_type_id = false)]
2837         public enum RoomlistRoomType {
2838                 CATEGORY,
2839                 ROOM
2840         }
2841         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_", has_type_id = false)]
2842         public enum SoundEventID {
2843                 SOUND_BUDDY_ARRIVE,
2844                 SOUND_BUDDY_LEAVE,
2845                 SOUND_RECEIVE,
2846                 SOUND_FIRST_RECEIVE,
2847                 SOUND_SEND,
2848                 SOUND_CHAT_JOIN,
2849                 SOUND_CHAT_LEAVE,
2850                 SOUND_CHAT_YOU_SAY,
2851                 SOUND_CHAT_SAY,
2852                 SOUND_POUNCE_DEFAULT,
2853                 SOUND_CHAT_NICK,
2854                 SOUND_GOT_ATTENTION,
2855                 NUM_SOUNDS
2856         }
2857         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_SSL_", has_type_id = false)]
2858         public enum SslErrorType {
2859                 HANDSHAKE_FAILED,
2860                 CONNECT_FAILED,
2861                 CERTIFICATE_INVALID
2862         }
2863         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STATUS_", has_type_id = false)]
2864         public enum StatusPrimitive {
2865                 UNSET,
2866                 OFFLINE,
2867                 AVAILABLE,
2868                 UNAVAILABLE,
2869                 INVISIBLE,
2870                 AWAY,
2871                 EXTENDED_AWAY,
2872                 MOBILE,
2873                 TUNE,
2874                 MOOD,
2875                 NUM_PRIMITIVES
2876         }
2877         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STRING_FORMAT_TYPE_", has_type_id = false)]
2878         public enum StringFormatType {
2879                 NONE,
2880                 MULTILINE,
2881                 HTML
2882         }
2883         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STUN_NAT_TYPE_", has_type_id = false)]
2884         public enum StunNatType {
2885                 PUBLIC_IP,
2886                 UNKNOWN_NAT,
2887                 FULL_CONE,
2888                 RESTRICTED_CONE,
2889                 PORT_RESTRICTED_CONE,
2890                 SYMMETRIC
2891         }
2892         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STUN_STATUS_", has_type_id = false)]
2893         public enum StunStatus {
2894                 UNDISCOVERED,
2895                 UNKNOWN,
2896                 DISCOVERING,
2897                 DISCOVERED
2898         }
2899         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_SUBTYPE_", has_type_id = false)]
2900         public enum SubType {
2901                 UNKNOWN,
2902                 ACCOUNT,
2903                 BLIST,
2904                 BLIST_BUDDY,
2905                 BLIST_GROUP,
2906                 BLIST_CHAT,
2907                 BUDDY_ICON,
2908                 CONNECTION,
2909                 CONVERSATION,
2910                 PLUGIN,
2911                 BLIST_NODE,
2912                 CIPHER,
2913                 STATUS,
2914                 LOG,
2915                 XFER,
2916                 SAVEDSTATUS,
2917                 XMLNODE,
2918                 USERINFO,
2919                 STORED_IMAGE,
2920                 CERTIFICATEPOOL,
2921                 CHATBUDDY
2922         }
2923         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_TYPE_", has_type_id = false)]
2924         public enum Type {
2925                 UNKNOWN,
2926                 SUBTYPE,
2927                 CHAR,
2928                 UCHAR,
2929                 BOOLEAN,
2930                 SHORT,
2931                 USHORT,
2932                 INT,
2933                 UINT,
2934                 LONG,
2935                 ULONG,
2936                 INT64,
2937                 UINT64,
2938                 STRING,
2939                 OBJECT,
2940                 POINTER,
2941                 ENUM,
2942                 BOXED
2943         }
2944         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_", has_type_id = false)]
2945         public enum TypingState {
2946                 NOT_TYPING,
2947                 TYPING,
2948                 TYPED
2949         }
2950         [CCode (cheader_filename = "purple.h", cprefix = "XMLNODE_TYPE_", has_type_id = false)]
2951         public enum XMLNodeType {
2952                 TAG,
2953                 ATTRIB,
2954                 DATA
2955         }
2956         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_XFER_STATUS_", has_type_id = false)]
2957         public enum XferStatusType {
2958                 UNKNOWN,
2959                 NOT_STARTED,
2960                 ACCEPTED,
2961                 STARTED,
2962                 DONE,
2963                 CANCEL_LOCAL,
2964                 CANCEL_REMOTE
2965         }
2966         [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_XFER_", has_type_id = false)]
2967         public enum XferType {
2968                 UNKNOWN,
2969                 SEND,
2970                 RECEIVE
2971         }
2972         [CCode (cheader_filename = "purple.h")]
2973         public delegate void AccountRegistrationCb (Purple.Account account, bool succeeded);
2974         [CCode (cheader_filename = "purple.h", has_target = false)]
2975         public delegate void AccountRequestAuthorizationCb (void* p1);
2976         [CCode (cheader_filename = "purple.h")]
2977         public delegate void AccountUnregistrationCb (Purple.Account account, bool succeeded);
2978         [CCode (cheader_filename = "purple.h", has_target = false)]
2979         public delegate void Callback ();
2980         [CCode (cheader_filename = "purple.h", has_target = false)]
2981         public delegate void CertificateVerifiedCallback (Purple.CertificateVerificationStatus st, void* userdata);
2982         [CCode (cheader_filename = "purple.h")]
2983         public delegate Purple.CmdRet CmdFunc (Purple.Conversation p1, string cmd, string args, string error);
2984         [CCode (cheader_filename = "purple.h", has_target = false)]
2985         public delegate void DnsQueryConnectFunction (GLib.SList hosts, void* data, string error_message);
2986         [CCode (cheader_filename = "purple.h", has_target = false)]
2987         public delegate void DnsQueryFailedCallback (Purple.DnsQueryData query_data, string error_message);
2988         [CCode (cheader_filename = "purple.h", has_target = false)]
2989         public delegate void DnsQueryResolvedCallback (Purple.DnsQueryData query_data, GLib.SList hosts);
2990         [CCode (cheader_filename = "purple.h", has_target = false)]
2991         public delegate bool FilterAccountFunc (Purple.Account account);
2992         [CCode (cheader_filename = "purple.h", has_target = false)]
2993         public delegate void GetPublicAliasFailureCallback (Purple.Account account, string error);
2994         [CCode (cheader_filename = "purple.h", has_target = false)]
2995         public delegate void GetPublicAliasSuccessCallback (Purple.Account account, string alias);
2996         [CCode (cheader_filename = "purple.h", has_target = false)]
2997         public delegate unowned string InfoFieldFormatCallback (string field, size_t len);
2998         [CCode (cheader_filename = "purple.h", has_target = false)]
2999         public delegate void InputFunction (void* p1, int p2, Purple.InputCondition p3);
3000         [CCode (cheader_filename = "purple.h", has_target = false)]
3001         public delegate void LogSetCallback (GLib.HashTable sets, Purple.LogSet @set);
3002         [CCode (cheader_filename = "purple.h", has_target = false)]
3003         public delegate unowned Gst.Element MediaElementCreateCallback (Purple.Media media, string session_id, string participant);
3004         [CCode (cheader_filename = "purple.h")]
3005         public delegate void NetworkListenCallback (int listenfd);
3006         [CCode (cheader_filename = "purple.h")]
3007         public delegate void NotifyCloseCallback ();
3008         [CCode (cheader_filename = "purple.h")]
3009         public delegate void NotifySearchResultsCallback (Purple.Connection c, GLib.List row);
3010         [CCode (cheader_filename = "purple.h", has_target = false)]
3011         public delegate void PTFunc (Purple.Theme p1);
3012         [CCode (cheader_filename = "purple.h", has_target = false)]
3013         public delegate void PounceCb (Purple.Pounce p1, Purple.PounceEvent p2, void* p3);
3014         [CCode (cheader_filename = "purple.h")]
3015         public delegate void PrefCallback (string name, Purple.PrefType type, void* val);
3016         [CCode (cheader_filename = "purple.h", has_target = false)]
3017         public delegate void ProxyConnectFunction (void* data, int source, string error_message);
3018         [CCode (cheader_filename = "purple.h", has_target = false)]
3019         public delegate void RequestActionCb (void* p1, int p2);
3020         [CCode (cheader_filename = "purple.h", has_target = false)]
3021         public delegate void RequestChoiceCb (void* p1, int p2);
3022         [CCode (cheader_filename = "purple.h", has_target = false)]
3023         public delegate void RequestFieldsCb (void* p1, Purple.RequestFields fields);
3024         [CCode (cheader_filename = "purple.h", has_target = false)]
3025         public delegate void RequestFileCb (void* p1, string filename);
3026         [CCode (cheader_filename = "purple.h", has_target = false)]
3027         public delegate void RequestInputCb (void* p1, string p2);
3028         [CCode (cheader_filename = "purple.h", has_target = false)]
3029         public delegate void SetPublicAliasFailureCallback (Purple.Account account, string error);
3030         [CCode (cheader_filename = "purple.h", has_target = false)]
3031         public delegate void SetPublicAliasSuccessCallback (Purple.Account account, string new_alias);
3032         [CCode (cheader_filename = "purple.h", has_target = false)]
3033         public delegate void SignalMarshalFunc (Purple.Callback cb, void* args, void* data, void* return_val);
3034         [CCode (cheader_filename = "purple.h")]
3035         public delegate void SrvCallback (Purple.SrvResponse resp, int results);
3036         [CCode (cheader_filename = "purple.h", has_target = false)]
3037         public delegate void SrvTxtQueryFailedCallback (Purple.SrvTxtQueryData query_data, string error_message);
3038         [CCode (cheader_filename = "purple.h", has_target = false)]
3039         public delegate void SrvTxtQueryResolvedCallback (Purple.SrvTxtQueryData query_data, GLib.List records);
3040         [CCode (cheader_filename = "purple.h", has_target = false)]
3041         public delegate void SslErrorFunction (Purple.SslConnection p1, Purple.SslErrorType p2, void* p3);
3042         [CCode (cheader_filename = "purple.h", has_target = false)]
3043         public delegate void SslInputFunction (void* p1, Purple.SslConnection p2, Purple.InputCondition p3);
3044         [CCode (cheader_filename = "purple.h", has_target = false)]
3045         public delegate void StunCallback (Purple.StunNatDiscovery p1);
3046         [CCode (cheader_filename = "purple.h")]
3047         public delegate void TxtCallback (GLib.List responses);
3048         [CCode (cheader_filename = "purple.h")]
3049         public delegate void UPnPCallback (bool success);
3050         [CCode (cheader_filename = "purple.h", has_target = false)]
3051         public delegate void UtilFetchUrlCallback (Purple.UtilFetchUrlData url_data, void* user_data, string url_text, size_t len, string error_message);
3052         [CCode (cheader_filename = "purple.h")]
3053         public const string DBUS_INTERFACE_PURPLE;
3054         [CCode (cheader_filename = "purple.h")]
3055         public const string DBUS_PATH_PURPLE;
3056         [CCode (cheader_filename = "purple.h")]
3057         public const string DBUS_SERVICE_PURPLE;
3058         [CCode (cheader_filename = "purple.h")]
3059         public const int DEFAULT_ACTION_NONE;
3060         [CCode (cheader_filename = "purple.h")]
3061         public const string DESKTOP_ITEM_ACTIONS;
3062         [CCode (cheader_filename = "purple.h")]
3063         public const string DESKTOP_ITEM_COMMENT;
3064         [CCode (cheader_filename = "purple.h")]
3065         public const string DESKTOP_ITEM_DEFAULT_APP;
3066         [CCode (cheader_filename = "purple.h")]
3067         public const string DESKTOP_ITEM_DEV;
3068         [CCode (cheader_filename = "purple.h")]
3069         public const string DESKTOP_ITEM_DOC_PATH;
3070         [CCode (cheader_filename = "purple.h")]
3071         public const string DESKTOP_ITEM_ENCODING;
3072         [CCode (cheader_filename = "purple.h")]
3073         public const string DESKTOP_ITEM_EXEC;
3074         [CCode (cheader_filename = "purple.h")]
3075         public const string DESKTOP_ITEM_FILE_PATTERN;
3076         [CCode (cheader_filename = "purple.h")]
3077         public const string DESKTOP_ITEM_FS_TYPE;
3078         [CCode (cheader_filename = "purple.h")]
3079         public const string DESKTOP_ITEM_GENERIC_NAME;
3080         [CCode (cheader_filename = "purple.h")]
3081         public const string DESKTOP_ITEM_HIDDEN;
3082         [CCode (cheader_filename = "purple.h")]
3083         public const string DESKTOP_ITEM_ICON;
3084         [CCode (cheader_filename = "purple.h")]
3085         public const string DESKTOP_ITEM_MIME_TYPE;
3086         [CCode (cheader_filename = "purple.h")]
3087         public const string DESKTOP_ITEM_MINI_ICON;
3088         [CCode (cheader_filename = "purple.h")]
3089         public const string DESKTOP_ITEM_MOUNT_POINT;
3090         [CCode (cheader_filename = "purple.h")]
3091         public const string DESKTOP_ITEM_NAME;
3092         [CCode (cheader_filename = "purple.h")]
3093         public const string DESKTOP_ITEM_NO_DISPLAY;
3094         [CCode (cheader_filename = "purple.h")]
3095         public const string DESKTOP_ITEM_PATH;
3096         [CCode (cheader_filename = "purple.h")]
3097         public const string DESKTOP_ITEM_PATTERNS;
3098         [CCode (cheader_filename = "purple.h")]
3099         public const string DESKTOP_ITEM_READ_ONLY;
3100         [CCode (cheader_filename = "purple.h")]
3101         public const string DESKTOP_ITEM_SORT_ORDER;
3102         [CCode (cheader_filename = "purple.h")]
3103         public const string DESKTOP_ITEM_SWALLOW_EXEC;
3104         [CCode (cheader_filename = "purple.h")]
3105         public const string DESKTOP_ITEM_SWALLOW_TITLE;
3106         [CCode (cheader_filename = "purple.h")]
3107         public const string DESKTOP_ITEM_TERMINAL;
3108         [CCode (cheader_filename = "purple.h")]
3109         public const string DESKTOP_ITEM_TERMINAL_OPTIONS;
3110         [CCode (cheader_filename = "purple.h")]
3111         public const string DESKTOP_ITEM_TRY_EXEC;
3112         [CCode (cheader_filename = "purple.h")]
3113         public const string DESKTOP_ITEM_TYPE;
3114         [CCode (cheader_filename = "purple.h")]
3115         public const string DESKTOP_ITEM_UNMOUNT_ICON;
3116         [CCode (cheader_filename = "purple.h")]
3117         public const string DESKTOP_ITEM_URL;
3118         [CCode (cheader_filename = "purple.h")]
3119         public const string DESKTOP_ITEM_VERSION;
3120         [CCode (cheader_filename = "purple.h")]
3121         public const string GAIM_DESKTOP_ITEM_ACTIONS;
3122         [CCode (cheader_filename = "purple.h")]
3123         public const string GAIM_DESKTOP_ITEM_COMMENT;
3124         [CCode (cheader_filename = "purple.h")]
3125         public const string GAIM_DESKTOP_ITEM_DEFAULT_APP;
3126         [CCode (cheader_filename = "purple.h")]
3127         public const string GAIM_DESKTOP_ITEM_DEV;
3128         [CCode (cheader_filename = "purple.h")]
3129         public const string GAIM_DESKTOP_ITEM_DOC_PATH;
3130         [CCode (cheader_filename = "purple.h")]
3131         public const string GAIM_DESKTOP_ITEM_ENCODING;
3132         [CCode (cheader_filename = "purple.h")]
3133         public const string GAIM_DESKTOP_ITEM_EXEC;
3134         [CCode (cheader_filename = "purple.h")]
3135         public const string GAIM_DESKTOP_ITEM_FILE_PATTERN;
3136         [CCode (cheader_filename = "purple.h")]
3137         public const string GAIM_DESKTOP_ITEM_FS_TYPE;
3138         [CCode (cheader_filename = "purple.h")]
3139         public const string GAIM_DESKTOP_ITEM_GENERIC_NAME;
3140         [CCode (cheader_filename = "purple.h")]
3141         public const string GAIM_DESKTOP_ITEM_HIDDEN;
3142         [CCode (cheader_filename = "purple.h")]
3143         public const string GAIM_DESKTOP_ITEM_ICON;
3144         [CCode (cheader_filename = "purple.h")]
3145         public const string GAIM_DESKTOP_ITEM_MIME_TYPE;
3146         [CCode (cheader_filename = "purple.h")]
3147         public const string GAIM_DESKTOP_ITEM_MINI_ICON;
3148         [CCode (cheader_filename = "purple.h")]
3149         public const string GAIM_DESKTOP_ITEM_MOUNT_POINT;
3150         [CCode (cheader_filename = "purple.h")]
3151         public const string GAIM_DESKTOP_ITEM_NAME;
3152         [CCode (cheader_filename = "purple.h")]
3153         public const string GAIM_DESKTOP_ITEM_NO_DISPLAY;
3154         [CCode (cheader_filename = "purple.h")]
3155         public const string GAIM_DESKTOP_ITEM_PATH;
3156         [CCode (cheader_filename = "purple.h")]
3157         public const string GAIM_DESKTOP_ITEM_PATTERNS;
3158         [CCode (cheader_filename = "purple.h")]
3159         public const string GAIM_DESKTOP_ITEM_READ_ONLY;
3160         [CCode (cheader_filename = "purple.h")]
3161         public const string GAIM_DESKTOP_ITEM_SORT_ORDER;
3162         [CCode (cheader_filename = "purple.h")]
3163         public const string GAIM_DESKTOP_ITEM_SWALLOW_EXEC;
3164         [CCode (cheader_filename = "purple.h")]
3165         public const string GAIM_DESKTOP_ITEM_SWALLOW_TITLE;
3166         [CCode (cheader_filename = "purple.h")]
3167         public const string GAIM_DESKTOP_ITEM_TERMINAL;
3168         [CCode (cheader_filename = "purple.h")]
3169         public const string GAIM_DESKTOP_ITEM_TERMINAL_OPTIONS;
3170         [CCode (cheader_filename = "purple.h")]
3171         public const string GAIM_DESKTOP_ITEM_TRY_EXEC;
3172         [CCode (cheader_filename = "purple.h")]
3173         public const string GAIM_DESKTOP_ITEM_TYPE;
3174         [CCode (cheader_filename = "purple.h")]
3175         public const string GAIM_DESKTOP_ITEM_UNMOUNT_ICON;
3176         [CCode (cheader_filename = "purple.h")]
3177         public const string GAIM_DESKTOP_ITEM_URL;
3178         [CCode (cheader_filename = "purple.h")]
3179         public const string GAIM_DESKTOP_ITEM_VERSION;
3180         [CCode (cheader_filename = "purple.h")]
3181         public const int MAJOR_VERSION;
3182         [CCode (cheader_filename = "purple.h")]
3183         public const int MICRO_VERSION;
3184         [CCode (cheader_filename = "purple.h")]
3185         public const int MINOR_VERSION;
3186         [CCode (cheader_filename = "purple.h")]
3187         public const string MOOD_COMMENT;
3188         [CCode (cheader_filename = "purple.h")]
3189         public const string MOOD_NAME;
3190         [CCode (cheader_filename = "purple.h")]
3191         public const int NO_TZ_OFF;
3192         [CCode (cheader_filename = "purple.h")]
3193         public const int PLUGINS;
3194         [CCode (cheader_filename = "purple.h")]
3195         public const int PLUGIN_FLAG_INVISIBLE;
3196         [CCode (cheader_filename = "purple.h")]
3197         public const int PLUGIN_MAGIC;
3198         [CCode (cheader_filename = "purple.h")]
3199         public const int PMP_LIFETIME;
3200         [CCode (cheader_filename = "purple.h")]
3201         public const int PRIORITY_DEFAULT;
3202         [CCode (cheader_filename = "purple.h")]
3203         public const int PRIORITY_HIGHEST;
3204         [CCode (cheader_filename = "purple.h")]
3205         public const int PRIORITY_LOWEST;
3206         [CCode (cheader_filename = "purple.h")]
3207         public const int SIGNAL_PRIORITY_DEFAULT;
3208         [CCode (cheader_filename = "purple.h")]
3209         public const int SIGNAL_PRIORITY_HIGHEST;
3210         [CCode (cheader_filename = "purple.h")]
3211         public const int SIGNAL_PRIORITY_LOWEST;
3212         [CCode (cheader_filename = "purple.h")]
3213         public const int SSL_DEFAULT_PORT;
3214         [CCode (cheader_filename = "purple.h")]
3215         public const string TUNE_ALBUM;
3216         [CCode (cheader_filename = "purple.h")]
3217         public const string TUNE_ARTIST;
3218         [CCode (cheader_filename = "purple.h")]
3219         public const string TUNE_COMMENT;
3220         [CCode (cheader_filename = "purple.h")]
3221         public const string TUNE_FULL;
3222         [CCode (cheader_filename = "purple.h")]
3223         public const string TUNE_GENRE;
3224         [CCode (cheader_filename = "purple.h")]
3225         public const string TUNE_TIME;
3226         [CCode (cheader_filename = "purple.h")]
3227         public const string TUNE_TITLE;
3228         [CCode (cheader_filename = "purple.h")]
3229         public const string TUNE_TRACK;
3230         [CCode (cheader_filename = "purple.h")]
3231         public const string TUNE_URL;
3232         [CCode (cheader_filename = "purple.h")]
3233         public const string TUNE_YEAR;
3234         [CCode (cheader_filename = "purple.h")]
3235         public static void accounts_add (Purple.Account account);
3236         [CCode (cheader_filename = "purple.h")]
3237         public static void accounts_delete (Purple.Account account);
3238         [CCode (cheader_filename = "purple.h")]
3239         public static unowned Purple.Account accounts_find (string name, string protocol);
3240         [CCode (cheader_filename = "purple.h")]
3241         public static unowned Purple.Account accounts_find_any (string name, string protocol);
3242         [CCode (cheader_filename = "purple.h")]
3243         public static unowned Purple.Account accounts_find_connected (string name, string protocol);
3244         [CCode (cheader_filename = "purple.h")]
3245         public static unowned Purple.Account accounts_find_ext (string name, string protocol_id, GLib.Callback account_test);
3246         [CCode (cheader_filename = "purple.h")]
3247         public static unowned GLib.List accounts_get_all ();
3248         [CCode (cheader_filename = "purple.h")]
3249         public static unowned GLib.List accounts_get_all_active ();
3250         [CCode (cheader_filename = "purple.h")]
3251         public static void* accounts_get_handle ();
3252         [CCode (cheader_filename = "purple.h")]
3253         public static unowned Purple.AccountUiOps accounts_get_ui_ops ();
3254         [CCode (cheader_filename = "purple.h")]
3255         public static void accounts_init ();
3256         [CCode (cheader_filename = "purple.h")]
3257         public static void accounts_remove (Purple.Account account);
3258         [CCode (cheader_filename = "purple.h")]
3259         public static void accounts_reorder (Purple.Account account, int new_index);
3260         [CCode (cheader_filename = "purple.h")]
3261         public static void accounts_restore_current_statuses ();
3262         [CCode (cheader_filename = "purple.h")]
3263         public static void accounts_set_ui_ops (Purple.AccountUiOps ops);
3264         [CCode (cheader_filename = "purple.h")]
3265         public static void accounts_uninit ();
3266         [CCode (cheader_filename = "purple.h")]
3267         public static unowned uchar[] base16_decode (string str, size_t ret_len);
3268         [CCode (cheader_filename = "purple.h")]
3269         public static unowned string base16_encode (uchar[] data, size_t len);
3270         [CCode (cheader_filename = "purple.h")]
3271         public static unowned string base16_encode_chunked (uchar[] data, size_t len);
3272         [CCode (cheader_filename = "purple.h")]
3273         public static unowned uchar[] base64_decode (string str, size_t ret_len);
3274         [CCode (cheader_filename = "purple.h")]
3275         public static unowned string base64_encode (uchar[] data, size_t len);
3276         [CCode (cheader_filename = "purple.h")]
3277         public static void blist_add_account (Purple.Account account);
3278         [CCode (cheader_filename = "purple.h")]
3279         public static void blist_add_buddy (Purple.Buddy buddy, Purple.Contact contact, Purple.Group group, Purple.BlistNode node);
3280         [CCode (cheader_filename = "purple.h")]
3281         public static void blist_add_chat (Purple.Chat chat, Purple.Group group, Purple.BlistNode node);
3282         [CCode (cheader_filename = "purple.h")]
3283         public static void blist_add_contact (Purple.Contact contact, Purple.Group group, Purple.BlistNode node);
3284         [CCode (cheader_filename = "purple.h")]
3285         public static void blist_add_group (Purple.Group group, Purple.BlistNode node);
3286         [CCode (cheader_filename = "purple.h")]
3287         public static void blist_alias_buddy (Purple.Buddy buddy, string alias);
3288         [CCode (cheader_filename = "purple.h")]
3289         public static void blist_alias_chat (Purple.Chat chat, string alias);
3290         [CCode (cheader_filename = "purple.h")]
3291         public static void blist_alias_contact (Purple.Contact contact, string alias);
3292         [CCode (cheader_filename = "purple.h")]
3293         public static void blist_destroy ();
3294         [CCode (cheader_filename = "purple.h")]
3295         public static unowned Purple.Chat blist_find_chat (Purple.Account account, string name);
3296         [CCode (cheader_filename = "purple.h")]
3297         public static unowned GLib.SList blist_get_buddies ();
3298         [CCode (cheader_filename = "purple.h")]
3299         public static int blist_get_group_online_count (Purple.Group group);
3300         [CCode (cheader_filename = "purple.h")]
3301         public static int blist_get_group_size (Purple.Group group, bool offline);
3302         [CCode (cheader_filename = "purple.h")]
3303         public static void* blist_get_handle ();
3304         [CCode (cheader_filename = "purple.h")]
3305         public static unowned Purple.BlistNode blist_get_root ();
3306         [CCode (cheader_filename = "purple.h")]
3307         public static void* blist_get_ui_data ();
3308         [CCode (cheader_filename = "purple.h")]
3309         public static unowned Purple.BlistUiOps blist_get_ui_ops ();
3310         [CCode (cheader_filename = "purple.h")]
3311         public static void blist_init ();
3312         [CCode (cheader_filename = "purple.h")]
3313         public static void blist_load ();
3314         [CCode (cheader_filename = "purple.h")]
3315         public static void blist_merge_contact (Purple.Contact source, Purple.BlistNode node);
3316         [CCode (cheader_filename = "purple.h")]
3317         public static unowned Purple.BuddyList blist_new ();
3318         [CCode (cheader_filename = "purple.h")]
3319         public static void blist_remove_account (Purple.Account account);
3320         [CCode (cheader_filename = "purple.h")]
3321         public static void blist_remove_buddy (Purple.Buddy buddy);
3322         [CCode (cheader_filename = "purple.h")]
3323         public static void blist_remove_chat (Purple.Chat chat);
3324         [CCode (cheader_filename = "purple.h")]
3325         public static void blist_remove_contact (Purple.Contact contact);
3326         [CCode (cheader_filename = "purple.h")]
3327         public static void blist_remove_group (Purple.Group group);
3328         [CCode (cheader_filename = "purple.h")]
3329         public static void blist_rename_buddy (Purple.Buddy buddy, string name);
3330         [CCode (cheader_filename = "purple.h")]
3331         public static void blist_rename_group (Purple.Group group, string name);
3332         [CCode (cheader_filename = "purple.h")]
3333         public static void blist_request_add_buddy (Purple.Account account, string username, string group, string alias);
3334         [CCode (cheader_filename = "purple.h")]
3335         public static void blist_request_add_chat (Purple.Account account, Purple.Group group, string alias, string name);
3336         [CCode (cheader_filename = "purple.h")]
3337         public static void blist_request_add_group ();
3338         [CCode (cheader_filename = "purple.h")]
3339         public static void blist_schedule_save ();
3340         [CCode (cheader_filename = "purple.h")]
3341         public static void blist_server_alias_buddy (Purple.Buddy buddy, string alias);
3342         [CCode (cheader_filename = "purple.h")]
3343         public static void blist_set_ui_data (void* ui_data);
3344         [CCode (cheader_filename = "purple.h")]
3345         public static void blist_set_ui_ops (Purple.BlistUiOps ops);
3346         [CCode (cheader_filename = "purple.h")]
3347         public static void blist_set_visible (bool show);
3348         [CCode (cheader_filename = "purple.h")]
3349         public static void blist_show ();
3350         [CCode (cheader_filename = "purple.h")]
3351         public static void blist_uninit ();
3352         [CCode (cheader_filename = "purple.h")]
3353         public static void blist_update_buddy_icon (Purple.Buddy buddy);
3354         [CCode (cheader_filename = "purple.h")]
3355         public static void blist_update_buddy_status (Purple.Buddy buddy, Purple.Status old_status);
3356         [CCode (cheader_filename = "purple.h")]
3357         public static void blist_update_node_icon (Purple.BlistNode node);
3358         [CCode (cheader_filename = "purple.h")]
3359         public static int build_dir (string path, int mode);
3360         [CCode (cheader_filename = "purple.h")]
3361         public static unowned GLib.SList certificates_import (Purple.CertificateScheme scheme, string filename);
3362         [CCode (cheader_filename = "purple.h")]
3363         public static unowned Purple.Cipher ciphers_find_cipher (string name);
3364         [CCode (cheader_filename = "purple.h")]
3365         public static unowned GLib.List ciphers_get_ciphers ();
3366         [CCode (cheader_filename = "purple.h")]
3367         public static void* ciphers_get_handle ();
3368         [CCode (cheader_filename = "purple.h")]
3369         public static void ciphers_init ();
3370         [CCode (cheader_filename = "purple.h")]
3371         public static unowned Purple.Cipher ciphers_register_cipher (string name, Purple.CipherOps ops);
3372         [CCode (cheader_filename = "purple.h")]
3373         public static void ciphers_uninit ();
3374         [CCode (cheader_filename = "purple.h")]
3375         public static bool ciphers_unregister_cipher (Purple.Cipher cipher);
3376         [CCode (cheader_filename = "purple.h")]
3377         public static void* cmds_get_handle ();
3378         [CCode (cheader_filename = "purple.h")]
3379         public static unowned Purple.CommandsUiOps cmds_get_ui_ops ();
3380         [CCode (cheader_filename = "purple.h")]
3381         public static void cmds_init ();
3382         [CCode (cheader_filename = "purple.h")]
3383         public static void cmds_set_ui_ops (Purple.CommandsUiOps ops);
3384         [CCode (cheader_filename = "purple.h")]
3385         public static void cmds_uninit ();
3386         [CCode (cheader_filename = "purple.h")]
3387         public static void connections_disconnect_all ();
3388         [CCode (cheader_filename = "purple.h")]
3389         public static unowned GLib.List connections_get_all ();
3390         [CCode (cheader_filename = "purple.h")]
3391         public static unowned GLib.List connections_get_connecting ();
3392         [CCode (cheader_filename = "purple.h")]
3393         public static void* connections_get_handle ();
3394         [CCode (cheader_filename = "purple.h")]
3395         public static unowned Purple.ConnectionUiOps connections_get_ui_ops ();
3396         [CCode (cheader_filename = "purple.h")]
3397         public static void connections_init ();
3398         [CCode (cheader_filename = "purple.h")]
3399         public static void connections_set_ui_ops (Purple.ConnectionUiOps ops);
3400         [CCode (cheader_filename = "purple.h")]
3401         public static void connections_uninit ();
3402         [CCode (cheader_filename = "purple.h")]
3403         public static bool conv_custom_smiley_add (Purple.Conversation conv, string smile, string cksum_type, string chksum, bool remote);
3404         [CCode (cheader_filename = "purple.h")]
3405         public static void conv_custom_smiley_close (Purple.Conversation conv, string smile);
3406         [CCode (cheader_filename = "purple.h")]
3407         public static void conv_custom_smiley_write (Purple.Conversation conv, string smile, uchar[] data, size_t size);
3408         [CCode (cheader_filename = "purple.h")]
3409         public static bool conv_present_error (string who, Purple.Account account, string what);
3410         [CCode (cheader_filename = "purple.h")]
3411         public static void conv_send_confirm (Purple.Conversation conv, string message);
3412         [CCode (cheader_filename = "purple.h")]
3413         public static void* conversations_get_handle ();
3414         [CCode (cheader_filename = "purple.h")]
3415         public static void conversations_init ();
3416         [CCode (cheader_filename = "purple.h")]
3417         public static void conversations_set_ui_ops (Purple.ConversationUiOps ops);
3418         [CCode (cheader_filename = "purple.h")]
3419         public static void conversations_uninit ();
3420         [CCode (cheader_filename = "purple.h")]
3421         public static unowned string date_format_full (void* tm);
3422         [CCode (cheader_filename = "purple.h")]
3423         public static unowned string date_format_long (void* tm);
3424         [CCode (cheader_filename = "purple.h")]
3425         public static unowned string date_format_short (void* tm);
3426         [CCode (cheader_filename = "purple.h")]
3427         public static void debug (Purple.DebugLevel level, string category, string format);
3428         [CCode (cheader_filename = "purple.h")]
3429         public static void debug_error (string category, string format);
3430         [CCode (cheader_filename = "purple.h")]
3431         public static void debug_fatal (string category, string format);
3432         [CCode (cheader_filename = "purple.h")]
3433         public static unowned Purple.DebugUiOps debug_get_ui_ops ();
3434         [CCode (cheader_filename = "purple.h")]
3435         public static void debug_info (string category, string format);
3436         [CCode (cheader_filename = "purple.h")]
3437         public static void debug_init ();
3438         [CCode (cheader_filename = "purple.h")]
3439         public static bool debug_is_enabled ();
3440         [CCode (cheader_filename = "purple.h")]
3441         public static bool debug_is_unsafe ();
3442         [CCode (cheader_filename = "purple.h")]
3443         public static bool debug_is_verbose ();
3444         [CCode (cheader_filename = "purple.h")]
3445         public static void debug_misc (string category, string format);
3446         [CCode (cheader_filename = "purple.h")]
3447         public static void debug_set_enabled (bool enabled);
3448         [CCode (cheader_filename = "purple.h")]
3449         public static void debug_set_ui_ops (Purple.DebugUiOps ops);
3450         [CCode (cheader_filename = "purple.h")]
3451         public static void debug_set_unsafe (bool unsafe);
3452         [CCode (cheader_filename = "purple.h")]
3453         public static void debug_set_verbose (bool verbose);
3454         [CCode (cheader_filename = "purple.h")]
3455         public static void debug_warning (string category, string format);
3456         [CCode (cheader_filename = "purple.h")]
3457         public static unowned Purple.DnsQueryData dnsquery_a (string hostname, int port, Purple.DnsQueryConnectFunction callback, void* data);
3458         [CCode (cheader_filename = "purple.h")]
3459         public static unowned Purple.DnsQueryData dnsquery_a_account (Purple.Account account, string hostname, int port, Purple.DnsQueryConnectFunction callback, void* data);
3460         [CCode (cheader_filename = "purple.h")]
3461         public static void dnsquery_destroy (Purple.DnsQueryData query_data);
3462         [CCode (cheader_filename = "purple.h")]
3463         public static unowned string dnsquery_get_host (Purple.DnsQueryData query_data);
3464         [CCode (cheader_filename = "purple.h")]
3465         public static uint dnsquery_get_port (Purple.DnsQueryData query_data);
3466         [CCode (cheader_filename = "purple.h")]
3467         public static unowned Purple.DnsQueryUiOps dnsquery_get_ui_ops ();
3468         [CCode (cheader_filename = "purple.h")]
3469         public static void dnsquery_init ();
3470         [CCode (cheader_filename = "purple.h")]
3471         public static void dnsquery_set_ui_ops (Purple.DnsQueryUiOps ops);
3472         [CCode (cheader_filename = "purple.h")]
3473         public static void dnsquery_uninit ();
3474         [CCode (cheader_filename = "purple.h")]
3475         public static bool email_is_valid (string address);
3476         [CCode (cheader_filename = "purple.h")]
3477         public static unowned string escape_filename (string str);
3478         [CCode (cheader_filename = "purple.h")]
3479         public static unowned Purple.EventLoopUiOps eventloop_get_ui_ops ();
3480         [CCode (cheader_filename = "purple.h")]
3481         public static void eventloop_set_ui_ops (Purple.EventLoopUiOps ops);
3482         [CCode (cheader_filename = "purple.h")]
3483         public static unowned string fd_get_ip (int fd);
3484         [CCode (cheader_filename = "purple.h")]
3485         public static unowned GLib.SList find_buddies (Purple.Account account, string name);
3486         [CCode (cheader_filename = "purple.h")]
3487         public static unowned Purple.Buddy find_buddy (Purple.Account account, string name);
3488         [CCode (cheader_filename = "purple.h")]
3489         public static unowned Purple.Buddy find_buddy_in_group (Purple.Account account, string name, Purple.Group group);
3490         [CCode (cheader_filename = "purple.h")]
3491         public static unowned Purple.Conversation find_chat (Purple.Connection gc, int id);
3492         [CCode (cheader_filename = "purple.h")]
3493         public static unowned Purple.Conversation find_conversation_with_account (Purple.ConversationType type, string name, Purple.Account account);
3494         [CCode (cheader_filename = "purple.h")]
3495         public static unowned Purple.Group find_group (string name);
3496         [CCode (cheader_filename = "purple.h")]
3497         public static unowned Purple.Pounce find_pounce (Purple.Account pouncer, string pouncee, Purple.PounceEvent events);
3498         [CCode (cheader_filename = "purple.h")]
3499         public static unowned Purple.Plugin find_prpl (string id);
3500         [CCode (cheader_filename = "purple.h")]
3501         public static unowned string gai_strerror (int errnum);
3502         [CCode (cheader_filename = "purple.h")]
3503         public static unowned Purple.AttentionType get_attention_type_from_code (Purple.Account account, uint type_code);
3504         [CCode (cheader_filename = "purple.h")]
3505         public static unowned Purple.BuddyList get_blist ();
3506         [CCode (cheader_filename = "purple.h")]
3507         public static unowned GLib.List get_chats ();
3508         [CCode (cheader_filename = "purple.h")]
3509         public static unowned GLib.List get_conversations ();
3510         [CCode (cheader_filename = "purple.h")]
3511         public static unowned Purple.Core get_core ();
3512         [CCode (cheader_filename = "purple.h")]
3513         public static unowned string get_host_name ();
3514         [CCode (cheader_filename = "purple.h")]
3515         public static unowned GLib.List get_ims ();
3516         [CCode (cheader_filename = "purple.h")]
3517         public static unowned string get_tzoff_str (void* tm, bool iso);
3518         [CCode (cheader_filename = "purple.h")]
3519         public static unowned Purple.ProxyInfo global_proxy_get_info ();
3520         [CCode (cheader_filename = "purple.h")]
3521         public static void global_proxy_set_info (Purple.ProxyInfo info);
3522         [CCode (cheader_filename = "purple.h")]
3523         public static void got_protocol_handler_uri (string uri);
3524         [CCode (cheader_filename = "purple.h")]
3525         public static unowned string home_dir ();
3526         [CCode (cheader_filename = "purple.h")]
3527         public static unowned Purple.IdleUiOps idle_get_ui_ops ();
3528         [CCode (cheader_filename = "purple.h")]
3529         public static void idle_init ();
3530         [CCode (cheader_filename = "purple.h")]
3531         public static void idle_set (ulong time);
3532         [CCode (cheader_filename = "purple.h")]
3533         public static void idle_set_ui_ops (Purple.IdleUiOps ops);
3534         [CCode (cheader_filename = "purple.h")]
3535         public static void idle_touch ();
3536         [CCode (cheader_filename = "purple.h")]
3537         public static void idle_uninit ();
3538         [CCode (cheader_filename = "purple.h")]
3539         public static unowned Purple.StoredImage imgstore_add (void* data, size_t size, string filename);
3540         [CCode (cheader_filename = "purple.h")]
3541         public static int imgstore_add_with_id (void* data, size_t size, string filename);
3542         [CCode (cheader_filename = "purple.h")]
3543         public static unowned Purple.StoredImage imgstore_find_by_id (int id);
3544         [CCode (cheader_filename = "purple.h")]
3545         public static void* imgstore_get_data (Purple.StoredImage img);
3546         [CCode (cheader_filename = "purple.h")]
3547         public static unowned string imgstore_get_extension (Purple.StoredImage img);
3548         [CCode (cheader_filename = "purple.h")]
3549         public static unowned string imgstore_get_filename (Purple.StoredImage img);
3550         [CCode (cheader_filename = "purple.h")]
3551         public static void* imgstore_get_handle ();
3552         [CCode (cheader_filename = "purple.h")]
3553         public static size_t imgstore_get_size (Purple.StoredImage img);
3554         [CCode (cheader_filename = "purple.h")]
3555         public static void imgstore_init ();
3556         [CCode (cheader_filename = "purple.h")]
3557         public static unowned Purple.StoredImage imgstore_new_from_file (string path);
3558         [CCode (cheader_filename = "purple.h")]
3559         public static unowned Purple.StoredImage imgstore_ref (Purple.StoredImage img);
3560         [CCode (cheader_filename = "purple.h")]
3561         public static void imgstore_ref_by_id (int id);
3562         [CCode (cheader_filename = "purple.h")]
3563         public static void imgstore_uninit ();
3564         [CCode (cheader_filename = "purple.h")]
3565         public static unowned Purple.StoredImage imgstore_unref (Purple.StoredImage img);
3566         [CCode (cheader_filename = "purple.h")]
3567         public static void imgstore_unref_by_id (int id);
3568         [CCode (cheader_filename = "purple.h")]
3569         public static uint input_add (int fd, Purple.InputCondition cond, Purple.InputFunction func);
3570         [CCode (cheader_filename = "purple.h")]
3571         public static int input_get_error (int fd, int error);
3572         [CCode (cheader_filename = "purple.h")]
3573         public static bool input_remove (uint handle);
3574         [CCode (cheader_filename = "purple.h")]
3575         public static bool ip_address_is_valid (string ip);
3576         [CCode (cheader_filename = "purple.h")]
3577         public static bool ipv4_address_is_valid (string ip);
3578         [CCode (cheader_filename = "purple.h")]
3579         public static bool ipv6_address_is_valid (string ip);
3580         [CCode (cheader_filename = "purple.h")]
3581         public static unowned string markup_escape_text (string text, ssize_t length);
3582         [CCode (cheader_filename = "purple.h")]
3583         public static bool markup_extract_info_field (string str, int len, Purple.NotifyUserInfo user_info, string start_token, int skip, string end_token, GLib.ObjectPath check_value, string no_value_token, string display_name, bool is_link, string link_prefix, Purple.InfoFieldFormatCallback format_cb);
3584         [CCode (cheader_filename = "purple.h")]
3585         public static bool markup_find_tag (string needle, string haystack, out string start, out string end, out GLib.Datalist attributes);
3586         [CCode (cheader_filename = "purple.h")]
3587         public static unowned string markup_get_css_property (string style, string opt);
3588         [CCode (cheader_filename = "purple.h")]
3589         public static unowned string markup_get_tag_name (string tag);
3590         [CCode (cheader_filename = "purple.h")]
3591         public static void markup_html_to_xhtml (string html, out unowned string dest_xhtml, out unowned string dest_plain);
3592         [CCode (cheader_filename = "purple.h")]
3593         public static bool markup_is_rtl (string html);
3594         [CCode (cheader_filename = "purple.h")]
3595         public static unowned string markup_linkify (string str);
3596         [CCode (cheader_filename = "purple.h")]
3597         public static unowned string markup_slice (string str, uint x, uint y);
3598         [CCode (cheader_filename = "purple.h")]
3599         public static unowned string markup_strip_html (string str);
3600         [CCode (cheader_filename = "purple.h")]
3601         public static unowned string markup_unescape_entity (string text, int length);
3602         [CCode (cheader_filename = "purple.h")]
3603         public static void marshal_BOOLEAN__INT_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3604         [CCode (cheader_filename = "purple.h")]
3605         public static void marshal_BOOLEAN__POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3606         [CCode (cheader_filename = "purple.h")]
3607         public static void marshal_BOOLEAN__POINTER_BOOLEAN (Purple.Callback cb, void* args, void* data, void* return_val);
3608         [CCode (cheader_filename = "purple.h")]
3609         public static void marshal_BOOLEAN__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3610         [CCode (cheader_filename = "purple.h")]
3611         public static void marshal_BOOLEAN__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3612         [CCode (cheader_filename = "purple.h")]
3613         public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3614         [CCode (cheader_filename = "purple.h")]
3615         public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3616         [CCode (cheader_filename = "purple.h")]
3617         public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3618         [CCode (cheader_filename = "purple.h")]
3619         public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3620         [CCode (cheader_filename = "purple.h")]
3621         public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3622         [CCode (cheader_filename = "purple.h")]
3623         public static void marshal_BOOLEAN__POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3624         [CCode (cheader_filename = "purple.h")]
3625         public static void marshal_INT__INT (Purple.Callback cb, void* args, void* data, void* return_val);
3626         [CCode (cheader_filename = "purple.h")]
3627         public static void marshal_INT__INT_INT (Purple.Callback cb, void* args, void* data, void* return_val);
3628         [CCode (cheader_filename = "purple.h")]
3629         public static void marshal_INT__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3630         [CCode (cheader_filename = "purple.h")]
3631         public static void marshal_INT__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3632         [CCode (cheader_filename = "purple.h")]
3633         public static void marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3634         [CCode (cheader_filename = "purple.h")]
3635         public static void marshal_POINTER__POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3636         [CCode (cheader_filename = "purple.h")]
3637         public static void marshal_POINTER__POINTER_INT (Purple.Callback cb, void* args, void* data, void* return_val);
3638         [CCode (cheader_filename = "purple.h")]
3639         public static void marshal_POINTER__POINTER_INT64 (Purple.Callback cb, void* args, void* data, void* return_val);
3640         [CCode (cheader_filename = "purple.h")]
3641         public static void marshal_POINTER__POINTER_INT64_BOOLEAN (Purple.Callback cb, void* args, void* data, void* return_val);
3642         [CCode (cheader_filename = "purple.h")]
3643         public static void marshal_POINTER__POINTER_INT_BOOLEAN (Purple.Callback cb, void* args, void* data, void* return_val);
3644         [CCode (cheader_filename = "purple.h")]
3645         public static void marshal_POINTER__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3646         [CCode (cheader_filename = "purple.h")]
3647         public static void marshal_VOID (Purple.Callback cb, void* args, void* data, void* return_val);
3648         [CCode (cheader_filename = "purple.h")]
3649         public static void marshal_VOID__INT (Purple.Callback cb, void* args, void* data, void* return_val);
3650         [CCode (cheader_filename = "purple.h")]
3651         public static void marshal_VOID__INT_INT (Purple.Callback cb, void* args, void* data, void* return_val);
3652         [CCode (cheader_filename = "purple.h")]
3653         public static void marshal_VOID__POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3654         [CCode (cheader_filename = "purple.h")]
3655         public static void marshal_VOID__POINTER_INT_INT (Purple.Callback cb, void* args, void* data, void* return_val);
3656         [CCode (cheader_filename = "purple.h")]
3657         public static void marshal_VOID__POINTER_INT_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3658         [CCode (cheader_filename = "purple.h")]
3659         public static void marshal_VOID__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3660         [CCode (cheader_filename = "purple.h")]
3661         public static void marshal_VOID__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3662         [CCode (cheader_filename = "purple.h")]
3663         public static void marshal_VOID__POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3664         [CCode (cheader_filename = "purple.h")]
3665         public static void marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3666         [CCode (cheader_filename = "purple.h")]
3667         public static void marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3668         [CCode (cheader_filename = "purple.h")]
3669         public static void marshal_VOID__POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3670         [CCode (cheader_filename = "purple.h")]
3671         public static void marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3672         [CCode (cheader_filename = "purple.h")]
3673         public static void marshal_VOID__POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3674         [CCode (cheader_filename = "purple.h")]
3675         public static void marshal_VOID__POINTER_POINTER_UINT_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3676         [CCode (cheader_filename = "purple.h")]
3677         public static void marshal_VOID__POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3678         [CCode (cheader_filename = "purple.h")]
3679         public static bool message_meify (string message, ssize_t len);
3680         [CCode (cheader_filename = "purple.h")]
3681         public static unowned string mime_decode_field (string str);
3682         [CCode (cheader_filename = "purple.h")]
3683         public static unowned GLib.FileStream mkstemp (out unowned string path, bool binary);
3684         [CCode (cheader_filename = "purple.h")]
3685         public static int network_convert_idn_to_ascii (string @in, string @out);
3686         [CCode (cheader_filename = "purple.h")]
3687         public static void network_force_online ();
3688         [CCode (cheader_filename = "purple.h")]
3689         public static unowned GLib.List network_get_all_local_system_ips ();
3690         [CCode (cheader_filename = "purple.h")]
3691         public static void* network_get_handle ();
3692         [CCode (cheader_filename = "purple.h")]
3693         public static unowned string network_get_local_system_ip (int fd);
3694         [CCode (cheader_filename = "purple.h")]
3695         public static unowned string network_get_my_ip (int fd);
3696         [CCode (cheader_filename = "purple.h")]
3697         public static uint network_get_port_from_fd (int fd);
3698         [CCode (cheader_filename = "purple.h")]
3699         public static unowned string network_get_public_ip ();
3700         [CCode (cheader_filename = "purple.h")]
3701         public static unowned string network_get_stun_ip ();
3702         [CCode (cheader_filename = "purple.h")]
3703         public static unowned string network_get_turn_ip ();
3704         [CCode (cheader_filename = "purple.h")]
3705         public static void network_init ();
3706         [CCode (cheader_filename = "purple.h")]
3707         public static uint network_ip_atoi (string ip);
3708         [CCode (cheader_filename = "purple.h")]
3709         public static bool network_is_available ();
3710         [CCode (cheader_filename = "purple.h")]
3711         public static unowned Purple.NetworkListenData network_listen (uint port, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
3712         [CCode (cheader_filename = "purple.h")]
3713         public static void network_listen_cancel (Purple.NetworkListenData listen_data);
3714         [CCode (cheader_filename = "purple.h")]
3715         public static unowned Purple.NetworkListenData network_listen_family (uint port, int socket_family, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
3716         [CCode (cheader_filename = "purple.h")]
3717         public static void network_listen_map_external (bool map_external);
3718         [CCode (cheader_filename = "purple.h")]
3719         public static unowned Purple.NetworkListenData network_listen_range (uint start, uint end, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
3720         [CCode (cheader_filename = "purple.h")]
3721         public static unowned Purple.NetworkListenData network_listen_range_family (uint start, uint end, int socket_family, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
3722         [CCode (cheader_filename = "purple.h")]
3723         public static void network_remove_port_mapping (int fd);
3724         [CCode (cheader_filename = "purple.h")]
3725         public static void network_set_public_ip (string ip);
3726         [CCode (cheader_filename = "purple.h")]
3727         public static void network_set_stun_server (string stun_server);
3728         [CCode (cheader_filename = "purple.h")]
3729         public static void network_set_turn_server (string turn_server);
3730         [CCode (cheader_filename = "purple.h")]
3731         public static void network_uninit ();
3732         [CCode (cheader_filename = "purple.h")]
3733         public static unowned string normalize (Purple.Account account, string str);
3734         [CCode (cheader_filename = "purple.h")]
3735         public static unowned string normalize_nocase (Purple.Account account, string str);
3736         [CCode (cheader_filename = "purple.h")]
3737         public static void notify_close (Purple.NotifyType type, void* ui_handle);
3738         [CCode (cheader_filename = "purple.h")]
3739         public static void notify_close_with_handle (void* handle);
3740         [CCode (cheader_filename = "purple.h")]
3741         public static void* notify_email (void* handle, string subject, string from, string to, string url, Purple.NotifyCloseCallback cb);
3742         [CCode (cheader_filename = "purple.h")]
3743         public static void* notify_emails (void* handle, size_t count, bool detailed, out unowned string subjects, out unowned string froms, out unowned string tos, out unowned string urls, Purple.NotifyCloseCallback cb);
3744         [CCode (cheader_filename = "purple.h")]
3745         public static void* notify_formatted (void* handle, string title, string primary, string secondary, string text, Purple.NotifyCloseCallback cb);
3746         [CCode (cheader_filename = "purple.h")]
3747         public static void* notify_get_handle ();
3748         [CCode (cheader_filename = "purple.h")]
3749         public static unowned Purple.NotifyUiOps notify_get_ui_ops ();
3750         [CCode (cheader_filename = "purple.h")]
3751         public static void notify_init ();
3752         [CCode (cheader_filename = "purple.h")]
3753         public static void* notify_message (void* handle, Purple.NotifyMsgType type, string title, string primary, string secondary, Purple.NotifyCloseCallback cb);
3754         [CCode (cheader_filename = "purple.h")]
3755         public static void* notify_searchresults (Purple.Connection gc, string title, string primary, string secondary, Purple.NotifySearchResults results, Purple.NotifyCloseCallback cb);
3756         [CCode (cheader_filename = "purple.h")]
3757         public static void notify_set_ui_ops (Purple.NotifyUiOps ops);
3758         [CCode (cheader_filename = "purple.h")]
3759         public static void notify_uninit ();
3760         [CCode (cheader_filename = "purple.h")]
3761         public static void* notify_uri (void* handle, string uri);
3762         [CCode (cheader_filename = "purple.h")]
3763         public static void* notify_userinfo (Purple.Connection gc, string who, Purple.NotifyUserInfo user_info, Purple.NotifyCloseCallback cb);
3764         [CCode (cheader_filename = "purple.h")]
3765         public static unowned string ntlm_gen_type1 (string hostname, string domain);
3766         [CCode (cheader_filename = "purple.h")]
3767         public static unowned string ntlm_gen_type3 (string username, string passw, string hostname, string domain, uchar nonce, uint32 flags);
3768         [CCode (cheader_filename = "purple.h")]
3769         public static uchar ntlm_parse_type2 (string type2, uint32 flags);
3770         [CCode (cheader_filename = "purple.h")]
3771         public static void plugins_add_search_path (string path);
3772         [CCode (cheader_filename = "purple.h")]
3773         public static void plugins_destroy_all ();
3774         [CCode (cheader_filename = "purple.h")]
3775         public static bool plugins_enabled ();
3776         [CCode (cheader_filename = "purple.h")]
3777         public static unowned Purple.Plugin plugins_find_with_basename (string basename);
3778         [CCode (cheader_filename = "purple.h")]
3779         public static unowned Purple.Plugin plugins_find_with_filename (string filename);
3780         [CCode (cheader_filename = "purple.h")]
3781         public static unowned Purple.Plugin plugins_find_with_id (string id);
3782         [CCode (cheader_filename = "purple.h")]
3783         public static unowned Purple.Plugin plugins_find_with_name (string name);
3784         [CCode (cheader_filename = "purple.h")]
3785         public static unowned GLib.List plugins_get_all ();
3786         [CCode (cheader_filename = "purple.h")]
3787         public static void* plugins_get_handle ();
3788         [CCode (cheader_filename = "purple.h")]
3789         public static unowned GLib.List plugins_get_loaded ();
3790         [CCode (cheader_filename = "purple.h")]
3791         public static unowned GLib.List plugins_get_protocols ();
3792         [CCode (cheader_filename = "purple.h")]
3793         public static unowned GLib.List plugins_get_search_paths ();
3794         [CCode (cheader_filename = "purple.h")]
3795         public static void plugins_init ();
3796         [CCode (cheader_filename = "purple.h")]
3797         public static void plugins_load_saved (string key);
3798         [CCode (cheader_filename = "purple.h")]
3799         public static void plugins_probe (string ext);
3800         [CCode (cheader_filename = "purple.h")]
3801         public static void plugins_register_load_notify_cb (GLib.Callback func, void* data);
3802         [CCode (cheader_filename = "purple.h")]
3803         public static void plugins_register_probe_notify_cb (GLib.Callback func, void* data);
3804         [CCode (cheader_filename = "purple.h")]
3805         public static void plugins_register_unload_notify_cb (GLib.Callback func, void* data);
3806         [CCode (cheader_filename = "purple.h")]
3807         public static void plugins_save_loaded (string key);
3808         [CCode (cheader_filename = "purple.h")]
3809         public static void plugins_uninit ();
3810         [CCode (cheader_filename = "purple.h")]
3811         public static void plugins_unload (Purple.PluginType type);
3812         [CCode (cheader_filename = "purple.h")]
3813         public static void plugins_unload_all ();
3814         [CCode (cheader_filename = "purple.h")]
3815         public static void plugins_unregister_load_notify_cb (GLib.Callback func);
3816         [CCode (cheader_filename = "purple.h")]
3817         public static void plugins_unregister_probe_notify_cb (GLib.Callback func);
3818         [CCode (cheader_filename = "purple.h")]
3819         public static void plugins_unregister_unload_notify_cb (GLib.Callback func);
3820         [CCode (cheader_filename = "purple.h")]
3821         public static bool pmp_create_map (Purple.PmpType type, uint privateport, uint publicport, int lifetime);
3822         [CCode (cheader_filename = "purple.h")]
3823         public static bool pmp_destroy_map (Purple.PmpType type, uint privateport);
3824         [CCode (cheader_filename = "purple.h")]
3825         public static unowned string pmp_get_public_ip ();
3826         [CCode (cheader_filename = "purple.h")]
3827         public static void pmp_init ();
3828         [CCode (cheader_filename = "purple.h")]
3829         public static unowned GLib.List pounces_get_all ();
3830         [CCode (cheader_filename = "purple.h")]
3831         public static unowned GLib.List pounces_get_all_for_ui (string ui);
3832         [CCode (cheader_filename = "purple.h")]
3833         public static void* pounces_get_handle ();
3834         [CCode (cheader_filename = "purple.h")]
3835         public static void pounces_init ();
3836         [CCode (cheader_filename = "purple.h")]
3837         public static bool pounces_load ();
3838         [CCode (cheader_filename = "purple.h")]
3839         public static void pounces_register_handler (string ui, Purple.PounceCb cb, GLib.Callback new_pounce, GLib.Callback free_pounce);
3840         [CCode (cheader_filename = "purple.h")]
3841         public static void pounces_uninit ();
3842         [CCode (cheader_filename = "purple.h")]
3843         public static void pounces_unregister_handler (string ui);
3844         [CCode (cheader_filename = "purple.h")]
3845         public static void prefs_add_bool (string name, bool value);
3846         [CCode (cheader_filename = "purple.h")]
3847         public static void prefs_add_int (string name, int value);
3848         [CCode (cheader_filename = "purple.h")]
3849         public static void prefs_add_none (string name);
3850         [CCode (cheader_filename = "purple.h")]
3851         public static void prefs_add_path (string name, string value);
3852         [CCode (cheader_filename = "purple.h")]
3853         public static void prefs_add_path_list (string name, GLib.List value);
3854         [CCode (cheader_filename = "purple.h")]
3855         public static void prefs_add_string (string name, string value);
3856         [CCode (cheader_filename = "purple.h")]
3857         public static void prefs_add_string_list (string name, GLib.List value);
3858         [CCode (cheader_filename = "purple.h")]
3859         public static uint prefs_connect_callback (void* handle, string name, Purple.PrefCallback cb, void* data);
3860         [CCode (cheader_filename = "purple.h")]
3861         public static void prefs_destroy ();
3862         [CCode (cheader_filename = "purple.h")]
3863         public static void prefs_disconnect_by_handle (void* handle);
3864         [CCode (cheader_filename = "purple.h")]
3865         public static void prefs_disconnect_callback (uint callback_id);
3866         [CCode (cheader_filename = "purple.h")]
3867         public static bool prefs_exists (string name);
3868         [CCode (cheader_filename = "purple.h")]
3869         public static bool prefs_get_bool (string name);
3870         [CCode (cheader_filename = "purple.h")]
3871         public static unowned GLib.List prefs_get_children_names (string name);
3872         [CCode (cheader_filename = "purple.h")]
3873         public static void* prefs_get_handle ();
3874         [CCode (cheader_filename = "purple.h")]
3875         public static int prefs_get_int (string name);
3876         [CCode (cheader_filename = "purple.h")]
3877         public static unowned string prefs_get_path (string name);
3878         [CCode (cheader_filename = "purple.h")]
3879         public static unowned GLib.List prefs_get_path_list (string name);
3880         [CCode (cheader_filename = "purple.h")]
3881         public static unowned string prefs_get_string (string name);
3882         [CCode (cheader_filename = "purple.h")]
3883         public static unowned GLib.List prefs_get_string_list (string name);
3884         [CCode (cheader_filename = "purple.h")]
3885         public static Purple.PrefType prefs_get_type (string name);
3886         [CCode (cheader_filename = "purple.h")]
3887         public static unowned Purple.PrefsUiOps prefs_get_ui_ops ();
3888         [CCode (cheader_filename = "purple.h")]
3889         public static void prefs_init ();
3890         [CCode (cheader_filename = "purple.h")]
3891         public static bool prefs_load ();
3892         [CCode (cheader_filename = "purple.h")]
3893         public static void prefs_remove (string name);
3894         [CCode (cheader_filename = "purple.h")]
3895         public static void prefs_rename (string oldname, string newname);
3896         [CCode (cheader_filename = "purple.h")]
3897         public static void prefs_rename_boolean_toggle (string oldname, string newname);
3898         [CCode (cheader_filename = "purple.h")]
3899         public static void prefs_set_bool (string name, bool value);
3900         [CCode (cheader_filename = "purple.h")]
3901         public static void prefs_set_generic (string name, void* value);
3902         [CCode (cheader_filename = "purple.h")]
3903         public static void prefs_set_int (string name, int value);
3904         [CCode (cheader_filename = "purple.h")]
3905         public static void prefs_set_path (string name, string value);
3906         [CCode (cheader_filename = "purple.h")]
3907         public static void prefs_set_path_list (string name, GLib.List value);
3908         [CCode (cheader_filename = "purple.h")]
3909         public static void prefs_set_string (string name, string value);
3910         [CCode (cheader_filename = "purple.h")]
3911         public static void prefs_set_string_list (string name, GLib.List value);
3912         [CCode (cheader_filename = "purple.h")]
3913         public static void prefs_set_ui_ops (Purple.PrefsUiOps ops);
3914         [CCode (cheader_filename = "purple.h")]
3915         public static void prefs_trigger_callback (string name);
3916         [CCode (cheader_filename = "purple.h")]
3917         public static void prefs_trigger_callback_object (Purple.PrefCallbackData data);
3918         [CCode (cheader_filename = "purple.h")]
3919         public static void prefs_uninit ();
3920         [CCode (cheader_filename = "purple.h")]
3921         public static void prefs_update_old ();
3922         [CCode (cheader_filename = "purple.h")]
3923         public static unowned string primitive_get_id_from_type (Purple.StatusPrimitive type);
3924         [CCode (cheader_filename = "purple.h")]
3925         public static unowned string primitive_get_name_from_type (Purple.StatusPrimitive type);
3926         [CCode (cheader_filename = "purple.h")]
3927         public static Purple.StatusPrimitive primitive_get_type_from_id (string id);
3928         [CCode (cheader_filename = "purple.h")]
3929         public static void print_utf8_to_console (GLib.FileStream filestream, string message);
3930         [CCode (cheader_filename = "purple.h")]
3931         public static void privacy_allow (Purple.Account account, string who, bool local, bool restore);
3932         [CCode (cheader_filename = "purple.h")]
3933         public static bool privacy_check (Purple.Account account, string who);
3934         [CCode (cheader_filename = "purple.h")]
3935         public static void privacy_deny (Purple.Account account, string who, bool local, bool restore);
3936         [CCode (cheader_filename = "purple.h")]
3937         public static bool privacy_deny_add (Purple.Account account, string name, bool local_only);
3938         [CCode (cheader_filename = "purple.h")]
3939         public static bool privacy_deny_remove (Purple.Account account, string name, bool local_only);
3940         [CCode (cheader_filename = "purple.h")]
3941         public static unowned Purple.PrivacyUiOps privacy_get_ui_ops ();
3942         [CCode (cheader_filename = "purple.h")]
3943         public static void privacy_init ();
3944         [CCode (cheader_filename = "purple.h")]
3945         public static bool privacy_permit_add (Purple.Account account, string name, bool local_only);
3946         [CCode (cheader_filename = "purple.h")]
3947         public static bool privacy_permit_remove (Purple.Account account, string name, bool local_only);
3948         [CCode (cheader_filename = "purple.h")]
3949         public static void privacy_set_ui_ops (Purple.PrivacyUiOps ops);
3950         [CCode (cheader_filename = "purple.h")]
3951         public static bool program_is_valid (string program);
3952         [CCode (cheader_filename = "purple.h")]
3953         public static unowned Purple.ProxyConnectData proxy_connect (void* handle, Purple.Account account, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
3954         [CCode (cheader_filename = "purple.h")]
3955         public static void proxy_connect_cancel (Purple.ProxyConnectData connect_data);
3956         [CCode (cheader_filename = "purple.h")]
3957         public static void proxy_connect_cancel_with_handle (void* handle);
3958         [CCode (cheader_filename = "purple.h")]
3959         public static unowned Purple.ProxyConnectData proxy_connect_socks5 (void* handle, Purple.ProxyInfo gpi, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
3960         [CCode (cheader_filename = "purple.h")]
3961         public static unowned Purple.ProxyConnectData proxy_connect_socks5_account (void* handle, Purple.Account account, Purple.ProxyInfo gpi, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
3962         [CCode (cheader_filename = "purple.h")]
3963         public static unowned Purple.ProxyConnectData proxy_connect_udp (void* handle, Purple.Account account, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
3964         [CCode (cheader_filename = "purple.h")]
3965         public static void* proxy_get_handle ();
3966         [CCode (cheader_filename = "purple.h")]
3967         public static unowned Purple.ProxyInfo proxy_get_setup (Purple.Account account);
3968         [CCode (cheader_filename = "purple.h")]
3969         public static void proxy_init ();
3970         [CCode (cheader_filename = "purple.h")]
3971         public static void proxy_uninit ();
3972         [CCode (cheader_filename = "purple.h")]
3973         public static void prpl_change_account_status (Purple.Account account, Purple.Status old_status, Purple.Status new_status);
3974         [CCode (cheader_filename = "purple.h")]
3975         public static Purple.MediaCaps prpl_get_media_caps (Purple.Account account, string who);
3976         [CCode (cheader_filename = "purple.h")]
3977         public static unowned GLib.List prpl_get_statuses (Purple.Account account, Purple.Presence presence);
3978         [CCode (cheader_filename = "purple.h")]
3979         public static void prpl_got_account_actions (Purple.Account account);
3980         [CCode (cheader_filename = "purple.h")]
3981         public static void prpl_got_account_idle (Purple.Account account, bool idle, ulong idle_time);
3982         [CCode (cheader_filename = "purple.h")]
3983         public static void prpl_got_account_login_time (Purple.Account account, ulong login_time);
3984         [CCode (cheader_filename = "purple.h")]
3985         public static void prpl_got_account_status (Purple.Account account, string status_id);
3986         [CCode (cheader_filename = "purple.h")]
3987         public static void prpl_got_attention (Purple.Connection gc, string who, uint type_code);
3988         [CCode (cheader_filename = "purple.h")]
3989         public static void prpl_got_attention_in_chat (Purple.Connection gc, int id, string who, uint type_code);
3990         [CCode (cheader_filename = "purple.h")]
3991         public static void prpl_got_media_caps (Purple.Account account, string who);
3992         [CCode (cheader_filename = "purple.h")]
3993         public static void prpl_got_user_idle (Purple.Account account, string name, bool idle, ulong idle_time);
3994         [CCode (cheader_filename = "purple.h")]
3995         public static void prpl_got_user_login_time (Purple.Account account, string name, ulong login_time);
3996         [CCode (cheader_filename = "purple.h")]
3997         public static void prpl_got_user_status (Purple.Account account, string name, string status_id);
3998         [CCode (cheader_filename = "purple.h")]
3999         public static void prpl_got_user_status_deactive (Purple.Account account, string name, string status_id);
4000         [CCode (cheader_filename = "purple.h")]
4001         public static bool prpl_initiate_media (Purple.Account account, string who, Purple.MediaSessionType type);
4002         [CCode (cheader_filename = "purple.h")]
4003         public static void prpl_send_attention (Purple.Connection gc, string who, uint type_code);
4004         [CCode (cheader_filename = "purple.h")]
4005         public static unowned uchar[] quotedp_decode (string str, size_t ret_len);
4006         [CCode (cheader_filename = "purple.h")]
4007         public static void* request_action (void* handle, string title, string primary, string secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, size_t action_count);
4008         [CCode (cheader_filename = "purple.h")]
4009         public static void* request_action_varg (void* handle, string title, string primary, string secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, size_t action_count, void* actions);
4010         [CCode (cheader_filename = "purple.h")]
4011         public static void* request_action_with_icon (void* handle, string title, string primary, string secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, void* icon_data, size_t icon_size, size_t action_count);
4012         [CCode (cheader_filename = "purple.h")]
4013         public static void* request_action_with_icon_varg (void* handle, string title, string primary, string secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, void* icon_data, size_t icon_size, size_t action_count, void* actions);
4014         [CCode (cheader_filename = "purple.h")]
4015         public static void* request_choice (void* handle, string title, string primary, string secondary, int default_value, string ok_text, GLib.Callback ok_cb, string cancel_text, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv);
4016         [CCode (cheader_filename = "purple.h")]
4017         public static void* request_choice_varg (void* handle, string title, string primary, string secondary, int default_value, string ok_text, GLib.Callback ok_cb, string cancel_text, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv, void* choices);
4018         [CCode (cheader_filename = "purple.h")]
4019         public static void request_close (Purple.RequestType type, void* uihandle);
4020         [CCode (cheader_filename = "purple.h")]
4021         public static void request_close_with_handle (void* handle);
4022         [CCode (cheader_filename = "purple.h")]
4023         public static void* request_fields (void* handle, string title, string primary, string secondary, Purple.RequestFields fields, string ok_text, GLib.Callback ok_cb, string cancel_text, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv);
4024         [CCode (cheader_filename = "purple.h")]
4025         public static void* request_file (void* handle, string title, string filename, bool savedialog, GLib.Callback ok_cb, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv);
4026         [CCode (cheader_filename = "purple.h")]
4027         public static void* request_folder (void* handle, string title, string dirname, GLib.Callback ok_cb, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv);
4028         [CCode (cheader_filename = "purple.h")]
4029         public static unowned Purple.RequestUiOps request_get_ui_ops ();
4030         [CCode (cheader_filename = "purple.h")]
4031         public static void* request_input (void* handle, string title, string primary, string secondary, string default_value, bool multiline, bool masked, string hint, string ok_text, GLib.Callback ok_cb, string cancel_text, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv);
4032         [CCode (cheader_filename = "purple.h")]
4033         public static void request_set_ui_ops (Purple.RequestUiOps ops);
4034         [CCode (cheader_filename = "purple.h")]
4035         public static void restore_default_signal_handlers ();
4036         [CCode (cheader_filename = "purple.h")]
4037         public static bool running_gnome ();
4038         [CCode (cheader_filename = "purple.h")]
4039         public static bool running_kde ();
4040         [CCode (cheader_filename = "purple.h")]
4041         public static bool running_osx ();
4042         [CCode (cheader_filename = "purple.h")]
4043         public static unowned GLib.List savedstatuses_get_all ();
4044         [CCode (cheader_filename = "purple.h")]
4045         public static void* savedstatuses_get_handle ();
4046         [CCode (cheader_filename = "purple.h")]
4047         public static unowned GLib.List savedstatuses_get_popular (uint how_many);
4048         [CCode (cheader_filename = "purple.h")]
4049         public static void savedstatuses_init ();
4050         [CCode (cheader_filename = "purple.h")]
4051         public static void savedstatuses_uninit ();
4052         [CCode (cheader_filename = "purple.h", cname = "serv_add_deny")]
4053         public static void serv_add_deny (Purple.Connection p1, string p2);
4054         [CCode (cheader_filename = "purple.h", cname = "serv_add_permit")]
4055         public static void serv_add_permit (Purple.Connection p1, string p2);
4056         [CCode (cheader_filename = "purple.h", cname = "serv_alias_buddy")]
4057         public static void serv_alias_buddy (Purple.Buddy p1);
4058         [CCode (cheader_filename = "purple.h", cname = "serv_chat_invite")]
4059         public static void serv_chat_invite (Purple.Connection p1, int p2, string p3, string p4);
4060         [CCode (cheader_filename = "purple.h", cname = "serv_chat_leave")]
4061         public static void serv_chat_leave (Purple.Connection p1, int p2);
4062         [CCode (cheader_filename = "purple.h", cname = "serv_chat_send")]
4063         public static int serv_chat_send (Purple.Connection p1, int p2, string p3, Purple.MessageFlags flags);
4064         [CCode (cheader_filename = "purple.h", cname = "serv_chat_whisper")]
4065         public static void serv_chat_whisper (Purple.Connection p1, int p2, string p3, string p4);
4066         [CCode (cheader_filename = "purple.h", cname = "serv_get_info")]
4067         public static void serv_get_info (Purple.Connection p1, string p2);
4068         [CCode (cheader_filename = "purple.h", cname = "serv_got_alias")]
4069         public static void serv_got_alias (Purple.Connection gc, string who, string alias);
4070         [CCode (cheader_filename = "purple.h", cname = "serv_got_attention")]
4071         public static void serv_got_attention (Purple.Connection gc, string who, uint type_code);
4072         [CCode (cheader_filename = "purple.h", cname = "serv_got_chat_in")]
4073         public static void serv_got_chat_in (Purple.Connection g, int id, string who, Purple.MessageFlags flags, string message, ulong mtime);
4074         [CCode (cheader_filename = "purple.h", cname = "serv_got_chat_invite")]
4075         public static void serv_got_chat_invite (Purple.Connection gc, string name, string who, string message, GLib.HashTable data);
4076         [CCode (cheader_filename = "purple.h", cname = "serv_got_chat_left")]
4077         public static void serv_got_chat_left (Purple.Connection g, int id);
4078         [CCode (cheader_filename = "purple.h", cname = "serv_got_im")]
4079         public static void serv_got_im (Purple.Connection gc, string who, string msg, Purple.MessageFlags flags, ulong mtime);
4080         [CCode (cheader_filename = "purple.h")]
4081         public static void serv_got_join_chat_failed (Purple.Connection gc, GLib.HashTable data);
4082         [CCode (cheader_filename = "purple.h", cname = "serv_got_joined_chat")]
4083         public static unowned Purple.Conversation serv_got_joined_chat (Purple.Connection gc, int id, string name);
4084         [CCode (cheader_filename = "purple.h")]
4085         public static void serv_got_private_alias (Purple.Connection gc, string who, string alias);
4086         [CCode (cheader_filename = "purple.h", cname = "serv_got_typing")]
4087         public static void serv_got_typing (Purple.Connection gc, string name, int timeout, Purple.TypingState state);
4088         [CCode (cheader_filename = "purple.h", cname = "serv_got_typing_stopped")]
4089         public static void serv_got_typing_stopped (Purple.Connection gc, string name);
4090         [CCode (cheader_filename = "purple.h", cname = "serv_join_chat")]
4091         public static void serv_join_chat (Purple.Connection p1, GLib.HashTable data);
4092         [CCode (cheader_filename = "purple.h", cname = "serv_move_buddy")]
4093         public static void serv_move_buddy (Purple.Buddy p1, Purple.Group p2, Purple.Group p3);
4094         [CCode (cheader_filename = "purple.h", cname = "serv_reject_chat")]
4095         public static void serv_reject_chat (Purple.Connection p1, GLib.HashTable data);
4096         [CCode (cheader_filename = "purple.h", cname = "serv_rem_deny")]
4097         public static void serv_rem_deny (Purple.Connection p1, string p2);
4098         [CCode (cheader_filename = "purple.h", cname = "serv_rem_permit")]
4099         public static void serv_rem_permit (Purple.Connection p1, string p2);
4100         [CCode (cheader_filename = "purple.h", cname = "serv_send_attention")]
4101         public static void serv_send_attention (Purple.Connection gc, string who, uint type_code);
4102         [CCode (cheader_filename = "purple.h", cname = "serv_send_file")]
4103         public static void serv_send_file (Purple.Connection gc, string who, string file);
4104         [CCode (cheader_filename = "purple.h", cname = "serv_send_im")]
4105         public static int serv_send_im (Purple.Connection p1, string p2, string p3, Purple.MessageFlags flags);
4106         [CCode (cheader_filename = "purple.h", cname = "serv_send_typing")]
4107         public static uint serv_send_typing (Purple.Connection gc, string name, Purple.TypingState state);
4108         [CCode (cheader_filename = "purple.h", cname = "serv_set_info")]
4109         public static void serv_set_info (Purple.Connection p1, string p2);
4110         [CCode (cheader_filename = "purple.h", cname = "serv_set_permit_deny")]
4111         public static void serv_set_permit_deny (Purple.Connection p1);
4112         [CCode (cheader_filename = "purple.h")]
4113         public static void set_blist (Purple.BuddyList blist);
4114         [CCode (cheader_filename = "purple.h")]
4115         public static ulong signal_connect (void* instance, string @signal, void* handle, Purple.Callback func, void* data);
4116         [CCode (cheader_filename = "purple.h")]
4117         public static ulong signal_connect_priority (void* instance, string @signal, void* handle, Purple.Callback func, void* data, int priority);
4118         [CCode (cheader_filename = "purple.h")]
4119         public static ulong signal_connect_priority_vargs (void* instance, string @signal, void* handle, Purple.Callback func, void* data, int priority);
4120         [CCode (cheader_filename = "purple.h")]
4121         public static ulong signal_connect_vargs (void* instance, string @signal, void* handle, Purple.Callback func, void* data);
4122         [CCode (cheader_filename = "purple.h")]
4123         public static void signal_disconnect (void* instance, string @signal, void* handle, Purple.Callback func);
4124         [CCode (cheader_filename = "purple.h")]
4125         public static void signal_emit (void* instance, string @signal);
4126         [CCode (cheader_filename = "purple.h")]
4127         public static void* signal_emit_return_1 (void* instance, string @signal);
4128         [CCode (cheader_filename = "purple.h")]
4129         public static void signal_emit_vargs (void* instance, string @signal, void* args);
4130         [CCode (cheader_filename = "purple.h")]
4131         public static void* signal_emit_vargs_return_1 (void* instance, string @signal, void* args);
4132         [CCode (cheader_filename = "purple.h")]
4133         public static void signal_get_values (void* instance, string @signal, out unowned Purple.Value ret_value, int num_values, out unowned Purple.Value values);
4134         [CCode (cheader_filename = "purple.h")]
4135         public static ulong signal_register (void* instance, string @signal, Purple.SignalMarshalFunc marshal, Purple.Value ret_value, int num_values);
4136         [CCode (cheader_filename = "purple.h")]
4137         public static void signal_unregister (void* instance, string @signal);
4138         [CCode (cheader_filename = "purple.h")]
4139         public static void signals_disconnect_by_handle (void* handle);
4140         [CCode (cheader_filename = "purple.h")]
4141         public static void signals_init ();
4142         [CCode (cheader_filename = "purple.h")]
4143         public static void signals_uninit ();
4144         [CCode (cheader_filename = "purple.h")]
4145         public static void signals_unregister_by_instance (void* instance);
4146         [CCode (cheader_filename = "purple.h")]
4147         public static void smarshal_BOOLEAN__OBJECT_POINTER_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4148         [CCode (cheader_filename = "purple.h")]
4149         public static void smarshal_VOID__ENUM_STRING_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4150         [CCode (cheader_filename = "purple.h")]
4151         public static void smarshal_VOID__ENUM_STRING_STRING_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4152         [CCode (cheader_filename = "purple.h")]
4153         public static void smarshal_VOID__FLAGS_FLAGS (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4154         [CCode (cheader_filename = "purple.h")]
4155         public static void smarshal_VOID__POINTER_POINTER_OBJECT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4156         [CCode (cheader_filename = "purple.h")]
4157         public static void smarshal_VOID__POINTER_POINTER_OBJECT_OBJECT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4158         [CCode (cheader_filename = "purple.h")]
4159         public static void smarshal_VOID__STRING_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4160         [CCode (cheader_filename = "purple.h")]
4161         public static void smarshal_VOID__STRING_STRING_DOUBLE (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4162         [CCode (cheader_filename = "purple.h")]
4163         public static void smarshal_VOID__STRING_STRING_OBJECT_OBJECT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4164         [CCode (cheader_filename = "purple.h")]
4165         public static unowned Purple.Smiley smileys_find_by_checksum (string checksum);
4166         [CCode (cheader_filename = "purple.h")]
4167         public static unowned Purple.Smiley smileys_find_by_shortcut (string shortcut);
4168         [CCode (cheader_filename = "purple.h")]
4169         public static unowned GLib.List smileys_get_all ();
4170         [CCode (cheader_filename = "purple.h")]
4171         public static unowned string smileys_get_storing_dir ();
4172         [CCode (cheader_filename = "purple.h")]
4173         public static void smileys_init ();
4174         [CCode (cheader_filename = "purple.h")]
4175         public static void smileys_uninit ();
4176         [CCode (cheader_filename = "purple.h")]
4177         public static int socket_get_family (int fd);
4178         [CCode (cheader_filename = "purple.h")]
4179         public static bool socket_speaks_ipv4 (int fd);
4180         [CCode (cheader_filename = "purple.h")]
4181         public static unowned Purple.SoundUiOps sound_get_ui_ops ();
4182         [CCode (cheader_filename = "purple.h")]
4183         public static void sound_init ();
4184         [CCode (cheader_filename = "purple.h")]
4185         public static void sound_play_event (Purple.SoundEventID event, Purple.Account account);
4186         [CCode (cheader_filename = "purple.h")]
4187         public static void sound_play_file (string filename, Purple.Account account);
4188         [CCode (cheader_filename = "purple.h")]
4189         public static void sound_set_ui_ops (Purple.SoundUiOps ops);
4190         [CCode (cheader_filename = "purple.h")]
4191         public static void sound_uninit ();
4192         [CCode (cheader_filename = "purple.h")]
4193         public static void* sounds_get_handle ();
4194         [CCode (cheader_filename = "purple.h")]
4195         public static void srv_cancel (Purple.SrvTxtQueryData query_data);
4196         [CCode (cheader_filename = "purple.h")]
4197         public static unowned Purple.SrvTxtQueryData srv_resolve (string protocol, string transport, string domain, Purple.SrvCallback cb, void* extradata);
4198         [CCode (cheader_filename = "purple.h")]
4199         public static unowned Purple.SrvTxtQueryData srv_resolve_account (Purple.Account account, string protocol, string transport, string domain, Purple.SrvCallback cb, void* extradata);
4200         [CCode (cheader_filename = "purple.h")]
4201         public static void srv_txt_query_destroy (Purple.SrvTxtQueryData query_data);
4202         [CCode (cheader_filename = "purple.h")]
4203         public static unowned string srv_txt_query_get_query (Purple.SrvTxtQueryData query_data);
4204         [CCode (cheader_filename = "purple.h")]
4205         public static int srv_txt_query_get_type (Purple.SrvTxtQueryData query_data);
4206         [CCode (cheader_filename = "purple.h")]
4207         public static unowned Purple.SrvTxtQueryUiOps srv_txt_query_get_ui_ops ();
4208         [CCode (cheader_filename = "purple.h")]
4209         public static void srv_txt_query_set_ui_ops (Purple.SrvTxtQueryUiOps ops);
4210         [CCode (cheader_filename = "purple.h")]
4211         public static void ssl_close (Purple.SslConnection gsc);
4212         [CCode (cheader_filename = "purple.h")]
4213         public static unowned Purple.SslConnection ssl_connect (Purple.Account account, string host, int port, Purple.SslInputFunction func, Purple.SslErrorFunction error_func, void* data);
4214         [CCode (cheader_filename = "purple.h")]
4215         public static unowned Purple.SslConnection ssl_connect_fd (Purple.Account account, int fd, Purple.SslInputFunction func, Purple.SslErrorFunction error_func, void* data);
4216         [CCode (cheader_filename = "purple.h")]
4217         public static unowned Purple.SslConnection ssl_connect_with_host_fd (Purple.Account account, int fd, Purple.SslInputFunction func, Purple.SslErrorFunction error_func, string host, void* data);
4218         [CCode (cheader_filename = "purple.h")]
4219         public static unowned Purple.SslConnection ssl_connect_with_ssl_cn (Purple.Account account, string host, int port, Purple.SslInputFunction func, Purple.SslErrorFunction error_func, string ssl_host, void* data);
4220         [CCode (cheader_filename = "purple.h")]
4221         public static unowned Purple.SslOps ssl_get_ops ();
4222         [CCode (cheader_filename = "purple.h")]
4223         public static unowned GLib.List ssl_get_peer_certificates (Purple.SslConnection gsc);
4224         [CCode (cheader_filename = "purple.h")]
4225         public static void ssl_init ();
4226         [CCode (cheader_filename = "purple.h")]
4227         public static void ssl_input_add (Purple.SslConnection gsc, Purple.SslInputFunction func, void* data);
4228         [CCode (cheader_filename = "purple.h")]
4229         public static bool ssl_is_supported ();
4230         [CCode (cheader_filename = "purple.h")]
4231         public static size_t ssl_read (Purple.SslConnection gsc, void* buffer, size_t len);
4232         [CCode (cheader_filename = "purple.h")]
4233         public static void ssl_set_ops (Purple.SslOps ops);
4234         [CCode (cheader_filename = "purple.h")]
4235         public static unowned string ssl_strerror (Purple.SslErrorType error);
4236         [CCode (cheader_filename = "purple.h")]
4237         public static void ssl_uninit ();
4238         [CCode (cheader_filename = "purple.h")]
4239         public static size_t ssl_write (Purple.SslConnection gsc, void* buffer, size_t len);
4240         [CCode (cheader_filename = "purple.h")]
4241         public static unowned string str_add_cr (string str);
4242         [CCode (cheader_filename = "purple.h")]
4243         public static unowned string str_binary_to_ascii (uint binary, uint len);
4244         [CCode (cheader_filename = "purple.h")]
4245         public static bool str_has_prefix (string s, string p);
4246         [CCode (cheader_filename = "purple.h")]
4247         public static bool str_has_suffix (string s, string x);
4248         [CCode (cheader_filename = "purple.h")]
4249         public static unowned string str_seconds_to_string (uint sec);
4250         [CCode (cheader_filename = "purple.h")]
4251         public static unowned string str_size_to_units (size_t size);
4252         [CCode (cheader_filename = "purple.h")]
4253         public static void str_strip_char (string str, GLib.ObjectPath thechar);
4254         [CCode (cheader_filename = "purple.h")]
4255         public static ulong str_to_time (string timestamp, bool utc, void* tm, long tz_off, out unowned string rest);
4256         [CCode (cheader_filename = "purple.h")]
4257         public static unowned string strcasereplace (string str, string delimiter, string replacement);
4258         [CCode (cheader_filename = "purple.h")]
4259         public static unowned string strcasestr (string haystack, string needle);
4260         [CCode (cheader_filename = "purple.h")]
4261         public static unowned string strdup_withhtml (string src);
4262         [CCode (cheader_filename = "purple.h")]
4263         public static bool strequal (string left, string right);
4264         [CCode (cheader_filename = "purple.h")]
4265         public static unowned string strreplace (string str, string delimiter, string replacement);
4266         [CCode (cheader_filename = "purple.h")]
4267         public static unowned Purple.StunNatDiscovery stun_discover (Purple.StunCallback cb);
4268         [CCode (cheader_filename = "purple.h")]
4269         public static void stun_init ();
4270         [CCode (cheader_filename = "purple.h")]
4271         public static unowned string text_strip_mnemonic (string @in);
4272         [CCode (cheader_filename = "purple.h")]
4273         public static ulong time_build (int year, int month, int day, int hour, int min, int sec);
4274         [CCode (cheader_filename = "purple.h")]
4275         public static unowned string time_format (void* tm);
4276         [CCode (cheader_filename = "purple.h")]
4277         public static uint timeout_add (uint interval, GLib.SourceFunc function, void* data);
4278         [CCode (cheader_filename = "purple.h")]
4279         public static uint timeout_add_seconds (uint interval, GLib.SourceFunc function, void* data);
4280         [CCode (cheader_filename = "purple.h")]
4281         public static bool timeout_remove (uint handle);
4282         [CCode (cheader_filename = "purple.h")]
4283         public static void txt_cancel (Purple.SrvTxtQueryData query_data);
4284         [CCode (cheader_filename = "purple.h")]
4285         public static unowned Purple.SrvTxtQueryData txt_resolve (string owner, string domain, Purple.TxtCallback cb, void* extradata);
4286         [CCode (cheader_filename = "purple.h")]
4287         public static unowned Purple.SrvTxtQueryData txt_resolve_account (Purple.Account account, string owner, string domain, Purple.TxtCallback cb, void* extradata);
4288         [CCode (cheader_filename = "purple.h")]
4289         public static unowned string unescape_filename (string str);
4290         [CCode (cheader_filename = "purple.h")]
4291         public static unowned string unescape_html (string html);
4292         [CCode (cheader_filename = "purple.h")]
4293         public static unowned string unescape_text (string text);
4294         [CCode (cheader_filename = "purple.h")]
4295         public static void upnp_cancel_port_mapping (Purple.UPnPMappingAddRemove mapping_data);
4296         [CCode (cheader_filename = "purple.h")]
4297         public static void upnp_discover (Purple.UPnPCallback cb, void* cb_data);
4298         [CCode (cheader_filename = "purple.h")]
4299         public static unowned string upnp_get_public_ip ();
4300         [CCode (cheader_filename = "purple.h")]
4301         public static void upnp_init ();
4302         [CCode (cheader_filename = "purple.h")]
4303         public static unowned Purple.UPnPMappingAddRemove upnp_remove_port_mapping (uint portmap, string protocol, Purple.UPnPCallback cb, void* cb_data);
4304         [CCode (cheader_filename = "purple.h")]
4305         public static unowned Purple.UPnPMappingAddRemove upnp_set_port_mapping (uint portmap, string protocol, Purple.UPnPCallback cb, void* cb_data);
4306         [CCode (cheader_filename = "purple.h")]
4307         public static unowned GLib.List uri_list_extract_filenames (string uri_list);
4308         [CCode (cheader_filename = "purple.h")]
4309         public static unowned GLib.List uri_list_extract_uris (string uri_list);
4310         [CCode (cheader_filename = "purple.h")]
4311         public static unowned string url_decode (string str);
4312         [CCode (cheader_filename = "purple.h")]
4313         public static unowned string url_encode (string str);
4314         [CCode (cheader_filename = "purple.h")]
4315         public static bool url_parse (string url, out unowned string ret_host, int ret_port, out unowned string ret_path, out unowned string ret_user, out unowned string ret_passwd);
4316         [CCode (cheader_filename = "purple.h")]
4317         public static unowned string user_dir ();
4318         [CCode (cheader_filename = "purple.h")]
4319         public static bool utf8_has_word (string haystack, string needle);
4320         [CCode (cheader_filename = "purple.h")]
4321         public static unowned string utf8_ncr_decode (string @in);
4322         [CCode (cheader_filename = "purple.h")]
4323         public static unowned string utf8_ncr_encode (string @in);
4324         [CCode (cheader_filename = "purple.h")]
4325         public static unowned string utf8_salvage (string str);
4326         [CCode (cheader_filename = "purple.h")]
4327         public static int utf8_strcasecmp (string a, string b);
4328         [CCode (cheader_filename = "purple.h")]
4329         public static unowned string utf8_strftime (string format, void* tm);
4330         [CCode (cheader_filename = "purple.h")]
4331         public static unowned string utf8_strip_unprintables (string str);
4332         [CCode (cheader_filename = "purple.h")]
4333         public static unowned string utf8_try_convert (string str);
4334         [CCode (cheader_filename = "purple.h")]
4335         public static void util_chrreplace (string str, GLib.ObjectPath delimiter, GLib.ObjectPath replacement);
4336         [CCode (cheader_filename = "purple.h")]
4337         public static void util_fetch_url_cancel (Purple.UtilFetchUrlData url_data);
4338         [CCode (cheader_filename = "purple.h")]
4339         public static unowned Purple.UtilFetchUrlData util_fetch_url_request (string url, bool full, string user_agent, bool http11, string request, bool include_headers, Purple.UtilFetchUrlCallback callback, void* data);
4340         [CCode (cheader_filename = "purple.h")]
4341         public static unowned Purple.UtilFetchUrlData util_fetch_url_request_data_len_with_account (Purple.Account account, string url, bool full, string user_agent, bool http11, string request, size_t request_len, bool include_headers, ssize_t max_len, Purple.UtilFetchUrlCallback callback);
4342         [CCode (cheader_filename = "purple.h")]
4343         public static unowned Purple.UtilFetchUrlData util_fetch_url_request_len (string url, bool full, string user_agent, bool http11, string request, bool include_headers, ssize_t max_len, Purple.UtilFetchUrlCallback callback, void* data);
4344         [CCode (cheader_filename = "purple.h")]
4345         public static unowned Purple.UtilFetchUrlData util_fetch_url_request_len_with_account (Purple.Account account, string url, bool full, string user_agent, bool http11, string request, bool include_headers, ssize_t max_len, Purple.UtilFetchUrlCallback callback, void* data);
4346         [CCode (cheader_filename = "purple.h")]
4347         public static unowned string util_format_song_info (string title, string artist, string album, void* unused);
4348         [CCode (cheader_filename = "purple.h")]
4349         public static unowned string util_get_image_checksum (void* image_data, size_t image_len);
4350         [CCode (cheader_filename = "purple.h")]
4351         public static unowned string util_get_image_extension (void* data, size_t len);
4352         [CCode (cheader_filename = "purple.h")]
4353         public static unowned string util_get_image_filename (void* image_data, size_t image_len);
4354         [CCode (cheader_filename = "purple.h")]
4355         public static void util_init ();
4356         [CCode (cheader_filename = "purple.h")]
4357         public static unowned Purple.xmlnode util_read_xml_from_file (string filename, string description);
4358         [CCode (cheader_filename = "purple.h")]
4359         public static void util_set_current_song (string title, string artist, string album);
4360         [CCode (cheader_filename = "purple.h")]
4361         public static void util_set_user_dir (string dir);
4362         [CCode (cheader_filename = "purple.h")]
4363         public static void util_uninit ();
4364         [CCode (cheader_filename = "purple.h")]
4365         public static bool util_write_data_to_file (string filename, string data, ssize_t size);
4366         [CCode (cheader_filename = "purple.h")]
4367         public static bool util_write_data_to_file_absolute (string filename_full, string data, ssize_t size);
4368         [CCode (cheader_filename = "purple.h")]
4369         public static unowned string uuid_random ();
4370         [CCode (cheader_filename = "purple.h")]
4371         public static unowned string version_check (uint required_major, uint required_minor, uint required_micro);
4372         [CCode (cheader_filename = "purple.h")]
4373         public static unowned GLib.List xfers_get_all ();
4374         [CCode (cheader_filename = "purple.h")]
4375         public static void* xfers_get_handle ();
4376         [CCode (cheader_filename = "purple.h")]
4377         public static unowned Purple.XferUiOps xfers_get_ui_ops ();
4378         [CCode (cheader_filename = "purple.h")]
4379         public static void xfers_init ();
4380         [CCode (cheader_filename = "purple.h")]
4381         public static void xfers_set_ui_ops (Purple.XferUiOps ops);
4382         [CCode (cheader_filename = "purple.h")]
4383         public static void xfers_uninit ();