diff --git a/.gitignore b/.gitignore
index f75f1d7..18bca68 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,7 +40,6 @@ Makefile.in
/src/matrix-enumtypes.[ch]
/src/matrix-marshalers.[ch]
/src/stamp-matrix-marshalers
-/docs/valadoc/gtk-doc/gtk-doc
# Vala related files
/src/Matrix-0.0.vapi
diff --git a/Makefile.am b/Makefile.am
index 9beb9b6..5f55bde 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,8 +3,8 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
# Set up subdirectories to traverse
SUBDIRS = src
-if ENABLE_DOCS
- SUBDIRS += docs
+if ENABLE_GTK_DOC
+ SUBDIRS += docs/reference/matrix-glib-sdk
endif
# Specify files to include in dist
diff --git a/autogen.sh b/autogen.sh
index 46c3815..feb403a 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -15,6 +15,15 @@ PKG_NAME="matrix-glib"
exit 1
}
+(gtkdocize --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`gtkdocize' installed."
+ echo "Download the appropriate package for your distribution,"
+ echo "or get the source tarball at ftp://ftp.gnome.org/"
+
+ DIE=1
+}
+
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`autoconf' installed."
@@ -96,6 +105,11 @@ fi
echo "Running aclocal $aclocalinclude ..."
aclocal $m4dir $ACLOCAL_FLAGS $aclocalinclude || exit $?
+if grep "^GTK_DOC_CHECK" "$coin" > /dev/null; then
+ echo "Running gtkdocize ..."
+ gtkdocize || exit $?
+fi
+
if grep "^A[CM]_CONFIG_HEADER" "$coin" > /dev/null; then
echo "Running autoheader ..."
autoheader || exit $?
diff --git a/configure.ac b/configure.ac
index 343f3db..b2a7b55 100644
--- a/configure.ac
+++ b/configure.ac
@@ -93,13 +93,18 @@ LIBVALA_REQUIRED=0.30
GIO_REQUIRED=2.22
SOUP_REQUIRED=2.44.2
JSON_REQUIRED=0.16.2
-VALADOC_REQUIRED=0.3.1
# Check GLib
PKG_CHECK_MODULES([GLIB],
[glib-2.0 >= $GLIB_REQUIRED
gobject-2.0 >= $GLIB_REQUIRED])
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.25], [--flavour no-tmpl])
+], [
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+
# Check for vala
VALAC_CHECK
@@ -115,52 +120,6 @@ PKG_CHECK_MODULES([JSON], [json-glib-1.0 >= $JSON_REQUIRED])
# Check for GObject Introspection
GOBJECT_INTROSPECTION_CHECK([1.32.0])
-# Documentation with Valadoc
-AC_ARG_ENABLE([docs],
- AS_HELP_STRING([--enable-docs],
- [Enable documentation generation]),
- [enable_docs=$enableval], [enable_docs=no])
-AM_CONDITIONAL([ENABLE_DOCS], [test x$enable_docs = xyes])
-
-have_valadoc=no
-if test x$enable_docs = xyes; then
- # Make sure the library is new enough and the program exists
- AC_PATH_PROG([VALADOC], [valadoc], [no])
- if test "x$VALADOC" = "xno"; then
- AC_MSG_RESULT([valadoc documentation will not build because valadoc is not found])
- else
- VAPIDIR=`$PKG_CONFIG --variable=vapidir libvala-$LIBVALA_REQUIRED`
- have_valadoc="yes"
- AC_SUBST([VALADOC])
- fi
-fi
-AM_CONDITIONAL([HAVE_VALADOC], [test x$have_valadoc = xyes])
-
-AC_ARG_ENABLE([gtk-doc],
- AS_HELP_STRING([--enable-gtk-doc],
- [Enable GTK-Doc documentation generation]),
- [enable_gtk_docs=$enableval], [enable_gtk_docs=no])
-
-have_gtkdoc=no
-if test x$enable_gtk_docs = xyes; then
- if test x$have_valadoc = xyes; then
- PKG_CHECK_MODULES([GTKDOC], gtk-doc)
- have_gtkdoc=yes
- else
- AC_MSG_ERROR([valadoc is required to generate GTK-Doc documentation. Use --enable-valadoc])
- fi
-fi
-
-gtkdocs=no
-
-if test x$enable_docs = xyes; then
- if test x$enable_gtk_docs = xyes; then
- gtkdocs=yes
- fi
-fi
-
-AM_CONDITIONAL([ENABLE_GTK_DOCS], [test "x$gtkdocs" = "xyes"])
-
debug=no
AC_ARG_ENABLE(debug,
AS_HELP_STRING([--enable-debug],
@@ -202,9 +161,7 @@ AC_CONFIG_FILES([
src/matrix-version.h
src/matrix-glib-0.0.pc
src/namespace-info.vala
- docs/Makefile
- docs/valadoc/Makefile
- docs/valadoc/gtk-doc/Makefile
+ docs/reference/matrix-glib-sdk/Makefile
])
AC_OUTPUT
@@ -212,7 +169,6 @@ AC_OUTPUT
echo ""
echo " Configuration summary for Matrix-$MATRIX_GLIB_VERSION"
echo " Installation prefix: $prefix"
-echo " Documentation: ${enable_docs}"
-echo " Gtk-Doc: `if test x${gtkdocs} = xyes; then echo yes; else echo no; fi`"
+echo " Documentation: ${enable_gtk_doc}"
echo " Debug: $debug"
echo ""
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 27ae4c5..741f850 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -1,5 +1 @@
SUBDIRS =
-
-if HAVE_VALADOC
- SUBDIRS += valadoc
-endif
diff --git a/docs/reference/matrix-glib-sdk/Makefile.am b/docs/reference/matrix-glib-sdk/Makefile.am
new file mode 100644
index 0000000..002d635
--- /dev/null
+++ b/docs/reference/matrix-glib-sdk/Makefile.am
@@ -0,0 +1,85 @@
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=matrix-glib-sdk
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+# The top-level XML file.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# Directories containing the source code.
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
+DOC_SOURCE_DIR=$(top_srcdir)/src
+
+# Extra options to pass to gtkdoc-scangobj. Normally not needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb
+# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
+MKDB_OPTIONS=--xml-mode --output-format=xml
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Normally not needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=$(top_srcdir)/src/*.h
+CFILE_GLOB=$(top_srcdir)/src/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files or dirs to ignore when scanning. Use base file/dir names
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
+IGNORE_HFILES=utils.h
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# Extra files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.xml building.xml changes-2.0.xml
+content_files=
+
+# Files where gtk-doc abbrevations (#GtkWidget) are expanded
+# e.g. expand_content_files=running.xml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_srcdir)/src
+GTKDOC_LIBS=$(top_builddir)/src/libmatrix-glib-0.0.la
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Comment this out if you want 'make check' to test you doc status
+# and run some sanity checks
+if ENABLE_GTK_DOC
+TESTS_ENVIRONMENT = \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
+TESTS = $(GTKDOC_CHECK)
+endif
+
+-include $(top_srcdir)/git.mk
diff --git a/docs/reference/matrix-glib-sdk/matrix-glib-sdk-docs.xml b/docs/reference/matrix-glib-sdk/matrix-glib-sdk-docs.xml
new file mode 100644
index 0000000..886f7bf
--- /dev/null
+++ b/docs/reference/matrix-glib-sdk/matrix-glib-sdk-docs.xml
@@ -0,0 +1,98 @@
+
+
+
+ %gtkdocentities;
+]>
+
+
+ &package_name; Reference Manual
+
+ for &package_string;.
+ The latest version of this documentation can be found on-line at
+ http://[SERVER]/&package_name;/.
+
+
+
+
+ Basic types
+
+
+
+
+
+
+
+
+
+ Event types
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Message types
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Communicating with homeservers
+
+
+
+
+
+
+
+ Object Hierarchy
+
+
+
+
+ API Index
+
+
+
+
+ Index of deprecated API
+
+
+
+
diff --git a/docs/reference/matrix-glib-sdk/matrix-glib-sdk-sections.txt b/docs/reference/matrix-glib-sdk/matrix-glib-sdk-sections.txt
new file mode 100644
index 0000000..e640328
--- /dev/null
+++ b/docs/reference/matrix-glib-sdk/matrix-glib-sdk-sections.txt
@@ -0,0 +1,1159 @@
+
+matrix-api
+MatrixAPI
+MATRIX_DEPRECATED_FOR
+MATRIX_TYPE_API
+MatrixAPICallback
+MatrixAPIInterface
+matrix_api_abort_pending
+matrix_api_get_3pids
+matrix_api_add_3pid
+matrix_api_deactivate_account
+matrix_api_change_password
+matrix_api_get_profile
+matrix_api_get_avatar_url
+matrix_api_set_avatar_url
+matrix_api_get_display_name
+matrix_api_set_display_name
+matrix_api_register_account
+matrix_api_set_account_data
+matrix_api_get_room_tags
+matrix_api_delete_room_tag
+matrix_api_add_room_tag
+matrix_api_whois
+matrix_api_versions
+matrix_api_create_room
+matrix_api_delete_room_alias
+matrix_api_get_room_id
+matrix_api_create_room_alias
+matrix_api_event_stream
+matrix_api_get_event
+matrix_api_initial_sync
+matrix_api_get_event_context
+matrix_api_initial_sync_room
+matrix_api_list_room_members
+matrix_api_list_room_messages
+matrix_api_send_event_receipt
+matrix_api_redact_event
+matrix_api_send_event
+matrix_api_get_room_state
+matrix_api_send_state_event
+matrix_api_notify_room_typing
+matrix_api_sync
+matrix_api_create_filter
+matrix_api_download_filter
+matrix_api_join_room_id_or_alias
+matrix_api_ban_user
+matrix_api_forget_room
+matrix_api_invite_user_3rdparty
+matrix_api_invite_user
+matrix_api_join_room
+matrix_api_kick_user
+matrix_api_leave_room
+matrix_api_unban_user
+matrix_api_login
+matrix_api_logout
+matrix_api_token_refresh
+matrix_api_get_presence_list
+matrix_api_update_presence_list
+matrix_api_get_presence
+matrix_api_set_presence
+matrix_api_list_public_rooms
+matrix_api_get_pushers
+matrix_api_update_pusher
+matrix_api_get_pushrules
+matrix_api_delete_pushrule
+matrix_api_get_pushrule
+matrix_api_add_pushrule
+matrix_api_toggle_pushrule
+matrix_api_search
+matrix_api_get_turn_server
+matrix_api_media_download
+matrix_api_media_thumbnail
+matrix_api_media_upload
+matrix_api_get_token
+matrix_api_set_token
+matrix_api_get_refresh_token
+matrix_api_set_refresh_token
+matrix_api_get_user_id
+matrix_api_get_homeserver
+MatrixAPI
+
+
+
+matrix-client
+MatrixClient
+MatrixClientSendCallback
+MatrixClientEventCallback
+matrix_client_login_with_password
+matrix_client_register_with_password
+matrix_client_logout
+matrix_client_begin_polling
+matrix_client_stop_polling
+matrix_client_emit_login_finished
+matrix_client_incoming_event
+matrix_client_connect_event
+matrix_client_get_user_profile
+matrix_client_get_user_presence
+matrix_client_get_room_by_id
+matrix_client_get_room_by_alias
+matrix_client_send
+matrix_client_save_state
+matrix_client_load_state
+
+MATRIX_TYPE_CLIENT
+MatrixClient
+MatrixClientInterface
+matrix_client_get_type
+
+
+
+matrix-compacts
+MatrixSearchCategories
+matrix_json_compact_unref
+matrix_json_compact_ref
+matrix_json_compact_get_json_node
+matrix_json_compact_get_json_data
+MATRIX_TYPE_FILTER_RULES
+MatrixFilterRulesClass
+matrix_filter_rules_new
+matrix_filter_rules_construct
+matrix_filter_rules_set_limit
+matrix_filter_rules_get_limit
+matrix_filter_rules_set_types
+matrix_filter_rules_get_types
+matrix_filter_rules_set_excluded_types
+matrix_filter_rules_get_excluded_types
+matrix_filter_rules_set_senders
+matrix_filter_rules_get_senders
+matrix_filter_rules_set_excluded_senders
+matrix_filter_rules_get_excluded_senders
+matrix_filter_rules_set_rooms
+matrix_filter_rules_get_rooms
+matrix_filter_rules_set_excluded_rooms
+matrix_filter_rules_get_excluded_rooms
+MATRIX_TYPE_ROOM_FILTER
+MatrixRoomFilterClass
+matrix_room_filter_new
+matrix_room_filter_construct
+matrix_room_filter_get_include_leave
+matrix_room_filter_set_include_leave
+matrix_room_filter_get_ephemeral
+matrix_room_filter_set_ephemeral
+matrix_room_filter_get_state
+matrix_room_filter_set_state
+matrix_room_filter_get_timeline
+matrix_room_filter_set_timeline
+MATRIX_TYPE_FILTER
+MatrixFilterClass
+matrix_filter_new
+matrix_filter_construct
+matrix_filter_get_event_fields
+matrix_filter_set_event_fields
+matrix_filter_get_event_format
+matrix_filter_set_event_format
+matrix_filter_get_presence_filter
+matrix_filter_set_presence_filter
+matrix_filter_get_room_filter
+matrix_filter_set_room_filter
+MATRIX_TYPE_3PID_CREDENTIAL
+Matrix3PidCredentialClass
+matrix_3pid_credential_new
+matrix_3pid_credential_construct
+matrix_3pid_credential_get_id_server
+matrix_3pid_credential_set_id_server
+matrix_3pid_credential_get_session_id
+matrix_3pid_credential_set_session_id
+matrix_3pid_credential_get_client_secret
+matrix_3pid_credential_set_client_secret
+MATRIX_TYPE_PUSHER
+MatrixPusherClass
+matrix_pusher_new
+matrix_pusher_construct
+matrix_pusher_get_device_display_name
+matrix_pusher_set_device_display_name
+matrix_pusher_get_app_display_name
+matrix_pusher_set_app_display_name
+matrix_pusher_get_app_id
+matrix_pusher_set_app_id
+matrix_pusher_get_append
+matrix_pusher_set_append
+matrix_pusher_get_kind
+matrix_pusher_set_kind
+matrix_pusher_get_lang
+matrix_pusher_set_lang
+matrix_pusher_get_profile_tag
+matrix_pusher_set_profile_tag
+matrix_pusher_get_pushkey
+matrix_pusher_set_pushkey
+matrix_pusher_get_data
+matrix_pusher_set_data
+MATRIX_TYPE_EVENT_CONTEXT
+MatrixEventContextClass
+matrix_event_context_new
+matrix_event_context_construct
+matrix_event_context_get_before_limit
+matrix_event_context_set_before_limit
+matrix_event_context_get_after_limit
+matrix_event_context_set_after_limit
+matrix_event_context_get_include_profile
+matrix_event_context_set_include_profile
+MATRIX_TYPE_SEARCH_GROUPING
+MatrixSearchGroupingClass
+matrix_search_grouping_new
+matrix_search_grouping_construct
+matrix_search_grouping_get_key
+matrix_search_grouping_set_key
+MATRIX_TYPE_SEARCH_GROUPINGS
+MatrixSearchGroupingsClass
+matrix_search_groupings_new
+matrix_search_groupings_construct
+matrix_search_groupings_get_group_by
+matrix_search_groupings_set_group_by
+MATRIX_TYPE_SEARCH_ROOM_EVENTS
+MatrixSearchRoomEventsClass
+matrix_search_room_events_new
+matrix_search_room_events_construct
+matrix_search_room_events_get_order_by
+matrix_search_room_events_set_order_by
+matrix_search_room_events_get_keys
+matrix_search_room_events_set_keys
+matrix_search_room_events_get_event_context
+matrix_search_room_events_set_event_context
+matrix_search_room_events_get_include_state
+matrix_search_room_events_set_include_state
+matrix_search_room_events_get_filter_id
+matrix_search_room_events_set_filter_id
+matrix_search_room_events_get_filter
+matrix_search_room_events_set_filter
+matrix_search_room_events_get_search_term
+matrix_search_room_events_set_search_term
+matrix_search_room_events_get_groupings
+matrix_search_room_events_set_groupings
+MATRIX_TYPE_SEARCH_CATEGORIES
+MatrixSearchCategoriesClass
+matrix_search_categories_new
+matrix_search_categories_construct
+matrix_search_categories_get_room_events
+matrix_search_categories_set_room_events
+Matrix3PidCredential
+MatrixEventContext
+MatrixFilter
+MatrixFilterRules
+MatrixPusher
+MatrixRoomFilter
+MatrixSearchCategories
+MatrixSearchGrouping
+MatrixSearchGroupings
+MatrixSearchRoomEvents
+
+MATRIX_IS_JSON_COMPACT
+MATRIX_IS_JSON_COMPACT_CLASS
+MATRIX_JSON_COMPACT
+MATRIX_JSON_COMPACT_CLASS
+MATRIX_JSON_COMPACT_GET_CLASS
+MATRIX_TYPE_JSON_COMPACT
+MatrixJsonCompact
+MatrixJsonCompactClass
+matrix_json_compact_construct
+matrix_json_compact_get_type
+
+
+
+matrix-enumtypes
+
+MATRIX_TYPE_ACCOUNT_KIND
+MATRIX_TYPE_CALL_ANSWER_TYPE
+MATRIX_TYPE_CALL_OFFER_TYPE
+MATRIX_TYPE_ERROR
+MATRIX_TYPE_EVENT_DIRECTION
+MATRIX_TYPE_EVENT_FORMAT
+MATRIX_TYPE_GUEST_ACCESS
+MATRIX_TYPE_HISTORY_VISIBILITY
+MATRIX_TYPE_JOIN_RULES
+MATRIX_TYPE_PRESENCE
+MATRIX_TYPE_PUSHER_CONDITION_KIND
+MATRIX_TYPE_PUSHER_KIND
+MATRIX_TYPE_RECEIPT_TYPE
+MATRIX_TYPE_RESIZE_METHOD
+MATRIX_TYPE_ROOM_MEMBERSHIP
+MATRIX_TYPE_ROOM_PRESET
+MATRIX_TYPE_ROOM_VISIBILITY
+MATRIX_TYPE_SEARCH_GROUP_BY
+MATRIX_TYPE_SEARCH_KEY
+MATRIX_TYPE_SEARCH_ORDER
+matrix_account_kind_get_type
+matrix_call_answer_type_get_type
+matrix_call_offer_type_get_type
+matrix_error_get_type
+matrix_event_direction_get_type
+matrix_event_format_get_type
+matrix_guest_access_get_type
+matrix_history_visibility_get_type
+matrix_join_rules_get_type
+matrix_presence_get_type
+matrix_pusher_condition_kind_get_type
+matrix_pusher_kind_get_type
+matrix_receipt_type_get_type
+matrix_resize_method_get_type
+matrix_room_membership_get_type
+matrix_room_preset_get_type
+matrix_room_visibility_get_type
+matrix_search_group_by_get_type
+matrix_search_key_get_type
+matrix_search_order_get_type
+
+
+
+event-handling
+Event handlers
+matrix_event_get_handler
+matrix_event_register_type
+matrix_event_unregister_type
+
+
+
+matrix-event-base
+MatrixEventBase
+MatrixEventBase
+MatrixEventBaseClass
+matrix_event_base_from_json
+matrix_event_base_to_json
+matrix_event_base_new_from_json
+matrix_event_base_get_event_type
+matrix_event_base_get_json
+
+matrix_event_base_construct
+MATRIX_EVENT_BASE
+MATRIX_EVENT_BASE_CLASS
+MATRIX_EVENT_BASE_GET_CLASS
+MATRIX_EVENT_IS_BASE
+MATRIX_EVENT_IS_BASE_CLASS
+MATRIX_EVENT_TYPE_BASE
+matrix_event_base_get_type
+
+
+
+matrix-event-call-answer
+MatrixEventCallAnswer
+MATRIX_EVENT_TYPE_CALL_ANSWER
+MatrixEventCallAnswerClass
+matrix_event_call_answer_new
+matrix_event_call_answer_get_answer_type
+matrix_event_call_answer_set_answer_type
+matrix_event_call_answer_get_answer_sdp
+matrix_event_call_answer_set_answer_sdp
+MatrixEventCallAnswer
+
+matrix_event_call_answer_construct
+
+
+
+matrix-event-call-base
+MatrixEventCall
+MatrixEventCall
+MatrixEventCallClass
+matrix_event_call_get_call_id
+matrix_event_call_set_call_id
+matrix_event_call_get_version
+matrix_event_call_set_version
+
+MATRIX_EVENT_CALL
+MATRIX_EVENT_CALL_CLASS
+MATRIX_EVENT_CALL_GET_CLASS
+MATRIX_EVENT_IS_CALL
+MATRIX_EVENT_IS_CALL_CLASS
+MATRIX_EVENT_TYPE_CALL
+matrix_event_call_get_type
+matrix_event_call_construct
+
+
+
+matrix-event-call-candidates
+MatrixEventCallCandidates
+matrix_call_candidate_new
+matrix_call_candidate_ref
+matrix_call_candidate_unref
+matrix_call_candidate_get_sdp_mid
+matrix_call_candidate_set_sdp_mid
+matrix_call_candidate_get_sdp_line_index
+matrix_call_candidate_set_sdp_line_index
+matrix_call_candidate_get_candidate
+matrix_call_candidate_set_candidate
+MATRIX_EVENT_TYPE_CALL_CANDIDATES
+MatrixEventCallCandidatesClass
+matrix_event_call_candidates_new
+matrix_event_call_candidates_candidate_dup
+matrix_event_call_candidates_get_candidates
+matrix_event_call_candidates_set_candidates
+MatrixEventCallCandidates
+
+MATRIX_TYPE_CALL_CANDIDATE
+MatrixCallCandidate
+matrix_call_candidate_get_type
+matrix_event_call_candidates_construct
+
+
+
+matrix-event-call-hangup
+MatrixEventCallHangup
+MATRIX_EVENT_TYPE_CALL_HANGUP
+MatrixEventCallHangupClass
+matrix_event_call_hangup_new
+MatrixEventCallHangup
+
+matrix_event_call_hangup_construct
+
+
+
+matrix-event-call-invite
+MatrixEventCallInvite
+MATRIX_EVENT_TYPE_CALL_INVITE
+MatrixEventCallInviteClass
+matrix_event_call_invite_new
+matrix_event_call_invite_get_offer_type
+matrix_event_call_invite_set_offer_type
+matrix_event_call_invite_get_sdp
+matrix_event_call_invite_set_sdp
+matrix_event_call_invite_get_lifetime
+matrix_event_call_invite_set_lifetime
+MatrixEventCallInvite
+
+matrix_event_call_invite_construct
+
+
+
+matrix-event-presence
+MatrixEventPresence
+MATRIX_EVENT_TYPE_PRESENCE
+matrix_event_presence_new
+matrix_event_presence_get_avatar_url
+matrix_event_presence_set_avatar_url
+matrix_event_presence_get_display_name
+matrix_event_presence_set_display_name
+matrix_event_presence_get_last_active_ago
+matrix_event_presence_set_last_active_ago
+matrix_event_presence_get_user_id
+matrix_event_presence_set_user_id
+matrix_event_presence_get_presence
+matrix_event_presence_set_presence
+
+matrix_event_presence_construct
+MatrixEventPresence
+MatrixEventPresenceClass
+matrix_event_presence_get_type
+
+
+
+matrix-event-receipt
+MatrixEventReceipt
+MATRIX_EVENT_TYPE_RECEIPT
+matrix_event_receipt_new
+matrix_event_receipt_get_room_id
+matrix_event_receipt_set_room_id
+
+MatrixEventReceipt
+MatrixEventReceiptClass
+matrix_event_receipt_get_type
+matrix_event_receipt_construct
+
+
+
+matrix-event-room-aliases
+MatrixEventRoomAliases
+MATRIX_EVENT_TYPE_ROOM_ALIASES
+MatrixEventRoomAliasesClass
+matrix_event_room_aliases_new
+matrix_event_room_aliases_get_aliases
+matrix_event_room_aliases_set_aliases
+MatrixEventRoomAliases
+
+matrix_event_room_aliases_construct
+
+
+
+matrix-event-room-avatar
+MatrixEventRoomAvatar
+MATRIX_EVENT_TYPE_ROOM_AVATAR
+MatrixEventRoomAvatarClass
+matrix_event_room_avatar_new
+matrix_event_room_avatar_get_url
+matrix_event_room_avatar_set_url
+matrix_event_room_avatar_get_thumbnail_url
+matrix_event_room_avatar_set_thumbnail_url
+matrix_event_room_avatar_get_info
+matrix_event_room_avatar_set_info
+matrix_event_room_avatar_get_thumbnail_info
+matrix_event_room_avatar_set_thumbnail_info
+MatrixEventRoomAvatar
+
+matrix_event_room_avatar_construct
+
+
+
+matrix-event-room-base
+MatrixEventRoom
+MATRIX_EVENT_TYPE_ROOM
+MatrixEventRoomClass
+matrix_event_room_get_event_id
+matrix_event_room_set_event_id
+matrix_event_room_get_room_id
+matrix_event_room_set_room_id
+matrix_event_room_get_sender
+matrix_event_room_set_sender
+matrix_event_room_get_age
+matrix_event_room_set_age
+matrix_event_room_get_redacted_because
+matrix_event_room_set_redacted_because
+matrix_event_room_get_transaction_id
+matrix_event_room_set_transaction_id
+MatrixEventRoom
+
+matrix_event_room_construct
+
+
+
+matrix-event-room-canonical-alias
+MatrixEventRoomCanonicalAlias
+MATRIX_EVENT_TYPE_ROOM_CANONICAL_ALIAS
+MatrixEventRoomCanonicalAliasClass
+matrix_event_room_canonical_alias_new
+matrix_event_room_canonical_alias_get_canonical_alias
+matrix_event_room_canonical_alias_set_canonical_alias
+MatrixEventRoomCanonicalAlias
+
+matrix_event_room_canonical_alias_construct
+
+
+
+matrix-event-room-create
+MatrixEventRoomCreate
+MATRIX_EVENT_TYPE_ROOM_CREATE
+MatrixEventRoomCreateClass
+matrix_event_room_create_new
+matrix_event_room_create_get_creator
+matrix_event_room_create_set_creator
+matrix_event_room_create_get_federate
+matrix_event_room_create_set_federate
+MatrixEventRoomCreate
+
+matrix_event_room_create_construct
+
+
+
+matrix-event-room-guest-access
+MatrixEventRoomGuestAccess
+MATRIX_EVENT_TYPE_ROOM_GUEST_ACCESS
+MatrixEventRoomGuestAccessClass
+matrix_event_room_guest_access_new
+matrix_event_room_guest_access_get_guest_access
+matrix_event_room_guest_access_set_guest_access
+MatrixEventRoomGuestAccess
+
+matrix_event_room_guest_access_construct
+
+
+
+matrix-event-room-history-visibility
+MatrixEventRoomHistoryVisibility
+MATRIX_EVENT_TYPE_ROOM_HISTORY_VISIBILITY
+MatrixEventRoomHistoryVisibilityClass
+matrix_event_room_history_visibility_new
+matrix_event_room_history_visibility_get_visibility
+matrix_event_room_history_visibility_set_visibility
+MatrixEventRoomHistoryVisibility
+
+matrix_event_room_history_visibility_construct
+
+
+
+matrix-event-room-join-rules
+MatrixEventRoomJoinRules
+MATRIX_EVENT_TYPE_ROOM_JOIN_RULES
+MatrixEventRoomJoinRulesClass
+matrix_event_room_join_rules_new
+matrix_event_room_join_rules_get_join_rules
+matrix_event_room_join_rules_set_join_rules
+MatrixEventRoomJoinRules
+
+matrix_event_room_join_rules_construct
+
+
+
+matrix-event-room-member
+MatrixEventRoomMember
+MATRIX_EVENT_TYPE_ROOM_MEMBER
+MatrixEventRoomMemberClass
+matrix_event_room_member_new
+matrix_event_room_member_get_membership
+matrix_event_room_member_set_membership
+matrix_event_room_member_get_avatar_url
+matrix_event_room_member_set_avatar_url
+matrix_event_room_member_get_display_name
+matrix_event_room_member_set_display_name
+matrix_event_room_member_get_tpi_display_name
+matrix_event_room_member_set_tpi_display_name
+matrix_event_room_member_get_tpi_signed_mxid
+matrix_event_room_member_set_tpi_signed_mxid
+matrix_event_room_member_get_tpi_signed_token
+matrix_event_room_member_set_tpi_signed_token
+matrix_event_room_member_get_tpi_signature
+matrix_event_room_member_set_tpi_signature
+matrix_event_room_member_get_invite_room_state
+matrix_event_room_member_set_invite_room_state
+matrix_event_room_member_get_user_id
+matrix_event_room_member_set_user_id
+MatrixEventRoomMember
+
+matrix_event_room_member_construct
+
+
+
+matrix-event-room-message
+MatrixEventRoomMessage
+MATRIX_EVENT_TYPE_ROOM_MESSAGE
+MatrixEventRoomMessageClass
+matrix_event_room_message_new
+matrix_event_room_message_get_message
+matrix_event_room_message_set_message
+matrix_event_room_message_get_fallback_content
+matrix_event_room_message_get_body
+matrix_event_room_message_set_body
+MatrixEventRoomMessage
+
+matrix_message_base_get_type
+matrix_event_room_message_construct
+
+
+
+matrix-event-room-message-feedback
+MatrixEventRoomMessageFeedback
+MATRIX_EVENT_TYPE_ROOM_MESSAGE_FEEDBACK
+MatrixEventRoomMessageFeedbackClass
+matrix_event_room_message_feedback_new
+matrix_event_room_message_feedback_get_feedback_type
+matrix_event_room_message_feedback_set_feedback_type
+matrix_event_room_message_feedback_get_target_event_id
+matrix_event_room_message_feedback_set_target_event_id
+MatrixEventRoomMessageFeedback
+
+matrix_event_room_message_feedback_construct
+
+
+
+matrix-event-room-name
+MatrixEventRoomName
+MATRIX_EVENT_TYPE_ROOM_NAME
+MatrixEventRoomNameClass
+matrix_event_room_name_new
+matrix_event_room_name_get_name
+matrix_event_room_name_set_name
+MatrixEventRoomName
+
+matrix_event_room_name_construct
+
+
+
+matrix-event-room-power-levels
+MatrixEventRoomPowerLevels
+MATRIX_EVENT_TYPE_ROOM_POWER_LEVELS
+MatrixEventRoomPowerLevelsClass
+matrix_event_room_power_levels_set_user_level
+matrix_event_room_power_levels_set_event_level
+matrix_event_room_power_levels_new
+matrix_event_room_power_levels_get_users_default
+matrix_event_room_power_levels_set_users_default
+matrix_event_room_power_levels_get_events_default
+matrix_event_room_power_levels_set_events_default
+matrix_event_room_power_levels_get_state_default
+matrix_event_room_power_levels_set_state_default
+matrix_event_room_power_levels_get_ban
+matrix_event_room_power_levels_set_ban
+matrix_event_room_power_levels_get_kick
+matrix_event_room_power_levels_set_kick
+matrix_event_room_power_levels_get_redact
+matrix_event_room_power_levels_set_redact
+matrix_event_room_power_levels_get_invite
+matrix_event_room_power_levels_set_invite
+matrix_event_room_power_levels_get_event_levels
+matrix_event_room_power_levels_get_user_levels
+MatrixEventRoomPowerLevels
+
+matrix_event_room_power_levels_construct
+
+
+
+matrix-event-room-redaction
+MatrixEventRoomRedaction
+MATRIX_EVENT_TYPE_ROOM_REDACTION
+MatrixEventRoomRedactionClass
+matrix_event_room_redaction_new
+matrix_event_room_redaction_get_reason
+matrix_event_room_redaction_set_reason
+matrix_event_room_redaction_get_redacted_event_id
+matrix_event_room_redaction_set_redacted_event_id
+MatrixEventRoomRedaction
+
+matrix_event_room_redaction_construct
+
+
+
+matrix-event-room-third-party-invite
+MatrixEventRoomThirdPartyInvite
+matrix_third_party_invite_public_key_new
+matrix_third_party_invite_public_key_ref
+matrix_third_party_invite_public_key_unref
+matrix_third_party_invite_public_key_get_key
+matrix_third_party_invite_public_key_set_key
+matrix_third_party_invite_public_key_get_validity_url
+matrix_third_party_invite_public_key_set_validity_url
+MATRIX_EVENT_TYPE_ROOM_THIRD_PARTY_INVITE
+MatrixEventRoomThirdPartyInviteClass
+matrix_event_room_third_party_invite_new
+matrix_event_room_third_party_invite_get_display_name
+matrix_event_room_third_party_invite_set_display_name
+matrix_event_room_third_party_invite_get_key_validity_url
+matrix_event_room_third_party_invite_set_key_validity_url
+matrix_event_room_third_party_invite_get_public_key
+matrix_event_room_third_party_invite_set_public_key
+matrix_event_room_third_party_invite_get_public_keys
+MatrixEventRoomThirdPartyInvite
+
+MATRIX_TYPE_THIRD_PARTY_INVITE_PUBLIC_KEY
+MatrixThirdPartyInvitePublicKey
+matrix_third_party_invite_public_key_get_type
+matrix_event_room_third_party_invite_construct
+
+
+
+matrix-event-room-topic
+MatrixEventRoomTopic
+MATRIX_EVENT_TYPE_ROOM_TOPIC
+MatrixEventRoomTopicClass
+matrix_event_room_topic_new
+matrix_event_room_topic_get_topic
+matrix_event_room_topic_set_topic
+MatrixEventRoomTopic
+
+matrix_event_room_topic_construct
+
+
+
+matrix-event-state-base
+MatrixEventState
+MatrixEventStateClass
+MatrixEventState
+matrix_event_state_get_stripped_node
+matrix_event_state_get_state_key
+matrix_event_state_set_state_key
+matrix_event_state_get_prev_content
+matrix_event_state_set_prev_content
+
+MATRIX_EVENT_IS_STATE
+MATRIX_EVENT_STATE
+MATRIX_EVENT_STATE_CLASS
+MATRIX_EVENT_STATE_GET_CLASS
+MATRIX_EVENT_IS_STATE_CLASS
+MATRIX_EVENT_TYPE_STATE
+matrix_event_state_get_type
+matrix_event_state_construct
+
+
+
+matrix-event-tag
+MatrixEventTag
+MATRIX_EVENT_TYPE_TAG
+MatrixEventTagClass
+matrix_event_tag_new
+matrix_event_tag_get_tags
+matrix_event_tag_set_tags
+MatrixEventTag
+
+matrix_event_tag_construct
+
+
+
+matrix-event-typing
+MatrixEventTyping
+MATRIX_EVENT_TYPE_TYPING
+MatrixEventTypingClass
+matrix_event_typing_new
+matrix_event_typing_get_room_id
+matrix_event_typing_set_room_id
+matrix_event_typing_get_user_ids
+matrix_event_typing_set_user_ids
+MatrixEventTyping
+
+matrix_event_typing_construct
+
+
+
+matrix-http-api
+MatrixHTTPAPI
+matrix_http_api_new
+matrix_http_api_get_base_url
+matrix_http_api_set_base_url
+matrix_http_api_get_validate_certificate
+matrix_http_api_set_validate_certificate
+
+MATRIX_HTTP_API
+MATRIX_HTTP_API_CLASS
+MATRIX_HTTP_API_GET_CLASS
+MATRIX_IS_HTTP_API
+MATRIX_IS_HTTP_API_CLASS
+MATRIX_TYPE_HTTP_API
+MatrixHTTPAPI
+MatrixHTTPAPIClass
+matrix_http_api_get_type
+matrix_http_api_construct
+
+
+
+matrix-http-client
+MatrixHTTPClient
+MATRIX_TYPE_HTTP_CLIENT
+MatrixHTTPClientClass
+matrix_http_client_new
+matrix_http_client_next_txn_id
+MatrixHTTPClient
+
+matrix_http_client_construct
+
+
+
+
+
+matrix-message-audio
+MatrixMessageAudio
+MATRIX_MESSAGE_TYPE_AUDIO
+MatrixMessageAudioClass
+matrix_message_audio_new
+matrix_message_audio_get_url
+matrix_message_audio_set_url
+matrix_message_audio_get_info
+matrix_message_audio_set_info
+MatrixMessageAudio
+
+matrix_message_audio_construct
+
+
+
+message-handling
+Message handlers
+
+
+matrix-message-base
+MatrixMessageBase
+MatrixMessageBase
+MatrixMessageBaseClass
+matrix_message_base_new_from_json
+matrix_message_base_from_json
+matrix_message_base_to_json
+matrix_message_base_get_message_type
+matrix_message_base_set_message_type
+matrix_message_base_get_body
+matrix_message_base_set_body
+matrix_message_base_get_json
+
+MATRIX_MESSAGE_BASE
+MATRIX_MESSAGE_BASE_CLASS
+MATRIX_MESSAGE_BASE_GET_CLASS
+MATRIX_MESSAGE_IS_BASE
+MATRIX_MESSAGE_IS_BASE_CLASS
+MATRIX_MESSAGE_TYPE_BASE
+matrix_message_base_get_type
+matrix_message_base_construct
+
+
+
+matrix-message-emote
+MatrixMessageEmote
+MATRIX_MESSAGE_TYPE_EMOTE
+MatrixMessageEmoteClass
+matrix_message_emote_new
+MatrixMessageEmote
+
+matrix_message_emote_construct
+
+
+
+matrix-message-file
+MatrixMessageFile
+MATRIX_MESSAGE_TYPE_FILE
+MatrixMessageFileClass
+matrix_message_file_new
+matrix_message_file_get_filename
+matrix_message_file_set_filename
+matrix_message_file_get_url
+matrix_message_file_set_url
+matrix_message_file_get_info
+matrix_message_file_set_info
+matrix_message_file_get_thumbnail_url
+matrix_message_file_set_thumbnail_url
+matrix_message_file_get_thumbnail_info
+matrix_message_file_set_thumbnail_info
+MatrixMessageFile
+
+matrix_message_file_construct
+
+
+
+matrix-message-image
+MatrixMessageImage
+MATRIX_MESSAGE_TYPE_IMAGE
+MatrixMessageImageClass
+matrix_message_image_new
+matrix_message_image_get_url
+matrix_message_image_set_url
+matrix_message_image_get_thumbnail_url
+matrix_message_image_set_thumbnail_url
+matrix_message_image_get_info
+matrix_message_image_set_info
+matrix_message_image_get_thumbnail_info
+matrix_message_image_set_thumbnail_info
+MatrixMessageImage
+
+matrix_message_image_construct
+
+
+
+matrix-message-location
+MatrixMessageLocation
+MATRIX_MESSAGE_TYPE_LOCATION
+MatrixMessageLocationClass
+matrix_message_location_new
+matrix_message_location_get_geo_uri
+matrix_message_location_set_geo_uri
+matrix_message_location_get_thumbnail_url
+matrix_message_location_set_thumbnail_url
+matrix_message_location_get_thumbnail_info
+matrix_message_location_set_thumbnail_info
+MatrixMessageLocation
+
+matrix_message_location_construct
+
+
+
+matrix-message-notice
+MatrixMessageNotice
+MATRIX_MESSAGE_TYPE_NOTICE
+MatrixMessageNoticeClass
+matrix_message_notice_new
+MatrixMessageNotice
+
+matrix_message_notice_construct
+
+
+
+matrix-message-text
+MatrixMessageText
+MATRIX_MESSAGE_TYPE_TEXT
+MatrixMessageTextClass
+matrix_message_text_new
+MatrixMessageText
+
+matrix_message_text_construct
+
+
+
+matrix-message-video
+MatrixMessageVideo
+MATRIX_MESSAGE_TYPE_VIDEO
+MatrixMessageVideoClass
+matrix_message_video_new
+matrix_message_video_get_url
+matrix_message_video_set_url
+matrix_message_video_get_info
+matrix_message_video_set_info
+MatrixMessageVideo
+
+matrix_message_video_construct
+
+
+
+matrix-profile
+MatrixProfile
+MATRIX_TYPE_PROFILE
+MatrixProfileClass
+matrix_profile_new
+matrix_profile_get_age
+matrix_profile_set_avatar_url
+matrix_profile_get_avatar_url
+matrix_profile_set_display_name
+matrix_profile_get_display_name
+MatrixProfile
+
+matrix_profile_construct
+
+
+
+matrix-room
+MatrixRoom
+MATRIX_TYPE_ROOM
+MatrixRoomClass
+matrix_room_new
+matrix_room_add_member
+matrix_room_get_or_add_member
+matrix_room_get_member
+matrix_room_remove_member
+matrix_room_clear_user_levels
+matrix_room_set_user_level
+matrix_room_get_user_level
+matrix_room_clear_event_levels
+matrix_room_set_event_level
+matrix_room_get_event_level
+matrix_room_get_room_id
+matrix_room_get_aliases
+matrix_room_set_aliases
+matrix_room_get_avatar_url
+matrix_room_set_avatar_url
+matrix_room_get_avatar_info
+matrix_room_set_avatar_info
+matrix_room_get_avatar_thumbnail_url
+matrix_room_set_avatar_thumbnail_url
+matrix_room_get_avatar_thumbnail_info
+matrix_room_set_avatar_thumbnail_info
+matrix_room_get_canonical_alias
+matrix_room_set_canonical_alias
+matrix_room_get_creator
+matrix_room_set_creator
+matrix_room_get_federate
+matrix_room_set_federate
+matrix_room_get_guest_access
+matrix_room_set_guest_access
+matrix_room_get_history_visibility
+matrix_room_set_history_visibility
+matrix_room_get_join_rules
+matrix_room_set_join_rules
+matrix_room_get_name
+matrix_room_set_name
+matrix_room_get_default_power_level
+matrix_room_set_default_power_level
+matrix_room_get_default_event_level
+matrix_room_set_default_event_level
+matrix_room_get_default_state_level
+matrix_room_set_default_state_level
+matrix_room_get_ban_level
+matrix_room_set_ban_level
+matrix_room_get_kick_level
+matrix_room_set_kick_level
+matrix_room_get_redact_level
+matrix_room_set_redact_level
+matrix_room_get_invite_level
+matrix_room_set_invite_level
+matrix_room_get_topic
+matrix_room_set_topic
+matrix_room_get_typing_users
+matrix_room_set_typing_users
+MatrixRoom
+
+matrix_room_construct
+
+
+
+matrix-types
+MatrixError
+MATRIX_ERROR
+matrix_error_quark
+MatrixAccountKind
+MatrixEventDirection
+MatrixEventFormat
+MatrixPresence
+MatrixPusherConditionKind
+MatrixPusherKind
+MatrixReceiptType
+MatrixResizeMethod
+MatrixRoomMembership
+MatrixRoomPreset
+MatrixRoomVisibility
+MatrixJoinRules
+MatrixSearchOrder
+MatrixSearchKey
+MatrixSearchGroupBy
+MatrixHistoryVisibility
+MatrixGuestAccess
+MatrixCallOfferType
+MatrixCallAnswerType
+matrix_file_info_new
+matrix_file_info_ref
+matrix_file_info_unref
+matrix_file_info_set_size
+matrix_file_info_get_size
+matrix_file_info_set_mimetype
+matrix_file_info_get_mimetype
+matrix_file_info_set_from_json
+matrix_file_info_get_json_node
+matrix_audio_info_new
+matrix_audio_info_ref
+matrix_audio_info_unref
+matrix_audio_info_set_size
+matrix_audio_info_get_size
+matrix_audio_info_set_mimetype
+matrix_audio_info_get_mimetype
+matrix_audio_info_set_duration
+matrix_audio_info_get_duration
+matrix_audio_info_set_from_json
+matrix_audio_info_get_json_node
+matrix_image_info_new
+matrix_image_info_ref
+matrix_image_info_unref
+matrix_image_info_set_size
+matrix_image_info_get_size
+matrix_image_info_set_height
+matrix_image_info_get_height
+matrix_image_info_set_width
+matrix_image_info_get_width
+matrix_image_info_set_mimetype
+matrix_image_info_get_mimetype
+matrix_image_info_set_from_json
+matrix_image_info_get_json_node
+matrix_image_info_differs
+matrix_video_info_new
+matrix_video_info_ref
+matrix_video_info_unref
+matrix_video_info_set_size
+matrix_video_info_get_size
+matrix_video_info_set_mimetype
+matrix_video_info_get_mimetype
+matrix_video_info_set_duration
+matrix_video_info_get_duration
+matrix_video_info_set_width
+matrix_video_info_get_width
+matrix_video_info_set_height
+matrix_video_info_get_height
+matrix_video_info_set_thumbnail_url
+matrix_video_info_get_thumbnail_url
+matrix_video_info_set_thumbnail_info
+matrix_video_info_get_thumbnail_info
+matrix_video_info_set_from_json
+matrix_video_info_get_json_node
+
+MATRIX_TYPE_AUDIO_INFO
+MATRIX_TYPE_FILE_INFO
+MATRIX_TYPE_IMAGE_INFO
+MATRIX_TYPE_VIDEO_INFO
+MatrixAudioInfo
+MatrixFileInfo
+MatrixImageInfo
+MatrixVideoInfo
+matrix_audio_info_get_type
+matrix_file_info_get_type
+matrix_image_info_get_type
+matrix_video_info_get_type
+
+
+
+matrix-version
+MATRIX_GLIB_MAJOR_VERSION
+MATRIX_GLIB_MINOR_VERSION
+MATRIX_GLIB_MICRO_VERSION
+matrix_glib_check_version
+MATRIX_GLIB_CHECK_VERSION
+
diff --git a/docs/valadoc/Makefile.am b/docs/valadoc/Makefile.am
deleted file mode 100644
index 03cf6ba..0000000
--- a/docs/valadoc/Makefile.am
+++ /dev/null
@@ -1,5 +0,0 @@
-SUBDIRS =
-
-if ENABLE_GTK_DOCS
- SUBDIRS += gtk-doc
-endif
diff --git a/docs/valadoc/gtk-doc/Makefile.am b/docs/valadoc/gtk-doc/Makefile.am
deleted file mode 100644
index c34685e..0000000
--- a/docs/valadoc/gtk-doc/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-include $(top_srcdir)/vala-globals.mk
-CLEANFILES =
-
-sources = $(top_srcdir)/src/*.vala
-
-gtkdocdir = $(datadir)/gtk-doc/html/matrix-glib
-gtkdoc_DATA = \
- gtk-doc/matrix-glib/*.txt \
- gtk-doc/matrix-glib/*.xml \
- gtk-doc/matrix-glib/xml/*.xml \
- gtk-doc/matrix-glib/xml/*.top \
- gtk-doc/matrix-glib/xml/*.bottom \
- gtk-doc/matrix-glib/*.types \
- gtk-doc/matrix-glib/sgml.stamp \
- $(NULL)
-
-$(gtkdoc_DATA): matrix-glib-gtk-doc
-
-matrix-glib-gtk-doc:
- $(VALADOC) -o gtk-doc/matrix-glib --doclet=gtkdoc \
- -X $(top_builddir)/src/matrix-glib.h \
- $(VALADOC_FLAGS) $(sources)
-
-all: matrix-glib-gtk-doc
-
-clean-local:
- rm -rf gtk-doc
- rm -rf matrix-glib
diff --git a/git.mk b/git.mk
new file mode 100644
index 0000000..d5bf7b8
--- /dev/null
+++ b/git.mk
@@ -0,0 +1,227 @@
+# git.mk
+#
+# Copyright 2009, Red Hat, Inc.
+# Copyright 2010,2011 Behdad Esfahbod
+# Written by Behdad Esfahbod
+#
+# Copying and distribution of this file, with or without modification,
+# is permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+#
+# The latest version of this file can be downloaded from:
+# https://raw.github.com/behdad/git.mk/master/git.mk
+# Bugs, etc, should be reported upstream at:
+# https://github.com/behdad/git.mk
+#
+# To use in your project, import this file in your git repo's toplevel,
+# then do "make -f git.mk". This modifies all Makefile.am files in
+# your project to -include git.mk. Remember to add that line to new
+# Makefile.am files you create in your project, or just rerun the
+# "make -f git.mk".
+#
+# This enables automatic .gitignore generation. If you need to ignore
+# more files, add them to the GITIGNOREFILES variable in your Makefile.am.
+# But think twice before doing that. If a file has to be in .gitignore,
+# chances are very high that it's a generated file and should be in one
+# of MOSTLYCLEANFILES, CLEANFILES, DISTCLEANFILES, or MAINTAINERCLEANFILES.
+#
+# The only case that you need to manually add a file to GITIGNOREFILES is
+# when remove files in one of mostlyclean-local, clean-local, distclean-local,
+# or maintainer-clean-local make targets.
+#
+# Note that for files like editor backup, etc, there are better places to
+# ignore them. See "man gitignore".
+#
+# If "make maintainer-clean" removes the files but they are not recognized
+# by this script (that is, if "git status" shows untracked files still), send
+# me the output of "git status" as well as your Makefile.am and Makefile for
+# the directories involved and I'll diagnose.
+#
+# For a list of toplevel files that should be in MAINTAINERCLEANFILES, see
+# Makefile.am.sample in the git.mk git repo.
+#
+# Don't EXTRA_DIST this file. It is supposed to only live in git clones,
+# not tarballs. It serves no useful purpose in tarballs and clutters the
+# build dir.
+#
+# This file knows how to handle autoconf, automake, libtool, gtk-doc,
+# gnome-doc-utils, yelp.m4, mallard, intltool, gsettings, dejagnu.
+#
+# This makefile provides the following targets:
+#
+# - all: "make all" will build all gitignore files.
+# - gitignore: makes all gitignore files in the current dir and subdirs.
+# - .gitignore: make gitignore file for the current dir.
+# - gitignore-recurse: makes all gitignore files in the subdirs.
+#
+# KNOWN ISSUES:
+#
+# - Recursive configure doesn't work as $(top_srcdir)/git.mk inside the
+# submodule doesn't find us. If you have configure.{in,ac} files in
+# subdirs, add a proxy git.mk file in those dirs that simply does:
+# "include $(top_srcdir)/../git.mk". Add more ..'s to your taste.
+# And add those files to git. See vte/gnome-pty-helper/git.mk for
+# example.
+#
+
+git-all: git-mk-install
+
+git-mk-install:
+ @echo Installing git makefile
+ @any_failed=; \
+ find "`test -z "$(top_srcdir)" && echo . || echo "$(top_srcdir)"`" -name Makefile.am | while read x; do \
+ if grep 'include .*/git.mk' $$x >/dev/null; then \
+ echo $$x already includes git.mk; \
+ else \
+ failed=; \
+ echo "Updating $$x"; \
+ { cat $$x; \
+ echo ''; \
+ echo '-include $$(top_srcdir)/git.mk'; \
+ } > $$x.tmp || failed=1; \
+ if test x$$failed = x; then \
+ mv $$x.tmp $$x || failed=1; \
+ fi; \
+ if test x$$failed = x; then : else \
+ echo Failed updating $$x; >&2 \
+ any_failed=1; \
+ fi; \
+ fi; done; test -z "$$any_failed"
+
+.PHONY: git-all git-mk-install
+
+
+### .gitignore generation
+
+$(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
+ $(AM_V_GEN) \
+ { \
+ if test "x$(DOC_MODULE)" = x -o "x$(DOC_MAIN_SGML_FILE)" = x; then :; else \
+ for x in \
+ $(DOC_MODULE)-decl-list.txt \
+ $(DOC_MODULE)-decl.txt \
+ tmpl/$(DOC_MODULE)-unused.sgml \
+ "tmpl/*.bak" \
+ xml html \
+ ; do echo /$$x; done; \
+ fi; \
+ if test "x$(DOC_MODULE)$(DOC_ID)" = x -o "x$(DOC_LINGUAS)" = x; then :; else \
+ for lc in $(DOC_LINGUAS); do \
+ for x in \
+ $(if $(DOC_MODULE),$(DOC_MODULE).xml) \
+ $(DOC_PAGES) \
+ $(DOC_INCLUDES) \
+ ; do echo /$$lc/$$x; done; \
+ done; \
+ for x in \
+ $(_DOC_OMF_ALL) \
+ $(_DOC_DSK_ALL) \
+ $(_DOC_HTML_ALL) \
+ $(_DOC_MOFILES) \
+ $(DOC_H_FILE) \
+ "*/.xml2po.mo" \
+ "*/*.omf.out" \
+ ; do echo /$$x; done; \
+ fi; \
+ if test "x$(HELP_ID)" = x -o "x$(HELP_LINGUAS)" = x; then :; else \
+ for lc in $(HELP_LINGUAS); do \
+ for x in \
+ $(HELP_FILES) \
+ "$$lc.stamp" \
+ "$$lc.mo" \
+ ; do echo /$$lc/$$x; done; \
+ done; \
+ fi; \
+ if test "x$(gsettings_SCHEMAS)" = x; then :; else \
+ for x in \
+ $(gsettings_SCHEMAS:.xml=.valid) \
+ $(gsettings__enum_file) \
+ ; do echo /$$x; done; \
+ fi; \
+ if test -f $(srcdir)/po/Makefile.in.in; then \
+ for x in \
+ po/Makefile.in.in \
+ po/Makefile.in \
+ po/Makefile \
+ po/POTFILES \
+ po/stamp-it \
+ po/.intltool-merge-cache \
+ "po/*.gmo" \
+ "po/*.mo" \
+ po/$(GETTEXT_PACKAGE).pot \
+ intltool-extract.in \
+ intltool-merge.in \
+ intltool-update.in \
+ ; do echo /$$x; done; \
+ fi; \
+ if test -f $(srcdir)/configure; then \
+ for x in \
+ autom4te.cache \
+ configure \
+ config.h \
+ stamp-h1 \
+ libtool \
+ config.lt \
+ ; do echo /$$x; done; \
+ fi; \
+ if test "x$(DEJATOOL)" = x; then :; else \
+ for x in \
+ $(DEJATOOL) \
+ ; do echo /$$x.sum; echo /$$x.log; done; \
+ echo /site.exp; \
+ fi; \
+ for x in \
+ .gitignore \
+ $(GITIGNOREFILES) \
+ $(CLEANFILES) \
+ $(PROGRAMS) $(check_PROGRAMS) $(EXTRA_PROGRAMS) \
+ $(LIBRARIES) $(check_LIBRARIES) $(EXTRA_LIBRARIES) \
+ $(LTLIBRARIES) $(check_LTLIBRARIES) $(EXTRA_LTLIBRARIES) \
+ so_locations \
+ .libs _libs \
+ $(MOSTLYCLEANFILES) \
+ "*.$(OBJEXT)" \
+ "*.lo" \
+ $(DISTCLEANFILES) \
+ $(am__CONFIG_DISTCLEAN_FILES) \
+ $(CONFIG_CLEAN_FILES) \
+ TAGS ID GTAGS GRTAGS GSYMS GPATH tags \
+ "*.tab.c" \
+ $(MAINTAINERCLEANFILES) \
+ $(BUILT_SOURCES) \
+ $(DEPDIR) \
+ Makefile \
+ Makefile.in \
+ "*.orig" \
+ "*.rej" \
+ "*.bak" \
+ "*~" \
+ ".*.sw[nop]" \
+ ".dirstamp" \
+ ; do echo /$$x; done; \
+ } | \
+ sed "s@^/`echo "$(srcdir)" | sed 's/\(.\)/[\1]/g'`/@/@" | \
+ sed 's@/[.]/@/@g' | \
+ LC_ALL=C sort | uniq > $@.tmp && \
+ mv $@.tmp $@;
+
+all: $(srcdir)/.gitignore gitignore-recurse-maybe
+gitignore: $(srcdir)/.gitignore gitignore-recurse
+
+gitignore-recurse-maybe:
+ @for subdir in $(DIST_SUBDIRS); do \
+ case " $(SUBDIRS) " in \
+ *" $$subdir "*) :;; \
+ *) test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) .gitignore gitignore-recurse-maybe || echo "Skipping $$subdir");; \
+ esac; \
+ done
+gitignore-recurse:
+ @for subdir in $(DIST_SUBDIRS); do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) .gitignore gitignore-recurse || echo "Skipping $$subdir"); \
+ done
+
+maintainer-clean: gitignore-clean
+gitignore-clean:
+ -rm -f $(srcdir)/.gitignore
+
+.PHONY: gitignore-clean gitignore gitignore-recurse gitignore-recurse-maybe
diff --git a/src/matrix-version.c b/src/matrix-version.c
index 9bbad3a..ef7e895 100644
--- a/src/matrix-version.c
+++ b/src/matrix-version.c
@@ -18,6 +18,54 @@
#include "matrix-version.h"
+/**
+ * SECTION:matrix-version
+ * @short_description: Library version information
+ * @title: Version information for the SDK
+ *
+ * Version information macros and functions for the Matrix GLib SDK
+ */
+
+/**
+ * MATRIX_GLIB_MAJOR_VERSION:
+ *
+ * The major version number of the Matrix.org GLib SDK.
+ */
+
+/**
+ * MATRIX_GLIB_MINOR_VERSION:
+ *
+ * The minor version number of the Matrix.org GLib SDK.
+ */
+
+/**
+ * MATRIX_GLIB_MICRO_VERSION:
+ *
+ * The micro (patch) version number of the Matrix.org GLib SDK.
+ */
+
+/**
+ * MATRIX_GLIB_CHECK_VERSION:
+ * @required_major: the required major version
+ * @required_minor: the required minor version
+ * @required_micro: the required micro version
+ *
+ * Macro to check that the Matrix.org GLib SDK being compiled against is compatible with the given
+ * version.
+ *
+ * Returns: TRUE if the required version is satisfied; FALSE otherwise.
+ */
+
+/**
+ * matrix_glib_check_version:
+ * @required_major: the required major version
+ * @required_minor: the required minor version
+ * @required_micro: the required micro version
+ *
+ * Check that the Matrix.org GLib SDK in use is compatible with the given version.
+ *
+ * Returns: TRUE if the required version is satisfied; FALSE otherwise.
+ */
gboolean
matrix_glib_check_version(guint required_major,
guint required_minor,
diff --git a/src/matrix-version.h.in b/src/matrix-version.h.in
index 43ac4ef..21bed98 100644
--- a/src/matrix-version.h.in
+++ b/src/matrix-version.h.in
@@ -30,9 +30,9 @@ matrix_glib_check_version(guint required_major,
guint required_minor,
guint required_micro);
-#define MATRIX_GLIB_CHECK_VERSION(major, minor, micro) \
- (MATRIX_GLIB_MAJOR_VERSION > (major) || \
- (MATRIX_GLIB_MAJOR_VERSION == (major) && MATRIX_GLIB_MINOR_VERSION > (minor)) || \
- (MATRIX_GLIB_MAJOR_VERSION == (major) && MATRIX_GLIB_MINOR_VERSION == (minor) && MATRIX_GLIB_MICRO_VERSION >= (micro)))
+#define MATRIX_GLIB_CHECK_VERSION(required_major, required_minor, required_micro) \
+ (MATRIX_GLIB_MAJOR_VERSION > (required_major) || \
+ (MATRIX_GLIB_MAJOR_VERSION == (required_major) && MATRIX_GLIB_MINOR_VERSION > (required_minor)) || \
+ (MATRIX_GLIB_MAJOR_VERSION == (required_major) && MATRIX_GLIB_MINOR_VERSION == (required_minor) && MATRIX_GLIB_MICRO_VERSION >= (required_micro)))
#endif /* __MATRIX_VERSION_H__ */
diff --git a/vapi/c-api.vapi b/vapi/c-api.vapi
index ab1fa17..6464417 100644
--- a/vapi/c-api.vapi
+++ b/vapi/c-api.vapi
@@ -1060,33 +1060,16 @@ namespace Matrix {
public void load_state(string filename)
throws Matrix.Error, GLib.Error;
}
- /**
- * The major version number of the Matrix.org GLib SDK.
- */
+
[CCode (cheader_filename = "matrix-version.h", cname = "MATRIX_GLIB_MAJOR_VERSION")]
public const int GLIB_MAJOR_VERSION;
- /**
- * The micro (patch) version number of the Matrix.org GLib SDK.
- */
[CCode (cheader_filename = "matrix-version.h", cname = "MATRIX_GLIB_MINOR_VERSION")]
public const int GLIB_MINOR_VERSION;
- /**
- * The minor version number of the Matrix.org GLib SDK.
- */
[CCode (cheader_filename = "matrix-version.h", cname = "MATRIX_GLIB_MICRO_VERSION")]
public const int GLIB_MICRO_VERSION;
- /**
- * Check that the Matrix.org GLib SDK in use is compatible with
- * the given version.
- *
- * @param required_major the required major version
- * @param required_minor the required minor version
- * @param required_micro the required micro version
- * @return {{{true}}} if the required version is satisfied; {{{false}}} otherwise.
- */
[CCode (cheader_filename = "matrix-version.h", cname = "matrix_glib_check_version")]
public bool glib_check_version(uint required_major,
uint required_minor,