/// <summary> /// Finish up configuration, taking the default room config. Also known as /// an "Instant Room". Suitable for use if the user cancels the configuration /// request, perhaps. /// </summary> private void FinishConfigDefault() { /* <iq from='[email protected]/desktop' id='create1' to='*****@*****.**' type='set'> <query xmlns='http://jabber.org/protocol/muc#owner'> <x xmlns='jabber:x:data' type='submit'/> </query> </iq> */ m_state = STATE.configSet; OwnerIQ iq = new OwnerIQ(m_manager.Stream.Document); iq.Type = IQType.set; iq.To = m_room; OwnerQuery oq = iq.Instruction; Data form = oq.Form; form.Type = XDataType.submit; m_manager.BeginIQ(iq, new IqCB(Configured), null); }
/// <summary> /// Configures the room. OnRoomConfig MUST be set first. /// OnRoomConfig will be called back in the GUI thread if there is an /// InvokeControl on your XmppStream. Make sure that OnRoomConfig does not /// return until it has the answer, typically by popping up a modal dialog /// with the x:data form. /// </summary> public void Configure() { if (OnRoomConfig == null) throw new ArgumentNullException("Must set OnRoomConfig before calling Configure()", "OnRoomConfig"); /* <iq id='create1' to='*****@*****.**' type='get'> <query xmlns='http://jabber.org/protocol/muc#owner'/> </iq> */ m_state = STATE.configGet; OwnerIQ iq = new OwnerIQ(m_manager.Stream.Document); iq.Type = IQType.get; iq.To = m_room; m_manager.BeginIQ(iq, new IqCB(ConfigForm), null); }