matrix-glib-sdk/Matrix-0.0-MatrixAPI.html

7006 lines
375 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MatrixAPI: Matrix-0.0 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Matrix-0.0 Reference Manual">
<link rel="up" href="ch01.html" title="Matrix-0.0 API Reference">
<link rel="prev" href="Matrix-0.0-MatrixEventCallCandidates.html" title="MatrixEventCallCandidates">
<link rel="next" href="Matrix-0.0-MatrixEventRoomPowerLevels.html" title="MatrixEventRoomPowerLevels">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#Matrix-0.0-MatrixAPI.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="Matrix-0.0-MatrixEventCallCandidates.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="Matrix-0.0-MatrixEventRoomPowerLevels.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="Matrix-0.0-MatrixAPI"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="Matrix-0.0-MatrixAPI.top_of_page"></a>MatrixAPI</span></h2>
<p>MatrixAPI — Base interface for all Client/Server API functionality.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="Matrix-0.0-MatrixAPI.functions"></a><h2>Functions</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-abort-pending" title="matrix_api_abort_pending ()">matrix_api_abort_pending</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-media-download" title="matrix_api_media_download ()">matrix_api_media_download</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-media-thumbnail" title="matrix_api_media_thumbnail ()">matrix_api_media_thumbnail</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-media-upload" title="matrix_api_media_upload ()">matrix_api_media_upload</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-presence-list" title="matrix_api_get_presence_list ()">matrix_api_get_presence_list</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-update-presence-list" title="matrix_api_update_presence_list ()">matrix_api_update_presence_list</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-presence" title="matrix_api_get_presence ()">matrix_api_get_presence</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-user-presence" title="matrix_api_set_user_presence ()">matrix_api_set_user_presence</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-update-pusher" title="matrix_api_update_pusher ()">matrix_api_update_pusher</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-pushers" title="matrix_api_get_pushers ()">matrix_api_get_pushers</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-delete-pusher" title="matrix_api_delete_pusher ()">matrix_api_delete_pusher</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-pusher" title="matrix_api_get_pusher ()">matrix_api_get_pusher</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-add-pusher" title="matrix_api_add_pusher ()">matrix_api_add_pusher</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-toggle-pusher" title="matrix_api_toggle_pusher ()">matrix_api_toggle_pusher</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-create-room" title="matrix_api_create_room ()">matrix_api_create_room</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-delete-room-alias" title="matrix_api_delete_room_alias ()">matrix_api_delete_room_alias</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-room-id" title="matrix_api_get_room_id ()">matrix_api_get_room_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-create-room-alias" title="matrix_api_create_room_alias ()">matrix_api_create_room_alias</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-list-public-rooms" title="matrix_api_list_public_rooms ()">matrix_api_list_public_rooms</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-ban-user" title="matrix_api_ban_user ()">matrix_api_ban_user</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-forget-room" title="matrix_api_forget_room ()">matrix_api_forget_room</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-invite-user-3rdparty" title="matrix_api_invite_user_3rdparty ()">matrix_api_invite_user_3rdparty</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-invite-user" title="matrix_api_invite_user ()">matrix_api_invite_user</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-join-room" title="matrix_api_join_room ()">matrix_api_join_room</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-leave-room" title="matrix_api_leave_room ()">matrix_api_leave_room</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-event-stream" title="matrix_api_event_stream ()">matrix_api_event_stream</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-event" title="matrix_api_get_event ()">matrix_api_get_event</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-initial-sync" title="matrix_api_initial_sync ()">matrix_api_initial_sync</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-event-context" title="matrix_api_get_event_context ()">matrix_api_get_event_context</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-initial-sync-room" title="matrix_api_initial_sync_room ()">matrix_api_initial_sync_room</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-list-room-members" title="matrix_api_list_room_members ()">matrix_api_list_room_members</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-list-room-messages" title="matrix_api_list_room_messages ()">matrix_api_list_room_messages</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-send-event-receipt" title="matrix_api_send_event_receipt ()">matrix_api_send_event_receipt</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-redact-event" title="matrix_api_redact_event ()">matrix_api_redact_event</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-send-message-event" title="matrix_api_send_message_event ()">matrix_api_send_message_event</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-room-state" title="matrix_api_get_room_state ()">matrix_api_get_room_state</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-send-room-event" title="matrix_api_send_room_event ()">matrix_api_send_room_event</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-notify-room-typing" title="matrix_api_notify_room_typing ()">matrix_api_notify_room_typing</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-sync" title="matrix_api_sync ()">matrix_api_sync</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-create-filter" title="matrix_api_create_filter ()">matrix_api_create_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-download-filter" title="matrix_api_download_filter ()">matrix_api_download_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-search" title="matrix_api_search ()">matrix_api_search</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-whois" title="matrix_api_whois ()">matrix_api_whois</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-versions" title="matrix_api_versions ()">matrix_api_versions</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-login" title="matrix_api_login ()">matrix_api_login</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-token-refresh" title="matrix_api_token_refresh ()">matrix_api_token_refresh</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-3pids" title="matrix_api_get_3pids ()">matrix_api_get_3pids</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-add-3pid" title="matrix_api_add_3pid ()">matrix_api_add_3pid</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-change-password" title="matrix_api_change_password ()">matrix_api_change_password</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-profile" title="matrix_api_get_profile ()">matrix_api_get_profile</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-avatar-url" title="matrix_api_get_avatar_url ()">matrix_api_get_avatar_url</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-avatar-url" title="matrix_api_set_avatar_url ()">matrix_api_set_avatar_url</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-display-name" title="matrix_api_get_display_name ()">matrix_api_get_display_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-display-name" title="matrix_api_set_display_name ()">matrix_api_set_display_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-register-account" title="matrix_api_register_account ()">matrix_api_register_account</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-account-data" title="matrix_api_set_account_data ()">matrix_api_set_account_data</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-room-tags" title="matrix_api_get_room_tags ()">matrix_api_get_room_tags</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-delete-room-tag" title="matrix_api_delete_room_tag ()">matrix_api_delete_room_tag</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-add-room-tag" title="matrix_api_add_room_tag ()">matrix_api_add_room_tag</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-turn-server" title="matrix_api_get_turn_server ()">matrix_api_get_turn_server</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()">*MatrixAPICallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-token" title="matrix_api_get_token ()">matrix_api_get_token</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-token" title="matrix_api_set_token ()">matrix_api_set_token</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-refresh-token" title="matrix_api_get_refresh_token ()">matrix_api_get_refresh_token</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-refresh-token" title="matrix_api_set_refresh_token ()">matrix_api_set_refresh_token</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-user-id" title="matrix_api_get_user_id ()">matrix_api_get_user_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-homeserver" title="matrix_api_get_homeserver ()">matrix_api_get_homeserver</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="Matrix-0.0-MatrixAPI.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI">MatrixAPI</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPIIface" title="struct MatrixAPIIface">MatrixAPIIface</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="Matrix-0.0-MatrixAPI.description"></a><h2>Description</h2>
</div>
<div class="refsect1">
<a name="Matrix-0.0-MatrixAPI.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="matrix-api-abort-pending"></a><h3>matrix_api_abort_pending ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_abort_pending (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>);</pre>
<p>Abort all pending requests toward a Matrix homeserver. Be aware that this may leave requests in an inconsistent state.</p>
<div class="refsect3">
<a name="id-1.2.37.6.2.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-media-download"></a><h3>matrix_api_media_download ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_media_download (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *server_name</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *media_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Download content from the content repository.</p>
<p>Implementors: If server_name or media_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, implementations MUST throw Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.3.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>server_name</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the server name from the <code class="literal">mxc:</code> URI </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>media_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the media ID from the <code class="literal">mxc:</code> URI </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-media-thumbnail"></a><h3>matrix_api_media_thumbnail ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_media_thumbnail (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *server_name</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *media_id</code></em>,
<em class="parameter"><code><span class="type">guint</span> width</code></em>,
<em class="parameter"><code><span class="type">guint</span> height</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixResizeMethod" title="enum MatrixResizeMethod"><span class="type">MatrixResizeMethod</span></a> method</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Download a thumbnail of the content from the content repository. The actual thumbnail may not match the size specified.</p>
<p>If <em class="parameter"><code>param</code></em> server_name or <em class="parameter"><code>param</code></em> media_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.4.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>server_name</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the server name from the <code class="literal">mxc:</code> URI </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>media_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the media ID from the <code class="literal">mxc:</code> URI </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>method</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-media-upload"></a><h3>matrix_api_media_upload ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_media_upload (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *content_type</code></em>,
<em class="parameter"><code><span class="type">GByteArray</span> *content</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Upload some content to the content repository.</p>
<p>If <em class="parameter"><code>param</code></em> content is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.5.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>content_type</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the type of the content to be uploaded </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>content</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the content to be uploaded </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-presence-list"></a><h3>matrix_api_get_presence_list ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_presence_list (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Retrieve a list of presence events for every user on this list.</p>
<p>If <em class="parameter"><code>param</code></em> user_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.6.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user whose presence list should be retrieved </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-update-presence-list"></a><h3>matrix_api_update_presence_list ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_update_presence_list (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code><span class="type">gchar</span> **drop_ids</code></em>,
<em class="parameter"><code><span class="type">int</span> drop_ids_length1</code></em>,
<em class="parameter"><code><span class="type">gchar</span> **invite_ids</code></em>,
<em class="parameter"><code><span class="type">int</span> invite_ids_length1</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Add or remove users from the specified user's presence list.</p>
<p>If <em class="parameter"><code>param</code></em> user_id, or both <em class="parameter"><code>param</code></em> drop_ids and <em class="parameter"><code>param</code></em> invite_ids are
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.7.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user whose presence list is being modified </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>drop_ids</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a list of user IDs to remove from the list </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=drop_ids_length1]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>drop_ids_length1</p></td>
<td class="parameter_description"><p>length of the <em class="parameter"><code>drop_ids</code></em>
array</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>invite_ids</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a list of user IDs to add to the list </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=invite_ids_length1]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>invite_ids_length1</p></td>
<td class="parameter_description"><p>length of the <em class="parameter"><code>invite_ids</code></em>
array</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-presence"></a><h3>matrix_api_get_presence ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_presence (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get the given user's presence state.</p>
<p>If <em class="parameter"><code>param</code></em> user_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.8.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user whose presence list is being modified </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-set-user-presence"></a><h3>matrix_api_set_user_presence ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_set_user_presence (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixPresence" title="enum MatrixPresence"><span class="type">MatrixPresence</span></a> presence</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *status_message</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Set the given user's presence. You cannot set the presence of another user.</p>
<p>If <em class="parameter"><code>param</code></em> user_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.9.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user whose presence list is being modified </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>presence</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the new presence state </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>status_message</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a status message attached to this state </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-update-pusher"></a><h3>matrix_api_update_pusher ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_update_pusher (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixJsonCompact.html#MatrixPusher" title="struct MatrixPusher"><span class="type">MatrixPusher</span></a> *pusher</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Create, update or delete a pusher for the active user on this homeserver.</p>
<p>If <em class="parameter"><code>param</code></em> pusher is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.10.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pusher</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-pushers"></a><h3>matrix_api_get_pushers ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_pushers (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Retrieve all push rulesets.</p>
<div class="refsect3">
<a name="id-1.2.37.6.11.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-delete-pusher"></a><h3>matrix_api_delete_pusher ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_delete_pusher (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *scope</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixPusherKind" title="enum MatrixPusherKind"><span class="type">MatrixPusherKind</span></a> kind</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *rule_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Delete a push rule.</p>
<p>If <em class="parameter"><code>param</code></em> scope or <em class="parameter"><code>param</code></em> rule_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.12.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>scope</p></td>
<td class="parameter_description">
<p>  . </p>
<p>either </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">global</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
to specify global rules, or </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">device</span><span class="symbol">/&amp;</span><span class="normal">lt</span><span class="symbol">;</span><span class="usertype">profile</span><span class="normal"> tag</span><span class="symbol">&amp;</span><span class="normal">gt</span><span class="symbol">;</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
for rules for a given </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">profile tag</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
</p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>kind</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the kind of rule </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>rule_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>an identifier for the rule </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-pusher"></a><h3>matrix_api_get_pusher ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_pusher (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *scope</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixPusherKind" title="enum MatrixPusherKind"><span class="type">MatrixPusherKind</span></a> kind</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *rule_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Retrieve a specific push rule.</p>
<p>If <em class="parameter"><code>param</code></em> scope or <em class="parameter"><code>param</code></em> rule_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.13.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>scope</p></td>
<td class="parameter_description">
<p>  . </p>
<p>either </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">global</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
to specify global rules, or </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">device</span><span class="symbol">/&amp;</span><span class="normal">lt</span><span class="symbol">;</span><span class="usertype">profile</span><span class="normal"> tag</span><span class="symbol">&amp;</span><span class="normal">gt</span><span class="symbol">;</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
for rules for a given </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">profile tag</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
. </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>kind</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the kind of rule </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>rule_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>an identifier for the rule </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-add-pusher"></a><h3>matrix_api_add_pusher ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_add_pusher (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *scope</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixPusherKind" title="enum MatrixPusherKind"><span class="type">MatrixPusherKind</span></a> kind</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *rule_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *before</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *after</code></em>,
<em class="parameter"><code><span class="type">gchar</span> **actions</code></em>,
<em class="parameter"><code><span class="type">int</span> actions_length1</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixPusherConditionKind" title="enum MatrixPusherConditionKind"><span class="type">MatrixPusherConditionKind</span></a> *conditions</code></em>,
<em class="parameter"><code><span class="type">int</span> conditions_length1</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Add or change a push rule.</p>
<p>If either <em class="parameter"><code>param</code></em> scope, <em class="parameter"><code>param</code></em> rule_id or <em class="parameter"><code>param</code></em> actions are
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.14.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>scope</p></td>
<td class="parameter_description">
<p>  . </p>
<p>either </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">global</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
to specify global rules, or </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">device</span><span class="symbol">/&amp;</span><span class="normal">lt</span><span class="symbol">;</span><span class="usertype">profile</span><span class="normal"> tag</span><span class="symbol">&amp;</span><span class="normal">gt</span><span class="symbol">;</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
for rules for a given </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">profile tag</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
</p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>kind</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the kind of rule </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>rule_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>an identifier for the rule </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>before</p></td>
<td class="parameter_description">
<p>  . </p>
<p>make the new rule the next-most important than this rule ID </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>after</p></td>
<td class="parameter_description">
<p>  . </p>
<p>make the new rule the next-less important than this rule ID </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>actions</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the actions to perform when the conditions for this rule are met </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=actions_length1]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>actions_length1</p></td>
<td class="parameter_description"><p>length of the <em class="parameter"><code>actions</code></em>
array</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>conditions</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the conditions that must hold true for an event for a rule to be applied. A rule with no conditions always matches </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=conditions_length1]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>conditions_length1</p></td>
<td class="parameter_description"><p>length of the <em class="parameter"><code>conditions</code></em>
array</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-toggle-pusher"></a><h3>matrix_api_toggle_pusher ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_toggle_pusher (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *scope</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixPusherKind" title="enum MatrixPusherKind"><span class="type">MatrixPusherKind</span></a> kind</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *rule_id</code></em>,
<em class="parameter"><code><span class="type">gboolean</span> enabled</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Enable or disable the specified push rule.</p>
<p>If <em class="parameter"><code>scope</code></em> or <em class="parameter"><code>rule_id</code></em> is <code class="literal">NULL</code>, this function returns immediately, and fills <em class="parameter"><code>error</code></em> with <a class="link" href="Matrix-0.0-matrix-types.html#MATRIX-ERROR-INCOMPLETE:CAPS"><code class="literal">MATRIX_ERROR_INCOMPLETE</code></a>.</p>
<div class="refsect3">
<a name="id-1.2.37.6.15.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>scope</p></td>
<td class="parameter_description">
<p>  . </p>
<p>either </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">global</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
to specify global rules, or </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">device</span><span class="symbol">/&amp;</span><span class="normal">lt</span><span class="symbol">;</span><span class="usertype">profile</span><span class="normal"> tag</span><span class="symbol">&amp;</span><span class="normal">gt</span><span class="symbol">;</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
for rules for a given </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">profile tag</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
</p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>kind</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the kind of rule </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>rule_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>an identifier for the rule </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>enabled</p></td>
<td class="parameter_description">
<p>  . </p>
<p>if </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">true</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, the rule will be enabled, otherwise it gets disabled </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-create-room"></a><h3>matrix_api_create_room ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_create_room (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixRoomPreset" title="enum MatrixRoomPreset"><span class="type">MatrixRoomPreset</span></a> preset</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_name</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_alias</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *topic</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixRoomVisibility" title="enum MatrixRoomVisibility"><span class="type">MatrixRoomVisibility</span></a> visibility</code></em>,
<em class="parameter"><code><a href="../json-glib/json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *creation_content</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixEventState.html#MatrixEventState" title="struct MatrixEventState"><span class="type">MatrixEventState</span></a> **initial_state</code></em>,
<em class="parameter"><code><span class="type">int</span> initial_state_length1</code></em>,
<em class="parameter"><code><span class="type">gchar</span> **invitees</code></em>,
<em class="parameter"><code><span class="type">int</span> invitees_length1</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixJsonCompact.html#Matrix3PidCredential" title="struct Matrix3PidCredential"><span class="type">Matrix3PidCredential</span></a> **invite_3pids</code></em>,
<em class="parameter"><code><span class="type">int</span> invite_3pids_length1</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Create a new room with the given name and invite the users in <em class="parameter"><code>param</code></em>
invitees.</p>
<div class="refsect3">
<a name="id-1.2.37.6.16.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>preset</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a room preset to use </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_name</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the desired display name for the room </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_alias</p></td>
<td class="parameter_description">
<p>  . </p>
<p>an alias of the room </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>topic</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the topic of the room </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>visibility</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the initial visibility of the room </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>creation_content</p></td>
<td class="parameter_description">
<p>  . </p>
<p>extra keys to be added to the content of m.room.create </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>initial_state</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a list of state events to set in the new room </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=initial_state_length1]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>initial_state_length1</p></td>
<td class="parameter_description"><p>length of the <em class="parameter"><code>initial_state</code></em>
array</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>invitees</p></td>
<td class="parameter_description">
<p>  . </p>
<p>list of user IDs to invite to the new room </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=invitees_length1]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>invitees_length1</p></td>
<td class="parameter_description"><p>length of the <em class="parameter"><code>invitees</code></em>
array</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>invite_3pids</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a list of 3rd party credentials to invite to the new room </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=invite_3pids_length1]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>invite_3pids_length1</p></td>
<td class="parameter_description"><p>length of the <em class="parameter"><code>invite_3pids</code></em>
array</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-delete-room-alias"></a><h3>matrix_api_delete_room_alias ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_delete_room_alias (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_alias</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Remove the mapping of <em class="parameter"><code>room_alias</code></em>
to its room ID</p>
<p>Servers may choose to implement additional access control checks here, for instance that room aliases can only be deleted by their creator or a server administrator.</p>
<p>If <em class="parameter"><code>room_alias</code></em> is <code class="literal">NULL</code>, this function returns immediately, and fills <em class="parameter"><code>error</code></em> with <a class="link" href="Matrix-0.0-matrix-types.html#MATRIX-ERROR-INCOMPLETE:CAPS"><code class="literal">MATRIX_ERROR_INCOMPLETE</code></a>.</p>
<div class="refsect3">
<a name="id-1.2.37.6.17.7"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_alias</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the alias name to remove </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-room-id"></a><h3>matrix_api_get_room_id ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_room_id (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_alias</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get the room ID corresponding to this room alias.</p>
<p>If <em class="parameter"><code>param</code></em> room_alias is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.18.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_alias</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room alias </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-create-room-alias"></a><h3>matrix_api_create_room_alias ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_create_room_alias (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_alias</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Create a new mapping from room alias to room ID.</p>
<p>If <em class="parameter"><code>param</code></em> room_alias or <em class="parameter"><code>param</code></em> room_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.19.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room ID to add this alias to </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_alias</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room alias to set </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-list-public-rooms"></a><h3>matrix_api_list_public_rooms ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_list_public_rooms (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>List the public rooms on the server.</p>
<div class="refsect3">
<a name="id-1.2.37.6.20.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-ban-user"></a><h3>matrix_api_ban_user ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_ban_user (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *reason</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Ban the specified user from the specified room. An optional reason can be specified.</p>
<p>If <em class="parameter"><code>param</code></em> room_id or <em class="parameter"><code>param</code></em> user_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.21.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room ID where the user should be banned </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user ID to ban </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>reason</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the reason of the ban </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-forget-room"></a><h3>matrix_api_forget_room ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_forget_room (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Stop the requesting user remembering about a particular room.</p>
<p>In general, history is a first class citizen in Matrix. After this API is called, however, a user will no longer be able to retrieve history for this room. If all users on a homeserver forget a room, the room is eligible for deletion from that homeserver.</p>
<p>If the user is currently joined to the room, they will implicitly leave the room as part of this API call.</p>
<p>If <em class="parameter"><code>param</code></em> room_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.22.8"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room ID to forget </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-invite-user-3rdparty"></a><h3>matrix_api_invite_user_3rdparty ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_invite_user_3rdparty (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixJsonCompact.html#Matrix3PidCredential" title="struct Matrix3PidCredential"><span class="type">Matrix3PidCredential</span></a> *credential</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Invite a user to the room by a 3rd party identifier. They do not start participating in the room until they actually join the room.</p>
<p>If the identity server does not know a Matrix user identifier for the passed third party identifier, the homeserver will issue an invitation which can be accepted upon providing proof of ownership of the third party identifier.</p>
<p>If <em class="parameter"><code>param</code></em> credential is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, this function immediately returns, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.23.7"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room ID to which to invite the user </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>credential</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a <a class="link" href="Matrix-0.0-MatrixJsonCompact.html#Matrix3PidCredential" title="struct Matrix3PidCredential"><span class="type">Matrix3PidCredential</span></a> that identifies a user to invite </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-invite-user"></a><h3>matrix_api_invite_user ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_invite_user (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Invite a user to a room.</p>
<p>If <em class="parameter"><code>room_id</code></em> or <em class="parameter"><code>user_id</code></em> is <code class="literal">NULL</code>, this function returns immediately, and fills <em class="parameter"><code>error</code></em> with <a class="link" href="Matrix-0.0-matrix-types.html#MATRIX-ERROR-INCOMPLETE:CAPS"><code class="literal">MATRIX_ERROR_INCOMPLETE</code></a>.</p>
<div class="refsect3">
<a name="id-1.2.37.6.24.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room ID to invite the user to </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user ID to invite </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-join-room"></a><h3>matrix_api_join_room ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_join_room (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Join a room.</p>
<p>If <em class="parameter"><code>param</code></em> room_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.25.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room ID to join to </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-leave-room"></a><h3>matrix_api_leave_room ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_leave_room (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Leave a room.</p>
<p>If <em class="parameter"><code>param</code></em> room_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.26.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room ID to kick the user from </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-event-stream"></a><h3>matrix_api_event_stream ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_event_stream (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *from_token</code></em>,
<em class="parameter"><code><span class="type">gulong</span> timeout</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get the event stream, optionally beginning from <em class="parameter"><code>from_token</code></em>
.</p>
<div class="refsect3">
<a name="id-1.2.37.6.27.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>from_token</p></td>
<td class="parameter_description">
<p>  . </p>
<p>events will be listed from this token </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>timeout</p></td>
<td class="parameter_description">
<p>  . </p>
<p>timeout of the request </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-event"></a><h3>matrix_api_get_event ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_event (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *event_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get a single event by event ID.</p>
<p>If <em class="parameter"><code>param</code></em> event_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.28.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>event_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the event ID to get </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-initial-sync"></a><h3>matrix_api_initial_sync ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_initial_sync (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code><span class="type">guint</span> limit</code></em>,
<em class="parameter"><code><span class="type">gboolean</span> archived</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Perform an initial sync of events</p>
<div class="refsect3">
<a name="id-1.2.37.6.29.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>limit</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the maximum number of events to get </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>archived</p></td>
<td class="parameter_description">
<p>  . </p>
<p>whether to include rooms that the user has left </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-event-context"></a><h3>matrix_api_get_event_context ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_event_context (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *event_id</code></em>,
<em class="parameter"><code><span class="type">guint</span> limit</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Gets a number of events that happened just before and after the specified event.</p>
<p>If <em class="parameter"><code>param</code></em> room_id or <em class="parameter"><code>param</code></em> event_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.30.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room to get events from </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>event_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the event to get context around </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>limit</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the maximum number of events to get. If 0, a default value is used (10, according to the specification) </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-initial-sync-room"></a><h3>matrix_api_initial_sync_room ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_initial_sync_room (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get a copy of the current state and the most recent messages in a room.</p>
<p>If <em class="parameter"><code>param</code></em> room_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.31.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room to get the data for </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-list-room-members"></a><h3>matrix_api_list_room_members ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_list_room_members (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get the list of members for a room.</p>
<p>If <em class="parameter"><code>param</code></em> room_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.32.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room to get the member events for </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-list-room-messages"></a><h3>matrix_api_list_room_messages ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_list_room_messages (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *from_token</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixEventDirection" title="enum MatrixEventDirection"><span class="type">MatrixEventDirection</span></a> direction</code></em>,
<em class="parameter"><code><span class="type">guint</span> limit</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get a list of message and state events for a room.</p>
<p>If <em class="parameter"><code>param</code></em> room_id or <em class="parameter"><code>param</code></em> from_token is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.33.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room to get the events for </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>from_token</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the token to start returning events from. This token can be obtained by calling <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-initial-sync" title="matrix_api_initial_sync ()"><code class="function">matrix_api_initial_sync()</code></a> or <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-initial-sync-room" title="matrix_api_initial_sync_room ()"><code class="function">matrix_api_initial_sync_room()</code></a> </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>direction</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the direction of the returned events </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>limit</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the maximum number of events to return. If 0, a default value will be used (10, according to the specification </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-send-event-receipt"></a><h3>matrix_api_send_event_receipt ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_send_event_receipt (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixReceiptType" title="enum MatrixReceiptType"><span class="type">MatrixReceiptType</span></a> receipt_type</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *event_id</code></em>,
<em class="parameter"><code><a href="../json-glib/json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *receipt</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Update the marker for the given receipt type to the event ID specified.</p>
<p>If <em class="parameter"><code>param</code></em> room_id, <em class="parameter"><code>param</code></em> event_id or <em class="parameter"><code>param</code></em> receipt is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.34.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room in which to send the event </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>receipt_type</p></td>
<td class="parameter_description">
<p>  . </p>
<p>type of the receipt </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>event_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the event ID to acknowledge up to </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>receipt</p></td>
<td class="parameter_description">
<p>  . </p>
<p>extra receipt information to attach. Note that the server will automatically attach the </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">ts</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
field </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-redact-event"></a><h3>matrix_api_redact_event ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_redact_event (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *event_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *txn_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *reason</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Strip all information out of an event which isn't critical to the integrity of the server-side representation of the room. This cannot be undone.</p>
<p>Users may redact their own events, and any user with a power level greater than or equal to
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">redact</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
power level of the room may redact events there.</p>
<p>If <em class="parameter"><code>param</code></em> room_id, <em class="parameter"><code>param</code></em> event_id or <em class="parameter"><code>param</code></em> txn_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.35.7"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room from which to redact the event </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>event_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the event ID to acknowledge up to </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>txn_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the transaction ID for this event. Clients should generate a unique ID; it will be used by the server to ensure idempotency of requests </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>reason</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the reason for the event being redacted </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-send-message-event"></a><h3>matrix_api_send_message_event ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_send_message_event (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *event_type</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *txn_id</code></em>,
<em class="parameter"><code><a href="../json-glib/json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *content</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Send a message event to the room.</p>
<p>If <em class="parameter"><code>param</code></em> room_id, <em class="parameter"><code>param</code></em> event_type, <em class="parameter"><code>param</code></em> txn_id or <em class="parameter"><code>content</code></em> is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.36.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room to send the event to </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>event_type</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the type of event to send </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>txn_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the transaction ID for this event. Clients should generate a unique ID; it will be used by the server to ensure idempotency of requests </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>content</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the content of the event as a <a href="../json-glib/json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-room-state"></a><h3>matrix_api_get_room_state ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_room_state (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *event_type</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *state_key</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Look up the contents of a state event in a room. If both <em class="parameter"><code>param</code></em>
event_type and <em class="parameter"><code>param</code></em>
state_key are empty, get a list of state events for that room.</p>
<p>If <em class="parameter"><code>param</code></em> room_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, or if <em class="parameter"><code>param</code></em> state_key is set with <em class="parameter"><code>param</code></em> event_type being
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.37.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room ID to get a state for </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>event_type</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the type of state to look up </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>state_key</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the key of the state to look up. If <em class="parameter"><code>param</code></em>
event_type is </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, this parameter is ignored </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-send-room-event"></a><h3>matrix_api_send_room_event ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_send_room_event (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *event_type</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *state_key</code></em>,
<em class="parameter"><code><a href="../json-glib/json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *content</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Send a state event to the room. These events will be overwritten if <em class="parameter"><code>param</code></em>
room_id, <em class="parameter"><code>param</code></em>
event_type and <em class="parameter"><code>param</code></em>
state_key all match.</p>
<p>This request cannot use transaction IDs.</p>
<p>The required fields in the body of the request (<em class="parameter"><code>param</code></em> content) vary depending on the type of the event.</p>
<p>If <em class="parameter"><code>param</code></em> room_id or <em class="parameter"><code>param</code></em> content is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, or if <em class="parameter"><code>param</code></em>
state_key is set with <em class="parameter"><code>param</code></em>
event_type being </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, this function returns immediately, and throw Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.38.8"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room ID to get a state for </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>event_type</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the type of state to look up </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>state_key</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the key of the state to look up. If <em class="parameter"><code>param</code></em>
event_type is </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, this parameter is ignored </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>content</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the content of the state event </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-notify-room-typing"></a><h3>matrix_api_notify_room_typing ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_notify_room_typing (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code><span class="type">guint</span> timeout</code></em>,
<em class="parameter"><code><span class="type">gboolean</span> typing</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Tell the server the user is typing for the next <em class="parameter"><code>param</code></em>
timeout milliseconds. If <em class="parameter"><code>param</code></em>
typing is </p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">false</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, it tells the server that the user stopped typing.</p>
<p>If <em class="parameter"><code>param</code></em> user_id or <em class="parameter"><code>param</code></em> room_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.39.8"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user who has started to type </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room in which the user is typing </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>timeout</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the length of time in milliseconds to mark this user as typing </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>typing</p></td>
<td class="parameter_description">
<p>  . </p>
<p>whether the user is typing or not. If </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">false</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, <em class="parameter"><code>param</code></em>
timeout can be omitted (ie. set to 0) </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-sync"></a><h3>matrix_api_sync ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_sync (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *filter_id</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixJsonCompact.html#MatrixFilter" title="struct MatrixFilter"><span class="type">MatrixFilter</span></a> *filter</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *since</code></em>,
<em class="parameter"><code><span class="type">gboolean</span> full_state</code></em>,
<em class="parameter"><code><span class="type">gboolean</span> set_presence</code></em>,
<em class="parameter"><code><span class="type">gulong</span> timeout</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Synchronize the client's state with the latest state on the server. Clients should use this API when they first log in to get an initial snapshot of the state on the server and then continue to call this API to get incremental details to the state and to receive new messages.</p>
<p>Only one of <em class="parameter"><code>param</code></em> filter and <em class="parameter"><code>param</code></em> filter_id should be specified, or both of them should be set to
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
to receive all events.</p>
<div class="refsect3">
<a name="id-1.2.37.6.40.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>filter_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a filter ID created by the filter API (e.g. <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-create-filter" title="matrix_api_create_filter ()"><code class="function">matrix_api_create_filter()</code></a>) </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>filter</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a definition on what events to fetch </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>since</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a point in time to continue a sync from </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>full_state</p></td>
<td class="parameter_description">
<p>  . </p>
<p>if </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">true</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, all state events will be returned, even if <em class="parameter"><code>param</code></em>
since is not empty. If </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">false</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, and <em class="parameter"><code>param</code></em>
since is not empty, only states which have changed since the point indicated by <em class="parameter"><code>param</code></em>
since will be returned </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>set_presence</p></td>
<td class="parameter_description">
<p>  . </p>
<p>controls whether the client is automatically marked as online by polling this API. </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>timeout</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the maximum time to poll in milliseconds </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-create-filter"></a><h3>matrix_api_create_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_create_filter (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixJsonCompact.html#MatrixFilter" title="struct MatrixFilter"><span class="type">MatrixFilter</span></a> *filter</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Upload a new filter definition to the homeserver. It will return a filter ID that may be used in future requests.</p>
<p>If <em class="parameter"><code>param</code></em> user_id or <em class="parameter"><code>param</code></em> filter is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.41.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the ID of the user uploading the filter. An access token must be present (either specifying one with <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-token" title="matrix_api_set_token ()"><code class="function">matrix_api_set_token()</code></a> or requested from the server via <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-register-account" title="matrix_api_register_account ()"><code class="function">matrix_api_register_account()</code></a> or <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-login" title="matrix_api_login ()"><code class="function">matrix_api_login()</code></a>). </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>filter</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the filter to upload </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-download-filter"></a><h3>matrix_api_download_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_download_filter (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *filter_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Download a filter.</p>
<p>If <em class="parameter"><code>param</code></em> user_id or <em class="parameter"><code>param</code></em> filter_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.42.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user ID to download a filter from </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>filter_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the filter ID to download </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-search"></a><h3>matrix_api_search ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_search (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *next_batch</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixJsonCompact.html#MatrixSearchCategories" title="struct MatrixSearchCategories"><span class="type">MatrixSearchCategories</span></a> *search_categories</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Perform a server side search.</p>
<div class="refsect3">
<a name="id-1.2.37.6.43.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>next_batch</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the point to return events from. If given, this should be a next_batch result from a previous call to this method </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>search_categories</p></td>
<td class="parameter_description">
<p>  . </p>
<p>describes which categories to search, and their criteria </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> </p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-whois"></a><h3>matrix_api_whois ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_whois (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get information about a particular user.</p>
<p>If <em class="parameter"><code>param</code></em> user_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.44.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user ID to look up </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-versions"></a><h3>matrix_api_versions ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_versions (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get the versions of the specification supported by the server.</p>
<div class="refsect3">
<a name="id-1.2.37.6.45.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-login"></a><h3>matrix_api_login ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_login (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *login_type</code></em>,
<em class="parameter"><code><a href="../json-glib/json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *content</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Attempt to login with type <em class="parameter"><code>param</code></em>
type. Implementations of this method must set the token property on a successful login.</p>
<p>If <em class="parameter"><code>param</code></em> login_type or <em class="parameter"><code>param</code></em> content is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.46.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>login_type</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the login type to use </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>content</p></td>
<td class="parameter_description">
<p>  . </p>
<p>parameters to pass for the login request </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-token-refresh"></a><h3>matrix_api_token_refresh ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_token_refresh (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *refresh_token</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Exchanges a refresh token for a new access token. This is intended to be used if the access token has expired. If <em class="parameter"><code>param</code></em>
refresh_token is </p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, implementations MUST send the stored refresh token. If it is not pesent (e.g. because login hasnt happened yet), this function MUST throw an error.</p>
<div class="refsect3">
<a name="id-1.2.37.6.47.7"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>refresh_token</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the refresh token that was issued by the server </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-3pids"></a><h3>matrix_api_get_3pids ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_3pids (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get a list of the third party identifiers that a homeserver has associated with the user's account.</p>
<p>This is not the same as the list of third party identifiers bound to the user's Matrix ID in Identity Servers.</p>
<p>Identifiers in this list may be used by the homeserver as, for example, identifiers to accept to reset the user's account password.</p>
<div class="refsect3">
<a name="id-1.2.37.6.48.7"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-add-3pid"></a><h3>matrix_api_add_3pid ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_add_3pid (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code><span class="type">gboolean</span> bind_creds</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixJsonCompact.html#Matrix3PidCredential" title="struct Matrix3PidCredential"><span class="type">Matrix3PidCredential</span></a> *threepid_creds</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Add contact information to the user's account.</p>
<p>If <em class="parameter"><code>param</code></em> threepid_creds is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.49.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>bind_creds</p></td>
<td class="parameter_description">
<p>  . </p>
<p>whether the homeserver should also bind this third party identifier to the account's Matrix ID with the passed Identity Server. </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>threepid_creds</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the credentials to associate with the account </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-change-password"></a><h3>matrix_api_change_password ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_change_password (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *new_password</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Change the active user's password.</p>
<p>If <em class="parameter"><code>param</code></em> new_password is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.50.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>new_password</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the new password for the account </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-profile"></a><h3>matrix_api_get_profile ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_profile (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get a user's profile.</p>
<p>If <em class="parameter"><code>param</code></em> user_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.51.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user whose profile to get </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-avatar-url"></a><h3>matrix_api_get_avatar_url ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_avatar_url (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get the URL of the specified user's avatar.</p>
<p>If <em class="parameter"><code>param</code></em> user_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.52.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user whose avatar URL to get </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-set-avatar-url"></a><h3>matrix_api_set_avatar_url ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_set_avatar_url (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *avatar_url</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Set the user's avatar URL.</p>
<p>If <em class="parameter"><code>param</code></em> user_id or <em class="parameter"><code>param</code></em> avatar_url is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.53.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user whose avatar URL to set </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>avatar_url</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the avatar URL info </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-display-name"></a><h3>matrix_api_get_display_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_display_name (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get the user's display name.</p>
<p>If <em class="parameter"><code>param</code></em> user_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.54.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user whose display name to get </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-set-display-name"></a><h3>matrix_api_set_display_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_set_display_name (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *display_name</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Set the user's display name.</p>
<p>If <em class="parameter"><code>param</code></em> user_id or <em class="parameter"><code>param</code></em> display_name is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.55.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user whose display name to set </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>display_name</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the display name info </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-register-account"></a><h3>matrix_api_register_account ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_register_account (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-matrix-types.html#MatrixAccountKind" title="enum MatrixAccountKind"><span class="type">MatrixAccountKind</span></a> account_kind</code></em>,
<em class="parameter"><code><span class="type">gboolean</span> bind_email</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *username</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *password</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Attempt to register an account with the homeserver using <em class="parameter"><code>param</code></em>
username and <em class="parameter"><code>param</code></em>
password.</p>
<p>Implementations of this method must set the token property on a successful login.</p>
<p>If <em class="parameter"><code>param</code></em> password is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.56.7"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>account_kind</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the type of account to register </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>bind_email</p></td>
<td class="parameter_description">
<p>  . </p>
<p>if </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">true</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, the server binds the e-mail used for authentication to the Matrix ID with the ID server </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>username</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the local part of the desired Matrix ID. If omitted, the server will generate a local part </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>password</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the desired password for the account </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-set-account-data"></a><h3>matrix_api_set_account_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_set_account_data (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *event_type</code></em>,
<em class="parameter"><code><a href="../json-glib/json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *content</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Set some account data for the client. This config is only visible to the user who set the account data. The config will be synced to clients in the top-level account data.</p>
<p>If <em class="parameter"><code>param</code></em> user_id, <em class="parameter"><code>param</code></em> event_type or <em class="parameter"><code>param</code></em> content is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.57.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the user to set account data for. An access token must be present and be authorized to make requests for this user ID </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room to set account data for. If </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
, the account data will be set globally </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>event_type</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the event type of the account data to set. Custom types should be namespaced to avoid clashes </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>content</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the content of the account data </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-room-tags"></a><h3>matrix_api_get_room_tags ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_room_tags (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>List the tags set by a user on a room.</p>
<p>If <em class="parameter"><code>param</code></em> user_id or <em class="parameter"><code>param</code></em> room_id is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.58.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the ID of the user to get the tags for. An access token must be set, and it must be authorised to make requests for this user ID </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the room to get tags for </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-delete-room-tag"></a><h3>matrix_api_delete_room_tag ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_delete_room_tag (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *tag</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Remove a tag from the room.</p>
<p>If <em class="parameter"><code>param</code></em> user_id, <em class="parameter"><code>param</code></em> room_id or <em class="parameter"><code>param</code></em> tag is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.59.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the id of the user to remove a tag for </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the id of the room to remove the tag from </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>tag</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the tag to remove </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-add-room-tag"></a><h3>matrix_api_add_room_tag ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_add_room_tag (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *user_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *room_id</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *tag</code></em>,
<em class="parameter"><code><a href="../json-glib/json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *content</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Add a tag to the room.</p>
<p>If <em class="parameter"><code>param</code></em> user_id, <em class="parameter"><code>param</code></em> room_id or <em class="parameter"><code>param</code></em> tag is
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
, this function returns immediately, and throws Matrix.Error.INCOMPLETE.</p>
<div class="refsect3">
<a name="id-1.2.37.6.60.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the ID of the user to add the tag for </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>room_id</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the ID of the room to add the tag for </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>tag</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the tag to add </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>content</p></td>
<td class="parameter_description">
<p>  . </p>
<p>extra data for the tag, e.g. ordering </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-turn-server"></a><h3>matrix_api_get_turn_server ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_get_turn_server (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPICallback" title="MatrixAPICallback ()"><span class="type">MatrixAPICallback</span></a> callback</code></em>,
<em class="parameter"><code><span class="type">void</span> *callback_target</code></em>,
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Get credentials for the client to use when initiating calls.</p>
<div class="refsect3">
<a name="id-1.2.37.6.61.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the function to call when the request is finished </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target</p></td>
<td class="parameter_description"><p> user data to pass to <em class="parameter"><code>callback</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback_target_destroy_notify</p></td>
<td class="parameter_description"><p> function to call when <em class="parameter"><code>callback_target</code></em>
is no longer needed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p> location to store the error occuring, or <code class="literal">NULL</code> to ignore. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Typed errors. Similar to throws in Java."><span class="acronym">error-domains</span></acronym> MatrixError]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="MatrixAPICallback"></a><h3>MatrixAPICallback ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
<span class="c_punctuation">(</span>*MatrixAPICallback<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *api</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *content_type</code></em>,
<em class="parameter"><code><a href="../json-glib/json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *json_content</code></em>,
<em class="parameter"><code><span class="type">GByteArray</span> *raw_content</code></em>,
<em class="parameter"><code><span class="type">GError</span> *err</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
<p>A callback function to use with Client API calls. If the response is JSON, <em class="parameter"><code>param</code></em>
json_content is set and <em class="parameter"><code>param</code></em>
raw_content is not. If the response is not JSON, but still has a body (e.g. with media downloads), <em class="parameter"><code>param</code></em>
json_content is </p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
and <em class="parameter"><code>raw_content</code></em>
holds the content body.</p>
<div class="refsect3">
<a name="id-1.2.37.6.62.7"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>api</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a Matrix.API instance </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>content_type</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the content type of the response </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>json_content</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the JSON content of the response </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>raw_content</p></td>
<td class="parameter_description">
<p>  . </p>
<p>the raw (ie. binary) content of the response </p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>err</p></td>
<td class="parameter_description">
<p>  . </p>
<p>a GLib.Error that holds any errors that occured during the API call, or </p>
<p>
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="normal">null</span></pre></td>
</tr>
</tbody>
</table>
</div>
<p>
</p>
<p>
</p>
<p>. </p>
</td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p> data to pass to the delegate function. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-token"></a><h3>matrix_api_get_token ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
matrix_api_get_token (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>);</pre>
<p>Get and return the current value of the <span class="type">"token"</span> property.</p>
<p>The token to use for authorization. The Matrix.API.login() and Matrix.API.register_account() calls MUST set this automatically.</p>
<div class="refsect3">
<a name="id-1.2.37.6.63.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance to query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.37.6.63.7"></a><h4>Returns</h4>
<p> the value of the <span class="type">"token"</span> property</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-set-token"></a><h3>matrix_api_set_token ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_set_token (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
<p>Set the value of the <span class="type">"token"</span> property to <em class="parameter"><code>value</code></em>
.</p>
<p>The token to use for authorization. The Matrix.API.login() and Matrix.API.register_account() calls MUST set this automatically.</p>
<div class="refsect3">
<a name="id-1.2.37.6.64.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance to modify</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the new value of the <span class="type">"token"</span> property</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-refresh-token"></a><h3>matrix_api_get_refresh_token ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
matrix_api_get_refresh_token (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>);</pre>
<p>Get and return the current value of the <span class="type">"refresh-token"</span> property.</p>
<p>The token to use for refreshing the authorization token. It is issued by the server after a successful registration, login or token refresh.</p>
<div class="refsect3">
<a name="id-1.2.37.6.65.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance to query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.37.6.65.7"></a><h4>Returns</h4>
<p> the value of the <span class="type">"refresh-token"</span> property</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-set-refresh-token"></a><h3>matrix_api_set_refresh_token ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
matrix_api_set_refresh_token (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
<p>Set the value of the <span class="type">"refresh-token"</span> property to <em class="parameter"><code>value</code></em>
.</p>
<p>The token to use for refreshing the authorization token. It is issued by the server after a successful registration, login or token refresh.</p>
<div class="refsect3">
<a name="id-1.2.37.6.66.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance to modify</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the new value of the <span class="type">"refresh-token"</span> property</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-user-id"></a><h3>matrix_api_get_user_id ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
matrix_api_get_user_id (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>);</pre>
<p>Get and return the current value of the <span class="type">"user-id"</span> property.</p>
<p>The Matrix user ID that is currently authenticated with the server. It is set automatically by the registration and login process.</p>
<div class="refsect3">
<a name="id-1.2.37.6.67.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance to query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.37.6.67.7"></a><h4>Returns</h4>
<p> the value of the <span class="type">"user-id"</span> property</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="matrix-api-get-homeserver"></a><h3>matrix_api_get_homeserver ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
matrix_api_get_homeserver (<em class="parameter"><code><a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> *self</code></em>);</pre>
<p>Get and return the current value of the <span class="type">"homeserver"</span> property.</p>
<p>The name of the Matrix home server as it calls itself. It is set automatically by the registration and login process.</p>
<div class="refsect3">
<a name="id-1.2.37.6.68.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>the <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> instance to query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.37.6.68.7"></a><h4>Returns</h4>
<p> the value of the <span class="type">"homeserver"</span> property</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="Matrix-0.0-MatrixAPI.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="MatrixAPI"></a><h3>MatrixAPI</h3>
<pre class="programlisting">typedef struct _MatrixAPI MatrixAPI;</pre>
<p>Base interface for all Client/Server API functionality.</p>
</div>
<hr>
<div class="refsect2">
<a name="MatrixAPIIface"></a><h3>struct MatrixAPIIface</h3>
<pre class="programlisting">struct MatrixAPIIface {
GTypeInterface parent_iface;
void (*abort_pending) (MatrixAPI* self);
void (*media_download) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* server_name, const gchar* media_id, GError** error);
void (*media_thumbnail) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* server_name, const gchar* media_id, guint width, guint height, MatrixResizeMethod method, GError** error);
void (*media_upload) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* content_type, GByteArray* content, GError** error);
void (*get_presence_list) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, GError** error);
void (*update_presence_list) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, gchar** drop_ids, int drop_ids_length1, gchar** invite_ids, int invite_ids_length1, GError** error);
void (*get_presence) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, GError** error);
void (*set_user_presence) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, MatrixPresence presence, const gchar* status_message, GError** error);
void (*update_pusher) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, MatrixPusher* pusher, GError** error);
void (*get_pushers) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, GError** error);
void (*delete_pusher) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* scope, MatrixPusherKind kind, const gchar* rule_id, GError** error);
void (*get_pusher) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* scope, MatrixPusherKind kind, const gchar* rule_id, GError** error);
void (*add_pusher) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* scope, MatrixPusherKind kind, const gchar* rule_id, const gchar* before, const gchar* after, gchar** actions, int actions_length1, MatrixPusherConditionKind* conditions, int conditions_length1, GError** error);
void (*toggle_pusher) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* scope, MatrixPusherKind kind, const gchar* rule_id, gboolean enabled, GError** error);
void (*create_room) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, MatrixRoomPreset preset, const gchar* room_name, const gchar* room_alias, const gchar* topic, MatrixRoomVisibility visibility, JsonNode* creation_content, MatrixEventState** initial_state, int initial_state_length1, gchar** invitees, int invitees_length1, Matrix3PidCredential** invite_3pids, int invite_3pids_length1, GError** error);
void (*delete_room_alias) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_alias, GError** error);
void (*get_room_id) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_alias, GError** error);
void (*create_room_alias) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, const gchar* room_alias, GError** error);
void (*list_public_rooms) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, GError** error);
void (*ban_user) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, const gchar* user_id, const gchar* reason, GError** error);
void (*forget_room) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, GError** error);
void (*invite_user_3rdparty) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, Matrix3PidCredential* credential, GError** error);
void (*invite_user) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, const gchar* user_id, GError** error);
void (*join_room) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, GError** error);
void (*leave_room) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, GError** error);
void (*event_stream) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* from_token, gulong timeout, GError** error);
void (*get_event) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* event_id, GError** error);
void (*initial_sync) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, guint limit, gboolean archived, GError** error);
void (*get_event_context) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, const gchar* event_id, guint limit, GError** error);
void (*initial_sync_room) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, GError** error);
void (*list_room_members) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, GError** error);
void (*list_room_messages) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, const gchar* from_token, MatrixEventDirection direction, guint limit, GError** error);
void (*send_event_receipt) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, MatrixReceiptType receipt_type, const gchar* event_id, JsonNode* receipt, GError** error);
void (*redact_event) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, const gchar* event_id, const gchar* txn_id, const gchar* reason, GError** error);
void (*send_message_event) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, const gchar* event_type, const gchar* txn_id, JsonNode* content, GError** error);
void (*get_room_state) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, const gchar* event_type, const gchar* state_key, GError** error);
void (*send_room_event) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* room_id, const gchar* event_type, const gchar* state_key, JsonNode* content, GError** error);
void (*notify_room_typing) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, const gchar* room_id, guint timeout, gboolean typing, GError** error);
void (*sync) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* filter_id, MatrixFilter* filter, const gchar* since, gboolean full_state, gboolean set_presence, gulong timeout, GError** error);
void (*create_filter) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, MatrixFilter* filter, GError** error);
void (*download_filter) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, const gchar* filter_id, GError** error);
void (*search) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* next_batch, MatrixSearchCategories* search_categories, GError** error);
void (*whois) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, GError** error);
void (*versions) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, GError** error);
void (*login) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* login_type, JsonNode* content, GError** error);
void (*token_refresh) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* refresh_token, GError** error);
void (*get_3pids) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, GError** error);
void (*add_3pid) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, gboolean bind_creds, Matrix3PidCredential* threepid_creds, GError** error);
void (*change_password) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* new_password, GError** error);
void (*get_profile) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, GError** error);
void (*get_avatar_url) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, GError** error);
void (*set_avatar_url) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, const gchar* avatar_url, GError** error);
void (*get_display_name) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, GError** error);
void (*set_display_name) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, const gchar* display_name, GError** error);
void (*register_account) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, MatrixAccountKind account_kind, gboolean bind_email, const gchar* username, const gchar* password, GError** error);
void (*set_account_data) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, const gchar* room_id, const gchar* event_type, JsonNode* content, GError** error);
void (*get_room_tags) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, const gchar* room_id, GError** error);
void (*delete_room_tag) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, const gchar* room_id, const gchar* tag, GError** error);
void (*add_room_tag) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, const gchar* user_id, const gchar* room_id, const gchar* tag, JsonNode* content, GError** error);
void (*get_turn_server) (MatrixAPI* self, MatrixAPICallback callback, void* callback_target, GError** error);
const gchar* (*get_token) (MatrixAPI* self);
void (*set_token) (MatrixAPI* self, const gchar* value);
const gchar* (*get_refresh_token) (MatrixAPI* self);
void (*set_refresh_token) (MatrixAPI* self, const gchar* value);
const gchar* (*get_user_id) (MatrixAPI* self);
const gchar* (*get_homeserver) (MatrixAPI* self);
};
</pre>
<p>Interface for creating <a class="link" href="Matrix-0.0-MatrixAPI.html#MatrixAPI" title="MatrixAPI"><span class="type">MatrixAPI</span></a> implementations.</p>
<div class="refsect3">
<a name="id-1.2.37.7.3.5"></a><h4>Members</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><span class="type">GTypeInterface</span> <em class="structfield"><code><a name="MatrixAPIIface.parent-iface"></a>parent_iface</code></em>;</p></td>
<td class="struct_member_description"><p>the parent interface structure</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.abort-pending"></a>abort_pending</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-abort-pending" title="matrix_api_abort_pending ()"><code class="function">matrix_api_abort_pending()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.media-download"></a>media_download</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-media-download" title="matrix_api_media_download ()"><code class="function">matrix_api_media_download()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.media-thumbnail"></a>media_thumbnail</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-media-thumbnail" title="matrix_api_media_thumbnail ()"><code class="function">matrix_api_media_thumbnail()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.media-upload"></a>media_upload</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-media-upload" title="matrix_api_media_upload ()"><code class="function">matrix_api_media_upload()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-presence-list"></a>get_presence_list</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-presence-list" title="matrix_api_get_presence_list ()"><code class="function">matrix_api_get_presence_list()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.update-presence-list"></a>update_presence_list</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-update-presence-list" title="matrix_api_update_presence_list ()"><code class="function">matrix_api_update_presence_list()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-presence"></a>get_presence</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-presence" title="matrix_api_get_presence ()"><code class="function">matrix_api_get_presence()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.set-user-presence"></a>set_user_presence</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-user-presence" title="matrix_api_set_user_presence ()"><code class="function">matrix_api_set_user_presence()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.update-pusher"></a>update_pusher</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-update-pusher" title="matrix_api_update_pusher ()"><code class="function">matrix_api_update_pusher()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-pushers"></a>get_pushers</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-pushers" title="matrix_api_get_pushers ()"><code class="function">matrix_api_get_pushers()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.delete-pusher"></a>delete_pusher</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-delete-pusher" title="matrix_api_delete_pusher ()"><code class="function">matrix_api_delete_pusher()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-pusher"></a>get_pusher</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-pusher" title="matrix_api_get_pusher ()"><code class="function">matrix_api_get_pusher()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.add-pusher"></a>add_pusher</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-add-pusher" title="matrix_api_add_pusher ()"><code class="function">matrix_api_add_pusher()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.toggle-pusher"></a>toggle_pusher</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-toggle-pusher" title="matrix_api_toggle_pusher ()"><code class="function">matrix_api_toggle_pusher()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.create-room"></a>create_room</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-create-room" title="matrix_api_create_room ()"><code class="function">matrix_api_create_room()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.delete-room-alias"></a>delete_room_alias</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-delete-room-alias" title="matrix_api_delete_room_alias ()"><code class="function">matrix_api_delete_room_alias()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-room-id"></a>get_room_id</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-room-id" title="matrix_api_get_room_id ()"><code class="function">matrix_api_get_room_id()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.create-room-alias"></a>create_room_alias</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-create-room-alias" title="matrix_api_create_room_alias ()"><code class="function">matrix_api_create_room_alias()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.list-public-rooms"></a>list_public_rooms</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-list-public-rooms" title="matrix_api_list_public_rooms ()"><code class="function">matrix_api_list_public_rooms()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.ban-user"></a>ban_user</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-ban-user" title="matrix_api_ban_user ()"><code class="function">matrix_api_ban_user()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.forget-room"></a>forget_room</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-forget-room" title="matrix_api_forget_room ()"><code class="function">matrix_api_forget_room()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.invite-user-3rdparty"></a>invite_user_3rdparty</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-invite-user-3rdparty" title="matrix_api_invite_user_3rdparty ()"><code class="function">matrix_api_invite_user_3rdparty()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.invite-user"></a>invite_user</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-invite-user" title="matrix_api_invite_user ()"><code class="function">matrix_api_invite_user()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.join-room"></a>join_room</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-join-room" title="matrix_api_join_room ()"><code class="function">matrix_api_join_room()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.leave-room"></a>leave_room</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-leave-room" title="matrix_api_leave_room ()"><code class="function">matrix_api_leave_room()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.event-stream"></a>event_stream</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-event-stream" title="matrix_api_event_stream ()"><code class="function">matrix_api_event_stream()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-event"></a>get_event</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-event" title="matrix_api_get_event ()"><code class="function">matrix_api_get_event()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.initial-sync"></a>initial_sync</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-initial-sync" title="matrix_api_initial_sync ()"><code class="function">matrix_api_initial_sync()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-event-context"></a>get_event_context</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-event-context" title="matrix_api_get_event_context ()"><code class="function">matrix_api_get_event_context()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.initial-sync-room"></a>initial_sync_room</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-initial-sync-room" title="matrix_api_initial_sync_room ()"><code class="function">matrix_api_initial_sync_room()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.list-room-members"></a>list_room_members</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-list-room-members" title="matrix_api_list_room_members ()"><code class="function">matrix_api_list_room_members()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.list-room-messages"></a>list_room_messages</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-list-room-messages" title="matrix_api_list_room_messages ()"><code class="function">matrix_api_list_room_messages()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.send-event-receipt"></a>send_event_receipt</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-send-event-receipt" title="matrix_api_send_event_receipt ()"><code class="function">matrix_api_send_event_receipt()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.redact-event"></a>redact_event</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-redact-event" title="matrix_api_redact_event ()"><code class="function">matrix_api_redact_event()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.send-message-event"></a>send_message_event</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-send-message-event" title="matrix_api_send_message_event ()"><code class="function">matrix_api_send_message_event()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-room-state"></a>get_room_state</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-room-state" title="matrix_api_get_room_state ()"><code class="function">matrix_api_get_room_state()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.send-room-event"></a>send_room_event</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-send-room-event" title="matrix_api_send_room_event ()"><code class="function">matrix_api_send_room_event()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.notify-room-typing"></a>notify_room_typing</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-notify-room-typing" title="matrix_api_notify_room_typing ()"><code class="function">matrix_api_notify_room_typing()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.sync"></a>sync</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-sync" title="matrix_api_sync ()"><code class="function">matrix_api_sync()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.create-filter"></a>create_filter</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-create-filter" title="matrix_api_create_filter ()"><code class="function">matrix_api_create_filter()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.download-filter"></a>download_filter</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-download-filter" title="matrix_api_download_filter ()"><code class="function">matrix_api_download_filter()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.search"></a>search</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-search" title="matrix_api_search ()"><code class="function">matrix_api_search()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.whois"></a>whois</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-whois" title="matrix_api_whois ()"><code class="function">matrix_api_whois()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.versions"></a>versions</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-versions" title="matrix_api_versions ()"><code class="function">matrix_api_versions()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.login"></a>login</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-login" title="matrix_api_login ()"><code class="function">matrix_api_login()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.token-refresh"></a>token_refresh</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-token-refresh" title="matrix_api_token_refresh ()"><code class="function">matrix_api_token_refresh()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-3pids"></a>get_3pids</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-3pids" title="matrix_api_get_3pids ()"><code class="function">matrix_api_get_3pids()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.add-3pid"></a>add_3pid</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-add-3pid" title="matrix_api_add_3pid ()"><code class="function">matrix_api_add_3pid()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.change-password"></a>change_password</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-change-password" title="matrix_api_change_password ()"><code class="function">matrix_api_change_password()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-profile"></a>get_profile</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-profile" title="matrix_api_get_profile ()"><code class="function">matrix_api_get_profile()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-avatar-url"></a>get_avatar_url</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-avatar-url" title="matrix_api_get_avatar_url ()"><code class="function">matrix_api_get_avatar_url()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.set-avatar-url"></a>set_avatar_url</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-avatar-url" title="matrix_api_set_avatar_url ()"><code class="function">matrix_api_set_avatar_url()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-display-name"></a>get_display_name</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-display-name" title="matrix_api_get_display_name ()"><code class="function">matrix_api_get_display_name()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.set-display-name"></a>set_display_name</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-display-name" title="matrix_api_set_display_name ()"><code class="function">matrix_api_set_display_name()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.register-account"></a>register_account</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-register-account" title="matrix_api_register_account ()"><code class="function">matrix_api_register_account()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.set-account-data"></a>set_account_data</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-set-account-data" title="matrix_api_set_account_data ()"><code class="function">matrix_api_set_account_data()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-room-tags"></a>get_room_tags</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-room-tags" title="matrix_api_get_room_tags ()"><code class="function">matrix_api_get_room_tags()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.delete-room-tag"></a>delete_room_tag</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-delete-room-tag" title="matrix_api_delete_room_tag ()"><code class="function">matrix_api_delete_room_tag()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.add-room-tag"></a>add_room_tag</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-add-room-tag" title="matrix_api_add_room_tag ()"><code class="function">matrix_api_add_room_tag()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-turn-server"></a>get_turn_server</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual method called by <a class="link" href="Matrix-0.0-MatrixAPI.html#matrix-api-get-turn-server" title="matrix_api_get_turn_server ()"><code class="function">matrix_api_get_turn_server()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-token"></a>get_token</code></em> ()</p></td>
<td class="struct_member_description"><p>getter method for the abstract property <span class="type">"token"</span></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.set-token"></a>set_token</code></em> ()</p></td>
<td class="struct_member_description"><p>setter method for the abstract property <span class="type">"token"</span></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-refresh-token"></a>get_refresh_token</code></em> ()</p></td>
<td class="struct_member_description"><p>getter method for the abstract property <span class="type">"refresh-token"</span></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.set-refresh-token"></a>set_refresh_token</code></em> ()</p></td>
<td class="struct_member_description"><p>setter method for the abstract property <span class="type">"refresh-token"</span></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-user-id"></a>get_user_id</code></em> ()</p></td>
<td class="struct_member_description"><p>getter method for the abstract property <span class="type">"user-id"</span></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="MatrixAPIIface.get-homeserver"></a>get_homeserver</code></em> ()</p></td>
<td class="struct_member_description"><p>getter method for the abstract property <span class="type">"homeserver"</span></p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
</body>
</html>