purple.vapi 195 KB
Newer Older
1 2 3
/* purple.vapi generated by vapigen, do not modify. */

namespace Purple {
4
	[CCode (cheader_filename = "purple.h", free_function = "purple_account_destroy")]
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
	[Compact]
	public class Account {
		public weak string alias;
		public weak string buddy_icon_path;
		public weak GLib.SList deny;
		public bool disconnecting;
		public weak Purple.Connection gc;
		public weak string password;
		public Purple.PrivacyType perm_deny;
		public weak GLib.SList permit;
		public weak Purple.Presence presence;
		public void* priv;
		public weak string protocol_id;
		public weak Purple.ProxyInfo proxy_info;
		public weak Purple.AccountRegistrationCb registration_cb;
		public void* registration_cb_user_data;
		public bool remember_pass;
		public weak GLib.HashTable settings;
		public weak GLib.List status_types;
		public weak Purple.Log system_log;
		public void* ui_data;
		public weak GLib.HashTable ui_settings;
		public weak string user_info;
		public weak string username;
		[CCode (has_construct_function = false)]
		public Account (string username, string protocol_id);
		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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
		public void change_password (string orig_pw, string new_pw);
		public void clear_current_error ();
		public void clear_settings ();
		public void connect ();
		public void destroy_log ();
		public void disconnect ();
		public unowned Purple.Status get_active_status ();
		public unowned string get_alias ();
		public bool get_bool (string name, bool default_value);
		public unowned string get_buddy_icon_path ();
		public bool get_check_mail ();
		public unowned Purple.Connection get_connection ();
		public unowned Purple.ConnectionErrorInfo get_current_error ();
		public bool get_enabled (string ui);
		public int get_int (string name, int default_value);
		public unowned Purple.Log get_log (bool create);
51
		public unowned string get_name_for_display ();
52 53
		public unowned string get_password ();
		public unowned Purple.Presence get_presence ();
54
		public Purple.PrivacyType get_privacy_type ();
55 56 57
		public unowned string get_protocol_id ();
		public unowned string get_protocol_name ();
		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 62 63 64 65 66 67 68 69 70 71 72 73 74 75
		public unowned Purple.Status get_status (string status_id);
		public unowned Purple.StatusType get_status_type (string id);
		public unowned Purple.StatusType get_status_type_with_primitive (Purple.StatusPrimitive primitive);
		public unowned GLib.List get_status_types ();
		public unowned string get_string (string name, string default_value);
		public bool get_ui_bool (string ui, string name, bool default_value);
		public int get_ui_int (string ui, string name, int default_value);
		public unowned string get_ui_string (string ui, string name, string default_value);
		public unowned string get_user_info ();
		public unowned string get_username ();
		public bool is_connected ();
		public bool is_connecting ();
		public bool is_disconnected ();
		public bool is_status_active (string status_id);
		public void notify_added (string remote_user, string id, string alias, string message);
76 77
		public static unowned Purple.AccountPrefsUiOps prefs_get_ui_ops ();
		public static void prefs_set_ui_ops (Purple.AccountPrefsUiOps ops);
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
		public void register ();
		public void remove_buddies (GLib.List buddies, GLib.List groups);
		public void remove_buddy (Purple.Buddy buddy, Purple.Group group);
		public void remove_group (Purple.Group group);
		public void remove_setting (string setting);
		public void request_add (string remote_user, string id, string alias, string message);
		public void* request_authorization (string remote_user, string id, string alias, string message, bool on_list, Purple.AccountRequestAuthorizationCb auth_cb, Purple.AccountRequestAuthorizationCb deny_cb);
		public void request_change_password ();
		public void request_change_user_info ();
		public static void request_close (void* ui_handle);
		public void request_close_with_account ();
		public void request_password (GLib.Callback ok_cb, GLib.Callback cancel_cb);
		public void set_alias (string alias);
		public void set_bool (string name, bool value);
		public void set_buddy_icon_path (string path);
		public void set_check_mail (bool value);
		public void set_connection (Purple.Connection gc);
		public void set_enabled (string ui, bool value);
		public void set_int (string name, int value);
		public void set_password (string password);
98
		public void set_privacy_type (Purple.PrivacyType privacy_type);
99 100
		public void set_protocol_id (string protocol_id);
		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 103
		public void set_register_callback (Purple.AccountRegistrationCb cb);
		public void set_remember_password (bool value);
104
		public void set_silence_suppression (bool value);
105 106 107 108 109 110 111 112 113 114 115 116
		public void set_status (string status_id, bool active);
		public void set_status_list (string status_id, bool active, GLib.List attrs);
		public void set_status_types (GLib.List status_types);
		public void set_string (string name, string value);
		public void set_ui_bool (string ui, string name, bool value);
		public void set_ui_int (string ui, string name, int value);
		public void set_ui_string (string ui, string name, string value);
		public void set_user_info (string user_info);
		public void set_username (string username);
		public bool supports_offline_message (Purple.Buddy buddy);
		public void unregister (Purple.AccountUnregistrationCb cb);
	}
117
	[CCode (cheader_filename = "purple.h", free_function = "purple_account_option_destroy")]
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
	[Compact]
	public class AccountOption {
		public void* default_value;
		public bool masked;
		public weak string pref_name;
		public weak string text;
		public Purple.PrefType type;
		[CCode (has_construct_function = false)]
		public AccountOption (Purple.PrefType type, string text, string pref_name);
		public void add_list_item (string key, string value);
		public static unowned Purple.AccountOption bool_new (string text, string pref_name, bool default_value);
		public bool get_default_bool ();
		public int get_default_int ();
		public unowned string get_default_list_value ();
		public unowned string get_default_string ();
		public unowned GLib.List get_list ();
		public bool get_masked ();
		public unowned string get_setting ();
		public unowned string get_text ();
		public static unowned Purple.AccountOption int_new (string text, string pref_name, int default_value);
		public static unowned Purple.AccountOption list_new (string text, string pref_name, GLib.List list);
		public void set_default_bool (bool value);
		public void set_default_int (int value);
		public void set_default_string (string value);
		public void set_list (GLib.List values);
		public void set_masked (bool masked);
		public static unowned Purple.AccountOption string_new (string text, string pref_name, string default_value);
	}
	[CCode (cheader_filename = "purple.h")]
147
	[Compact]
148 149 150 151 152 153 154 155 156 157
	public class AccountPrefsUiOps {
		public weak GLib.Callback load;
		public weak GLib.Callback save;
		public weak GLib.Callback schedule_save;
		public weak GLib.Callback set_bool;
		public weak GLib.Callback set_int;
		public weak GLib.Callback set_string;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
158 159 160 161 162 163 164
	public class AccountUiOps {
		public weak GLib.Callback close_account_request;
		public weak GLib.Callback notify_added;
		public weak GLib.Callback request_add;
		public weak GLib.Callback request_authorize;
		public weak GLib.Callback status_changed;
	}
165
	[CCode (cheader_filename = "purple.h", free_function = "purple_account_user_split_destroy")]
166 167 168
	[Compact]
	public class AccountUserSplit {
		public weak string default_value;
169
		public weak GLib.ObjectPath field_sep;
170 171 172
		public bool reverse;
		public weak string text;
		[CCode (has_construct_function = false)]
173
		public AccountUserSplit (string text, string default_value, GLib.ObjectPath sep);
174 175
		public unowned string get_default_value ();
		public bool get_reverse ();
176
		public unowned GLib.ObjectPath get_separator ();
177 178 179 180
		public unowned string get_text ();
		public void set_reverse (bool reverse);
	}
	[CCode (cheader_filename = "purple.h")]
181
	[Compact]
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
	public class AttentionType {
		public weak string icon_name;
		public weak string incoming_description;
		public weak string name;
		public weak string outgoing_description;
		public weak string unlocalized_name;
		[CCode (has_construct_function = false)]
		public AttentionType (string ulname, string name, string inc_desc, string out_desc);
		public unowned string get_icon_name ();
		public unowned string get_incoming_desc ();
		public unowned string get_name ();
		public unowned string get_outgoing_desc ();
		public unowned string get_unlocalized_name ();
		public void set_icon_name (string name);
		public void set_incoming_desc (string desc);
		public void set_name (string name);
		public void set_outgoing_desc (string desc);
		public void set_unlocalized_name (string ulname);
	}
	[CCode (cheader_filename = "purple.h")]
202
	[Compact]
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
	public class BlistNode {
		public weak Purple.BlistNode child;
		public Purple.BlistNodeFlags flags;
		public weak Purple.BlistNode parent;
		public weak Purple.BlistNode prev;
		public weak GLib.HashTable settings;
		public Purple.BlistNodeType type;
		public void* ui_data;
		public bool get_bool (string key);
		public unowned GLib.List get_extended_menu ();
		public unowned Purple.BlistNode get_first_child ();
		public Purple.BlistNodeFlags get_flags ();
		public int get_int (string key);
		public unowned Purple.BlistNode get_parent ();
		public unowned Purple.BlistNode get_sibling_next ();
		public unowned Purple.BlistNode get_sibling_prev ();
		public unowned string get_string (string key);
		public void* get_ui_data ();
		public unowned Purple.BlistNode next (bool offline);
		public void remove_setting (string key);
		public void set_bool (string key, bool value);
		public void set_flags (Purple.BlistNodeFlags flags);
		public void set_int (string key, int value);
		public void set_string (string key, string value);
		public void set_ui_data (void* ui_data);
	}
	[CCode (cheader_filename = "purple.h")]
230
	[Compact]
231 232 233 234 235 236 237 238 239 240 241 242 243 244 245
	public class BlistUiOps {
		public weak GLib.Callback destroy;
		public weak GLib.Callback new_list;
		public weak GLib.Callback new_node;
		public weak GLib.Callback remove;
		public weak GLib.Callback remove_node;
		public weak GLib.Callback request_add_buddy;
		public weak GLib.Callback request_add_chat;
		public weak GLib.Callback request_add_group;
		public weak GLib.Callback save_account;
		public weak GLib.Callback save_node;
		public weak GLib.Callback set_visible;
		public weak GLib.Callback show;
		public weak GLib.Callback update;
	}
246
	[CCode (cheader_filename = "purple.h", free_function = "purple_buddy_destroy")]
247 248 249 250 251
	[Compact]
	public class Buddy {
		public weak Purple.Account account;
		public weak string alias;
		public weak Purple.BuddyIcon icon;
252
		public Purple.MediaCaps media_caps;
253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268
		public weak string name;
		public weak Purple.BlistNode node;
		public weak Purple.Presence presence;
		public void* proto_data;
		public weak string server_alias;
		[CCode (has_construct_function = false)]
		public Buddy (Purple.Account account, string name, string alias);
		public unowned Purple.Account get_account ();
		public unowned string get_alias ();
		public unowned string get_alias_only ();
		public unowned Purple.Contact get_contact ();
		public unowned string get_contact_alias ();
		public unowned Purple.Group get_group ();
		public unowned Purple.BuddyIcon get_icon ();
		public unowned string get_local_alias ();
		public unowned string get_local_buddy_alias ();
269
		public Purple.MediaCaps get_media_caps ();
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294
		public unowned string get_name ();
		public unowned Purple.Presence get_presence ();
		public void* get_protocol_data ();
		public unowned string get_server_alias ();
		public static unowned Purple.BuddyIcon icons_find (Purple.Account account, string username);
		public static unowned Purple.StoredImage icons_find_account_icon (Purple.Account account);
		public static unowned Purple.StoredImage icons_find_custom_icon (Purple.Contact contact);
		public static ulong icons_get_account_icon_timestamp (Purple.Account account);
		public static unowned string icons_get_cache_dir ();
		public unowned string icons_get_checksum_for_user ();
		public static void* icons_get_handle ();
		public static bool icons_has_custom_icon (Purple.Contact contact);
		public static void icons_init ();
		public static bool icons_is_caching ();
		public static unowned Purple.StoredImage icons_node_find_custom_icon (Purple.BlistNode node);
		public static bool icons_node_has_custom_icon (Purple.BlistNode node);
		public static unowned Purple.StoredImage icons_node_set_custom_icon (Purple.BlistNode node, uchar[] icon_data, size_t icon_len);
		public static unowned Purple.StoredImage icons_node_set_custom_icon_from_file (Purple.BlistNode node, string filename);
		public static unowned Purple.StoredImage icons_set_account_icon (Purple.Account account, uchar[] icon_data, size_t icon_len);
		public static void icons_set_cache_dir (string cache_dir);
		public static void icons_set_caching (bool caching);
		public static unowned Purple.StoredImage icons_set_custom_icon (Purple.Contact contact, uchar[] icon_data, size_t icon_len);
		public static void icons_set_for_user (Purple.Account account, string username, void* icon_data, size_t icon_len, string checksum);
		public static void icons_uninit ();
		public void set_icon (Purple.BuddyIcon icon);
295
		public void set_media_caps (Purple.MediaCaps media_caps);
296 297
		public void set_protocol_data (void* data);
	}
298
	[CCode (cheader_filename = "purple.h", ref_function = "purple_buddy_icon_ref", unref_function = "purple_buddy_icon_unref")]
299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
	[Compact]
	public class BuddyIcon {
		[CCode (has_construct_function = false)]
		public BuddyIcon (Purple.Account account, string username, void* icon_data, size_t icon_len, string checksum);
		public unowned Purple.Account get_account ();
		public unowned string get_checksum ();
		public void* get_data (size_t len);
		public unowned string get_extension ();
		public unowned string get_full_path ();
		public static void get_scale_size (Purple.BuddyIconSpec spec, int width, int height);
		public unowned string get_username ();
		public void set_data (uchar[] data, size_t len, string checksum);
		public void update ();
	}
	[CCode (cheader_filename = "purple.h")]
314
	[Compact]
315 316 317 318 319 320 321 322 323 324
	public class BuddyIconSpec {
		public weak string format;
		public size_t max_filesize;
		public int max_height;
		public int max_width;
		public int min_height;
		public int min_width;
		public Purple.IconScaleRules scale_rules;
	}
	[CCode (cheader_filename = "purple.h")]
325
	[Compact]
326 327 328 329 330
	public class BuddyList {
		public weak GLib.HashTable buddies;
		public weak Purple.BlistNode root;
		public void* ui_data;
	}
331
	[CCode (cheader_filename = "purple.h", copy_function = "purple_certificate_copy", free_function = "purple_certificate_destroy")]
332 333 334 335 336 337 338 339
	[Compact]
	public class Certificate {
		public void* data;
		public weak Purple.CertificateScheme scheme;
		public static void add_ca_search_path (string path);
		public static bool check_signature_chain (GLib.List chain);
		public static bool check_signature_chain_with_failing (GLib.List chain, out unowned Purple.Certificate failing);
		public bool check_subject_name (string name);
340
		public bool compare_pubkeys (Purple.Certificate crt2);
341 342 343 344 345 346 347 348 349
		public unowned Purple.Certificate copy ();
		public static unowned GLib.List copy_list (GLib.List crt_list);
		public static void destroy_list (GLib.List crt_list);
		public void display_x509 ();
		public static bool export (string filename, Purple.Certificate crt);
		public static unowned Purple.CertificatePool find_pool (string scheme_name, string pool_name);
		public static unowned Purple.CertificateScheme find_scheme (string name);
		public static unowned Purple.CertificateVerifier find_verifier (string scheme_name, string ver_name);
		public unowned GLib.ByteArray get_fingerprint_sha1 ();
350
		public unowned GLib.ByteArray get_fingerprint_sha256 (bool sha1_fallback);
351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372
		public static void* get_handle ();
		public unowned string get_issuer_unique_id ();
		public static unowned GLib.List get_pools ();
		public static unowned GLib.List get_schemes ();
		public unowned string get_subject_name ();
		public bool get_times (ulong activation, ulong expiration);
		public unowned string get_unique_id ();
		public static unowned GLib.List get_verifiers ();
		public static unowned Purple.Certificate import (Purple.CertificateScheme scheme, string filename);
		public static void init ();
		public static bool register_pool (Purple.CertificatePool pool);
		public static bool register_scheme (Purple.CertificateScheme scheme);
		public static bool register_verifier (Purple.CertificateVerifier vr);
		public bool signed_by (Purple.Certificate issuer);
		public static void uninit ();
		public static bool unregister_pool (Purple.CertificatePool pool);
		public static bool unregister_scheme (Purple.CertificateScheme scheme);
		public static bool unregister_verifier (Purple.CertificateVerifier vr);
		public static void verify (Purple.CertificateVerifier verifier, string subject_name, GLib.List cert_chain, Purple.CertificateVerifiedCallback cb, void* cb_data);
		public static void verify_complete (Purple.CertificateVerificationRequest vrq, Purple.CertificateVerificationStatus st);
	}
	[CCode (cheader_filename = "purple.h")]
373
	[Compact]
374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395
	public class CertificatePool {
		public weak GLib.Callback cert_in_pool;
		public void* data;
		public weak GLib.Callback delete_cert;
		public weak string fullname;
		public weak GLib.Callback get_cert;
		public weak GLib.Callback init;
		public weak string name;
		public weak GLib.Callback put_cert;
		public weak string scheme_name;
		public weak GLib.Callback uninit;
		public bool contains (string id);
		public bool @delete (string id);
		public static void destroy_idlist (GLib.List idlist);
		public unowned GLib.List get_idlist ();
		public unowned Purple.CertificateScheme get_scheme ();
		public unowned string mkpath (string id);
		public unowned Purple.Certificate retrieve (string id);
		public bool store (string id, Purple.Certificate crt);
		public bool usable ();
	}
	[CCode (cheader_filename = "purple.h")]
396
	[Compact]
397 398
	public class CertificateScheme {
		public weak GLib.Callback check_subject_name;
399
		public weak GLib.Callback compare_pubkeys;
400 401 402 403 404
		public weak GLib.Callback copy_certificate;
		public weak GLib.Callback destroy_certificate;
		public weak GLib.Callback export_certificate;
		public weak string fullname;
		public weak GLib.Callback get_fingerprint_sha1;
405
		public weak GLib.Callback get_fingerprint_sha256;
406 407 408 409 410
		public weak GLib.Callback get_issuer_unique_id;
		public weak GLib.Callback get_subject_name;
		public weak GLib.Callback get_times;
		public weak GLib.Callback get_unique_id;
		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 416
		public uint struct_size;
		public weak GLib.Callback verify_cert;
417 418
	}
	[CCode (cheader_filename = "purple.h")]
419
	[Compact]
420 421 422 423 424 425 426 427 428 429
	public class CertificateVerificationRequest {
		public weak Purple.CertificateVerifiedCallback cb;
		public void* cb_data;
		public weak GLib.List cert_chain;
		public void* data;
		public weak Purple.CertificateScheme scheme;
		public weak string subject_name;
		public weak Purple.CertificateVerifier verifier;
	}
	[CCode (cheader_filename = "purple.h")]
430
	[Compact]
431 432 433 434 435 436
	public class CertificateVerifier {
		public weak GLib.Callback destroy_request;
		public weak string name;
		public weak string scheme_name;
		public weak GLib.Callback start_verification;
	}
437
	[CCode (cheader_filename = "purple.h", free_function = "purple_chat_destroy")]
438 439 440 441 442 443 444 445 446 447 448 449 450 451
	[Compact]
	public class Chat {
		public weak Purple.Account account;
		public weak string alias;
		public weak GLib.HashTable components;
		public weak Purple.BlistNode node;
		[CCode (has_construct_function = false)]
		public Chat (Purple.Account account, string alias, GLib.HashTable components);
		public unowned Purple.Account get_account ();
		public unowned GLib.HashTable get_components ();
		public unowned Purple.Group get_group ();
		public unowned string get_name ();
	}
	[CCode (cheader_filename = "purple.h")]
452
	[Compact]
453 454 455 456 457 458 459
	public class Cipher {
		public static bool digest_region (string name, uchar[] data, size_t data_len, size_t in_len, uchar[] digest, size_t out_len);
		public uint get_capabilities ();
		public unowned string get_name ();
		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);
		public static unowned string http_digest_calculate_session_key (string algorithm, string username, string realm, string password, string nonce, string client_nonce);
	}
460
	[CCode (cheader_filename = "purple.h", free_function = "purple_cipher_context_destroy")]
461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487
	[Compact]
	public class CipherContext {
		[CCode (has_construct_function = false)]
		public CipherContext (Purple.Cipher cipher, void* extra);
		public void append (uchar[] data, size_t len);
		[CCode (has_construct_function = false)]
		public CipherContext.by_name (string name, void* extra);
		public int decrypt (uchar[] data, size_t len, uchar[] output, size_t outlen);
		public bool digest (size_t in_len, uchar[] digest, size_t out_len);
		public bool digest_to_str (size_t in_len, char[] digest_s, size_t out_len);
		public int encrypt (uchar[] data, size_t len, uchar[] output, size_t outlen);
		public Purple.CipherBatchMode get_batch_mode ();
		public size_t get_block_size ();
		public void* get_data ();
		public size_t get_key_size ();
		public void* get_option (string name);
		public size_t get_salt_size ();
		public void reset (void* extra);
		public void set_batch_mode (Purple.CipherBatchMode mode);
		public void set_data (void* data);
		public void set_iv (uchar[] iv, size_t len);
		public void set_key (uchar[] key);
		public void set_key_with_len (uchar[] key, size_t len);
		public void set_option (string name, void* value);
		public void set_salt (uchar[] salt);
	}
	[CCode (cheader_filename = "purple.h")]
488
	[Compact]
489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508
	public class CipherOps {
		public weak GLib.Callback append;
		public weak GLib.Callback decrypt;
		public weak GLib.Callback digest;
		public weak GLib.Callback encrypt;
		public weak GLib.Callback get_batch_mode;
		public weak GLib.Callback get_block_size;
		public weak GLib.Callback get_key_size;
		public weak GLib.Callback get_option;
		public weak GLib.Callback get_salt_size;
		public weak GLib.Callback init;
		public weak GLib.Callback reset;
		public weak GLib.Callback set_batch_mode;
		public weak GLib.Callback set_iv;
		public weak GLib.Callback set_key;
		public weak GLib.Callback set_key_with_len;
		public weak GLib.Callback set_option;
		public weak GLib.Callback set_salt;
		public weak GLib.Callback uninit;
	}
509
	[CCode (cheader_filename = "purple.h", free_function = "purple_circ_buffer_destroy")]
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524
	[Compact]
	public class CircBuffer {
		public weak string buffer;
		public size_t buflen;
		public size_t bufused;
		public size_t growsize;
		public weak string inptr;
		public weak string outptr;
		[CCode (has_construct_function = false)]
		public CircBuffer (size_t growsize);
		public void append (void* src, size_t len);
		public size_t get_max_read ();
		public bool mark_read (size_t len);
	}
	[CCode (cheader_filename = "purple.h")]
525
	[Compact]
526 527 528 529 530 531 532 533 534 535
	public class Cmd {
		public static Purple.CmdStatus do_command (Purple.Conversation conv, string cmdline, string markup, string errormsg);
		public bool execute (Purple.Conversation conv, string cmdline);
		public static unowned GLib.List help (Purple.Conversation conv, string cmd);
		public static unowned GLib.List list (Purple.Conversation conv);
		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);
		public static void unregister (Purple.CmdId id);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
536 537
	public class CmdId {
	}
538 539 540 541 542 543
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class CommandsUiOps {
		public weak GLib.Callback register_command;
		public weak GLib.Callback unregister_command;
	}
544
	[CCode (cheader_filename = "purple.h", free_function = "purple_connection_destroy")]
545 546 547 548 549 550 551 552 553 554 555 556 557 558 559
	[Compact]
	public class Connection {
		public weak Purple.Account account;
		public weak GLib.SList buddy_chats;
		public uint disconnect_timeout;
		public weak string display_name;
		public Purple.ConnectionFlags flags;
		public int inpa;
		public uint keepalive;
		public ulong last_received;
		public weak string password;
		public void* proto_data;
		public weak Purple.Plugin prpl;
		public Purple.ConnectionState state;
		public bool wants_to_die;
560
		[CCode (has_construct_function = false, type = "void")]
561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576
		public Connection (Purple.Account account, bool regist, string password);
		public void error (string reason);
		public static bool error_is_fatal (Purple.ConnectionError reason);
		public void error_reason (Purple.ConnectionError reason, string description);
		public unowned Purple.Account get_account ();
		public unowned string get_display_name ();
		public unowned string get_password ();
		public void* get_protocol_data ();
		public unowned Purple.Plugin get_prpl ();
		public Purple.ConnectionState get_state ();
		public void notice (string text);
		public void set_account (Purple.Account account);
		public void set_display_name (string name);
		public void set_protocol_data (void* proto_data);
		public void set_state (Purple.ConnectionState state);
		public void ssl_error (Purple.SslErrorType ssl_error);
577
		[CCode (has_construct_function = false, type = "void")]
578 579 580 581
		public Connection.unregister (Purple.Account account, string password, Purple.AccountUnregistrationCb cb);
		public void update_progress (string text, size_t step, size_t count);
	}
	[CCode (cheader_filename = "purple.h")]
582
	[Compact]
583 584 585 586 587
	public class ConnectionErrorInfo {
		public weak string description;
		public Purple.ConnectionError type;
	}
	[CCode (cheader_filename = "purple.h")]
588
	[Compact]
589 590 591 592 593 594 595 596 597 598
	public class ConnectionUiOps {
		public weak GLib.Callback connect_progress;
		public weak GLib.Callback connected;
		public weak GLib.Callback disconnected;
		public weak GLib.Callback network_connected;
		public weak GLib.Callback network_disconnected;
		public weak GLib.Callback notice;
		public weak GLib.Callback report_disconnect;
		public weak GLib.Callback report_disconnect_reason;
	}
599
	[CCode (cheader_filename = "purple.h", free_function = "purple_contact_destroy")]
600 601 602 603 604 605 606 607 608 609 610 611
	[Compact]
	public class Contact {
		public weak string alias;
		public int currentsize;
		public weak Purple.BlistNode node;
		public int online;
		public weak Purple.Buddy priority;
		public bool priority_valid;
		public int totalsize;
		[CCode (has_construct_function = false)]
		public Contact ();
		public unowned string get_alias ();
612
		public unowned Purple.Group get_group ();
613 614 615 616 617 618
		public unowned Purple.Buddy get_priority_buddy ();
		public void invalidate_priority_buddy ();
		public bool on_account (Purple.Account account);
		public void set_alias (string alias);
	}
	[CCode (cheader_filename = "purple.h")]
619
	[Compact]
620 621 622 623 624 625 626
	public class ConvChat {
		public weak Purple.Conversation conv;
		public int id;
		public weak GLib.List ignored;
		public weak GLib.List in_room;
		public weak string nick;
		public weak string topic;
627
		public weak GLib.HashTable users;
628 629 630 631 632
		public weak string who;
		public void add_user (string user, string extra_msg, Purple.ConvChatBuddyFlags flags, bool new_arrival);
		public void add_users (GLib.List users, GLib.List extra_msgs, GLib.List flags, bool new_arrivals);
		public static void cb_destroy (Purple.ConvChatBuddy cb);
		public unowned Purple.ConvChatBuddy cb_find (string name);
633 634
		public static unowned string cb_get_attribute (Purple.ConvChatBuddy cb, string key);
		public static unowned GLib.List cb_get_attribute_keys (Purple.ConvChatBuddy cb);
635 636
		public static unowned string cb_get_name (Purple.ConvChatBuddy cb);
		public static unowned Purple.ConvChatBuddy cb_new (string name, string alias, Purple.ConvChatBuddyFlags flags);
637 638
		public void cb_set_attribute (Purple.ConvChatBuddy cb, string key, string value);
		public void cb_set_attributes (Purple.ConvChatBuddy cb, GLib.List keys, GLib.List values);
639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668
		public void clear_users ();
		public bool find_user (string user);
		public unowned Purple.Conversation get_conversation ();
		public int get_id ();
		public unowned GLib.List get_ignored ();
		public unowned string get_ignored_user (string user);
		public unowned string get_nick ();
		public unowned string get_topic ();
		public unowned GLib.List get_users ();
		public bool has_left ();
		public void ignore (string name);
		public void invite_user (string user, string message, bool confirm);
		public bool is_user_ignored (string user);
		public void left ();
		public void remove_user (string user, string reason);
		public void remove_users (GLib.List users, string reason);
		public void rename_user (string old_user, string new_user);
		public void send (string message);
		public void send_with_flags (string message, Purple.MessageFlags flags);
		public void set_id (int id);
		public unowned GLib.List set_ignored (GLib.List ignored);
		public void set_nick (string nick);
		public void set_topic (string who, string topic);
		public unowned GLib.List set_users (GLib.List users);
		public void unignore (string name);
		public Purple.ConvChatBuddyFlags user_get_flags (string user);
		public void user_set_flags (string user, Purple.ConvChatBuddyFlags flags);
		public void write (string who, string message, Purple.MessageFlags flags, ulong mtime);
	}
	[CCode (cheader_filename = "purple.h")]
669
	[Compact]
670 671 672
	public class ConvChatBuddy {
		public weak string alias;
		public weak string alias_key;
673
		public weak GLib.HashTable attributes;
674 675 676
		public bool buddy;
		public Purple.ConvChatBuddyFlags flags;
		public weak string name;
677
		public void* ui_data;
678 679
	}
	[CCode (cheader_filename = "purple.h")]
680
	[Compact]
681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706
	public class ConvIm {
		public weak Purple.Conversation conv;
		public weak Purple.BuddyIcon icon;
		public uint send_typed_timeout;
		public ulong type_again;
		public Purple.TypingState typing_state;
		public uint typing_timeout;
		public unowned Purple.Conversation get_conversation ();
		public unowned Purple.BuddyIcon get_icon ();
		public uint get_send_typed_timeout ();
		public ulong get_type_again ();
		public Purple.TypingState get_typing_state ();
		public uint get_typing_timeout ();
		public void send (string message);
		public void send_with_flags (string message, Purple.MessageFlags flags);
		public void set_icon (Purple.BuddyIcon icon);
		public void set_type_again (uint val);
		public void set_typing_state (Purple.TypingState state);
		public void start_send_typed_timeout ();
		public void start_typing_timeout (int timeout);
		public void stop_send_typed_timeout ();
		public void stop_typing_timeout ();
		public void update_typing ();
		public void write (string who, string message, Purple.MessageFlags flags, ulong mtime);
	}
	[CCode (cheader_filename = "purple.h")]
707
	[Compact]
708 709 710 711 712 713 714 715
	public class ConvMessage {
		public weak string alias;
		public weak Purple.Conversation conv;
		public Purple.MessageFlags flags;
		public weak string what;
		public ulong when;
		public weak string who;
	}
716
	[CCode (cheader_filename = "purple.h", free_function = "purple_conversation_destroy")]
717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766
	[Compact]
	public class Conversation {
		public weak Purple.Account account;
		public weak GLib.HashTable data;
		public Purple.ConnectionFlags features;
		public bool logging;
		public weak GLib.List logs;
		public weak GLib.List message_history;
		public weak string name;
		public weak string title;
		public Purple.ConversationType type;
		public void* u;
		public void* ui_data;
		public weak Purple.ConversationUiOps ui_ops;
		[CCode (has_construct_function = false)]
		public Conversation (Purple.ConversationType type, Purple.Account account, string name);
		public void autoset_title ();
		public void clear_message_history ();
		public void close_logs ();
		public bool do_command (string cmdline, string markup, string error);
		public static void @foreach (GLib.Callback func);
		public unowned Purple.Account get_account ();
		public unowned Purple.ConvChat get_chat_data ();
		public void* get_data (string key);
		public unowned GLib.List get_extended_menu ();
		public Purple.ConnectionFlags get_features ();
		public unowned Purple.Connection get_gc ();
		public unowned Purple.ConvIm get_im_data ();
		public unowned GLib.List get_message_history ();
		public unowned string get_name ();
		public unowned string get_title ();
		public unowned Purple.ConversationUiOps get_ui_ops ();
		public bool has_focus ();
		public bool is_logging ();
		public static Purple.MessageFlags message_get_flags (Purple.ConvMessage msg);
		public static unowned string message_get_message (Purple.ConvMessage msg);
		public static unowned string message_get_sender (Purple.ConvMessage msg);
		public static ulong message_get_timestamp (Purple.ConvMessage msg);
		public void present ();
		public void set_account (Purple.Account account);
		public void set_data (string key, void* data);
		public void set_features (Purple.ConnectionFlags features);
		public void set_logging (bool log);
		public void set_name (string name);
		public void set_title (string title);
		public void set_ui_ops (Purple.ConversationUiOps ops);
		public void update (Purple.ConvUpdateType type);
		public void write (string who, string message, Purple.MessageFlags flags, ulong mtime);
	}
	[CCode (cheader_filename = "purple.h")]
767
	[Compact]
768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785
	public class ConversationUiOps {
		public weak GLib.Callback chat_add_users;
		public weak GLib.Callback chat_remove_users;
		public weak GLib.Callback chat_rename_user;
		public weak GLib.Callback chat_update_user;
		public weak GLib.Callback create_conversation;
		public weak GLib.Callback custom_smiley_add;
		public weak GLib.Callback custom_smiley_close;
		public weak GLib.Callback custom_smiley_write;
		public weak GLib.Callback destroy_conversation;
		public weak GLib.Callback has_focus;
		public weak GLib.Callback present;
		public weak GLib.Callback send_confirm;
		public weak GLib.Callback write_chat;
		public weak GLib.Callback write_conv;
		public weak GLib.Callback write_im;
	}
	[CCode (cheader_filename = "purple.h")]
786
	[Compact]
787 788 789 790 791 792 793 794 795 796 797 798 799
	public class Core {
		public static bool ensure_single_instance ();
		public static unowned string get_ui ();
		public static unowned GLib.HashTable get_ui_info ();
		public static unowned Purple.CoreUiOps get_ui_ops ();
		public static unowned string get_version ();
		public static bool init (string ui);
		public static bool migrate ();
		public static void quit ();
		public static bool quit_cb (void* unused);
		public static void set_ui_ops (Purple.CoreUiOps ops);
	}
	[CCode (cheader_filename = "purple.h")]
800
	[Compact]
801 802 803 804 805 806 807 808
	public class CoreUiOps {
		public weak GLib.Callback debug_ui_init;
		public weak GLib.Callback get_ui_info;
		public weak GLib.Callback quit;
		public weak GLib.Callback ui_init;
		public weak GLib.Callback ui_prefs_init;
	}
	[CCode (cheader_filename = "purple.h")]
809
	[Compact]
810 811 812 813
	public class DBusType {
		public weak Purple.DBusType parent;
	}
	[CCode (cheader_filename = "purple.h")]
814
	[Compact]
815 816 817 818
	public class DebugUiOps {
		public weak GLib.Callback is_enabled;
		public weak GLib.Callback print;
	}
Luca Bruno's avatar
Luca Bruno committed
819
	[CCode (cheader_filename = "purple.h", copy_function = "purple_desktop_item_copy", unref_function = "purple_desktop_item_unref")]
820 821 822 823 824 825 826 827 828
	[Compact]
	public class DesktopItem {
		public unowned Purple.DesktopItem copy ();
		[CCode (has_construct_function = false)]
		public DesktopItem.from_file (string filename);
		public Purple.DesktopItemType get_entry_type ();
		public unowned string get_string (string attr);
	}
	[CCode (cheader_filename = "purple.h")]
829
	[Compact]
830 831 832
	public class DnsQueryData {
	}
	[CCode (cheader_filename = "purple.h")]
833
	[Compact]
834 835 836 837 838
	public class DnsQueryUiOps {
		public weak GLib.Callback destroy;
		public weak GLib.Callback resolve_host;
	}
	[CCode (cheader_filename = "purple.h")]
839
	[Compact]
840 841 842 843 844 845 846 847
	public class EventLoopUiOps {
		public weak GLib.Callback input_add;
		public weak GLib.Callback input_get_error;
		public weak GLib.Callback input_remove;
		public weak GLib.Callback timeout_add;
		public weak GLib.Callback timeout_add_seconds;
		public weak GLib.Callback timeout_remove;
	}
848
	[CCode (cheader_filename = "purple.h", free_function = "purple_group_destroy")]
849 850 851 852 853 854 855 856 857 858 859 860 861 862
	[Compact]
	public class Group {
		public int currentsize;
		public weak string name;
		public weak Purple.BlistNode node;
		public int online;
		public int totalsize;
		[CCode (has_construct_function = false)]
		public Group (string name);
		public unowned GLib.SList get_accounts ();
		public unowned string get_name ();
		public bool on_account (Purple.Account account);
	}
	[CCode (cheader_filename = "purple.h")]
863
	[Compact]
864 865 866 867
	public class IdleUiOps {
		public weak GLib.Callback get_time_idle;
	}
	[CCode (cheader_filename = "purple.h")]
868
	[Compact]
869 870 871 872 873
	public class KeyValuePair {
		public weak string key;
		public void* value;
	}
	[CCode (cheader_filename = "purple.h")]
874
	[Compact]
875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908
	public class Log {
		public weak Purple.Account account;
		public weak Purple.Conversation conv;
		public weak Purple.LogLogger logger;
		public void* logger_data;
		public weak string name;
		public ulong time;
		public void* tm;
		public Purple.LogType type;
		[CCode (has_construct_function = false)]
		public Log (Purple.LogType type, string name, Purple.Account account, Purple.Conversation conv, ulong time, void* tm);
		public bool common_deleter ();
		public bool common_is_deletable ();
		public static unowned GLib.List common_lister (Purple.LogType type, string name, Purple.Account account, string ext, Purple.LogLogger logger);
		public int common_sizer ();
		public static int common_total_sizer (Purple.LogType type, string name, Purple.Account account, string ext);
		public void common_writer (string ext);
		public static int compare (void* y, void* z);
		public bool @delete ();
		public static int get_activity_score (Purple.LogType type, string name, Purple.Account account);
		public static void* get_handle ();
		public static unowned string get_log_dir (Purple.LogType type, string name, Purple.Account account);
		public static unowned GLib.HashTable get_log_sets ();
		public static unowned GLib.List get_logs (Purple.LogType type, string name, Purple.Account account);
		public int get_size ();
		public static unowned GLib.List get_system_logs (Purple.Account account);
		public static int get_total_size (Purple.LogType type, string name, Purple.Account account);
		public static void init ();
		public bool is_deletable ();
		public unowned string read (Purple.LogReadFlags flags);
		public static void uninit ();
		public void write (Purple.MessageFlags type, string from, ulong time, string message);
	}
	[CCode (cheader_filename = "purple.h")]
909
	[Compact]
910 911 912 913 914 915
	public class LogCommonLoggerData {
		public void* extra_data;
		public weak GLib.FileStream file;
		public weak string path;
	}
	[CCode (cheader_filename = "purple.h")]
916
	[Compact]
917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938
	public class LogLogger {
		public weak GLib.Callback create;
		public weak GLib.Callback finalize;
		public weak GLib.Callback get_log_sets;
		public weak string id;
		public weak GLib.Callback is_deletable;
		public weak GLib.Callback list;
		public weak GLib.Callback list_syslog;
		public weak string name;
		public weak GLib.Callback read;
		public weak GLib.Callback size;
		public weak GLib.Callback total_size;
		public weak GLib.Callback write;
		[CCode (has_construct_function = false)]
		public LogLogger (string id, string name, int functions);
		public void add ();
		public static unowned Purple.LogLogger @get ();
		public static unowned GLib.List get_options ();
		public void remove ();
		public void @set ();
	}
	[CCode (cheader_filename = "purple.h")]
939
	[Compact]
940 941 942 943 944 945 946 947 948
	public class LogSet {
		public weak Purple.Account account;
		public bool buddy;
		public weak string name;
		public weak string normalized_name;
		public Purple.LogType type;
		public static int compare (void* y, void* z);
	}
	[CCode (cheader_filename = "purple.h")]
949
	[Compact]
950 951 952 953 954
	public class Media {
		public bool accepted (string sess_id, string participant);
		public void add_remote_candidates (string sess_id, string participant, GLib.List remote_candidates);
		public bool add_stream (string sess_id, string who, Purple.MediaSessionType type, bool initiator, string transmitter, uint num_params, GLib.Parameter @params);
		public bool candidates_prepared (string session_id, string participant);
955
		public static GLib.Type caps_get_type ();
956 957 958 959 960
		public bool codecs_ready (string sess_id);
		public static GLib.Type element_type_get_type ();
		public void end (string session_id, string participant);
		public void error (string error);
		public unowned Purple.Account get_account ();
961 962 963
		public unowned GLib.List get_active_local_candidates (string sess_id, string participant);
		public unowned GLib.List get_active_remote_candidates (string sess_id, string participant);
		public unowned string get_available_params ();
964 965 966 967 968 969 970 971 972 973 974
		public unowned GLib.List get_codecs (string sess_id);
		public unowned GLib.List get_local_candidates (string sess_id, string participant);
		public void* get_manager ();
		public void* get_prpl_data ();
		public unowned GLib.List get_session_ids ();
		public Purple.MediaSessionType get_session_type (string sess_id);
		public unowned Gst.Element get_src (string sess_id);
		public unowned Gst.Element get_tee (string session_id, string participant);
		public static GLib.Type info_type_get_type ();
		public bool is_initiator (string sess_id, string participant);
		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 980
		public bool set_decryption_parameters (string sess_id, string participant, string cipher, string auth, string key, size_t key_len);
		public bool set_encryption_parameters (string sess_id, string cipher, string auth, string key, size_t key_len);
981 982 983
		public void set_input_volume (string session_id, double level);
		public void set_output_volume (string session_id, string participant, double level);
		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 986 987
		public void set_prpl_data (void* prpl_data);
		public bool set_remote_codecs (string sess_id, string participant, GLib.List codecs);
		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 990 991 992
		public static GLib.Type state_changed_get_type ();
		public void stream_info (Purple.MediaInfoType type, string session_id, string participant, bool local);
	}
	[CCode (cheader_filename = "purple.h")]
993
	[Compact]
994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033
	public class MediaAppDataCallbacks {
		public weak GLib.Callback readable;
		public weak GLib.Callback writable;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MediaBackend {
		public void add_remote_candidates (string sess_id, string participant, GLib.List remote_candidates);
		public bool add_stream (string sess_id, string who, Purple.MediaSessionType type, bool initiator, string transmitter, uint num_params, GLib.Parameter @params);
		public bool codecs_ready (string sess_id);
		public unowned string get_available_params ();
		public unowned GLib.List get_codecs (string sess_id);
		public unowned GLib.List get_local_candidates (string sess_id, string participant);
		public bool set_decryption_parameters (string sess_id, string participant, string cipher, string auth, string key, size_t key_len);
		public bool set_encryption_parameters (string sess_id, string cipher, string auth, string key, size_t key_len);
		public void set_params (uint num_params, GLib.Parameter @params);
		public bool set_remote_codecs (string sess_id, string participant, GLib.List codecs);
		public bool set_send_codec (string sess_id, Purple.MediaCodec codec);
		public bool set_send_rtcp_mux (string sess_id, string participant, bool send_rtcp_mux);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MediaBackendIface {
		public weak GLib.Callback add_remote_candidates;
		public weak GLib.Callback add_stream;
		public weak GLib.Callback codecs_ready;
		public weak GLib.Callback get_available_params;
		public weak GLib.Callback get_codecs;
		public weak GLib.Callback get_local_candidates;
		public weak GLib.TypeInterface parent_iface;
		public weak GLib.Callback send_dtmf;
		public weak GLib.Callback set_decryption_parameters;
		public weak GLib.Callback set_encryption_parameters;
		public weak GLib.Callback set_params;
		public weak GLib.Callback set_remote_codecs;
		public weak GLib.Callback set_send_codec;
		public weak GLib.Callback set_send_rtcp_mux;
	}
	[CCode (cheader_filename = "purple.h", copy_function = "purple_media_candidate_copy")]
	[Compact]
1034 1035 1036
	public class MediaCandidate {
		[CCode (has_construct_function = false)]
		public MediaCandidate (string foundation, uint component_id, Purple.MediaCandidateType type, Purple.MediaNetworkProtocol proto, string ip, uint port);
1037
		public unowned Purple.MediaCandidate copy ();
1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053
		public unowned string get_base_ip ();
		public uint16 get_base_port ();
		public Purple.MediaCandidateType get_candidate_type ();
		public uint get_component_id ();
		public unowned string get_foundation ();
		public unowned string get_ip ();
		public unowned string get_password ();
		public uint16 get_port ();
		public uint32 get_priority ();
		public Purple.MediaNetworkProtocol get_protocol ();
		public uint get_ttl ();
		public unowned string get_username ();
		public static unowned GLib.List list_copy (GLib.List candidates);
		public static void list_free (GLib.List candidates);
		public static GLib.Type type_get_type ();
	}
1054
	[CCode (cheader_filename = "purple.h", copy_function = "purple_media_codec_copy")]
1055
	[Compact]
1056 1057 1058 1059
	public class MediaCodec {
		[CCode (has_construct_function = false)]
		public MediaCodec (int id, string encoding_name, Purple.MediaSessionType media_type, uint clock_rate);
		public void add_optional_parameter (string name, string value);
1060
		public unowned Purple.MediaCodec copy ();
1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072
		public uint get_channels ();
		public uint get_clock_rate ();
		public unowned string get_encoding_name ();
		public uint get_id ();
		public unowned Purple.KeyValuePair get_optional_parameter (string name, string value);
		public unowned GLib.List get_optional_parameters ();
		public static unowned GLib.List list_copy (GLib.List codecs);
		public static void list_free (GLib.List codecs);
		public void remove_optional_parameter (Purple.KeyValuePair param);
		public unowned string to_string ();
	}
	[CCode (cheader_filename = "purple.h")]
1073
	[Compact]
1074 1075 1076 1077 1078 1079 1080
	public class MediaElementInfo {
		public unowned Gst.Element call_create (Purple.Media media, string session_id, string participant);
		public Purple.MediaElementType get_element_type ();
		public unowned string get_id ();
		public unowned string get_name ();
	}
	[CCode (cheader_filename = "purple.h")]
1081
	[Compact]
1082 1083 1084
	public class MediaElementInfoClass {
	}
	[CCode (cheader_filename = "purple.h")]
1085
	[Compact]
1086 1087 1088
	public class MediaManager {
		public unowned Purple.Media create_media (Purple.Account account, string conference_type, string remote_user, bool initiator);
		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 1091
		public static unowned Purple.MediaManager @get ();
		public unowned Purple.MediaElementInfo get_active_element (Purple.MediaElementType type);
1092
		public GLib.Type get_backend_type ();
1093 1094 1095 1096 1097
		public unowned Gst.Element get_element (Purple.MediaSessionType type, Purple.Media media, string session_id, string participant);
		public unowned Purple.MediaElementInfo get_element_info (string name);
		public unowned GLib.List get_media ();
		public unowned GLib.List get_media_by_account (Purple.Account account);
		public unowned Gst.Element get_pipeline ();
1098 1099
		public unowned GLib.List get_private_media ();
		public unowned GLib.List get_private_media_by_account (Purple.Account account);
1100
		public Purple.MediaCaps get_ui_caps ();
1101 1102
		public unowned Gst.Caps get_video_caps ();
		public int receive_application_data (Purple.Media media, string session_id, string participant, void* buffer, uint max_size, bool blocking);
1103 1104 1105 1106
		public bool register_element (Purple.MediaElementInfo info);
		public void remove_media (Purple.Media media);
		public bool remove_output_window (ulong output_window_id);
		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 1110
		public void set_application_data_callbacks (Purple.Media media, string session_id, string participant, Purple.MediaAppDataCallbacks callbacks, GLib.DestroyNotify notify);
		public void set_backend_type (GLib.Type backend_type);
1111 1112
		public ulong set_output_window (Purple.Media media, string session_id, string participant, ulong window_id);
		public void set_ui_caps (Purple.MediaCaps caps);
1113
		public void set_video_caps (Gst.Caps caps);
1114 1115 1116
		public bool unregister_element (string name);
	}
	[CCode (cheader_filename = "purple.h")]
1117
	[Compact]
1118 1119 1120
	public class MediaManagerClass {
	}
	[CCode (cheader_filename = "purple.h")]
1121
	[Compact]
1122 1123 1124 1125 1126 1127 1128 1129 1130
	public class MenuAction {
		public weak Purple.Callback callback;
		public weak GLib.List children;
		public void* data;
		public weak string label;
		[CCode (has_construct_function = false)]
		public MenuAction (string label, Purple.Callback callback, void* data, GLib.List children);
	}
	[CCode (cheader_filename = "purple.h")]
1131
	[Compact]
1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143
	public class MimeDocument {
		[CCode (has_construct_function = false)]
		public MimeDocument ();
		public unowned string get_field (string field);
		public unowned GLib.List get_fields ();
		public unowned GLib.List get_parts ();
		public static unowned Purple.MimeDocument parse (string buf);
		public static unowned Purple.MimeDocument parsen (string buf, size_t len);
		public void set_field (string field, string value);
		public void write (GLib.StringBuilder str);
	}
	[CCode (cheader_filename = "purple.h")]
1144
	[Compact]
1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157
	public class MimePart {
		[CCode (has_construct_function = false)]
		public MimePart (Purple.MimeDocument doc);
		public unowned string get_data ();
		public void get_data_decoded (uchar[] data, size_t len);
		public unowned string get_field (string field);
		public unowned string get_field_decoded (string field);
		public unowned GLib.List get_fields ();
		public size_t get_length ();
		public void set_data (string data);
		public void set_field (string field, string value);
	}
	[CCode (cheader_filename = "purple.h")]
1158
	[Compact]
1159 1160 1161 1162 1163 1164 1165
	public class Mood {
		public weak string description;
		public weak string mood;
		public void* padding;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
1166 1167 1168
	public class NetworkListenData {
	}
	[CCode (cheader_filename = "purple.h")]
1169
	[Compact]
1170 1171 1172 1173 1174 1175
	public class NotifySearchButton {
		public weak Purple.NotifySearchResultsCallback callback;
		public weak string label;
		public Purple.NotifySearchButtonType type;
	}
	[CCode (cheader_filename = "purple.h")]
1176
	[Compact]
1177 1178 1179
	public class NotifySearchColumn {
		public weak string title;
	}
1180
	[CCode (cheader_filename = "purple.h", free_function = "purple_notify_searchresults_free")]
1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204
	[Compact]
	public class NotifySearchResults {
		public weak GLib.List buttons;
		public weak GLib.List columns;
		[CCode (cname = "purple_notify_searchresults_new", has_construct_function = false)]
		public NotifySearchResults ();
		[CCode (cname = "purple_notify_searchresults_button_add")]
		public void button_add (Purple.NotifySearchButtonType type, Purple.NotifySearchResultsCallback cb);
		[CCode (cname = "purple_notify_searchresults_button_add_labeled")]
		public void button_add_labeled (string label, Purple.NotifySearchResultsCallback cb);
		[CCode (cname = "purple_notify_searchresults_column_add")]
		public void column_add (Purple.NotifySearchColumn column);
		[CCode (cname = "purple_notify_searchresults_column_get_title")]
		public unowned string column_get_title (uint column_id);
		[CCode (cname = "purple_notify_searchresults_column_new")]
		public static unowned Purple.NotifySearchColumn column_new (string title);
		[CCode (cname = "purple_notify_searchresults_get_columns_count")]
		public uint get_columns_count ();
		[CCode (cname = "purple_notify_searchresults_get_rows_count")]
		public uint get_rows_count ();
		[CCode (cname = "purple_notify_searchresults_row_add")]
		public void row_add (GLib.List row);
		[CCode (cname = "purple_notify_searchresults_row_get")]
		public unowned GLib.List row_get (uint row_id);
1205
		[CCode (cname = "purple_notify_searchresults_new_rows", has_construct_function = false, type = "void")]
1206 1207 1208
		public NotifySearchResults.rows (Purple.Connection gc, Purple.NotifySearchResults results, void* data);
	}
	[CCode (cheader_filename = "purple.h")]
1209
	[Compact]
1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220
	public class NotifyUiOps {
		public weak GLib.Callback close_notify;
		public weak GLib.Callback notify_email;
		public weak GLib.Callback notify_emails;
		public weak GLib.Callback notify_formatted;
		public weak GLib.Callback notify_message;
		public weak GLib.Callback notify_searchresults;
		public weak GLib.Callback notify_searchresults_new_rows;
		public weak GLib.Callback notify_uri;
		public weak GLib.Callback notify_userinfo;
	}
1221
	[CCode (cheader_filename = "purple.h", free_function = "purple_notify_user_info_destroy")]
1222 1223 1224 1225 1226
	[Compact]
	public class NotifyUserInfo {
		[CCode (has_construct_function = false)]
		public NotifyUserInfo ();
		public void add_pair (string label, string value);
1227
		public void add_pair_plaintext (string label, string value);
1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238
		public void add_section_break ();
		public void add_section_header (string label);
		public unowned GLib.List get_entries ();
		public unowned string get_text_with_newline (string newline);
		public void prepend_pair (string label, string value);
		public void prepend_section_break ();
		public void prepend_section_header (string label);
		public void remove_entry (Purple.NotifyUserInfoEntry user_info_entry);
		public void remove_last_item ();
	}
	[CCode (cheader_filename = "purple.h")]
1239
	[Compact]
1240 1241 1242 1243 1244 1245 1246 1247 1248
	public class NotifyUserInfoEntry {
		[CCode (has_construct_function = false)]
		public NotifyUserInfoEntry (string label, string value);
		public unowned string get_label ();
		public unowned string get_value ();
		public void set_label (string label);
		public void set_type (Purple.NotifyUserInfoEntryType type);
		public void set_value (string value);
	}
1249
	[CCode (cheader_filename = "purple.h", free_function = "purple_plugin_destroy")]
1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285
	[Compact]
	public class Plugin {
		public weak GLib.List dependent_plugins;
		public weak string error;
		public void* extra;
		public void* handle;
		public weak Purple.PluginInfo info;
		public void* ipc_data;
		public bool loaded;
		public bool native_plugin;
		public weak string path;
		public bool unloadable;
		[CCode (has_construct_function = false)]
		public Plugin (bool native, string path);
		public void disable ();
		public unowned string get_author ();
		public unowned string get_description ();
		public unowned string get_homepage ();
		public unowned string get_id ();
		public unowned string get_name ();
		public unowned string get_summary ();
		public unowned string get_version ();
		public void* ipc_call (string command, bool ok);
		public bool ipc_get_params (string command, out unowned Purple.Value ret_value, int num_params, out unowned Purple.Value @params);
		public bool ipc_register (string command, Purple.Callback func, Purple.SignalMarshalFunc marshal, Purple.Value ret_value, int num_params);
		public void ipc_unregister (string command);
		public void ipc_unregister_all ();
		public bool is_loaded ();
		public bool is_unloadable ();
		public bool load ();
		public static unowned Purple.Plugin probe (string filename);
		public bool register ();
		public bool reload ();
		public bool unload ();
	}
	[CCode (cheader_filename = "purple.h")]
1286
	[Compact]
1287 1288 1289 1290 1291 1292 1293 1294 1295 1296
	public class PluginAction {
		public weak GLib.Callback callback;
		public void* context;
		public weak string label;
		public weak Purple.Plugin plugin;
		public void* user_data;
		[CCode (has_construct_function = false)]
		public PluginAction (string label, GLib.Callback callback);
	}
	[CCode (cheader_filename = "purple.h")]
1297
	[Compact]
1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322
	public class PluginInfo {
		public weak GLib.Callback actions;
		public weak string author;
		public weak GLib.List dependencies;
		public weak string description;
		public weak GLib.Callback destroy;
		public void* extra_info;
		public uint flags;
		public weak string homepage;
		public weak string id;
		public weak GLib.Callback load;
		public uint magic;
		public uint major_version;
		public uint minor_version;
		public weak string name;
		public weak Purple.PluginUiInfo prefs_info;
		public weak Purple.PluginPriority priority;
		public weak string summary;
		public Purple.PluginType type;
		public void* ui_info;
		public weak string ui_requirement;
		public weak GLib.Callback unload;
		public weak string version;
	}
	[CCode (cheader_filename = "purple.h")]
1323
	[Compact]
1324 1325 1326 1327 1328 1329 1330
	public class PluginLoaderInfo {
		public weak GLib.Callback destroy;
		public weak GLib.List exts;
		public weak GLib.Callback load;
		public weak GLib.Callback probe;
		public weak GLib.Callback unload;
	}
1331
	[CCode (cheader_filename = "purple.h", free_function = "purple_plugin_pref_destroy")]
1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357
	[Compact]
	public class PluginPref {
		[CCode (has_construct_function = false)]
		public PluginPref ();
		public void add_choice (string label, void* choice);
		public void get_bounds (int min, int max);
		public unowned GLib.List get_choices ();
		public Purple.StringFormatType get_format_type ();
		public unowned string get_label ();
		public bool get_masked ();
		public uint get_max_length ();
		public unowned string get_name ();
		public void set_bounds (int min, int max);
		public void set_format_type (Purple.StringFormatType format);
		public void set_label (string label);
		public void set_masked (bool mask);
		public void set_max_length (uint max_length);
		public void set_name (string name);
		public void set_type (Purple.PluginPrefType type);
		[CCode (has_construct_function = false)]
		public PluginPref.with_label (string label);
		[CCode (has_construct_function = false)]
		public PluginPref.with_name (string name);
		[CCode (has_construct_function = false)]
		public PluginPref.with_name_and_label (string name, string label);
	}
1358
	[CCode (cheader_filename = "purple.h", free_function = "purple_plugin_pref_frame_destroy")]
1359 1360 1361 1362 1363 1364 1365 1366
	[Compact]
	public class PluginPrefFrame {
		[CCode (has_construct_function = false)]
		public PluginPrefFrame ();
		public void add (Purple.PluginPref pref);
		public unowned GLib.List get_prefs ();
	}
	[CCode (cheader_filename = "purple.h")]
1367
	[Compact]
1368 1369 1370
	public class PluginPriority {
	}
	[CCode (cheader_filename = "purple.h")]
1371
	[Compact]
1372 1373
	public class PluginProtocolInfo {
		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 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400
		public weak GLib.Callback add_deny;
		public weak GLib.Callback add_permit;
		public weak GLib.Callback alias_buddy;
		public weak GLib.Callback blist_node_menu;
		public weak GLib.Callback buddy_free;
		public weak GLib.Callback can_receive_file;
		public weak GLib.Callback change_passwd;
		public weak GLib.Callback chat_info;
		public weak GLib.Callback chat_info_defaults;
		public weak GLib.Callback chat_invite;
		public weak GLib.Callback chat_leave;
		public weak GLib.Callback chat_send;
		public weak GLib.Callback chat_whisper;
		public weak GLib.Callback close;
		public weak GLib.Callback convo_closed;
		public weak GLib.Callback find_blist_chat;
		public weak GLib.Callback get_account_text_table;
		public weak GLib.Callback get_attention_types;
		public weak GLib.Callback get_cb_away;
		public weak GLib.Callback get_cb_info;
		public weak GLib.Callback get_cb_real_name;
		public weak GLib.Callback get_chat_name;
		public weak GLib.Callback get_info;
		public weak GLib.Callback get_media_caps;
1401 1402
		public weak GLib.Callback get_moods;
		public weak GLib.Callback get_public_alias;
1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437
		public weak GLib.Callback group_buddy;
		public weak Purple.BuddyIconSpec icon_spec;
		public weak GLib.Callback initiate_media;
		public weak GLib.Callback join_chat;
		public weak GLib.Callback keepalive;
		public weak GLib.Callback list_emblem;
		public weak GLib.Callback list_icon;
		public weak GLib.Callback login;
		public weak GLib.Callback new_xfer;
		public weak GLib.Callback normalize;
		public weak GLib.Callback offline_message;
		public Purple.ProtocolOptions options;
		public weak GLib.List protocol_options;
		public weak GLib.Callback register_user;
		public weak GLib.Callback reject_chat;
		public weak GLib.Callback rem_deny;
		public weak GLib.Callback rem_permit;
		public weak GLib.Callback remove_buddies;
		public weak GLib.Callback remove_buddy;
		public weak GLib.Callback remove_group;
		public weak GLib.Callback rename_group;
		public weak GLib.Callback roomlist_cancel;
		public weak GLib.Callback roomlist_expand_category;
		public weak GLib.Callback roomlist_get_list;
		public weak GLib.Callback roomlist_room_serialize;
		public weak GLib.Callback send_attention;
		public weak GLib.Callback send_file;
		public weak GLib.Callback send_im;
		public weak GLib.Callback send_raw;
		public weak GLib.Callback send_typing;
		public weak GLib.Callback set_buddy_icon;
		public weak GLib.Callback set_chat_topic;
		public weak GLib.Callback set_idle;
		public weak GLib.Callback set_info;
		public weak GLib.Callback set_permit_deny;
1438
		public weak GLib.Callback set_public_alias;
1439 1440 1441 1442 1443 1444 1445 1446 1447 1448
		public weak GLib.Callback set_status;
		public weak GLib.Callback status_text;
		public weak GLib.Callback status_types;
		public uint struct_size;
		public weak GLib.Callback tooltip_text;
		public weak GLib.Callback unregister_user;
		public weak GLib.List user_splits;
		public weak Purple.WhiteboardPrplOps whiteboard_prpl_ops;
	}
	[CCode (cheader_filename = "purple.h")]
1449
	[Compact]
1450 1451 1452 1453 1454
	public class PluginUiInfo {
		public weak Purple.PluginPrefFrame frame;
		public weak GLib.Callback get_plugin_pref_frame;
		public int page_num;
	}
1455
	[CCode (cheader_filename = "purple.h", free_function = "purple_pounce_destroy")]
1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473
	[Compact]
	public class Pounce {
		public weak GLib.HashTable actions;
		public void* data;
		public Purple.PounceEvent events;
		public Purple.PounceOption options;
		public weak string pouncee;
		public weak Purple.Account pouncer;
		public bool save;
		public weak string ui_type;
		[CCode (has_construct_function = false)]
		public Pounce (string ui_type, Purple.Account pouncer, string pouncee, Purple.PounceEvent event, Purple.PounceOption option);
		public unowned string action_get_attribute (string action, string attr);
		public bool action_is_enabled (string action);
		public void action_register (string name);
		public void action_set_attribute (string action, string attr, string value);
		public void action_set_enabled (string action, bool enabled);
		public static void destroy_all_by_account (Purple.Account account);
1474
		public static void destroy_all_by_buddy (Purple.Buddy buddy);
1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488
		public static void execute (Purple.Account pouncer, string pouncee, Purple.PounceEvent events);
		public void* get_data ();
		public Purple.PounceEvent get_events ();
		public Purple.PounceOption get_options ();
		public unowned string get_pouncee ();
		public unowned Purple.Account get_pouncer ();
		public bool get_save ();
		public void set_data (void* data);
		public void set_events (Purple.PounceEvent events);
		public void set_options (Purple.PounceOption options);
		public void set_pouncee (string pouncee);
		public void set_pouncer (Purple.Account pouncer);
		public void set_save (bool save);
	}
1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PrefCallbackData {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PrefsUiOps {
		public weak GLib.Callback add_bool;
		public weak GLib.Callback add_int;
		public weak GLib.Callback add_none;
		public weak GLib.Callback add_string;
		public weak GLib.Callback add_string_list;
		public weak GLib.Callback connect_callback;
		public weak GLib.Callback disconnect_callback;
		public weak GLib.Callback exists;
		public weak GLib.Callback get_bool;
		public weak GLib.Callback get_children_names;
		public weak GLib.Callback get_int;
		public weak GLib.Callback get_string;
		public weak GLib.Callback get_string_list;
		public weak GLib.Callback get_type;
		public weak GLib.Callback load;
		public weak GLib.Callback remove;
		public weak GLib.Callback rename;
		public weak GLib.Callback rename_boolean_toggle;
		public weak GLib.Callback save;
		public weak GLib.Callback schedule_save;
		public weak GLib.Callback set_bool;
		public weak GLib.Callback set_int;
		public weak GLib.Callback set_string;
		public weak GLib.Callback set_string_list;
	}
1521
	[CCode (cheader_filename = "purple.h", free_function = "purple_presence_destroy")]
1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555
	[Compact]
	public class Presence {
		[CCode (has_construct_function = false)]
		public Presence (Purple.PresenceContext context);
		public void add_list (GLib.List source_list);
		public void add_status (Purple.Status status);
		public int compare (Purple.Presence presence2);
		[CCode (has_construct_function = false)]
		public Presence.for_account (Purple.Account account);
		[CCode (has_construct_function = false)]
		public Presence.for_buddy (Purple.Buddy buddy);
		[CCode (has_construct_function = false)]
		public Presence.for_conv (Purple.Conversation conv);
		public unowned Purple.Account get_account ();
		public unowned Purple.Status get_active_status ();
		public unowned Purple.Buddy get_buddy ();
		public unowned string get_chat_user ();
		public Purple.PresenceContext get_context ();
		public unowned Purple.Conversation get_conversation ();
		public ulong get_idle_time ();
		public ulong get_login_time ();
		public unowned Purple.Status get_status (string status_id);
		public unowned GLib.List get_statuses ();
		public bool is_available ();
		public bool is_idle ();
		public bool is_online ();
		public bool is_status_active (string status_id);
		public bool is_status_primitive_active (Purple.StatusPrimitive primitive);
		public void set_idle (bool idle, ulong idle_time);
		public void set_login_time (ulong login_time);
		public void set_status_active (string status_id, bool active);
		public void switch_status (string status_id);
	}
	[CCode (cheader_filename = "purple.h")]
1556
	[Compact]
1557 1558 1559 1560 1561 1562 1563
	public class PrivacyUiOps {
		public weak GLib.Callback deny_added;
		public weak GLib.Callback deny_removed;
		public weak GLib.Callback permit_added;
		public weak GLib.Callback permit_removed;
	}
	[CCode (cheader_filename = "purple.h")]
1564
	[Compact]
1565 1566
	public class ProxyConnectData {
	}
1567
	[CCode (cheader_filename = "purple.h", free_function = "purple_proxy_info_destroy")]
1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586
	[Compact]
	public class ProxyInfo {
		public weak string host;
		public weak string password;
		public int port;
		public Purple.ProxyType type;
		public weak string username;
		[CCode (has_construct_function = false)]
		public ProxyInfo ();
		public unowned string get_host ();
		public unowned string get_password ();
		public int get_port ();
		public unowned string get_username ();
		public void set_host (string host);
		public void set_password (string password);
		public void set_port (int port);
		public void set_type (Purple.ProxyType type);
		public void set_username (string username);
	}
1587
	[CCode (cheader_filename = "purple.h", free_function = "purple_request_field_destroy")]
1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641
	[Compact]
	public class RequestField {
		public weak Purple.RequestFieldGroup group;
		public weak string id;
		public weak string label;
		public bool required;
		public Purple.RequestFieldType type;
		public weak string type_hint;
		public void* u;
		public void* ui_data;
		public bool visible;
		[CCode (has_construct_function = false)]
		public RequestField (string id, string text, Purple.RequestFieldType type);
		public unowned Purple.Account account_get_default_value ();
		public unowned Purple.FilterAccountFunc account_get_filter ();
		public bool account_get_show_all ();
		public unowned Purple.Account account_get_value ();
		public static unowned Purple.RequestField account_new (string id, string text, Purple.Account account);
		public void account_set_default_value (Purple.Account default_value);
		public void account_set_filter (Purple.FilterAccountFunc filter_func);
		public void account_set_show_all (bool show_all);
		public void account_set_value (Purple.Account value);
		public bool bool_get_default_value ();
		public bool bool_get_value ();
		public static unowned Purple.RequestField bool_new (string id, string text, bool default_value);
		public void bool_set_default_value (bool default_value);
		public void bool_set_value (bool value);
		public void choice_add (string label);
		public int choice_get_default_value ();
		public unowned GLib.List choice_get_labels ();
		public int choice_get_value ();
		public static unowned Purple.RequestField choice_new (string id, string text, int default_value);
		public void choice_set_default_value (int default_value);
		public void choice_set_value (int value);
		public unowned Purple.RequestFieldGroup get_group ();
		public unowned string get_id ();
		public unowned string get_label ();
		public unowned string get_type_hint ();
		public void* get_ui_data ();
		public unowned string image_get_buffer ();
		public uint image_get_scale_x ();
		public uint image_get_scale_y ();
		public size_t image_get_size ();
		public static unowned Purple.RequestField image_new (string id, string text, string buf, size_t size);
		public void image_set_scale (uint x, uint y);
		public int int_get_default_value ();
		public int int_get_value ();
		public static unowned Purple.RequestField int_new (string id, string text, int default_value);
		public void int_set_default_value (int default_value);
		public void int_set_value (int value);
		public bool is_required ();
		public bool is_visible ();
		public static unowned Purple.RequestField label_new (string id, string text);
		public void list_add (string item, void* data);
1642
		public void list_add_icon (string item, string icon_path, void* data);
1643 1644 1645
		public void list_add_selected (string item);
		public void list_clear_selected ();
		public void* list_get_data (string text);
1646
		public unowned GLib.List list_get_icons ();
1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669
		public unowned GLib.List list_get_items ();
		public bool list_get_multi_select ();
		public unowned GLib.List list_get_selected ();
		public bool list_is_selected (string item);
		public static unowned Purple.RequestField list_new (string id, string text);
		public void list_set_multi_select (bool multi_select);
		public void list_set_selected (GLib.List items);
		public void set_label (string label);
		public void set_required (bool required);
		public void set_type_hint (string type_hint);
		public void set_ui_data (void* ui_data);
		public void set_visible (bool visible);
		public unowned string string_get_default_value ();
		public unowned string string_get_value ();
		public bool string_is_editable ();
		public bool string_is_masked ();
		public bool string_is_multiline ();
		public static unowned Purple.RequestField string_new (string id, string text, string default_value, bool multiline);
		public void string_set_default_value (string default_value);
		public void string_set_editable (bool editable);
		public void string_set_masked (bool masked);
		public void string_set_value (string value);
	}
1670
	[CCode (cheader_filename = "purple.h", free_function = "purple_request_field_group_destroy")]
1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681
	[Compact]
	public class RequestFieldGroup {
		public weak GLib.List fields;
		public weak Purple.RequestFields fields_list;
		public weak string title;
		[CCode (has_construct_function = false)]
		public RequestFieldGroup (string title);
		public void add_field (Purple.RequestField field);
		public unowned GLib.List get_fields ();
		public unowned string get_title ();
	}
1682
	[CCode (cheader_filename = "purple.h", free_function = "purple_request_fields_destroy")]
1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704
	[Compact]
	public class RequestFields {
		public weak GLib.HashTable fields;
		public weak GLib.List groups;
		public weak GLib.List required_fields;
		public void* ui_data;
		[CCode (has_construct_function = false)]
		public RequestFields ();
		public void add_group (Purple.RequestFieldGroup group);
		public bool all_required_filled ();
		public bool exists (string id);
		public unowned Purple.Account get_account (string id);
		public bool get_bool (string id);
		public int get_choice (string id);
		public unowned Purple.RequestField get_field (string id);
		public unowned GLib.List get_groups ();
		public int get_integer (string id);
		public unowned GLib.List get_required ();
		public unowned string get_string (string id);
		public bool is_field_required (string id);
	}
	[CCode (cheader_filename = "purple.h")]
1705
	[Compact]
1706 1707 1708
	public class RequestUiOps {
		public weak GLib.Callback close_request;
		public weak GLib.Callback request_action;
1709
		public weak GLib.Callback request_action_with_icon;
1710 1711 1712 1713 1714 1715
		public weak GLib.Callback request_choice;
		public weak GLib.Callback request_fields;
		public weak GLib.Callback request_file;
		public weak GLib.Callback request_folder;
		public weak GLib.Callback request_input;
	}
1716
	[CCode (cheader_filename = "purple.h", ref_function = "purple_roomlist_ref", ref_function_void = true, unref_function = "purple_roomlist_unref")]
1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739
	[Compact]
	public class Roomlist {
		public weak Purple.Account account;
		public weak GLib.List fields;
		public bool in_progress;
		public void* proto_data;
		public uint @ref;
		public weak GLib.List rooms;
		public void* ui_data;
		[CCode (has_construct_function = false)]
		public Roomlist (Purple.Account account);
		public void cancel_get_list ();
		public void expand_category (Purple.RoomlistRoom category);
		public unowned GLib.List get_fields ();
		public bool get_in_progress ();
		public static unowned Purple.Roomlist get_list (Purple.Connection gc);
		public static unowned Purple.RoomlistUiOps get_ui_ops ();
		public void set_fields (GLib.List fields);
		public void set_in_progress (bool in_progress);
		public static void set_ui_ops (Purple.RoomlistUiOps ops);
		public static void show_with_account (Purple.Account account);
	}
	[CCode (cheader_filename = "purple.h")]
1740
	[Compact]
1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751
	public class RoomlistField {
		public bool hidden;
		public weak string label;
		public weak string name;
		public Purple.RoomlistFieldType type;
		[CCode (has_construct_function = false)]
		public RoomlistField (Purple.RoomlistFieldType type, string label, string name, bool hidden);
		public bool get_hidden ();
		public unowned string get_label ();
	}
	[CCode (cheader_filename = "purple.h")]
1752
	[Compact]
1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768
	public class RoomlistRoom {
		public bool expanded_once;
		public weak GLib.List fields;
		public weak string name;
		public weak Purple.RoomlistRoom parent;
		public Purple.RoomlistRoomType type;
		[CCode (has_construct_function = false)]
		public RoomlistRoom (Purple.RoomlistRoomType type, string name, Purple.RoomlistRoom parent);
		public static void add (Purple.Roomlist list, Purple.RoomlistRoom room);
		public static void add_field (Purple.Roomlist list, Purple.RoomlistRoom room, void* field);
		public unowned GLib.List get_fields ();
		public unowned string get_name ();
		public unowned Purple.RoomlistRoom get_parent ();
		public static void join (Purple.Roomlist list, Purple.RoomlistRoom room);
	}
	[CCode (cheader_filename = "purple.h")]
1769
	[Compact]
1770 1771 1772 1773 1774 1775 1776 1777 1778
	public class RoomlistUiOps {
		public weak GLib.Callback add_room;
		public weak GLib.Callback create;
		public weak GLib.Callback destroy;
		public weak GLib.Callback in_progress;
		public weak GLib.Callback set_fields;
		public weak GLib.Callback show_with_account;
	}
	[CCode (cheader_filename = "purple.h")]
1779
	[Compact]
1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836
	public class SavedStatus {
		[CCode (cname = "purple_savedstatus_new", has_construct_function = false)]
		public SavedStatus (string title, Purple.StatusPrimitive type);
		[CCode (cname = "purple_savedstatus_activate")]
		public void activate ();
		[CCode (cname = "purple_savedstatus_activate_for_account")]
		public void activate_for_account (Purple.Account account);
		[CCode (cname = "purple_savedstatus_delete")]
		public static bool @delete (string title);
		[CCode (cname = "purple_savedstatus_delete_by_status")]
		public void delete_by_status ();
		[CCode (cname = "purple_savedstatus_find")]
		public static unowned Purple.SavedStatus find (string title);
		[CCode (cname = "purple_savedstatus_find_by_creation_time")]
		public static unowned Purple.SavedStatus find_by_creation_time (ulong creation_time);
		[CCode (cname = "purple_savedstatus_find_transient_by_type_and_message")]
		public static unowned Purple.SavedStatus find_transient_by_type_and_message (Purple.StatusPrimitive type, string message);
		[CCode (cname = "purple_savedstatus_get_creation_time")]
		public ulong get_creation_time ();
		[CCode (cname = "purple_savedstatus_get_current")]
		public static unowned Purple.SavedStatus get_current ();
		[CCode (cname = "purple_savedstatus_get_default")]
		public static unowned Purple.SavedStatus get_default ();
		[CCode (cname = "purple_savedstatus_get_idleaway")]
		public static unowned Purple.SavedStatus get_idleaway ();
		[CCode (cname = "purple_savedstatus_get_message")]
		public unowned string get_message ();
		[CCode (cname = "purple_savedstatus_get_startup")]
		public static unowned Purple.SavedStatus get_startup ();
		[CCode (cname = "purple_savedstatus_get_substatus")]
		public unowned Purple.SavedStatusSub get_substatus (Purple.Account account);
		[CCode (cname = "purple_savedstatus_get_title")]
		public unowned string get_title ();
		[CCode (cname = "purple_savedstatus_has_substatuses")]
		public bool has_substatuses ();
		[CCode (cname = "purple_savedstatus_is_idleaway")]
		public static bool is_idleaway ();
		[CCode (cname = "purple_savedstatus_is_transient")]
		public bool is_transient ();
		[CCode (cname = "purple_savedstatus_set_idleaway")]
		public static void set_idleaway (bool idleaway);
		[CCode (cname = "purple_savedstatus_set_message")]
		public void set_message (string message);
		[CCode (cname = "purple_savedstatus_set_substatus")]
		public void set_substatus (Purple.Account account, Purple.StatusType type, string message);
		[CCode (cname = "purple_savedstatus_set_title")]
		public void set_title (string title);
		[CCode (cname = "purple_savedstatus_set_type")]
		public void set_type (Purple.StatusPrimitive type);
		[CCode (cname = "purple_savedstatus_substatus_get_message")]
		public static unowned string substatus_get_message (Purple.SavedStatusSub substatus);
		[CCode (cname = "purple_savedstatus_substatus_get_type")]
		public static unowned Purple.StatusType substatus_get_type (Purple.SavedStatusSub substatus);
		[CCode (cname = "purple_savedstatus_unset_substatus")]
		public void unset_substatus (Purple.Account account);
	}
	[CCode (cheader_filename = "purple.h")]
1837
	[Compact]
1838 1839 1840
	public class SavedStatusSub {
	}
	[CCode (cheader_filename = "purple.h")]
1841
	[Compact]
1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857
	public class Smiley {
		[CCode (has_construct_function = false)]
		public Smiley (Purple.StoredImage img, string shortcut);
		public void @delete ();
		[CCode (has_construct_function = false)]
		public Smiley.from_file (string shortcut, string filepath);
		public unowned string get_checksum ();
		public void* get_data (size_t len);
		public unowned string get_extension ();
		public unowned string get_full_path ();
		public unowned string get_shortcut ();
		public unowned Purple.StoredImage get_stored_image ();
		public void set_data (uchar[] smiley_data, size_t smiley_data_len);
		public bool set_shortcut (string shortcut);
	}
	[CCode (cheader_filename = "purple.h")]
1858
	[Compact]
1859 1860 1861
	public class SmileyClass {
	}
	[CCode (cheader_filename = "purple.h")]
1862
	[Compact]
1863 1864 1865 1866 1867 1868 1869 1870
	public class SoundTheme {
		public weak Purple.Theme parent;
		public void* priv;
		public unowned string get_file (string event);
		public unowned string get_file_full (string event);
		public void set_file (string event, string filename);
	}
	[CCode (cheader_filename = "purple.h")]
1871
	[Compact]
1872 1873 1874 1875
	public class SoundThemeClass {
		public weak Purple.ThemeClass parent_class;
	}
	[CCode (cheader_filename = "purple.h")]
1876
	[Compact]
1877 1878 1879 1880
	public class SoundThemeLoader {
		public weak Purple.ThemeLoader parent;
	}
	[CCode (cheader_filename = "purple.h")]
1881
	[Compact]
1882 1883 1884 1885
	public class SoundThemeLoaderClass {
		public weak Purple.ThemeLoaderClass parent_class;
	}
	[CCode (cheader_filename = "purple.h")]
1886
	[Compact]
1887 1888 1889 1890 1891 1892 1893
	public class SoundUiOps {
		public weak GLib.Callback init;
		public weak GLib.Callback play_event;
		public weak GLib.Callback play_file;
		public weak GLib.Callback uninit;
	}
	[CCode (cheader_filename = "purple.h")]
1894
	[Compact]
1895 1896 1897
	public class SrvQueryData {
	}
	[CCode (cheader_filename = "purple.h")]
1898
	[Compact]
1899 1900
	public class SrvResponse {
		[CCode (array_length = false)]
1901
		public weak GLib.ObjectPath[] hostname;
1902 1903 1904 1905 1906
		public int port;
		public int pref;
		public int weight;
	}
	[CCode (cheader_filename = "purple.h")]
1907
	[Compact]
1908 1909 1910 1911 1912 1913 1914 1915 1916 1917
	public class SrvTxtQueryData {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SrvTxtQueryUiOps {
		public weak GLib.Callback destroy;
		public weak GLib.Callback resolve;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932
	public class SslConnection {
		public weak Purple.SslInputFunction connect_cb;
		public void* connect_cb_data;
		public weak Purple.ProxyConnectData connect_data;
		public weak Purple.SslErrorFunction error_cb;
		public int fd;
		public weak string host;
		public uint inpa;
		public int port;
		public void* private_data;
		public weak Purple.SslInputFunction recv_cb;
		public void* recv_cb_data;
		public weak Purple.CertificateVerifier verifier;
	}
	[CCode (cheader_filename = "purple.h")]
1933
	[Compact]
1934 1935 1936 1937 1938 1939 1940 1941 1942
	public class SslOps {
		public weak GLib.Callback close;
		public weak GLib.Callback connectfunc;
		public weak GLib.Callback get_peer_certificates;
		public weak GLib.Callback init;
		public weak GLib.Callback read;
		public weak GLib.Callback uninit;
		public weak GLib.Callback write;
	}
1943
	[CCode (cheader_filename = "purple.h", free_function = "purple_status_destroy")]
1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970
	[Compact]
	public class Status {
		[CCode (has_construct_function = false)]
		public Status (Purple.StatusType status_type, Purple.Presence presence);
		public int compare (Purple.Status status2);
		public bool get_attr_boolean (string id);
		public int get_attr_int (string id);
		public unowned string get_attr_string (string id);
		public unowned Purple.Value get_attr_value (string id);
		public static void* get_handle ();
		public unowned string get_id ();
		public unowned string get_name ();
		public unowned Purple.Presence get_presence ();
		public static void init ();
		public bool is_active ();
		public bool is_available ();
		public bool is_exclusive ();
		public bool is_independent ();
		public bool is_online ();
		public void set_active (bool active);
		public void set_active_with_attrs (bool active, void* args);
		public void set_active_with_attrs_list (bool active, GLib.List attrs);
		public void set_attr_boolean (string id, bool value);
		public void set_attr_int (string id, int value);
		public void set_attr_string (string id, string value);
		public static void uninit ();
	}
1971
	[CCode (cheader_filename = "purple.h", free_function = "purple_status_attr_destroy")]
1972 1973 1974 1975 1976 1977 1978 1979
	[Compact]
	public class StatusAttr {
		[CCode (has_construct_function = false)]
		public StatusAttr (string id, string name, Purple.Value value_type);
		public unowned string get_id ();
		public unowned string get_name ();
		public unowned Purple.Value get_value ();
	}
1980
	[CCode (cheader_filename = "purple.h", free_function = "purple_status_type_destroy")]
1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006
	[Compact]
	public class StatusType {
		[CCode (has_construct_function = false)]
		public StatusType (Purple.StatusPrimitive primitive, string id, string name, bool user_settable);
		public void add_attr (string id, string name, Purple.Value value);
		public void add_attrs (string id, string name, Purple.Value value);
		public void add_attrs_vargs (void* args);
		public static unowned Purple.StatusType find_with_id (GLib.List status_types, string id);
		[CCode (has_construct_function = false)]
		public StatusType.full (Purple.StatusPrimitive primitive, string id, string name, bool saveable, bool user_settable, bool independent);
		public unowned Purple.StatusAttr get_attr (string id);
		public unowned GLib.List get_attrs ();
		public unowned string get_id ();
		public unowned string get_name ();
		public unowned string get_primary_attr ();
		public Purple.StatusPrimitive get_primitive ();
		public bool is_available ();
		public bool is_exclusive ();
		public bool is_independent ();
		public bool is_saveable ();
		public bool is_user_settable ();
		public void set_primary_attr (string attr_id);
		[CCode (has_construct_function = false)]
		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);
	}
	[CCode (cheader_filename = "purple.h")]
2007
	[Compact]
2008 2009
	public class StoredImage {
	}
2010
	[CCode (cheader_filename = "purple.h", ref_function = "purple_stringref_ref", unref_function = "purple_stringref_unref")]
2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022
	[Compact]
	public class Stringref {
		[CCode (has_construct_function = false)]
		public Stringref (string value);
		public int cmp (Purple.Stringref s2);
		public size_t len ();
		[CCode (has_construct_function = false)]
		public Stringref.noref (string value);
		public static unowned Purple.Stringref printf (string format);
		public unowned string value ();
	}
	[CCode (cheader_filename = "purple.h")]
2023
	[Compact]
2024 2025 2026
	public class StunNatDiscovery {
		public ulong lookup_time;
		[CCode (array_length = false)]
2027
		public weak GLib.ObjectPath[] publicip;
2028 2029 2030 2031 2032
		public weak string servername;
		public Purple.StunStatus status;
		public Purple.StunNatType type;
	}
	[CCode (cheader_filename = "purple.h")]
2033
	[Compact]
2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050
	public class Theme {
		public weak GLib.Object parent;
		public void* priv;
		public unowned string get_author ();
		public unowned string get_description ();
		public unowned string get_dir ();
		public unowned string get_image ();
		public unowned string get_image_full ();
		public unowned string get_name ();
		public unowned string get_type_string ();
		public void set_author (string author);
		public void set_description (string description);
		public void set_dir (string dir);
		public void set_image (string img);
		public void set_name (string name);
	}
	[CCode (cheader_filename = "purple.h")]
2051
	[Compact]
2052 2053 2054 2055
	public class ThemeClass {
		public weak GLib.ObjectClass parent_class;
	}
	[CCode (cheader_filename = "purple.h")]
2056
	[Compact]
2057 2058 2059 2060 2061 2062 2063
	public class ThemeLoader {
		public weak GLib.Object parent;
		public void* priv;
		public unowned Purple.Theme build (string dir);
		public unowned string get_type_string ();
	}
	[CCode (cheader_filename = "purple.h")]
2064
	[Compact]
2065 2066 2067 2068 2069
	public class ThemeLoaderClass {
		public weak GLib.ObjectClass parent_class;
		public weak GLib.Callback purple_theme_loader_build;
	}
	[CCode (cheader_filename = "purple.h")]
2070
	[Compact]
2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084
	public class ThemeManager {
		public weak GLib.Object parent;
		public static void add_theme (Purple.Theme theme);
		public static unowned Purple.Theme find_theme (string name, string type);
		public static void for_each_theme (Purple.PTFunc func);
		public static void init ();
		public static unowned Purple.Theme load_theme (string theme_dir, string type);
		public static void refresh ();
		public static void register_type (Purple.ThemeLoader loader);
		public static void remove_theme (Purple.Theme theme);
		public static void uninit ();
		public static void unregister_type (Purple.ThemeLoader loader);
	}
	[CCode (cheader_filename = "purple.h")]
2085
	[Compact]
2086 2087 2088
	public class ThemeManagerClass {
		public weak GLib.ObjectClass parent_class;
	}
2089 2090 2091 2092
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ThumbnailSpec {
	}
2093
	[CCode (cheader_filename = "purple.h", free_function = "purple_txt_response_destroy")]
2094 2095
	[Compact]
	public class TxtResponse {
2096
		public weak string content;
2097 2098 2099
		public unowned string get_content ();
	}
	[CCode (cheader_filename = "purple.h")]
2100
	[Compact]
2101 2102 2103
	public class UPnPMappingAddRemove {
	}
	[CCode (cheader_filename = "purple.h")]
2104
	[Compact]
2105 2106
	public class UtilFetchUrlData {
	}
2107
	[CCode (cheader_filename = "purple.h", free_function = "purple_value_destroy")]
2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118
	[Compact]
	public class Value {
		public void* data;
		public uint flags;
		public Purple.Type type;
		public void* u;
		[CCode (has_construct_function = false)]
		public Value (Purple.Type type);
		public unowned Purple.Value dup ();
		public bool get_boolean ();
		public void* get_boxed ();
2119
		public unowned GLib.ObjectPath get_char ();
2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139
		public int get_enum ();
		public int get_int ();
		public int64 get_int64 ();
		public long get_long ();
		public void* get_object ();
		public void* get_pointer ();
		public short get_short ();
		public unowned string get_specific_type ();
		public unowned string get_string ();
		public uint get_subtype ();
		public uint get_uchar ();
		public uint get_uint ();
		public uint64 get_uint64 ();
		public uint get_ulong ();
		public uint get_ushort ();
		public bool is_outgoing ();
		[CCode (has_construct_function = false)]
		public Value.outgoing (Purple.Type type);
		public void set_boolean (bool data);
		public void set_boxed (void* data);
2140
		public void set_char (GLib.ObjectPath data);
2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154
		public void set_enum (int data);
		public void set_int (int data);
		public void set_int64 (int64 data);
		public void set_long (long data);
		public void set_object (void* data);
		public void set_pointer (void* data);
		public void set_short (short data);
		public void set_string (string data);
		public void set_uchar (uint data);
		public void set_uint (uint data);
		public void set_uint64 (uint64 data);
		public void set_ulong (uint data);
		public void set_ushort (uint data);
	}
2155
	[CCode (cheader_filename = "purple.h", free_function = "purple_whiteboard_destroy")]
2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182
	[Compact]
	public class Whiteboard {
		public weak Purple.Account account;
		public weak GLib.List draw_list;
		public void* proto_data;
		public weak Purple.WhiteboardPrplOps prpl_ops;
		public int state;
		public void* ui_data;
		public weak string who;
		public void clear ();
		public static unowned Purple.Whiteboard create (Purple.Account account, string who, int state);
		public void draw_line (int x1, int y1, int x2, int y2, int color, int size);
		public static void draw_list_destroy (GLib.List draw_list);
		public void draw_point (int x, int y, int color, int size);
		public bool get_brush (int size, int color);
		public bool get_dimensions (int width, int height);
		public static unowned Purple.Whiteboard get_session (Purple.Account account, string who);
		public void send_brush (int size, int color);
		public void send_clear ();
		public void send_draw_list (GLib.List list);
		public void set_brush (int size, int color);
		public void set_dimensions (int width, int height);
		public void set_prpl_ops (Purple.WhiteboardPrplOps ops);
		public static void set_ui_ops (Purple.WhiteboardUiOps ops);
		public void start ();
	}
	[CCode (cheader_filename = "purple.h")]
2183
	[Compact]
2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194
	public class WhiteboardPrplOps {
		public weak GLib.Callback clear;
		public weak GLib.Callback end;
		public weak GLib.Callback get_brush;
		public weak GLib.Callback get_dimensions;
		public weak GLib.Callback send_draw_list;
		public weak GLib.Callback set_brush;
		public weak GLib.Callback set_dimensions;
		public weak GLib.Callback start;
	}
	[CCode (cheader_filename = "purple.h")]
2195
	[Compact]
2196 2197 2198 2199 2200 2201 2202 2203 2204
	public class WhiteboardUiOps {
		public weak GLib.Callback clear;
		public weak GLib.Callback create;
		public weak GLib.Callback destroy;
		public weak GLib.Callback draw_line;
		public weak GLib.Callback draw_point;
		public weak GLib.Callback set_brush;
		public weak GLib.Callback set_dimensions;
	}
2205
	[CCode (cheader_filename = "purple.h", ref_function = "purple_xfer_ref", ref_function_void = true, unref_function = "purple_xfer_unref")]
2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253
	[Compact]
	public class Xfer {
		public weak Purple.Account account;
		public size_t bytes_remaining;
		public size_t bytes_sent;
		public size_t current_buffer_size;
		public void* data;
		public weak GLib.FileStream dest_fp;
		public ulong end_time;
		public int fd;
		public weak string filename;
		public weak string local_filename;
		public int local_port;
		public weak string message;
		public void* ops;
		public uint @ref;
		public weak string remote_ip;
		public int remote_port;
		public size_t size;
		public ulong start_time;
		public Purple.XferStatusType status;
		public Purple.XferType type;
		public void* ui_data;
		public weak Purple.XferUiOps ui_ops;
		public int watcher;
		public weak string who;
		[CCode (has_construct_function = false)]
		public Xfer (Purple.Account account, Purple.XferType type, string who);
		public void add ();
		public void cancel_local ();
		public void cancel_remote ();
		public void conversation_write (string message, bool is_error);
		public void end ();
		public static void error (Purple.XferType type, Purple.Account account, string who, string msg);
		public unowned Purple.Account get_account ();
		public size_t get_bytes_remaining ();
		public size_t get_bytes_sent ();
		public ulong get_end_time ();
		public unowned string get_filename ();
		public unowned string get_local_filename ();
		public uint get_local_port ();
		public double get_progress ();
		public unowned string get_remote_ip ();
		public uint get_remote_port ();
		public unowned string get_remote_user ();
		public size_t get_size ();
		public ulong get_start_time ();
		public Purple.XferStatusType get_status ();
2254 2255
		public void* get_thumbnail (size_t len);
		public unowned string get_thumbnail_mimetype ();
2256 2257 2258
		public unowned Purple.XferUiOps get_ui_ops ();
		public bool is_canceled ();
		public bool is_completed ();
2259
		public void prepare_thumbnail (string formats);
2260 2261
		public void prpl_ready ();
		public ssize_t read (uchar[] buffer);
2262
		public ssize_t read_file (uchar[] buffer, size_t size);
2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279
		public void request ();
		public void request_accepted (string filename);
		public void request_denied ();
		public void set_ack_fnc (GLib.Callback fnc);
		public void set_bytes_sent (size_t bytes_sent);
		public void set_cancel_recv_fnc (GLib.Callback fnc);
		public void set_cancel_send_fnc (GLib.Callback fnc);
		public void set_completed (bool completed);
		public void set_end_fnc (GLib.Callback fnc);
		public void set_filename (string filename);
		public void set_init_fnc (GLib.Callback fnc);
		public void set_local_filename (string filename);
		public void set_message (string message);
		public void set_read_fnc (GLib.Callback fnc);
		public void set_request_denied_fnc (GLib.Callback fnc);
		public void set_size (size_t size);
		public void set_start_fnc (GLib.Callback fnc);
2280
		public void set_thumbnail (void* thumbnail, size_t size, string mimetype);
2281 2282 2283 2284 2285
		public void set_write_fnc (GLib.Callback fnc);
		public void start (int fd, string ip, uint port);
		public void ui_ready ();
		public void update_progress ();
		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 2293 2294 2295 2296 2297 2298 2299 2300 2301
		public weak GLib.Callback add_xfer;
		public weak GLib.Callback cancel_local;
		public weak GLib.Callback cancel_remote;
		public weak GLib.Callback data_not_sent;
		public weak GLib.Callback destroy;
		public weak GLib.Callback new_xfer;
		public weak GLib.Callback ui_read;
		public weak GLib.Callback ui_write;
		public weak GLib.Callback update_progress;
	}
2302
	[CCode (cheader_filename = "purple.h", copy_function = "xmlnode_copy", free_function = "xmlnode_free")]
2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314
	[Compact]
	public class xmlnode {
		public weak string data;
		public size_t data_sz;
		public weak Purple.xmlnode lastchild;
		public weak string name;
		public weak GLib.HashTable namespace_map;
		public weak Purple.xmlnode next;
		public weak Purple.xmlnode parent;
		public weak string prefix;
		public Purple.XMLNodeType type;
		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 2319 2320