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 edu.wpi.first.cameraserver;
006
007public interface CameraServerShared {
008  /**
009   * get the main thread id func.
010   *
011   * @return the robotMainThreadId
012   */
013  Long getRobotMainThreadId();
014
015  /**
016   * Report an error to the driver station.
017   *
018   * @param error the error to set
019   */
020  void reportDriverStationError(String error);
021
022  /**
023   * Report an video server usage.
024   *
025   * @param id the usage id
026   */
027  void reportVideoServer(int id);
028
029  /**
030   * Report a usb camera usage.
031   *
032   * @param id the usage id
033   */
034  void reportUsbCamera(int id);
035
036  /**
037   * Report an axis camera usage.
038   *
039   * @param id the usage id
040   */
041  void reportAxisCamera(int id);
042
043  /**
044   * Get if running on a roboRIO.
045   *
046   * @return true if on roboRIO
047   */
048  default boolean isRoboRIO() {
049    return false;
050  }
051}