Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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));
        }