// Represents the entire cloud-connected device state.

import 'printer_state_section.proto'; import 'scanner_state_section.proto';

message CloudDeviceState {

// Device cloud connectivity state.
enum CloudConnectionStateType {
  UNKNOWN = 0;
  NOT_CONFIGURED = 1;
  ONLINE = 2;
  OFFLINE = 3;
}

// Version of the CDS in the form "X.Y" where changes to Y are backwards
// compatible, and changes to X are not (required).
optional string version = 1;

// Whether device is connected to the server. It is not intended to be
// reported by the device, it's set by the server.
optional CloudConnectionStateType cloud_connection_state = 2;

// Defined for devices with printing capabilities.
optional PrinterStateSection printer = 3;

// Defined for devices with scanning capabilities.
optional ScannerStateSection scanner = 4;

}