Exemple #1
0
        // See page 639 for structures
        // Unconfirmed Remote Device Management Services PG 1514

        public override List <byte> Encode(XElement xElem)
        {
            packet = new List <byte>(0);
            var field = xElem.Element("Service").Value;

            srvChoise = (BACnetUnconfirmedServiceChoice)System.Enum.Parse(typeof(BACnetUnconfirmedServiceChoice), field, true);
            packet.Add(((byte)BACnetPDU.PDU_UNCONFIRMED_SERVICE_REQUEST) << 4);
            packet.Add((byte)srvChoise);

            switch (srvChoise)
            {
            case BACnetUnconfirmedServiceChoice.I_AM:
                break;

            case BACnetUnconfirmedServiceChoice.I_HAVE:
                break;

            case BACnetUnconfirmedServiceChoice.WHO_HAS:
                break;

            case BACnetUnconfirmedServiceChoice.WHO_IS:
                break;

            case BACnetUnconfirmedServiceChoice.TIMESYNCHRONIZATION:
                break;

            default:
                break;
            }

            return(packet);
        }
Exemple #2
0
        new public PDU Decode(BACPacket cm)
        {
            cm.getNextByte();
            srvChoise = (BACnetUnconfirmedServiceChoice)cm.getNextByte();

            switch (srvChoise)
            {
            case BACnetUnconfirmedServiceChoice.I_AM:
                //a = new I_AM_Srv_Struct();
                while (cm.hasMore() == true)
                {
                    bv.Add(new BACVnetVar().Decode(cm));
                }
                break;

            case BACnetUnconfirmedServiceChoice.I_HAVE:
                while (cm.hasMore() == true)
                {
                    bv.Add(new BACVnetVar().Decode(cm));
                }
                break;

            case BACnetUnconfirmedServiceChoice.WHO_HAS:
                while (cm.hasMore() == true)
                {
                    bv.Add(new BACVnetVar().Decode(cm));
                }
                break;

            case BACnetUnconfirmedServiceChoice.WHO_IS:
                while (cm.hasMore() == true)
                {
                    bv.Add(new BACVnetVar().Decode(cm, BACVnetVar.CONTEXT_TAG.UINT));
                }
                break;

            case BACnetUnconfirmedServiceChoice.TIMESYNCHRONIZATION:
                while (cm.hasMore() == true)
                {
                    bv.Add(new BACVnetVar().Decode(cm));
                }
                break;

            default:
                while (cm.hasMore() == true)
                {
                    bv.Add(new BACVnetVar().Decode(cm));
                }
                break;
            }

            return(this);
        }