Commit Graph

478 Commits

Author SHA1 Message Date
Gergely Polonkai 51a4b1492c Port MatrixError to C 2017-12-05 16:05:39 +01:00
Gergely Polonkai 9054fb2a72 Get rid of libgee
It is said to be a bad idea to use in libraries anyway, but definitely makes porting back to C
harder.
2017-11-28 18:14:17 +01:00
Gergely Polonkai 5bc80a215f Update Matrix.API to comply with the current spec 2017-11-28 18:14:17 +01:00
Gergely Polonkai e77e6473b8 Update Matrix.API to comply with the current spec 2017-10-28 07:59:14 +02:00
Gergely Polonkai 3c6b0a85bf Fix reference of the json-glib package
The G-I-R file seems to work bad with Vala.
2017-10-27 18:23:35 +02:00
Gergely Polonkai 2a098de9bf Add differs() method to Matrix.ImageIngo
Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
2016-03-22 10:47:16 +00:00
Gergely Polonkai 2dc42021b6 Add set_user_level() and set_event_level() to Matrix.Event.RoomPowerLevels
Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
2016-03-22 10:11:14 +00:00
Gergely Polonkai a73866a918 Fix formatting in matrix-client.vala 2016-03-21 17:25:04 +01:00
Gergely Polonkai 5fedf09f76 Define polling-started and polling-stopped signals
Client.sync() invokes them when polling is started or stopped for any
reason.

Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
2016-03-21 15:48:31 +01:00
Gergely Polonkai 457371b25b Fix call to g_mkdir_with_parents() in test-client
Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
2016-03-21 15:37:49 +01:00
Gergely Polonkai 4c6ffe59f4 Documentation fix for Matrix.Room.get_member()
Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
2016-03-21 15:37:24 +01:00
Gergely Polonkai 758ee3ae81 Add documentation to properties and methods
Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
2016-03-21 14:23:17 +01:00
Gergely Polonkai 1d16628861 Start polling in test client upon a successful login
This was removed unintentionally two commits ago.

Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
2016-03-21 11:51:24 +01:00
Gergely Polonkai 6ab67b44be Do a token_refresh if forbidden(ish) error received 2016-03-21 10:45:27 +00:00
Gergely Polonkai d9a032ac28 Make test client save its state and load it on startup
The save data goes to $XDG_CACHE_HOME/matrix-glib-sdk/base_url_sha1

Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
2016-03-21 10:39:16 +00:00
Gergely Polonkai 33bb63e4f1 Add debug output to state load/save 2016-03-20 18:46:59 +00:00
Gergely Polonkai 21ee03d030 Fix matrix_http_api_set_base_url()
It didn’t save the actual base URL.
2016-03-20 14:25:27 +00:00
Gergely Polonkai 4ce4ae4641 Add save_state() and load_state() to Client 2016-03-20 12:39:46 +00:00
Gergely Polonkai 734a8349d0 Add the Client.send() method 2016-03-19 08:12:13 +01:00
Gergely Polonkai 161c171144 Rename API.send_message_event and API.send_room_event
This is to avoid confusion.

* send_message_event became send_event
* send_room_event became send_state_event
2016-03-18 22:07:46 +00:00
Gergely Polonkai b125086669 Fix test-api-client to correctly instantiate the API class 2016-03-18 22:07:36 +00:00
Gergely Polonkai ca4b897d99 Add contribution details
The file is adopted from the Matrix project, but applies pretty well
to this SDK.

Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
2016-03-18 19:30:50 +00:00
Gergely Polonkai cf53bfa686 Rename Matrix.API.set_user_presence to set_presence
This is to keep consistency
2016-03-18 17:18:28 +01:00
Gergely Polonkai 8d725d9f34 Patch up Matrix.HTTPAPI constructor
It now includes a refresh_token parameter, and has a documentation.
2016-03-18 17:05:18 +01:00
Gergely Polonkai 4db2d5ebf2 Update power levels in Matrix.Room objects when a m.room.power_levels event arrives 2016-03-18 16:58:49 +01:00
Gergely Polonkai 3f7057c652 Move Matrix.Event.RoomPowerLevels internals from HashTable to Gee.HashMap 2016-03-18 16:58:23 +01:00
Gergely Polonkai 00a67705e7 Add user and event level manipulation to Matrix.Room 2016-03-18 16:57:47 +01:00
Gergely Polonkai 3dd3568384 Add per-room profile caching 2016-03-18 11:59:57 +01:00
Gergely Polonkai 15d1896669 Refactor event type checking in HTTP client
Instead of evt.get_type().is_a(typeof(…)) we now use evt is …
2016-03-18 11:59:32 +01:00
Gergely Polonkai 3ddac22f78 Add Client.get_room_by_alias 2016-03-18 11:17:04 +01:00
Gergely Polonkai 0e4a572058 Fix enum value documentations 2016-03-18 09:55:22 +00:00
Gergely Polonkai 341cb2f31c Add code of conduct and contact to README 2016-03-17 20:17:21 +00:00
Gergely Polonkai 5cdbc16aa8 Add a basic MatrixClient C example to README 2016-03-17 17:30:17 +00:00
Gergely Polonkai c8f815c542 Add Client.get_room_by_id() 2016-03-17 17:16:51 +01:00
Gergely Polonkai 9f236de0b9 Fix return value type of Client.get_user_presence() 2016-03-17 17:03:17 +01:00
Gergely Polonkai 3bc8735eb5 Fix message types to always have a body 2016-03-17 17:03:17 +01:00
Gergely Polonkai 5254776d4f Remove possibility of NULL for properties with fundamental types
It is not supported by GObject.
2016-03-17 17:03:17 +01:00
Gergely Polonkai 34b0bea889 Workaround for a missing user_id in m.presence
Despite the Spec, it usually doesn’t have content.user_id, but does have sender
2016-03-17 14:56:22 +01:00
Gergely Polonkai c547e5c080 Protect debug message in Matrix.Event.Receipt 2016-03-17 14:56:22 +01:00
Gergely Polonkai 710c575479 Fix Matrix.Event.RoomCreate
It had a bool? property, which is invalid
2016-03-17 14:56:22 +01:00
Gergely Polonkai ee9e27f8d2 Start caching room data 2016-03-17 10:04:48 +00:00
Gergely Polonkai c9465dc1c0 Move from using Lists to arrays 2016-03-17 10:04:26 +00:00
Gergely Polonkai f6df2200b7 Add Matrix.Room to hold room data 2016-03-16 17:09:30 +00:00
Gergely Polonkai fcc592b072 Fix state and room events
* State event descended from Event, but it is actually based on Room
* Room events may have a missing room_id property due to HS
* optimization
2016-03-16 17:13:05 +01:00
Gergely Polonkai 62eb4e7e21 Add get_user_presence() and get_user_profile() to Client 2016-03-14 23:09:09 +00:00
Gergely Polonkai 04950f8c34 Rename Matrix.API.get_user_presence() to get_presence()
This is for not to clash with future Matrix.Client.get_user_presence()
and to comply with Matrix.API.get_profile() which has similar
functionality.
2016-03-14 23:09:09 +00:00
Gergely Polonkai f1d1eda2e4 Create the Profile object 2016-03-14 23:09:08 +00:00
Gergely Polonkai 595d93412b Add message handler for m.location 2016-03-10 20:03:17 +01:00
Gergely Polonkai 4c9a79758a Add message handler for m.video 2016-03-10 19:47:57 +01:00
Gergely Polonkai 39a4e2f73c Add the VideoInfo struct 2016-03-10 19:46:01 +01:00