Commit Graph

457 Commits

Author SHA1 Message Date
Gergely Polonkai c581f9e2fb Add event handler for m.room.history_visibility 2016-03-07 17:29:16 +01:00
Gergely Polonkai 13abc13adc Add event handler for m.receipt 2016-03-07 16:38:19 +01:00
Gergely Polonkai 0aaab4af7e Add event handler for m.room.aliases events 2016-03-07 16:38:19 +01:00
Gergely Polonkai f48eaf4c88 Fix Matrix.Event.RoomMember
It now complies with the Matrix spec.
2016-03-07 16:38:19 +01:00
Gergely Polonkai 26d144c593 Add Matrix.Event.State.get_stripped_node()
This returns the full state event if it is allowed to be stripped.
It is needed for m.room.member events.
2016-03-07 16:38:19 +01:00
Gergely Polonkai 3a39c704f1 Add event handler for m.typing 2016-03-07 16:38:19 +01:00
Gergely Polonkai d4ce1cb06c Add handler for m.room.topic events 2016-03-07 16:38:19 +01:00
Gergely Polonkai 70dfaff080 Move Event types to the Matrix.Event namespace 2016-03-07 16:38:19 +01:00
Gergely Polonkai 5f0b877db1 Restructure Matrix.Error value documentation 2016-03-07 16:38:19 +01:00
Gergely Polonkai 97a075d2d2 Fix debug output in HTTPAPI._send() 2016-03-07 09:51:59 +01:00
Gergely Polonkai f37d90e468 Wrap debug messages in Config.DEBUG checks 2016-03-05 07:36:07 +00:00
Gergely Polonkai 95084b8e93 Move internal vapis to a separate directory
Now it's more maintainable and the config constants are made available
2016-03-05 07:35:55 +00:00
Gergely Polonkai e93a7675c0 Move documentation generating to Valadoc
Generating Vala documentation with GTK-Doc is a bit of PITA. Using
Valadoc is much easier, so we are moving there.
2016-03-04 14:52:22 +01:00
Gergely Polonkai 6356ead2b2 Add MatrixClient based test client 2016-03-04 14:35:00 +01:00
Gergely Polonkai 444a93bddf Create the MatrixRoomMessageEvent type
Currently it only handles msgtype and body; more complex types like
documents or images are to be implemented soon.
2016-03-04 14:35:00 +01:00
Gergely Polonkai 2e8343f9bc Fully remove C utility functions 2016-03-04 14:35:00 +01:00
Gergely Polonkai 1bfd8906b6 Redesign MatrixStateEvent as a GObject 2016-03-04 14:35:00 +01:00
Gergely Polonkai ec8f51bced Add search functionality to Matrix API 2016-03-04 14:35:00 +01:00
Gergely Polonkai 50e8d7cd92 Move HTTPClient to the /sync API
The /events API is deprecated according to the Spec.
2016-03-04 14:34:58 +01:00
Gergely Polonkai 1073eecb2f Redesign MatrixPresenceEvent
It is now a MatrixEvent subclass.
2016-03-04 14:23:00 +01:00
Gergely Polonkai 3e6a021a0f Add MatrixRoomMemberEvent 2016-03-04 14:22:59 +01:00
Gergely Polonkai 80d4791658 Add the MatrixRoomMembership enum type 2016-03-04 14:22:27 +01:00
Gergely Polonkai 14031f7faa Add utility function _json_object_node_ensure_field() 2016-03-04 14:22:27 +01:00
Gergely Polonkai 3ba45a1d47 Add MatrixRoomEvent 2016-03-04 14:22:27 +01:00
Gergely Polonkai 6a543fe2c6 Handle all events via MatrixClient::event 2016-03-04 14:22:25 +01:00
Gergely Polonkai d79bb0d9ec Add the MatrixClient::event signal 2016-03-04 14:00:42 +01:00
Gergely Polonkai 0c90d8b00c Create an internal hashtable for event type handlers 2016-03-04 14:00:42 +01:00
Gergely Polonkai 977cfc3f8c Add library constructor function 2016-03-04 14:00:42 +01:00
Gergely Polonkai a3623c55f4 Borrow G_DEFINE_CONSTRUCTOR from GLib 2016-03-04 14:00:42 +01:00
Gergely Polonkai 1e7c54dd45 Define MatrixEvent 2016-03-04 14:00:42 +01:00
Gergely Polonkai 033139672f Add type MatrixUnsignedEventData 2016-03-04 14:00:42 +01:00
Gergely Polonkai 526da5f114 Update Makefile
* .gir file is now generated by Vala
* .vapi now gets installed
2016-03-04 14:00:06 +01:00
Gergely Polonkai 9e7b4f29a8 Add version information functions to the VAPI 2016-03-04 14:00:06 +01:00
Gergely Polonkai 65d2f39dcd Move MatrixError to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai a8da282d0b Rework StateEvent in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 6bf5515693 Move the RoomVisibility enum to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai ddf4c9de73 Move the RoomPreset enum to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai f9542d2f0c Move the ReceiptType enum to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai afbaff4a4b Move the PusherKind enum to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai e5d110d0f4 Move the PusherConditionKind enum to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 78b98b4a5c Move the Presence enum to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai a99ec3ba61 Rework _json_node_deep_copy in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 19ef7de1f0 Rework MatrixPresenceEvent in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 6409b75398 Move the EventDirection enum to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai b870802721 Move the AccountKind enum to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai f203171443 Move the ResizeMethod enum to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 666dce73ab Rework MatrixPusher in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai ecdd3a7dcd Rework Matrix3PidCredential in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 132ea9c426 Rework MatrixFilterRules in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai e35cd53d79 Rework MatrixRoomFilter in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 6f540e4652 Move the EventFormat enum to Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 9cf47d2e9b Rework MatrixFilter in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 141542fe40 Add base class for future compacts 2016-03-04 14:00:06 +01:00
Gergely Polonkai cf8bed1c40 Rework MatrixHTTPClient in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 7d5a10e282 Rework MatrixHTTPAPI in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 4d1d6562d0 Rework _g_enum_to_string in Vala
Its new name is Matrix._g_enum_value_to_nick
2016-03-04 14:00:06 +01:00
Gergely Polonkai bd4efee0cf Rework MatrixClient in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai d5833c4cee Rework MatrixAPI in Vala 2016-03-04 14:00:06 +01:00
Gergely Polonkai 2eb4828cdb Update autotools to Vala usage 2016-03-04 14:00:06 +01:00
Gergely Polonkai de402cfa92 Fix test-api-client
Now it finishes processing if login was not successful
2016-03-04 13:59:45 +01:00
Gergely Polonkai fed43df034 Fix for matrix-http-client
The instance and class structs had a bad parent referenc
2016-03-02 13:35:53 +01:00
Gergely Polonkai eb17da9f57 Sanitize marshaler generating 2016-03-02 11:47:12 +01:00
Gergely Polonkai 34d77fa2eb Update autogen and toplevel Makefile
This is partly to fix an issue with the INSTALL file missing
2016-03-02 11:46:39 +01:00
Gergely Polonkai 68b7a2d8db Add all error codes from current Synapse 2016-02-28 08:41:30 +01:00
Gergely Polonkai 11c10d9eae Fix a warning in HTTP API _send function 2016-02-28 08:23:23 +01:00
Gergely Polonkai 9f87e8b646 Sanitize M_ error codes 2016-02-11 17:11:34 +01:00
Gergely Polonkai bf32466112 Fix compiler warnings 2016-02-11 16:43:06 +01:00
Gergely Polonkai 76068ee2bd Fix .gir file name in src/Makefile.am 2016-02-11 15:05:35 +01:00
Gergely Polonkai 695f165831 Fix Makefile.am to eliminate warnings about duplicate recipes 2016-02-11 12:50:13 +01:00
Gergely Polonkai 3de14b2f4a Bugfix for HTTP API’s invite_user 2016-02-09 14:56:54 +01:00
Gergely Polonkai 530ed8cb8d Add the MATRIX_API_CALLBACK cast macro 2016-01-30 10:02:00 +01:00
Gergely Polonkai 2f366ee30d Add the MATRIX_API_CALLBACK_PROTO convenience macro
It can ease creating API callback function headers.
2016-01-29 17:49:28 +01:00
Gergely Polonkai def0f85086 Fix API endpoint paths
/v1 and /v2 has been consolidated to /r0; also, /api was removed.
2016-01-29 17:02:51 +01:00
Gergely Polonkai c95f093ace Add MatrixPresenceEvent type
It is an abstraction layer for presence events.
2016-01-27 13:10:20 +01:00
Gergely Polonkai cfb13f6d06 Add MATRIX_API_PRESENCE_UNKNOWN 2016-01-27 07:40:55 +01:00
Gergely Polonkai a2b0efbfe4 Fix for json_node_deep_copy
It didn’t properly initialized the copied nodes.
2016-01-27 07:40:30 +01:00
Gergely Polonkai bb098be87c Create utility function _json_node_deep_copy()
It truly duplicates a JsonNode, in contrast with json_node_copy(), which
just increases reference counts.
2016-01-26 19:25:50 +01:00
Gergely Polonkai 94529710b1 Create utility function _g_enum_nick_to_value() 2016-01-26 19:25:46 +01:00
Gergely Polonkai abfbd7e53b Implement begin_polling and stop_polling 2016-01-26 19:23:28 +01:00
Gergely Polonkai 9badfa6f28 Implement MatrixClient.logout 2016-01-26 19:20:37 +01:00
Gergely Polonkai 65213319d3 Implement MatrixClient.register_with_password 2016-01-26 19:20:27 +01:00
Gergely Polonkai 61132c5ab5 Implement MatrixClient.login_with_password 2016-01-26 19:01:14 +01:00
Gergely Polonkai 66813be539 Create the MatrixHTTPClient skeleton 2016-01-26 19:00:11 +01:00
Gergely Polonkai c56dee6c56 Rename MatrixAPIStateEvent to MatrixStateEvent 2016-01-25 16:36:18 +01:00
Gergely Polonkai f51a4ba63c Rename MatrixAPIPusher to MatrixPusher 2016-01-25 16:30:39 +01:00
Gergely Polonkai 45b071365d Rename MatrixAPI3PidCredential to Matrix3PidCredential 2016-01-25 16:22:17 +01:00
Gergely Polonkai e6ddc5193a Rename MatrixAPIRoomFilter to MatrixRoomFilter 2016-01-25 16:11:32 +01:00
Gergely Polonkai 8f5877a2f0 Rename MatrixAPIFilter to MatrixFilter 2016-01-25 16:11:32 +01:00
Gergely Polonkai 7ab4e556bd Rename MatrixAPIFilterRules to MatrixFilterRules 2016-01-25 16:11:32 +01:00
Gergely Polonkai e163e73f2c Rename enum types from MatrixAPI* to Matrix* 2016-01-25 16:11:31 +01:00
Gergely Polonkai d3ac019188 Rename MatrixAPIError to MatrixError 2016-01-25 16:11:22 +01:00
Gergely Polonkai fbb24e3acc Rename matrix-api-types.[ch] to matrix-types.[ch] 2016-01-25 16:11:22 +01:00
Gergely Polonkai 19a5ab01a0 Add the MatrixClient::login-finished signal 2016-01-24 15:40:26 +01:00
Gergely Polonkai ad265c310d Rename g_enum_to_string to _g_enum_to_string
This is to avoid name clashes and exclude it from introspection and
documentation.
2016-01-24 15:08:12 +01:00
Gergely Polonkai 372e989ee2 Update documentation of matrix_client_register_with_password() 2016-01-24 15:07:03 +01:00
Gergely Polonkai 283463810b Documentation fix for MatrixAPI.register_account 2016-01-24 15:07:02 +01:00
Gergely Polonkai f081d9e17e Remove MatrixClient.refresh_token
matrix_api_token_refresh() is an easy enough alternative.
2016-01-22 16:21:29 +01:00
Gergely Polonkai 32d87394d9 Fix token_refresh in MatrixHTTPAPI
It sent the authorization token instead of the refresh token
2016-01-22 16:14:23 +01:00
Gergely Polonkai cab2225077 Implement MatrixAPI.abort_pending 2016-01-22 16:01:26 +01:00
Gergely Polonkai 04b02d4d5a Implement MatrixAPI.get_turn_server 2016-01-22 16:01:26 +01:00
Gergely Polonkai 3993bb112c Add MatrixAPI.abort_pending definition 2016-01-22 16:01:26 +01:00
Gergely Polonkai 258d7bec86 Add error parameter to MatrixClient prototypes 2016-01-22 11:34:57 +01:00
Gergely Polonkai 15ebaa3974 Fix MatrixClient definition
* Remove `*_get_room` and `*_get_user` definitions, as it is yet unclear
  if they will be needed
* Documentation fix; begin_polling references a yet non-existing signal
2016-01-22 11:34:04 +01:00
Gergely Polonkai 9f6178c0ee Fix error reporting in MatrixHTTPAPI 2016-01-22 11:07:19 +01:00
Gergely Polonkai 152765b7f9 Rework MatrixClient as an interface 2016-01-21 18:39:03 +01:00
Gergely Polonkai 30f1fc4291 Fixes for MatrixHTTPAPI
* obj_properties wasn't static
* the associated SoupSession object wasn't freed
2016-01-21 18:38:47 +01:00
Gergely Polonkai f2362cffc2 Rename test-client to test-api-client
This is to avoid naming confusions.
2016-01-21 16:37:58 +01:00
Gergely Polonkai cdd5ebcd9b Add NULL checks in the MatrixAPI calls 2016-01-21 15:43:51 +01:00
Gergely Polonkai f44a7e8785 Add (allow-none) annotation to add_room_tag’s content
Although the specification says it is required, the body of the request
can actually be an empty JSON object; and that is what we send if a JSON
content is NULL.
2016-01-21 15:43:29 +01:00
Gergely Polonkai 7d5b516005 Move invite_user_3pid() to direct MatrixAPI3PidCredential use 2016-01-21 15:37:04 +01:00
Gergely Polonkai 3e93e9e77d Add 3rd party credential invite possibility to create_room()
This is to comply with Matrix API r0.0.1
2016-01-21 15:36:23 +01:00
Gergely Polonkai c73f76a235 Remove allow-none clause from register_account’s password parameter
It is not allowed by the specification.
2016-01-21 15:36:23 +01:00
Gergely Polonkai cbfb0fbe72 Change login’s type param to login_type
It is for not to clash with some languages (like Python).
2016-01-21 15:24:53 +01:00
Gergely Polonkai 5fc5a0e79d Redesign base_url setting so there is now a function for it 2016-01-21 07:59:13 +01:00
Gergely Polonkai 08cfb118fd Redesign matrix_http_api_new() so it returns MatrixAPI
This is for easier work with the interface.
2016-01-21 07:59:13 +01:00
Gergely Polonkai c012b05bac Rework make output for the enumtypes feles 2016-01-18 18:22:56 +01:00
Gergely Polonkai 090e23efe1 Add documentation for matrix_api_filter_get_json_data() 2016-01-18 17:16:29 +01:00
Gergely Polonkai b5c569be55 Implement add_room_tag 2016-01-16 15:28:10 +01:00
Gergely Polonkai 2dfdb754f3 Fix add_room_tag prototype and vfunc 2016-01-16 15:28:09 +01:00
Gergely Polonkai 1cdda64f47 Implement delete_room_tag 2016-01-16 15:18:18 +01:00
Gergely Polonkai 2b97578ab6 Implement get_room_tags 2016-01-16 15:08:11 +01:00
Gergely Polonkai e553e93307 Implement set_account_data 2016-01-16 15:08:11 +01:00
Gergely Polonkai 8ce974e195 Change set_account_data’s type param to event_type
It is for not to clash with some languages (like Python)
2016-01-16 15:08:08 +01:00
Gergely Polonkai 0369b387c1 Remove `const` constraint from set_account_data’s content 2016-01-16 14:37:57 +01:00
Gergely Polonkai 2be41f0463 Implement register_account 2016-01-16 14:35:51 +01:00
Gergely Polonkai 5b1ea70b48 Update register_account() according to specification 2016-01-16 14:35:51 +01:00
Gergely Polonkai 6d9b13cd63 Add the MatrixAPIAccountKind type 2016-01-16 14:35:51 +01:00
Gergely Polonkai 25801ed3b8 Implement set_display_name 2016-01-16 14:12:14 +01:00
Gergely Polonkai f307f5aca2 Implement get_display_name 2016-01-16 14:12:14 +01:00
Gergely Polonkai b3724498ab Implement set_avatar_url 2016-01-16 14:12:14 +01:00
Gergely Polonkai 89d89d9dd3 Implement get_avatar_url 2016-01-16 00:46:15 +01:00
Gergely Polonkai fb3bfd9d70 Implement get_profile 2016-01-15 20:43:55 +01:00
Gergely Polonkai 02518c495b Iplement change_password 2016-01-15 20:39:13 +01:00
Gergely Polonkai 094fae0443 Implement add_3pid 2016-01-15 20:33:54 +01:00
Gergely Polonkai 07eae08d89 Add JSON getters for MatrixAPI3PidCredential 2016-01-15 20:32:13 +01:00
Gergely Polonkai ccb9e47bb8 Implement versions 2016-01-15 20:03:17 +01:00
Gergely Polonkai 83e7152c87 Implement get_3pids 2016-01-15 20:01:28 +01:00
Gergely Polonkai 8b332eaaea Implement token_refresh 2016-01-15 19:40:46 +01:00
Gergely Polonkai 46b5f5d918 Implement whois 2016-01-15 19:40:46 +01:00
Gergely Polonkai b4e263cdd9 Implement download_filter 2016-01-15 19:40:46 +01:00
Gergely Polonkai f2ccc585fe Implement create_filter 2016-01-15 19:40:46 +01:00
Gergely Polonkai 13c8707dbf Update MatrixAPI with the versions API call 2016-01-15 19:23:51 +01:00
Gergely Polonkai c2593c6cd0 Implement i_sync 2016-01-15 18:00:12 +01:00
Gergely Polonkai 0b17b583ab Add JSON getters for MatrixAPIFilter 2016-01-15 17:59:59 +01:00
Gergely Polonkai b24bcd8bca Add MATRIX_API_ERROR_BAD_REQUEST to MatrixAPIError 2016-01-15 17:59:13 +01:00
Gergely Polonkai 4b62305c08 Move enum_to_string to utils.c as g_enum_to_string 2016-01-15 17:58:35 +01:00
Gergely Polonkai 9455f95150 Implement notify_room_typing 2016-01-15 17:14:43 +01:00
Gergely Polonkai f56e5389ed Implement send_room_event 2016-01-15 17:09:05 +01:00
Gergely Polonkai 668c782df7 Remove `const` constraint from send_room_event’s content 2016-01-15 17:09:05 +01:00
Gergely Polonkai 5f66269262 Implement get_room_state 2016-01-15 17:09:05 +01:00
Gergely Polonkai 4ef92710e0 Implement send_message_event 2016-01-15 16:51:24 +01:00
Gergely Polonkai 11bd9002af Remove `const` constraint from send_message_event’s content 2016-01-15 16:51:09 +01:00
Gergely Polonkai f028ac838a Implement redact_event 2016-01-15 16:45:30 +01:00
Gergely Polonkai ef5adcdfc1 Implement send_event_receipt 2016-01-15 16:38:52 +01:00
Gergely Polonkai 68833931e0 Change send_event_recepit_type’s type param to receipt_type
It is for not to clash with some languages (like Python).
2016-01-15 16:38:39 +01:00
Gergely Polonkai d20e9a9060 Implement list_room_messages 2016-01-15 16:31:02 +01:00
Gergely Polonkai f5abd813c8 Implement list_room_members 2016-01-15 16:24:39 +01:00
Gergely Polonkai e4fe819d6e Implement initial_sync_room 2016-01-15 16:21:08 +01:00
Gergely Polonkai 7646efdcc7 Implement get_event_context 2016-01-15 16:16:50 +01:00
Gergely Polonkai bbd190acc7 Implement invite_user 2016-01-15 16:08:37 +01:00
Gergely Polonkai 429add0558 Implement invite_user_3rdparty 2016-01-15 16:03:33 +01:00
Gergely Polonkai 2cb3928cf0 Implement forget_room 2016-01-15 15:56:51 +01:00
Gergely Polonkai 394d189fb4 Implement ban_user 2016-01-15 15:53:11 +01:00
Gergely Polonkai 04afd73bd8 Implement create_room_alias 2016-01-15 15:45:41 +01:00
Gergely Polonkai 0d8d041cb4 Implement get_room_id 2016-01-15 15:40:33 +01:00
Gergely Polonkai e0fcbae86b Implement delete_room_alias 2016-01-15 15:37:36 +01:00
Gergely Polonkai 3c9d939838 Implement toggle_pusher 2016-01-15 15:33:50 +01:00
Gergely Polonkai dd6a273cf8 Implement add_pusher 2016-01-15 15:29:57 +01:00
Gergely Polonkai a22df12d27 Annotation fix
Changed GString to utf8 in element-type annotations.
2016-01-15 15:29:41 +01:00
Gergely Polonkai 959efd9d6f Implement get_pusher 2016-01-15 15:12:31 +01:00
Gergely Polonkai 110c388f48 Implement delete_pusher 2016-01-15 15:10:11 +01:00
Gergely Polonkai 35028e66b0 Add enum_to_string() to convert enumeration values to string 2016-01-15 15:09:59 +01:00
Gergely Polonkai 4b62015d93 Implement get_pushers 2016-01-15 14:49:39 +01:00
Gergely Polonkai f8e6b4b782 Implement update_pusher 2016-01-15 14:43:58 +01:00
Gergely Polonkai 3e464e7318 Rename modify_pusher update_pusher
It reflects the functionality better.
2016-01-15 14:43:27 +01:00
Gergely Polonkai 26875278e3 Implement set_user_presence 2016-01-15 14:31:45 +01:00
Gergely Polonkai 22ad1b30d6 Implement update_presence_list 2016-01-15 14:04:50 +01:00
Gergely Polonkai 74ec6100c9 Implement media_upload 2016-01-15 13:58:01 +01:00
Gergely Polonkai 84c0eb569d Remove `const` constraint from media_upload’s content 2016-01-15 13:58:01 +01:00
Gergely Polonkai 59ae4b266f Allow specifying request content type 2016-01-15 13:58:01 +01:00
Gergely Polonkai 0b2b05b215 Implement media_thumbnail 2016-01-15 13:32:57 +01:00
Gergely Polonkai 8f086dc40a Add MATRIX_API_RESIZE_METHOD_DEFAULT to MatrixAPIResizeMethod 2016-01-15 13:25:24 +01:00
Gergely Polonkai 7ed72bffc1 Implement media_download 2016-01-15 13:13:38 +01:00
Gergely Polonkai 0b0be1d460 Add separate media URI 2016-01-15 13:13:23 +01:00
Gergely Polonkai 97a169959c Accept non-json content 2016-01-15 13:09:39 +01:00
Gergely Polonkai 441287a880 Implement get_user_presence 2016-01-15 12:56:20 +01:00
Gergely Polonkai 451c7e4863 Rework base URL setting 2016-01-15 12:38:37 +01:00
Gergely Polonkai 842a516e21 Add M_UNRECOGNIZED to MatrixAPIError 2016-01-15 12:20:46 +01:00
Gergely Polonkai 0b003dd612 Implement get_presence_list 2016-01-15 10:37:10 +01:00
Gergely Polonkai a037cb7aad Error fixes 2016-01-15 10:36:47 +01:00
Gergely Polonkai 2b06e8d1ef Reorganize MatrixAPI vtable members
Just for readability and to follow conventions.
2016-01-13 17:21:56 +01:00
Gergely Polonkai 7d40b63896 Add M_NOT_JSON to MatrixAPIError 2016-01-13 17:21:56 +01:00
Gergely Polonkai ea7d9aaec4 Implement join_room 2016-01-13 17:21:55 +01:00
Gergely Polonkai c4cb8bd204 Implement list_public_rooms 2016-01-13 17:21:55 +01:00
Gergely Polonkai a6ba98ecc6 Implement leave_room 2016-01-13 17:21:55 +01:00
Gergely Polonkai 48ce66e73d Fix MatrixHTTPAPI's _send() for empty requests
It now correctly sends an empty JSON object.
2016-01-13 17:21:55 +01:00
Gergely Polonkai 9ff67c008a Fix some warnings, debugs and unneeded messages 2016-01-13 17:21:55 +01:00
Gergely Polonkai 374831f01d Remove construct-only flag from MatrixHTTPAPI:base-url
Documentation also added that all tokens get reset when changing it.
2016-01-13 08:21:01 +01:00
Gergely Polonkai 6736322562 Refuse sending anything without a valid base-URL
This also allows us to remove the construct-only flag from :base-url.
2016-01-13 08:21:00 +01:00
Gergely Polonkai 28b1662ad4 Fix: stop test-client from crashing if no homeserver is given 2016-01-13 08:21:00 +01:00
Gergely Polonkai 061bd2d71e Rework option parsing in test-client
Setting the property didn't change soup_session:ssl-strict
2016-01-13 08:20:59 +01:00
Gergely Polonkai 92944fe8ff Rework option parsing in test-client 2016-01-12 22:14:31 +01:00
Gergely Polonkai 579c5f071e Fix warnings in test-client.c 2016-01-12 21:14:20 +01:00
Gergely Polonkai b0c26bcec2 Fix return values in property getters 2016-01-12 21:14:04 +01:00
Gergely Polonkai 769f91cec6 Make use of MatrixHTTPAPI:validate-certificate
It is also included in the test client as acommand line option.
2016-01-12 18:07:24 +00:00
Gergely Polonkai 2a96aaa6af Implement event_stream 2016-01-12 17:11:21 +01:00
Gergely Polonkai c6f7c7dd56 Implement initial_sync 2016-01-12 17:11:15 +01:00
Gergely Polonkai 78bbf4ef18 Add debugging code 2016-01-12 17:10:50 +01:00
Gergely Polonkai 1059fe4392 Automatically send token if present 2016-01-12 17:10:50 +01:00
Gergely Polonkai a959141b52 Redesign error code handling
`err` is always set now, even if the response is not valid.
2016-01-12 14:10:25 +01:00
Gergely Polonkai b11d5b2eb5 Add new error codes to MatrixAPIError 2016-01-12 14:10:25 +01:00
Gergely Polonkai 37b1742462 Add create-room call to test client 2016-01-12 14:10:25 +01:00
Gergely Polonkai 2fdaea2119 Documentation fixes 2016-01-12 14:10:24 +01:00
Gergely Polonkai 5351f657fc Fix: refresh_token now gets updated correctly
A refresh token in the response incorrectly set the access token with
the received value.
2016-01-12 14:10:09 +01:00
Gergely Polonkai b71bb84920 Get callback function called even if there is an error 2016-01-11 17:44:37 +01:00
Gergely Polonkai 4847f73668 Move enumerations to matrix-api-types.[ch] 2016-01-11 17:42:53 +01:00
Gergely Polonkai 4aa99ea19b Make MatrixAPIStateEvent a boxed type 2016-01-11 17:42:53 +01:00
Gergely Polonkai edbc6222e3 Make MatrixAPIPusher a boxed type 2016-01-11 17:42:52 +01:00
Gergely Polonkai 127c1b4b61 Move MatrixAPIError to matrix-api-types.[ch] 2016-01-11 17:42:52 +01:00
Gergely Polonkai ad8e202367 Make MatrixAPI3PidCredential a boxed type 2016-01-11 17:42:51 +01:00
Gergely Polonkai 72f317a941 Make MatrixAPIFilter a boxed type 2016-01-11 17:42:50 +01:00
Gergely Polonkai 512020a0ea Move MatrixAPIEventFormat enum to matrix-api-types.h 2016-01-11 17:42:49 +01:00
Gergely Polonkai 90a360ecd6 Make MatrixAPIRoomFilter a boxed type 2016-01-11 17:42:49 +01:00
Gergely Polonkai e11dbc503d Merge MatrixAPIEventFilter and MatrixAPIPresenceFilter into a boxed type 2016-01-11 17:42:48 +01:00
Gergely Polonkai 95a6112a2a Add MatrixAPI:homeserver property 2016-01-11 17:42:47 +01:00
Gergely Polonkai f6fa56e7b0 Add MatrixAPI:user-id property 2016-01-11 17:42:47 +01:00
Gergely Polonkai 8f2a8e23a7 Add the refresh-token property 2016-01-11 17:42:04 +01:00
Gergely Polonkai 9e2d486b19 Start reimplementing HTTP API with the new interface 2016-01-11 17:40:54 +01:00
Gergely Polonkai 503ff71f3c Start redefining MatrixAPI methods based on the Matrix.org API 2016-01-11 17:40:49 +01:00
Gergely Polonkai ded4fc04bd Add create room to test client 2016-01-05 16:25:20 +01:00
Gergely Polonkai 1834d8ada9 Make HTTP API to send the access token automatically 2016-01-05 16:20:19 +01:00
Gergely Polonkai 556732702a Move from gchar * to SoupURI with URIs 2016-01-05 16:19:17 +01:00
Gergely Polonkai 2dbc3ea316 Add response error handling to the HTTP API 2016-01-05 16:15:28 +01:00
Gergely Polonkai 9552136059 Add our own error quark 2016-01-05 15:32:44 +01:00
Gergely Polonkai 444161ec1b Documentation fix 2015-12-15 13:31:48 +01:00
Gergely Polonkai e15df6ea2e Add a GError parameter to MatrixAPICallback 2015-12-15 11:09:51 +01:00
Gergely Polonkai 6b6b3b8954 Implement /join/$room_id 2015-12-15 11:09:19 +01:00
Gergely Polonkai ad3a5dfd32 Remove unnecessary debug message 2015-12-15 10:16:14 +01:00
Gergely Polonkai eb3ad3633f Fix debug message in MatrixHTTPAPI
It now prints the whole JSON data that has been parsed.
2015-12-15 10:08:12 +01:00
Gergely Polonkai 10b6296565 Create a test client 2015-12-15 10:08:12 +01:00
Gergely Polonkai 52b86422b8 Documentation fix 2015-12-15 10:08:12 +01:00
Gergely Polonkai 7f149035a0 Implement /createRoom 2015-12-15 09:36:41 +01:00
Gergely Polonkai 056c4c1ce7 Implement /initialSync 2015-12-15 09:36:41 +01:00
Gergely Polonkai 9f763865db Documentation fix 2015-12-15 09:36:41 +01:00
Gergely Polonkai 2f2ab12c08 Implement /register in the HTTP API 2015-12-14 20:34:31 +01:00
Gergely Polonkai e9baaaf60f Add missing matrix_api_get_type() prototype 2015-12-14 20:34:31 +01:00
Gergely Polonkai 38151404db Documentation fix for matrix_api_create_room() 2015-12-14 20:34:31 +01:00
Gergely Polonkai 0ec0c7c34e Implement MatrixAPI->login 2015-12-14 16:33:09 +01:00
Gergely Polonkai 4283dc4452 Add the matrix_http_api_gen_parameters() convenience method 2015-12-14 16:32:23 +01:00
Gergely Polonkai 8ae80a755a Add getter for MatrixHTTPAPI:base-url 2015-12-14 16:31:27 +01:00