Important: Please read the Qt Code of Conduct -

[SOLVED]QXmpp creating a MUC room (xep--0045) on the server

  • Hi,
    I am trying to add MUC capabilities to my application with QXmpp, I am following this info in the QXmppMucManager.h header file

    /// \brief The QXmppMucManager class makes it possible to interact with
    /// multi-user chat rooms as defined by XEP-0045: Multi-User Chat.
    /// To make use of this manager, you need to instantiate it and load it into
    /// the QXmppClient instance as follows:
    /// \code
    /// QXmppMucManager *manager = new QXmppMucManager;
    /// client->addExtension(manager);
    /// \endcode
    /// You can then join a room as follows:
    /// \code
    /// QXmppMucRoom *room = manager->addRoom("");
    /// room->setNickName("mynick");
    /// room->join();
    /// \endcode
    /// \ingroup Managers

    In a constructor of one of my classes I am adding a MuCManager like this

    QXmppMucManager *manager = new QXmppMucManager;

    and in a slot to create an Muc group I am doing this

    QXmppMucRoom *room = manager->addRoom("livefit@mthinkpad");

    I expect this to create a room and join if it doesn't exist and join if it already exists but it is just crashing my application.I can't wrap my brains around how qxmpp implements the xep--0045.I would appreciate it if somebody helped point what I am doing wrong or how I can create an Muc room on my server from my client.
    My server is a local ejabberd installation and I can access it at the "mthinkpad" domain.

    [edit: Added missing coding tags 3 ` before and after the code SGaist]

  • Lifetime Qt Champion


    Although QXmpp is not an official Qt module, what does a run through the debugger tell you ?

  • @musimbate said:


    here is a example

  • Thanks,really helpful.

Log in to reply