Ejemplo n.º 1
0
        public static RdmPacket ReadPacket(RdmCommands command, RdmParameters parameterId, RdmBinaryReader contentData)
        {
            RdmPacket rdmPacket = null;

            RdmHeader header = new RdmHeader();

            header.Command     = command;
            header.ParameterId = parameterId;

            rdmPacket = RdmPacket.Create(header);
            if (rdmPacket != null)
            {
                rdmPacket.ReadData(contentData);
                return(rdmPacket);
            }
            else
            {
                rdmPacket = RdmPacket.Create(header, typeof(RdmRawPacket)) as RdmRawPacket;
                if (rdmPacket != null)
                {
                    rdmPacket.ReadData(contentData);
                    return(rdmPacket);
                }
            }

            throw new UnknownRdmPacketException(header);
        }
Ejemplo n.º 2
0
        public static void RegisterPacketType(RdmCommands command, RdmParameters parameter, Type packetType)
        {
            PacketKey key = new PacketKey();

            key.Command   = command;
            key.Parameter = parameter;

            if (packetStore.ContainsKey(key))
            {
                throw new InvalidOperationException(string.Format("The packet {0} is already registered for {1}.", parameter.ToString(), command.ToString()));
            }

            packetStore[key] = packetType;
        }
Ejemplo n.º 3
0
        public void RegisterHandler(RdmCommands command, RdmParameters parameterId, ProcessPacketHandler packetHandler)
        {
            switch (command)
            {
            case RdmCommands.Get:
                packetGetHandlers[parameterId] = packetHandler;
                break;

            case RdmCommands.GetResponse:
                packetGetResponseHandlers[parameterId] = packetHandler;
                break;

            case RdmCommands.Set:
                packetSetHandlers[parameterId] = packetHandler;
                break;

            case RdmCommands.SetResponse:
                packetSetResponseHandlers[parameterId] = packetHandler;
                break;

            default:
                throw new NotSupportedException(string.Format("The packet command type {0} is not supported yet.", command.ToString()));
            }
        }
Ejemplo n.º 4
0
 public RdmResponsePacket(RdmCommands command, RdmParameters parameterId) : base(command, parameterId)
 {
 }
Ejemplo n.º 5
0
 public RdmRequestPacket(RdmCommands command, RdmParameters parameterId) : base(command, parameterId)
 {
 }
Ejemplo n.º 6
0
 public RdmPacket(RdmCommands command, RdmParameters parameterId)
 {
     Header             = new RdmHeader();
     Header.Command     = command;
     Header.ParameterId = parameterId;
 }
Ejemplo n.º 7
0
 public RdmNack(RdmCommands command, RdmParameters parameterId)
     : base(command, parameterId)
 {
     Header.PortOrResponseType = (byte)RdmResponseTypes.NackReason;
 }
Ejemplo n.º 8
0
 public PacketKey(RdmCommands command, RdmParameters parameter)
 {
     this.Command   = command;
     this.Parameter = parameter;
 }
Ejemplo n.º 9
0
 public RdmMessageAttribute(RdmCommands command, RdmParameters parameterId)
 {
     Command     = command;
     ParameterId = parameterId;
 }
Ejemplo n.º 10
0
 public RdmAckTimer(RdmCommands command, RdmParameters parameterId)
     : base(command, parameterId)
 {
     Header.PortOrResponseType = (byte)RdmResponseTypes.AckTimer;
 }