/****************************************************************************** * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN */ #pragma once #include "jobs/basejob.h" #include #include #include #include "events/event.h" #include "converters.h" #include namespace QMatrixClient { // Operations class SearchJob : public BaseJob { public: // Inner data structures struct IncludeEventContext { Omittable beforeLimit; Omittable afterLimit; bool includeProfile; }; struct Group { QString key; }; struct Groupings { QVector groupBy; }; struct RoomEventsCriteria { QString searchTerm; QStringList keys; QJsonObject filter; QString orderBy; Omittable eventContext; bool includeState; Omittable groupings; }; struct Categories { Omittable roomEvents; }; struct UserProfile { QString displayname; QString avatarUrl; }; struct EventContext { QString begin; QString end; QHash profileInfo; RoomEvents eventsBefore; RoomEvents eventsAfter; }; struct Result { Omittable rank; RoomEventPtr result; Omittable context; }; struct GroupValue { QString nextBatch; Omittable order; QStringList results; }; struct ResultRoomEvents { Omittable count; std::vector results; std::unordered_map state; QHash> groups; QString nextBatch; }; struct ResultCategories { Omittable roomEvents; }; // Construction/destruction explicit SearchJob(const Categories& searchCategories, const QString& nextBatch = {}); ~SearchJob() override; // Result properties const ResultCategories& searchCategories() const; protected: Status parseJson(const QJsonDocument& data) override; private: class Private; QScopedPointer d; }; } // namespace QMatrixClient