// Copyright 2017 The Chromium Authors. All rights reserved.
// 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_outer_classname = "PrinterEventProtos";
option java_package = "org.chromium.components.metrics";

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;
}
