001// Copyright (c) FIRST and other WPILib contributors.
002// Open Source Software; you can modify and/or share it under the terms of
003// the WPILib BSD license file in the root directory of this project.
004
005package org.wpilib.math.kinematics.proto;
006
007import org.wpilib.math.kinematics.DifferentialDriveWheelVelocities;
008import org.wpilib.math.proto.ProtobufDifferentialDriveWheelVelocities;
009import org.wpilib.util.protobuf.Protobuf;
010import us.hebi.quickbuf.Descriptors.Descriptor;
011
012public class DifferentialDriveWheelVelocitiesProto
013    implements Protobuf<
014        DifferentialDriveWheelVelocities, ProtobufDifferentialDriveWheelVelocities> {
015  @Override
016  public Class<DifferentialDriveWheelVelocities> getTypeClass() {
017    return DifferentialDriveWheelVelocities.class;
018  }
019
020  @Override
021  public Descriptor getDescriptor() {
022    return ProtobufDifferentialDriveWheelVelocities.getDescriptor();
023  }
024
025  @Override
026  public ProtobufDifferentialDriveWheelVelocities createMessage() {
027    return ProtobufDifferentialDriveWheelVelocities.newInstance();
028  }
029
030  @Override
031  public DifferentialDriveWheelVelocities unpack(ProtobufDifferentialDriveWheelVelocities msg) {
032    return new DifferentialDriveWheelVelocities(msg.getLeft(), msg.getRight());
033  }
034
035  @Override
036  public void pack(
037      ProtobufDifferentialDriveWheelVelocities msg, DifferentialDriveWheelVelocities value) {
038    msg.setLeft(value.left);
039    msg.setRight(value.right);
040  }
041}