/// <summary> /// Sends a RequestRoomConfigurationMessage and requests the current room configuration. /// </summary> /// <param name="roomJid">The bare JID if the room you would like to request the room configuration for. e.g. '*****@*****.**'</param> /// <param name="configLevel">The requested configuration level (the senders affiliation).</param> /// <param name="onMessage">The method that should get executed once the helper receives a new valid message.</param> /// <param name="onTimeout">The method that should get executed once the helper timeout gets triggered.</param> /// <returns>Returns a MessageResponseHelper listening for RequestRoomConfigurationMessage answers.</returns> public MessageResponseHelper <IQMessage> requestRoomConfiguration(string roomJid, MUCAffiliation configLevel, Func <IQMessage, bool> onMessage, Action onTimeout) { MessageResponseHelper <IQMessage> helper = new MessageResponseHelper <IQMessage>(CLIENT, onMessage, onTimeout); RequestRoomConfigurationMessage msg = new RequestRoomConfigurationMessage(roomJid, configLevel); helper.start(msg); return(helper); }
/// <summary> /// Sends a RequestRoomConfigurationMessage and requests the current room configuration. /// </summary> /// <param name="roomJid">The bare JID if the room you would like to request the room configuration for. e.g. '*****@*****.**'</param> /// <param name="configLevel">The requested configuration level (the senders affiliation).</param> /// <param name="onMessage">The method that should get executed once the helper receives a new valid message.</param> /// <param name="onTimeout">The method that should get executed once the helper timeout gets triggered.</param> /// <returns>Returns a MessageResponseHelper listening for RequestRoomConfigurationMessage answers.</returns> public MessageResponseHelper <IQMessage> requestRoomConfiguration(string roomJid, MUCAffiliation configLevel, MessageResponseHelper <IQMessage> .OnMessageHandler onMessage, MessageResponseHelper <IQMessage> .OnTimeoutHandler onTimeout) { MessageResponseHelper <IQMessage> helper = new MessageResponseHelper <IQMessage>(CONNECTION, onMessage, onTimeout); RequestRoomConfigurationMessage msg = new RequestRoomConfigurationMessage(roomJid, configLevel); helper.start(msg); return(helper); }
/// <summary> /// Sends a <see cref="RequestRoomConfigurationMessage"/> and requests the current room configuration. /// </summary> /// <param name="roomJid">The bare JID if the room you would like to request the room configuration for. e.g. '*****@*****.**'</param> /// <returns>The <see cref="RequestRoomConfigurationMessage"/> result</returns> public async Task <MessageResponseHelperResult <IQMessage> > requestRoomConfigurationAsync(string roomJid) { Predicate <IQMessage> predicate = (x) => { return(x is RoomConfigMessage || x is IQErrorMessage); }; AsyncMessageResponseHelper <IQMessage> helper = new AsyncMessageResponseHelper <IQMessage>(CONNECTION, predicate); RequestRoomConfigurationMessage msg = new RequestRoomConfigurationMessage(roomJid, MUCAffiliation.OWNER); return(await helper.startAsync(msg)); }