예제 #1
0
        private bool onDiscoMsg(MessageResponseHelper <IQMessage> helper, IQMessage msg)
        {
            if (msg is DiscoResponseMessage response && helper.getMessageSender() is XMPPClient client)
            {
                switch (response.DISCO_TYPE)
                {
                case DiscoType.ITEMS:
                    addItems(response.ITEMS, response.getFrom(), client, true);
                    break;

                case DiscoType.INFO:
                    addFeatures(response.FEATURES, response.getFrom());
                    addIdentities(response.IDENTITIES, response.getFrom());
                    break;

                default:
                    throw new InvalidOperationException("[" + nameof(DiscoDBManager) + "] Unexpected value for DISCO_TYPE: " + response.DISCO_TYPE);
                }
            }
            return(false);
        }