24 #ifndef QXMPPMUCMANAGER_H 
   25 #define QXMPPMUCMANAGER_H 
   27 #include "QXmppClientExtension.h" 
   28 #include "QXmppMucIq.h" 
   29 #include "QXmppPresence.h" 
   32 class QXmppDiscoveryIq;
 
   34 class QXmppMucManagerPrivate;
 
   36 class QXmppMucRoomPrivate;
 
   62     Q_PROPERTY(QList<QXmppMucRoom*> rooms READ rooms NOTIFY roomAdded)
 
   69     QList<QXmppMucRoom*> rooms() 
const;
 
   78     void invitationReceived(
const QString &roomJid, 
const QString &inviter, 
const QString &reason);
 
   90     void _q_roomDestroyed(QObject *
object);
 
   93     QXmppMucManagerPrivate *d;
 
  105     Q_PROPERTY(
QXmppMucRoom::Actions allowedActions READ allowedActions NOTIFY allowedActionsChanged)
 
  106     Q_PROPERTY(
bool isJoined READ isJoined NOTIFY isJoinedChanged)
 
  107     Q_PROPERTY(QString jid READ jid CONSTANT)
 
  108     Q_PROPERTY(QString name READ name NOTIFY nameChanged)
 
  109     Q_PROPERTY(QString nickName READ nickName WRITE setNickName NOTIFY nickNameChanged)
 
  110     Q_PROPERTY(QStringList participants READ participants NOTIFY participantsChanged)
 
  111     Q_PROPERTY(QString password READ password WRITE setPassword)
 
  112     Q_PROPERTY(QString subject READ subject WRITE setSubject NOTIFY subjectChanged)
 
  120         ConfigurationAction = 2,    
 
  121         PermissionsAction = 4,      
 
  124     Q_DECLARE_FLAGS(Actions, Action)
 
  128     Actions allowedActions() 
const;
 
  129     bool isJoined() 
const;
 
  131     QString name() 
const;
 
  133     QString nickName() 
const;
 
  134     void setNickName(
const QString &nickName);
 
  136     Q_INVOKABLE QString participantFullJid(
const QString &jid) 
const;
 
  138     QStringList participants() 
const;
 
  140     QString password() 
const;
 
  141     void setPassword(
const QString &password);
 
  143     QString subject() 
const;
 
  144     void setSubject(
const QString &subject);
 
  148     void allowedActionsChanged(QXmppMucRoom::Actions actions) 
const;
 
  151     void configurationReceived(
const QXmppDataForm &configuration);
 
  154     void error(
const QXmppStanza::Error &error);
 
  160     void kicked(
const QString &jid, 
const QString &reason);
 
  163     void isJoinedChanged();
 
  173     void nameChanged(
const QString &name);
 
  176     void nickNameChanged(
const QString &nickName);
 
  179     void participantAdded(
const QString &jid);
 
  182     void participantChanged(
const QString &jid);
 
  185     void participantRemoved(
const QString &jid);
 
  188     void participantsChanged();
 
  192     void permissionsReceived(
const QList<QXmppMucItem> &permissions);
 
  195     void subjectChanged(
const QString &subject);
 
  198     bool ban(
const QString &jid, 
const QString &reason);
 
  200     bool kick(
const QString &jid, 
const QString &reason);
 
  201     bool leave(
const QString &message = QString());
 
  202     bool requestConfiguration();
 
  203     bool requestPermissions();
 
  205     bool setPermissions(
const QList<QXmppMucItem> &permissions);
 
  206     bool sendInvitation(
const QString &jid, 
const QString &reason);
 
  207     bool sendMessage(
const QString &text);
 
  210     void _q_disconnected();
 
  211     void _q_discoveryInfoReceived(
const QXmppDiscoveryIq &iq);
 
  217     QXmppMucRoomPrivate *d;
 
  221 Q_DECLARE_OPERATORS_FOR_FLAGS(QXmppMucRoom::Actions)