From ddf10847d496dd65b00bc2026412958acd09790d Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Sun, 3 Jun 2018 19:50:54 +0900 Subject: csapi: jobs to setup push-rules --- lib/csapi/pushrules.h | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 lib/csapi/pushrules.h (limited to 'lib/csapi/pushrules.h') diff --git a/lib/csapi/pushrules.h b/lib/csapi/pushrules.h new file mode 100644 index 00000000..a01049af --- /dev/null +++ b/lib/csapi/pushrules.h @@ -0,0 +1,154 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#pragma once + +#include "jobs/basejob.h" + +#include "lib/csapi/definitions/push_ruleset.h" +#include +#include "converters.h" +#include "lib/csapi/definitions/push_rule.h" +#include "lib/csapi/definitions/push_condition.h" + +namespace QMatrixClient +{ + // Operations + + class GetPushRulesJob : public BaseJob + { + public: + explicit GetPushRulesJob(); + + /** Construct a URL out of baseUrl and usual parameters passed to + * GetPushRulesJob. This function can be used when + * a URL for GetPushRulesJob is necessary but the job + * itself isn't. + */ + static QUrl makeRequestUrl(QUrl baseUrl); + + ~GetPushRulesJob() override; + + // Result properties + + const PushRuleset& global() const; + + protected: + Status parseJson(const QJsonDocument& data) override; + + private: + class Private; + QScopedPointer d; + }; + + class GetPushRuleJob : public BaseJob + { + public: + explicit GetPushRuleJob(const QString& scope, const QString& kind, const QString& ruleId); + + /** Construct a URL out of baseUrl and usual parameters passed to + * GetPushRuleJob. This function can be used when + * a URL for GetPushRuleJob is necessary but the job + * itself isn't. + */ + static QUrl makeRequestUrl(QUrl baseUrl, const QString& scope, const QString& kind, const QString& ruleId); + + ~GetPushRuleJob() override; + + // Result properties + + const PushRule& data() const; + + protected: + Status parseJson(const QJsonDocument& data) override; + + private: + class Private; + QScopedPointer d; + }; + + class DeletePushRuleJob : public BaseJob + { + public: + explicit DeletePushRuleJob(const QString& scope, const QString& kind, const QString& ruleId); + + /** Construct a URL out of baseUrl and usual parameters passed to + * DeletePushRuleJob. This function can be used when + * a URL for DeletePushRuleJob is necessary but the job + * itself isn't. + */ + static QUrl makeRequestUrl(QUrl baseUrl, const QString& scope, const QString& kind, const QString& ruleId); + + }; + + class SetPushRuleJob : public BaseJob + { + public: + explicit SetPushRuleJob(const QString& scope, const QString& kind, const QString& ruleId, const QStringList& actions, const QString& before = {}, const QString& after = {}, const QVector& conditions = {}, const QString& pattern = {}); + }; + + class IsPushRuleEnabledJob : public BaseJob + { + public: + explicit IsPushRuleEnabledJob(const QString& scope, const QString& kind, const QString& ruleId); + + /** Construct a URL out of baseUrl and usual parameters passed to + * IsPushRuleEnabledJob. This function can be used when + * a URL for IsPushRuleEnabledJob is necessary but the job + * itself isn't. + */ + static QUrl makeRequestUrl(QUrl baseUrl, const QString& scope, const QString& kind, const QString& ruleId); + + ~IsPushRuleEnabledJob() override; + + // Result properties + + bool enabled() const; + + protected: + Status parseJson(const QJsonDocument& data) override; + + private: + class Private; + QScopedPointer d; + }; + + class SetPushRuleEnabledJob : public BaseJob + { + public: + explicit SetPushRuleEnabledJob(const QString& scope, const QString& kind, const QString& ruleId, bool enabled); + }; + + class GetPushRuleActionsJob : public BaseJob + { + public: + explicit GetPushRuleActionsJob(const QString& scope, const QString& kind, const QString& ruleId); + + /** Construct a URL out of baseUrl and usual parameters passed to + * GetPushRuleActionsJob. This function can be used when + * a URL for GetPushRuleActionsJob is necessary but the job + * itself isn't. + */ + static QUrl makeRequestUrl(QUrl baseUrl, const QString& scope, const QString& kind, const QString& ruleId); + + ~GetPushRuleActionsJob() override; + + // Result properties + + const QStringList& actions() const; + + protected: + Status parseJson(const QJsonDocument& data) override; + + private: + class Private; + QScopedPointer d; + }; + + class SetPushRuleActionsJob : public BaseJob + { + public: + explicit SetPushRuleActionsJob(const QString& scope, const QString& kind, const QString& ruleId, const QStringList& actions); + }; +} // namespace QMatrixClient -- cgit v1.2.3