Exemplo n.º 1
0
        //--------------------------------------------------------Constructor:----------------------------------------------------------------\\
        #region --Constructors--
        public QueryArchiveResultMessage(XmlNode node, XmlNode resultNode, XmlNode forwardedNode, List <AbstractMessage> content) : base(node)
        {
            QUERY_ID = resultNode.Attributes["queryid"]?.Value;
            CONTENT  = content;
            XmlNode delayNode = XMLUtils.getChildNode(forwardedNode, "delay", Consts.XML_XMLNS, Consts.XML_XEP_0203_NAMESPACE);

            DELAY = MessageMessage.parseDelay(delayNode);
            foreach (AbstractMessage message in CONTENT)
            {
                if (message is MessageMessage msg)
                {
                    msg.addDelay(DELAY);
                }
            }
        }
        //--------------------------------------------------------Constructor:----------------------------------------------------------------\\
        #region --Constructors--
        public QueryArchiveResultMessage(XmlNode answer) : base(answer)
        {
            XmlNode resultNode = XMLUtils.getChildNode(answer, "result", Consts.XML_XMLNS, Consts.XML_XEP_0313_NAMESPACE);

            if (!(resultNode is null))
            {
                QUERY_ID = resultNode.Attributes["queryid"]?.Value;
                XmlNode forwardedNode = XMLUtils.getChildNode(resultNode, "forwarded", Consts.XML_XMLNS, Consts.XML_XEP_0297_NAMESPACE);
                if (!(forwardedNode is null))
                {
                    XmlNode messageNode = XMLUtils.getChildNode(forwardedNode, "message");
                    if (!(messageNode is null))
                    {
                        MESSAGE = new MessageMessage(messageNode, CarbonCopyType.NONE);

                        XmlNode delayNode = XMLUtils.getChildNode(forwardedNode, "delay", Consts.XML_XMLNS, Consts.XML_XEP_0203_NAMESPACE);
                        if (!(delayNode is null))
                        {
                            MESSAGE.parseDelay(delayNode);
                        }
                    }
                }
            }
        }