001/*----------------------------------------------------------------------------*/ 002/* Copyright (c) FIRST 2016-2017. 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; 009 010import edu.wpi.first.wpilibj.tables.ITable; 011 012 013/** 014 * The base interface for objects that can be sent over the network through network tables. 015 */ 016public interface Sendable { 017 /** 018 * Initializes a table for this {@link Sendable} object. 019 * 020 * @param subtable The table to put the values in. 021 */ 022 void initTable(ITable subtable); 023 024 /** 025 * The table that is associated with this {@link Sendable}. 026 * 027 * @return the table that is currently associated with the {@link Sendable}. 028 */ 029 ITable getTable(); 030 031 /** 032 * The string representation of the named data type that will be used by the smart dashboard for 033 * this {@link Sendable}. 034 * 035 * @return The type of this {@link Sendable}. 036 */ 037 String getSmartDashboardType(); 038}