/*
 * Autogenerated file! Do not manually edit this file.
 */

package edu.wpi.first.hal;

/**
 * JNI wrapper for library <b>FRC_NetworkCommunication</b><br>.
 */
@SuppressWarnings({"MethodName", "LineLength"})
public class FRCNetComm {
  /**
   * Resource type from UsageReporting.
   */
  @SuppressWarnings({"TypeName", "PMD.ConstantsInInterface"})
  public static final class tResourceType {
    private tResourceType() {
    }

${usage_reporting_types}
  }

  /**
   * Instances from UsageReporting.
   */
  @SuppressWarnings({"TypeName", "PMD.ConstantsInInterface"})
  public static final class tInstances {
    private tInstances() {
    }

${usage_reporting_instances}
  }
}
