aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2018-05-04Preempt job/setroomstatejob.* with jobs/generated/room_state.*Kitsune Ral
The template part (not exposed in the auto-generated class) goes to Room::Private::requestSetState(). Also, Room::setMemberState() to interface with User class.
2018-05-03Preempt jobs/joinroomjob.* with jobs/generated/joining.*Kitsune Ral
Enables responding to third-party invites.
2018-05-03GetRoomEventsJob (replaces RoomMessagesJob) + refactoringKitsune Ral
1. Updates in this commit (see further) allow to generate and build GetRoomEventsJob from message_pagination.yaml; this job completely preempts RoomMessagesJob. 2. EventsBatch<> is no more a thing; there's EventsArray<> to replace it but it's loaded from a JSON array rather than an event batch (a JSON array inside another JSON object). SyncJob that used it extensively has been moved to "conventional" containers (Events, RoomEvents and the newly introduced StateEvents). RoomMessagesJob that also used EventsBatch<> is decommissioned (see above). 3. RoomEventsRange is now an alias for Range<RoomEvents>, defined in util.h (otherwise almost the same). 4. Connection::getMessages() is no more. Use Room::getPreviousContent() and Connection::callApi<GetRooMEventsJob>() instead. 5. Moving things around in Room, since SyncJob now supplies state events in more specific StateEvents, rather than RoomEvents.
2018-04-30Build systems: add jobs/generated/definitions to the mixKitsune Ral
2018-04-29Merge branch 'master' into kitsune-gtadKitsune Ral
2018-04-14CMakeLists.txt: minor refactoringKitsune Ral
2018-04-13Support Qt 5.4Kitsune Ral
That is until ubports move to xenial.
2018-04-13Merge branch 'master' into kitsune-gtadKitsune Ral
2018-04-11Comment out install(EXPORT_ANDROID_MK)Kitsune Ral
It's only available in CMake 3.7 and later and is not needed for any known project anyway.
2018-04-05Unofficially relax Qt requirement to 5.5.1Kitsune Ral
This is to support uMatriks that still has to compile on xenial codebase.
2018-04-03CMakeLists.txt: Specify the API version correctlyKitsune Ral
It's not version 2, it's still version 0.2.
2018-03-31Make and install CMake config package; provide examples/CMakeLists.txt using itKitsune Ral
2018-03-31Install CMake files to the proper placeKitsune Ral
2018-03-31Move source files to a separate folderKitsune Ral
It's been long overdue to separate them from the rest of the stuff (docs etc.). Also, this allows installing to a directory within the checked out git tree (say, ./install/, similar to ./build/).
2018-03-31Merge branch 'master' into kitsune-gtadKitsune Ral
2018-03-30Introduce install target for the libraryKitsune Ral
Closes #113.
2018-03-24Introduce DirectChatEvent (parse only, no processing yet)Kitsune Ral
2018-03-05ReadMarkerEvent; TagEvent remade with less boilerplate codeKitsune Ral
tagevent.h -> accountdataevents.h now has a macro to define more simplistic events along the lines of simplestateevents.h but inheriting from Event instead. TagEvent and ReadMarkerEvent(m.fully_read) are defined using this macro. ReadMarkerEvent is also wired through event.* (but not further yet).
2018-03-04CMakeLists.txt: indent files with 4 spaces as everywhere elseKitsune Ral
[skip ci]
2018-02-27Merge branch 'master' into kitsune-gtadKitsune Ral
2018-02-26TagEvent: m.tag events parsingKitsune Ral
Using them in rooms and connection comes in the next commit.
2018-01-14DownloadFileJobKitsune Ral
Instead of exposing a QIODevice as GetContentJob does it gets a filename and saves the incoming payload into it.
2018-01-14BaseJob::Data -> RequestData; support QIODevice* input/outputKitsune Ral
2018-01-12DownloadFileJobKitsune Ral
Instead of exposing a QIODevice as GetContentJob does it gets a filename and saves the incoming payload into it.
2018-01-12BaseJob::Data -> RequestData; support QIODevice* input/outputKitsune Ral
2018-01-05CMakeLists.txt: Exclude more API files from generationKitsune Ral
All of these new exclusions have parameters named 'signed', 'unsigned' and 'default' which are C++ reserverd words. GTAD does not give a proper workaround for these yet (see #24) so exclude them for now.
2018-01-04Disable generation of jobs that stand in the wayKitsune Ral
We have a better SyncJob and SetRoomStateJob yet.
2017-12-31Merge branch 'master' into kitsune-gtadKitsune Ral
2017-12-30QMatrixClient::NetworkAccessManager (singleton Qt NAM that remembers ignored ↵Kitsune Ral
SSL errors) Closes #145.
2017-12-26NetworkSettings: store proxy configurationKitsune Ral
No credentials, just type, host, and port.
2017-12-25CMakeLists: Add -W to the mixKitsune Ral
2017-12-25Polished warnings configurationKitsune Ral
The whole thing should go without or almost without warnings with GCC and with Clang (MSVC is another story and I don't care about it much).
2017-12-25Now really switching to the new toolchain: C++14, GCC/Clang 5, Qt 5.6Kitsune Ral
Also a bit of code tightening with some C++14 (but not only) things.
2017-12-25Merge branch 'master' into kitsune-gtadKitsune Ral
2017-12-16CMakeLists.txt: Make -Wreturn-type an errorKitsune Ral
Because a missing return in a non-void function is always an error.
2017-12-10Use the generated PostReceiptJob; don't compile unused job classesKitsune Ral
Rewire Connection::postReceipt() to the generated job too; this call is still deprecated though.
2017-12-07GTAD: Enable content-repo stubs generationKitsune Ral
2017-11-28Merge branch 'master' into kitsune-gtadKitsune Ral
2017-11-28Bumped up the soname versionKitsune Ral
NB: Dynamic library generation requires CMake; no libqmatrixclient.pro yet.
2017-11-02Update the lib version for dynamic linkingKitsune Ral
2017-11-01StateEvent; EventContent::SimpleContent; event types refactoringKitsune Ral
* StateEvent<> is a new class template for all state events. It provides a uniform interface to the state content, as well as a means to serialize the content back to JSON. In addition, StateEvent now parses the "prev_content" JSON object, so one can refer to the previous state now (a notable step to proper reflection of state changes in the displayed timeline in clients). * EventContent::SimpleContent, together with StateEvent<>, forms a generalisation for simple state events, such as room name, topic, aliases etc. that boil down to a single key-value pair. DECLARE_SIMPLE_STATE_EVENT is a macro defined to streamline creation of events based on SimpleContent, providing API back-compatibility for events defined so far. As a result, a very concise simplestateevents.h replaces all those room*event.* files. * Event/RoomEvent::fromJson() code is squeezed down to plain type lists passed to makeIfMatches() "chained factory" function template. TypeId is mandatory for an event type to be included into that factory. * Event::toTimestamp() and Event::toStringList are completely superseded by respective fromJson<>() converters.
2017-10-27Support m.room.avatar eventsKitsune Ral
The events are detected in /sync output, and avatars for rooms are loaded from respective URLs. Clients can use Room::avatar() method to request a pixmap of a certain size, and react to avatarChanged() in order to update the UI when new pixmaps/avatars arrive. avatarChanged() signal is overloaded with two tasks - the first firing merely indicates that a new avatar is available (without actual pixmap yet available) while the second firing means that an actual pixmap has arrived (all this is entirely transparent for clients, they just should update their pixmaps from Room::avatar() every time when Room::avatarChanged() is emitted).
2017-10-26Move out the avatar code from UserKitsune Ral
Avatars are also a property of rooms, and the supporting code is basically the same. The only thing different will be emitted signals, and the cleanest thing to support that (aside from making Avatar a QObject) seems to be to parameterise the thumbnail-updating logic with a continuation invoked upon completion of the thumbnail job.
2017-10-26Move out common message event content classesKitsune Ral
ImageContent is usable outside of m.room.message (in particular, m.room.avatar uses the same structure for content. And EventContent::Base is very suitable to derive from even for standard event content structures (such as in room name events), let alone non-standard ones. Also, renamed MessageEventContent to EventContent (for obvious reasons).
2017-10-19Be more friendly to IDE, list the API filesKitsune Ral
2017-10-19Merge branch 'master' into kitsune-gtadKitsune Ral
2017-10-14LogoutJob is supplied by generated codeKitsune Ral
2017-10-14Leaving a room now uses a generated Job fileKitsune Ral
2017-10-08Merge branch 'master' into kitsune-gtadKitsune Ral
2017-10-02api-generator has been renamed to gtadKitsune Ral