// Represents the printer state.

// import 'cloud_device_state.proto'; import 'input_tray_state.proto'; import 'output_bin_state.proto'; import 'marker_state.proto'; import 'cover_state.proto'; import 'media_path_state.proto'; import 'vendor_state.proto';

message PrinterStateSection {

// Supported device states.
enum StateType {

  // Device is ready to accept jobs. Self-testing, low power and all other
  // states in which the device can start processing newly submitted jobs
  // without user intervention should be mapped into this state.
  IDLE = 0;

  // Processing jobs (e.g. printing).
  PROCESSING = 1;

  // Device cannot process jobs. User should fix the problem to resume the
  // processing (e.g. printer is out of paper).
  STOPPED = 2;
}

// Current printer state (required).
optional StateType state = 1;

// State of the input trays.
optional InputTrayState input_tray_state = 2;

// State of the output bins.
optional OutputBinState output_bin_state = 3;

// State of the markers.
optional MarkerState marker_state = 4;

// State of the printer doors/covers/etc.
optional CoverState cover_state = 5;

// State of the printer media paths.
optional MediaPathState media_path_state = 6;

// Vendor-specific printer state.
optional VendorState vendor_state = 101;

}