001/*----------------------------------------------------------------------------*/
002/* Copyright (c) 2008-2018 FIRST. All Rights Reserved.                        */
003/* Open Source Software - may be modified and shared by FRC teams. The code   */
004/* must be accompanied by the FIRST BSD license file in the root directory of */
005/* the project.                                                               */
006/*----------------------------------------------------------------------------*/
007
008package edu.wpi.first.wpilibj.buttons;
009
010import edu.wpi.first.networktables.NetworkTable;
011import edu.wpi.first.networktables.NetworkTableEntry;
012import edu.wpi.first.networktables.NetworkTableInstance;
013
014/**
015 * A {@link Button} that uses a {@link NetworkTable} boolean field.
016 */
017public class NetworkButton extends Button {
018  private final NetworkTableEntry m_entry;
019
020  public NetworkButton(String table, String field) {
021    this(NetworkTableInstance.getDefault().getTable(table), field);
022  }
023
024  public NetworkButton(NetworkTable table, String field) {
025    m_entry = table.getEntry(field);
026  }
027
028  public boolean get() {
029    return m_entry.getInstance().isConnected() && m_entry.getBoolean(false);
030  }
031}