summary refs log tree commit diff
path: root/include/events/PowerLevelsEventContent.h
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-12-04 18:41:19 +0200
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-12-04 18:41:19 +0200
commita605e4486f4b9d90d668d6d1844ba5f0d58bbc26 (patch)
treec82001904cb120d975361edb38a62b5b77fa0644 /include/events/PowerLevelsEventContent.h
parentRun tests only with gcc (diff)
downloadnheko-a605e4486f4b9d90d668d6d1844ba5f0d58bbc26.tar.xz
Migrate to matrix-structs for event and response parsing
Diffstat (limited to 'include/events/PowerLevelsEventContent.h')
-rw-r--r--include/events/PowerLevelsEventContent.h73
1 files changed, 0 insertions, 73 deletions
diff --git a/include/events/PowerLevelsEventContent.h b/include/events/PowerLevelsEventContent.h
deleted file mode 100644

index 63998871..00000000 --- a/include/events/PowerLevelsEventContent.h +++ /dev/null
@@ -1,73 +0,0 @@ -/* - * nheko Copyright (C) 2017 Konstantinos Sideris <siderisk@auth.gr> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#pragma once - -#include <QJsonValue> -#include <QMap> - -#include "Deserializable.h" - -namespace matrix { -namespace events { -enum class PowerLevels -{ - User = 0, - Moderator = 50, - Admin = 100, -}; - -/* - * Defines the power levels (privileges) of users in the room. - */ - -class PowerLevelsEventContent - : public Deserializable - , public Serializable -{ -public: - void deserialize(const QJsonValue &data) override; - QJsonObject serialize() const override; - - int banLevel() const { return ban_; }; - int inviteLevel() const { return invite_; }; - int kickLevel() const { return kick_; }; - int redactLevel() const { return redact_; }; - - int eventsDefaultLevel() const { return events_default_; }; - int stateDefaultLevel() const { return state_default_; }; - int usersDefaultLevel() const { return users_default_; }; - - int eventLevel(QString event_type) const; - int userLevel(QString user_id) const; - -private: - int ban_ = static_cast<int>(PowerLevels::Moderator); - int invite_ = static_cast<int>(PowerLevels::Moderator); - int kick_ = static_cast<int>(PowerLevels::Moderator); - int redact_ = static_cast<int>(PowerLevels::Moderator); - - int events_default_ = static_cast<int>(PowerLevels::User); - int state_default_ = static_cast<int>(PowerLevels::Moderator); - int users_default_ = static_cast<int>(PowerLevels::User); - - QMap<QString, int> events_; - QMap<QString, int> users_; -}; - -} // namespace events -} // namespace matrix