diff --git a/src/conversation.cpp b/src/conversation.cpp index 9cd8f7391a936c1ef87e9fe3e8cb86464317e71e..9912bf2591d1ca8d46f316a1a8b46bab7d8e5a68 100644 --- a/src/conversation.cpp +++ b/src/conversation.cpp @@ -47,21 +47,28 @@ void Conversation::destroyRoom() { legacyName.replace(legacyName.find_last_of("@"), 1, "%"); // OK } presence->setFrom(Swift::JID(legacyName, m_conversationManager->getComponent()->getJID().toBare(), m_nickname)); - presence->setTo(m_jid); presence->setType(Swift::Presence::Unavailable); Swift::MUCItem item; item.affiliation = Swift::MUCOccupant::NoAffiliation; item.role = Swift::MUCOccupant::NoRole; + item.actor = "Transport"; + item.reason = "Spectrum 2 transport is being shut down."; Swift::MUCUserPayload *p = new Swift::MUCUserPayload (); p->addItem(item); Swift::MUCUserPayload::StatusCode c; c.code = 332; p->addStatusCode(c); + Swift::MUCUserPayload::StatusCode c2; + c2.code = 307; + p->addStatusCode(c2); presence->addPayload(boost::shared_ptr(p)); - m_conversationManager->getComponent()->getStanzaChannel()->sendPresence(presence); + BOOST_FOREACH(const Swift::JID &jid, m_jids) { + presence->setTo(jid); + m_conversationManager->getComponent()->getStanzaChannel()->sendPresence(presence); + } } }