001package jmri.jmrix.ipocs.protocol.packets;
002
003import java.nio.ByteBuffer;
004
005import jmri.jmrix.ipocs.protocol.enums.RqPointsLockCommand;
006
007/**
008 * Points lock order
009 *
010 * @author Fredrik Elestedt Copyright (C) 2020
011 * @since 4.21.2
012 */
013@org.openide.util.lookup.ServiceProvider(service = Packet.class)
014public class SetElectricalPointsLockPacket extends Packet {
015  public final static byte IDENT = 14;
016  private RqPointsLockCommand command = null;
017
018  @Override
019  public byte getId() {
020    return IDENT;
021  }
022
023  @Override
024  protected void parseSpecific(ByteBuffer buffer) {
025    command = RqPointsLockCommand.valueOf(buffer.get());
026  }
027
028  @Override
029  protected byte[] serializeSpecific() {
030    ByteBuffer buffer = ByteBuffer.allocate(1);
031    buffer.put(command.value);
032    buffer.rewind();
033    return buffer.array();
034  }
035
036  public RqPointsLockCommand getCommand() {
037    return command;
038  }
039
040  public void setCommand(RqPointsLockCommand command) {
041    this.command = command;
042  }
043}