コード例 #1
0
        /// <summary>
        /// Process the request dedicated to loof for an instance with an OID given
        /// </summary>
        /// <param name="agentOid">OID with the agent connected to the system</param>
        /// <param name="xmlReader">XML with the request message</param>
        /// <param name="dtdVersion">Version of DTD that follows the XML message</param>
        public override ONCollection QueryByOid(ref string ticket, ref ONOid agentOid, XmlReader xmlReader, ONDisplaySet displaySet, double dtdVersion, string clientName)
        {
            // Get OID class
            string lClass = xmlReader.GetAttribute("Class");

            // Set OID parameter
            ONOid lOID = XML2ON(xmlReader, dtdVersion);

            // Read Request
            xmlReader.ReadEndElement(); // Query.Instance

            // Read Order Criteria
            if (xmlReader.IsStartElement("Sort")) // Sort
                xmlReader.Skip();

            //Read Filter Navigation
            if (xmlReader.IsStartElement("NavFilt"))
                xmlReader.Skip();

            // Create Context
            ONContext lOnContext = new ONContext();
            lOnContext.OidAgent = agentOid;

            // Execute
            AeronaveQuery lQuery = new AeronaveQuery(lOnContext);
            ONCollection lCollection = lQuery.QueryByOid(lOID, displaySet);
            ticket = lOnContext.GetTicket(dtdVersion, clientName);

            return lCollection;
        }