summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/MUC/MUC.cpp')
-rw-r--r--Swiften/MUC/MUC.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/Swiften/MUC/MUC.cpp b/Swiften/MUC/MUC.cpp
index 8f04308..cfd468c 100644
--- a/Swiften/MUC/MUC.cpp
+++ b/Swiften/MUC/MUC.cpp
@@ -28,19 +28,33 @@ MUC::MUC(StanzaChannel* stanzaChannel, IQRouter* iqRouter, PresenceSender* prese
//FIXME: discover reserved nickname
+/**
+ * Join the MUC with default context.
+ */
void MUC::joinAs(const String &nick) {
+ internalJoin(nick);
+}
+
+void MUC::internalJoin(const String &nick) {
//TODO: password
//TODO: history request
joinComplete_ = false;
-
ownMUCJID = JID(ownMUCJID.getNode(), ownMUCJID.getDomain(), nick);
-
boost::shared_ptr<Presence> joinPresence(presenceSender->getLastSentUndirectedPresence());
+ //FIXME: use date
joinPresence->setTo(ownMUCJID);
joinPresence->addPayload(boost::shared_ptr<Payload>(new MUCPayload()));
presenceSender->sendPresence(joinPresence);
}
+/**
+ * Join the MUC with context since date.
+ */
+void MUC::joinWithContextSince(const String &nick) {
+ //FIXME: add date
+ internalJoin(nick);
+}
+
void MUC::part() {
presenceSender->removeDirectedPresenceReceiver(ownMUCJID);
}