chromium/third_party/metrics_proto/printer_event.proto

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;
option java_package = "org.chromium.components.metrics";

option java_outer_classname = "PrinterEventProtos";

package metrics;

// Stores information about a printer that a user is setting up/has attempted to
// set up.
// Next tag: 9
message PrinterEventProto {
  // The detected printer manufacuter name.
  optional string usb_printer_manufacturer = 1;

  // The detected printer model name.
  optional string usb_printer_model = 2;

  // The usb vendor id of the printer.
  optional int32 usb_vendor_id = 3;

  // The usb model id of the printer.
  optional int32 usb_model_id = 4;

  // The value reported as a printer's printer-make-and-model attribute.
  optional string ipp_make_and_model = 5;

  // A true value means that the user provided their own PPD.
  optional bool user_ppd = 6;

  // The identifier for PPDs from our serving system.
  optional string ppd_identifier = 7;

  // The action for which the printer was logged.
  // Next tag: 5
  enum EventType {
    UNKNOWN = 0;

    // Specified printer successfully installed using the detected
    // configuration.
    SETUP_AUTOMATIC = 1;

    // Specified printer was installed when the user selected the appropriate
    // configuration.
    SETUP_MANUAL = 2;

    // Setup was started but abandoned when user was prompted to choose a
    // configuration.
    SETUP_ABANDONED = 3;

    // A printer, which had been successfully installed, was deleted from the
    // user's preferences.
    PRINTER_DELETED = 4;
  }

  // The event for which this was recorded.
  optional EventType event_type = 8;
}