f1a58f84b8
Add a .pc file
2016-03-10 19:07:33 +01:00
ddf2165cc2
Patch up Matrix.Event.Base
...
* Require event_type to be present
2016-03-09 17:34:39 +01:00
a33e3cf6b2
Patch up Matrix.Event.Typing
...
* Print debug messages when debug is enabled
2016-03-09 16:27:37 +01:00
4a5aef0a10
Patch up Matrix.Event.RoomTopic
...
* Require an empty state_key
2016-03-09 16:22:29 +01:00
d714661c17
Patch up Matrix.Event.RoomThirdPartyInvite
...
* Print debug messages only if debug is enabled
2016-03-09 16:22:29 +01:00
49a8b1f665
Add value description to HistoryVisibility
2016-03-09 16:22:29 +01:00
feb2bd0323
Patch up Matrix.Event.RoomPowerLevels
...
* Require an empty state_key
* Make levels int instead of int? with saneish defaults
2016-03-09 16:22:29 +01:00
75ab5512f1
Patch up Matrix.Event.RoomName
...
* Require an empty state_key
2016-03-09 16:22:29 +01:00
9be25a5d61
Remove unused UnsignedEventData class
...
It is now implemented in Matrix.Event.Room
2016-03-09 16:22:29 +01:00
4a86522b72
Remove unused _json_object_node_ensure_field
...
It is now implemented in Matrix.Event.Base
2016-03-09 16:22:29 +01:00
e317df6f01
Patch up Matrix.Event.RoomMember
...
* Require a non-empty state key
* Throw exception if membership is unknown
2016-03-09 16:22:29 +01:00
42f1d50877
Patch up Matrix.Event.RoomJoinRules
...
* Require an empty state key
* Use JoinRules instead of JoinRules?
2016-03-09 16:22:29 +01:00
7817fb68f6
Patch up Matrix.Event.RoomHistoryVisibility
...
* Require an empty state_key
2016-03-09 16:22:29 +01:00
969d9d27ea
Patch up Matrix.Event.RoomGuestAccess
...
* Require an empty state_key
* Use GuestAccess instead of GuestAccess?
2016-03-09 16:22:29 +01:00
3fe5b57d1c
Patch up Matrix.Event.RoomCreate
...
* Require an empty state key
2016-03-09 16:22:29 +01:00
be2220b079
Patch up Matrix.Event.RoomCanonicalAlias
...
* Require an empty state key
2016-03-09 16:22:29 +01:00
a68afb1efb
Patch up Matrix.Event.RoomAvatar
...
* Require an empty state key
2016-03-09 16:22:29 +01:00
ddf3fccbaa
Patch up Matrix.Event.State
...
* Use private members
* Make state_key mandatory
2016-03-09 16:22:29 +01:00
a668dc7b98
Patch up Matrix.Event.Presence
...
* Process the event_id field
* Use private members instead of the public ones
2016-03-09 15:28:18 +01:00
06daf1757c
Patch up Matrix.Event.Typing
...
* Add from_json() and to_json() methods
2016-03-09 13:54:08 +01:00
27e27667ef
Patch up Matrix.Event.RoomBase
...
* Chain up from from_json() and to_json()
* Add reading of unsigned data in from_json()
* Use private members in to_json()
2016-03-09 13:44:48 +01:00
c2569c70d0
Patch up Matrix.Event.RoomAliases
...
* Add a to_json() method
* Chain up in from_json()
2016-03-09 13:37:57 +01:00
a39edfc15a
Move Matrix.Event.Receipt._receipt_data to Gee.HashMap
2016-03-09 13:21:14 +01:00
51c204cc90
Fix Matrix.Event.Receipt
...
It lacked chaining up in from_json() and the whole to_json() method
2016-03-09 12:02:47 +01:00
ff6400a94a
Create a base call for m.call.* events
2016-03-09 11:43:53 +01:00
b9ded01e98
Add to_json() to Matrix.Event.CallInvite
2016-03-09 11:33:44 +01:00
11de94b822
Add event handler for m.call.hangup
2016-03-09 11:20:18 +01:00
b6b5bbf567
Add event handler for m.call.answer
2016-03-09 10:36:55 +01:00
399105d961
Add event handler for m.call.candidates
2016-03-09 10:04:44 +01:00
be8910b8be
Add event handler for m.call.invite
2016-03-09 08:26:53 +00:00
1f804e0d42
Add event handler for m.room.third_party_invite
2016-03-09 07:22:54 +00:00
6db0e82ca7
Make _state_key of Event.State protected
...
Some state events give a meaning to state_key but having a separate
property is a bit of overkill.
2016-03-09 07:18:21 +00:00
e958e0ecc7
Add event handler for m.room.redaction
2016-03-08 20:49:34 +00:00
66ae5cff58
Add event handler for m.room.guest_access
2016-03-08 18:18:37 +00:00
3f7bf44989
Add event handler for m.room.message.feedback
2016-03-08 17:41:34 +01:00
18bff85653
Add event handler for m.room.avatar
2016-03-08 17:39:24 +01:00
d267b9e110
Add the Matrix.ImageInfo type
2016-03-08 17:09:28 +01:00
ff2530ed2d
Fix for m.tag handler
...
Remove call to deprecated Json.Object.add_member() method
2016-03-08 16:21:35 +01:00
529fb29155
Add event handler for m.room.power_levels
2016-03-08 16:21:05 +01:00
c8c26a5398
Fix presence event reporting in test client
2016-03-08 14:28:44 +01:00
39fd66946e
Add event handler for m.room.create
2016-03-08 14:13:02 +01:00
bfc5062f90
Add event handler for m.room.canonical_alias
2016-03-08 14:03:38 +01:00
83d021dfbe
Wrap long comment line in enum docs
2016-03-08 12:53:20 +00:00
69a8dc7954
Add event handler for m.tag
2016-03-08 12:52:42 +00:00
5c121cef0e
Add handler for m.room.name
2016-03-07 22:58:07 +00:00
82536c650d
Add event handler for m.room.join_rules
2016-03-07 18:17:32 +00:00
c581f9e2fb
Add event handler for m.room.history_visibility
2016-03-07 17:29:16 +01:00
13abc13adc
Add event handler for m.receipt
2016-03-07 16:38:19 +01:00
0aaab4af7e
Add event handler for m.room.aliases events
2016-03-07 16:38:19 +01:00
f48eaf4c88
Fix Matrix.Event.RoomMember
...
It now complies with the Matrix spec.
2016-03-07 16:38:19 +01:00
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
3a39c704f1
Add event handler for m.typing
2016-03-07 16:38:19 +01:00
d4ce1cb06c
Add handler for m.room.topic events
2016-03-07 16:38:19 +01:00
70dfaff080
Move Event types to the Matrix.Event namespace
2016-03-07 16:38:19 +01:00
5f0b877db1
Restructure Matrix.Error value documentation
2016-03-07 16:38:19 +01:00
97a075d2d2
Fix debug output in HTTPAPI._send()
2016-03-07 09:51:59 +01:00
f37d90e468
Wrap debug messages in Config.DEBUG checks
2016-03-05 07:36:07 +00:00
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
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
6356ead2b2
Add MatrixClient based test client
2016-03-04 14:35:00 +01:00
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
2e8343f9bc
Fully remove C utility functions
2016-03-04 14:35:00 +01:00
1bfd8906b6
Redesign MatrixStateEvent as a GObject
2016-03-04 14:35:00 +01:00
ec8f51bced
Add search functionality to Matrix API
2016-03-04 14:35:00 +01:00
50e8d7cd92
Move HTTPClient to the /sync API
...
The /events API is deprecated according to the Spec.
2016-03-04 14:34:58 +01:00
1073eecb2f
Redesign MatrixPresenceEvent
...
It is now a MatrixEvent subclass.
2016-03-04 14:23:00 +01:00
3e6a021a0f
Add MatrixRoomMemberEvent
2016-03-04 14:22:59 +01:00
80d4791658
Add the MatrixRoomMembership enum type
2016-03-04 14:22:27 +01:00
14031f7faa
Add utility function _json_object_node_ensure_field()
2016-03-04 14:22:27 +01:00
3ba45a1d47
Add MatrixRoomEvent
2016-03-04 14:22:27 +01:00
6a543fe2c6
Handle all events via MatrixClient::event
2016-03-04 14:22:25 +01:00
d79bb0d9ec
Add the MatrixClient::event signal
2016-03-04 14:00:42 +01:00
0c90d8b00c
Create an internal hashtable for event type handlers
2016-03-04 14:00:42 +01:00
977cfc3f8c
Add library constructor function
2016-03-04 14:00:42 +01:00
a3623c55f4
Borrow G_DEFINE_CONSTRUCTOR from GLib
2016-03-04 14:00:42 +01:00
1e7c54dd45
Define MatrixEvent
2016-03-04 14:00:42 +01:00
033139672f
Add type MatrixUnsignedEventData
2016-03-04 14:00:42 +01:00
526da5f114
Update Makefile
...
* .gir file is now generated by Vala
* .vapi now gets installed
2016-03-04 14:00:06 +01:00
9e7b4f29a8
Add version information functions to the VAPI
2016-03-04 14:00:06 +01:00
65d2f39dcd
Move MatrixError to Vala
2016-03-04 14:00:06 +01:00
a8da282d0b
Rework StateEvent in Vala
2016-03-04 14:00:06 +01:00
6bf5515693
Move the RoomVisibility enum to Vala
2016-03-04 14:00:06 +01:00
ddf4c9de73
Move the RoomPreset enum to Vala
2016-03-04 14:00:06 +01:00
f9542d2f0c
Move the ReceiptType enum to Vala
2016-03-04 14:00:06 +01:00
afbaff4a4b
Move the PusherKind enum to Vala
2016-03-04 14:00:06 +01:00
e5d110d0f4
Move the PusherConditionKind enum to Vala
2016-03-04 14:00:06 +01:00
78b98b4a5c
Move the Presence enum to Vala
2016-03-04 14:00:06 +01:00
a99ec3ba61
Rework _json_node_deep_copy in Vala
2016-03-04 14:00:06 +01:00
19ef7de1f0
Rework MatrixPresenceEvent in Vala
2016-03-04 14:00:06 +01:00
6409b75398
Move the EventDirection enum to Vala
2016-03-04 14:00:06 +01:00
b870802721
Move the AccountKind enum to Vala
2016-03-04 14:00:06 +01:00
f203171443
Move the ResizeMethod enum to Vala
2016-03-04 14:00:06 +01:00
666dce73ab
Rework MatrixPusher in Vala
2016-03-04 14:00:06 +01:00
ecdd3a7dcd
Rework Matrix3PidCredential in Vala
2016-03-04 14:00:06 +01:00
132ea9c426
Rework MatrixFilterRules in Vala
2016-03-04 14:00:06 +01:00
e35cd53d79
Rework MatrixRoomFilter in Vala
2016-03-04 14:00:06 +01:00
6f540e4652
Move the EventFormat enum to Vala
2016-03-04 14:00:06 +01:00
9cf47d2e9b
Rework MatrixFilter in Vala
2016-03-04 14:00:06 +01:00
141542fe40
Add base class for future compacts
2016-03-04 14:00:06 +01:00
cf8bed1c40
Rework MatrixHTTPClient in Vala
2016-03-04 14:00:06 +01:00
7d5a10e282
Rework MatrixHTTPAPI in Vala
2016-03-04 14:00:06 +01:00
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
bd4efee0cf
Rework MatrixClient in Vala
2016-03-04 14:00:06 +01:00
d5833c4cee
Rework MatrixAPI in Vala
2016-03-04 14:00:06 +01:00
2eb4828cdb
Update autotools to Vala usage
2016-03-04 14:00:06 +01:00
de402cfa92
Fix test-api-client
...
Now it finishes processing if login was not successful
2016-03-04 13:59:45 +01:00
fed43df034
Fix for matrix-http-client
...
The instance and class structs had a bad parent referenc
2016-03-02 13:35:53 +01:00
eb17da9f57
Sanitize marshaler generating
2016-03-02 11:47:12 +01:00
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
68b7a2d8db
Add all error codes from current Synapse
2016-02-28 08:41:30 +01:00
11c10d9eae
Fix a warning in HTTP API _send function
2016-02-28 08:23:23 +01:00
9f87e8b646
Sanitize M_ error codes
2016-02-11 17:11:34 +01:00
bf32466112
Fix compiler warnings
2016-02-11 16:43:06 +01:00
76068ee2bd
Fix .gir file name in src/Makefile.am
2016-02-11 15:05:35 +01:00
695f165831
Fix Makefile.am to eliminate warnings about duplicate recipes
2016-02-11 12:50:13 +01:00
3de14b2f4a
Bugfix for HTTP API’s invite_user
2016-02-09 14:56:54 +01:00
530ed8cb8d
Add the MATRIX_API_CALLBACK cast macro
2016-01-30 10:02:00 +01:00
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
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
c95f093ace
Add MatrixPresenceEvent type
...
It is an abstraction layer for presence events.
2016-01-27 13:10:20 +01:00
cfb13f6d06
Add MATRIX_API_PRESENCE_UNKNOWN
2016-01-27 07:40:55 +01:00
a2b0efbfe4
Fix for json_node_deep_copy
...
It didn’t properly initialized the copied nodes.
2016-01-27 07:40:30 +01:00
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
94529710b1
Create utility function _g_enum_nick_to_value()
2016-01-26 19:25:46 +01:00
abfbd7e53b
Implement begin_polling and stop_polling
2016-01-26 19:23:28 +01:00
9badfa6f28
Implement MatrixClient.logout
2016-01-26 19:20:37 +01:00
65213319d3
Implement MatrixClient.register_with_password
2016-01-26 19:20:27 +01:00
61132c5ab5
Implement MatrixClient.login_with_password
2016-01-26 19:01:14 +01:00
66813be539
Create the MatrixHTTPClient skeleton
2016-01-26 19:00:11 +01:00
c56dee6c56
Rename MatrixAPIStateEvent to MatrixStateEvent
2016-01-25 16:36:18 +01:00
f51a4ba63c
Rename MatrixAPIPusher to MatrixPusher
2016-01-25 16:30:39 +01:00
45b071365d
Rename MatrixAPI3PidCredential to Matrix3PidCredential
2016-01-25 16:22:17 +01:00
e6ddc5193a
Rename MatrixAPIRoomFilter to MatrixRoomFilter
2016-01-25 16:11:32 +01:00
8f5877a2f0
Rename MatrixAPIFilter to MatrixFilter
2016-01-25 16:11:32 +01:00
7ab4e556bd
Rename MatrixAPIFilterRules to MatrixFilterRules
2016-01-25 16:11:32 +01:00
e163e73f2c
Rename enum types from MatrixAPI* to Matrix*
2016-01-25 16:11:31 +01:00
d3ac019188
Rename MatrixAPIError to MatrixError
2016-01-25 16:11:22 +01:00
fbb24e3acc
Rename matrix-api-types.[ch] to matrix-types.[ch]
2016-01-25 16:11:22 +01:00
19a5ab01a0
Add the MatrixClient::login-finished signal
2016-01-24 15:40:26 +01:00
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
372e989ee2
Update documentation of matrix_client_register_with_password()
2016-01-24 15:07:03 +01:00
283463810b
Documentation fix for MatrixAPI.register_account
2016-01-24 15:07:02 +01:00
f081d9e17e
Remove MatrixClient.refresh_token
...
matrix_api_token_refresh() is an easy enough alternative.
2016-01-22 16:21:29 +01:00
32d87394d9
Fix token_refresh in MatrixHTTPAPI
...
It sent the authorization token instead of the refresh token
2016-01-22 16:14:23 +01:00
cab2225077
Implement MatrixAPI.abort_pending
2016-01-22 16:01:26 +01:00
04b02d4d5a
Implement MatrixAPI.get_turn_server
2016-01-22 16:01:26 +01:00
3993bb112c
Add MatrixAPI.abort_pending definition
2016-01-22 16:01:26 +01:00
258d7bec86
Add error parameter to MatrixClient prototypes
2016-01-22 11:34:57 +01:00
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
9f6178c0ee
Fix error reporting in MatrixHTTPAPI
2016-01-22 11:07:19 +01:00
152765b7f9
Rework MatrixClient as an interface
2016-01-21 18:39:03 +01:00
30f1fc4291
Fixes for MatrixHTTPAPI
...
* obj_properties wasn't static
* the associated SoupSession object wasn't freed
2016-01-21 18:38:47 +01:00
f2362cffc2
Rename test-client to test-api-client
...
This is to avoid naming confusions.
2016-01-21 16:37:58 +01:00
cdd5ebcd9b
Add NULL checks in the MatrixAPI calls
2016-01-21 15:43:51 +01:00
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
7d5b516005
Move invite_user_3pid() to direct MatrixAPI3PidCredential use
2016-01-21 15:37:04 +01:00
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
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
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
5fc5a0e79d
Redesign base_url setting so there is now a function for it
2016-01-21 07:59:13 +01:00
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
c012b05bac
Rework make output for the enumtypes feles
2016-01-18 18:22:56 +01:00
090e23efe1
Add documentation for matrix_api_filter_get_json_data()
2016-01-18 17:16:29 +01:00
b5c569be55
Implement add_room_tag
2016-01-16 15:28:10 +01:00
2dfdb754f3
Fix add_room_tag prototype and vfunc
2016-01-16 15:28:09 +01:00
1cdda64f47
Implement delete_room_tag
2016-01-16 15:18:18 +01:00
2b97578ab6
Implement get_room_tags
2016-01-16 15:08:11 +01:00
e553e93307
Implement set_account_data
2016-01-16 15:08:11 +01:00
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
0369b387c1
Remove const
constraint from set_account_data’s content
2016-01-16 14:37:57 +01:00
2be41f0463
Implement register_account
2016-01-16 14:35:51 +01:00
5b1ea70b48
Update register_account() according to specification
2016-01-16 14:35:51 +01:00
6d9b13cd63
Add the MatrixAPIAccountKind type
2016-01-16 14:35:51 +01:00
25801ed3b8
Implement set_display_name
2016-01-16 14:12:14 +01:00
f307f5aca2
Implement get_display_name
2016-01-16 14:12:14 +01:00
b3724498ab
Implement set_avatar_url
2016-01-16 14:12:14 +01:00
89d89d9dd3
Implement get_avatar_url
2016-01-16 00:46:15 +01:00
fb3bfd9d70
Implement get_profile
2016-01-15 20:43:55 +01:00
02518c495b
Iplement change_password
2016-01-15 20:39:13 +01:00
094fae0443
Implement add_3pid
2016-01-15 20:33:54 +01:00
07eae08d89
Add JSON getters for MatrixAPI3PidCredential
2016-01-15 20:32:13 +01:00
ccb9e47bb8
Implement versions
2016-01-15 20:03:17 +01:00
83e7152c87
Implement get_3pids
2016-01-15 20:01:28 +01:00
8b332eaaea
Implement token_refresh
2016-01-15 19:40:46 +01:00
46b5f5d918
Implement whois
2016-01-15 19:40:46 +01:00
b4e263cdd9
Implement download_filter
2016-01-15 19:40:46 +01:00
f2ccc585fe
Implement create_filter
2016-01-15 19:40:46 +01:00
13c8707dbf
Update MatrixAPI with the versions API call
2016-01-15 19:23:51 +01:00
c2593c6cd0
Implement i_sync
2016-01-15 18:00:12 +01:00
0b17b583ab
Add JSON getters for MatrixAPIFilter
2016-01-15 17:59:59 +01:00
b24bcd8bca
Add MATRIX_API_ERROR_BAD_REQUEST to MatrixAPIError
2016-01-15 17:59:13 +01:00
4b62305c08
Move enum_to_string to utils.c as g_enum_to_string
2016-01-15 17:58:35 +01:00
9455f95150
Implement notify_room_typing
2016-01-15 17:14:43 +01:00
f56e5389ed
Implement send_room_event
2016-01-15 17:09:05 +01:00
668c782df7
Remove const
constraint from send_room_event’s content
2016-01-15 17:09:05 +01:00
5f66269262
Implement get_room_state
2016-01-15 17:09:05 +01:00
4ef92710e0
Implement send_message_event
2016-01-15 16:51:24 +01:00
11bd9002af
Remove const
constraint from send_message_event’s content
2016-01-15 16:51:09 +01:00
f028ac838a
Implement redact_event
2016-01-15 16:45:30 +01:00
ef5adcdfc1
Implement send_event_receipt
2016-01-15 16:38:52 +01:00