GLib based library to communicate with Matrix.org homeservers
Go to file
Gergely Polonkai d79bb0d9ec Add the MatrixClient::event signal 2016-03-04 14:00:42 +01:00
docs/reference/matrix-glib Add the MatrixClient::event signal 2016-03-04 14:00:42 +01:00
m4 Update autotools to Vala usage 2016-03-04 14:00:06 +01:00
src Add the MatrixClient::event signal 2016-03-04 14:00:42 +01:00
.gitignore Define MatrixEvent 2016-03-04 14:00:42 +01:00
AUTHORS Add AUTHORS, NEWS and README files 2016-02-22 14:54:15 +01:00
COPYING Add COPYING file 2016-02-21 23:17:35 +01:00
Makefile.am Update autogen and toplevel Makefile 2016-03-02 11:46:39 +01:00
NEWS Add AUTHORS, NEWS and README files 2016-02-22 14:54:15 +01:00
README Add AUTHORS, NEWS and README files 2016-02-22 14:54:15 +01:00
README.md Update README.md 2016-01-13 22:45:35 +01:00
autogen.sh Rework MatrixClient in Vala 2016-03-04 14:00:06 +01:00
configure.ac Define MatrixEvent 2016-03-04 14:00:42 +01:00
vala-globals.mk Define MatrixEvent 2016-03-04 14:00:42 +01:00

README.md

Matrix Client SDK for GLib

This is a Matrix.org client-server SDK for GLib >= 2.40. It contains both raw API calls and a signal based asynchronous client. The API and ABI are both very volatile as of now; dont rely on any specific feature until the API is frozen.

The main interfaces are MatrixAPI and MatrixClient. MatrixHTTPAPI and MatrixHTTPClient implement these interfaces, respectively and can communicate with an HTTP based homeserver. If a new protocol becomes supported oficially, a new API and Client class will be added.

Usage

The SDK provides two layers of interaction. The low-level layer (MatrixAPI implementations like MatrixHTTPAPI) just wraps the raw API calls. The high-level layer (MatrixClient implementations like MatrixHTTPClient) is a GMainLoop based asynchronous object that emits GObject signals and uses the low-level layer to provide an object model to perform actions on.

Client

The MatrixClient interface is not fully planned yet.

API

For a full blown example, see test-client.c.