9#ifndef PLUGINS_AZOTH_INTERFACES_IMUCPERMS_H
10#define PLUGINS_AZOTH_INTERFACES_IMUCPERMS_H
16#include <util/azoth/emitters/mucperms.h>
72 virtual QPair<QByteArray, QByteArray>
GetKickPerm ()
const = 0;
73 virtual QPair<QByteArray, QByteArray>
GetBanPerm ()
const = 0;
112 const QByteArray& permClass,
const QByteArray& targetPerm)
const = 0;
133 const QByteArray& permClass,
const QByteArray& targetPerm,
const QString& reason) = 0;
187 const QByteArray& permClass,
const QByteArray& targetPerm,
const QString& reason)
191 Q_UNUSED (targetPerm)
199 "org.Deviant.LeechCraft.Azoth.IMUCPerms/1.0")
Represents a single entry in contact list.
This interface describes permissions in the given room.
virtual void TrySetPerm(const QString &userId, const QByteArray &permClass, const QByteArray &targetPerm, const QString &reason)
Sets a perm on a user not present in the room.
virtual QPair< QByteArray, QByteArray > GetBanPerm() const =0
virtual void SetPerm(ICLEntry &participant, const QByteArray &permClass, const QByteArray &targetPerm, const QString &reason)=0
Sets the permission for the given participant.
virtual QByteArray GetAffName(const ICLEntry &participant) const =0
Returns the name of the affiliation icon.
virtual MUCPerms_t GetPerms(const ICLEntry &participant) const =0
Returns current permissions for the given participant.
virtual bool IsMultiPerm(const QByteArray &permClass) const =0
Returns whether users can have many perms of the given class at once.
virtual MUCPerms_t GetPossiblePerms() const =0
Returns all possible permission classes and values.
Emitters::MUCPerms & GetMUCPermsEmitter()
virtual bool MayChangePerm(const ICLEntry &participant, const QByteArray &permClass, const QByteArray &targetPerm) const =0
Whether given participant's permission may be changed to the given value.
virtual bool IsLessByPerm(const ICLEntry &part1, const ICLEntry &part2) const =0
Returns if one participant has less perms than another.
Emitters::MUCPerms PermsEmitter_
virtual ~IMUCPerms()=default
virtual QString GetUserString(const QByteArray &id) const =0
Returns a human-readable string for the given id.
virtual QPair< QByteArray, QByteArray > GetKickPerm() const =0
QMap< QByteArray, QList< QByteArray > > MUCPerms_t