Use SQLite for persistence and generate Rust protobuf bindings at build time. Add Docker image support for containerized deployment. Co-Authored-By: codex <[email protected]>
84 lines
2.8 KiB
Protocol Buffer
84 lines
2.8 KiB
Protocol Buffer
// Copyright 2016 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
//
|
|
// Sync protocol datatype extension for printer data.
|
|
|
|
// If you change or add any fields in this file, update proto_visitors.h and
|
|
// potentially proto_enum_conversions.{h, cc}.
|
|
|
|
syntax = "proto2";
|
|
|
|
option go_package = "./sync_pb";
|
|
|
|
option java_multiple_files = true;
|
|
option java_package = "org.chromium.components.sync.protocol";
|
|
|
|
option optimize_for = LITE_RUNTIME;
|
|
|
|
package sync_pb;
|
|
|
|
// User PPD configuration
|
|
message PrinterPPDReference {
|
|
// Url for user provided file. Overrides other fields.
|
|
optional string user_supplied_ppd_url = 1;
|
|
|
|
// Retired fields
|
|
optional string effective_manufacturer = 2 [deprecated = true];
|
|
optional string effective_model = 3 [deprecated = true];
|
|
|
|
// String identifying the type of printer, used to look up a ppd to drive the
|
|
// printer.
|
|
optional string effective_make_and_model = 4;
|
|
|
|
// True if the printer should be automatically configured, false otherwise.
|
|
optional bool autoconf = 5 [default = false];
|
|
}
|
|
|
|
message PrinterSpecifics {
|
|
// Printer record GUID
|
|
optional string id = 1;
|
|
|
|
// User visible name. Any string.
|
|
optional string display_name = 2;
|
|
|
|
// User visible description. Any string.
|
|
optional string description = 3;
|
|
|
|
// Printer manufacturer. Should be a known manufacturuer.
|
|
// Deprecated in favor of make_and_model.
|
|
optional string manufacturer = 4 [deprecated = true];
|
|
|
|
// Printer model. Should match a known model for the manufacturer.
|
|
// Deprecated in favor of make_and_model.
|
|
optional string model = 5 [deprecated = true];
|
|
|
|
// Universal Resource Identifier for the printer on the network. usb:// will
|
|
// be the scheme for USB printers. Example
|
|
// ipp://address.example:port/queue/queue/queue.
|
|
optional string uri = 6;
|
|
|
|
// Universally Unique Identifier provided by the printer. Used for unique
|
|
// identification of printers in a zeroconf environment.
|
|
optional string uuid = 7;
|
|
|
|
// PPDData was deprecated in favor of PPDReference format.
|
|
optional bytes ppd = 8 [deprecated = true];
|
|
|
|
// Structure representing the user's ppd configuration.
|
|
optional PrinterPPDReference ppd_reference = 9;
|
|
|
|
// Timestamp when printer was last updated.
|
|
optional int64 updated_timestamp = 10;
|
|
|
|
// The make and model of the printer in one string. The typical arrangement
|
|
// for this is '<make> <model>'. This aligns with the typical formatting of
|
|
// the IPP attribute printer-make-and-model.
|
|
optional string make_and_model = 11;
|
|
|
|
// Universal Resource Identifier for the print server on the network. This
|
|
// will only be populated if the printer is from a print server. Example
|
|
// ipp://address.example:port/
|
|
optional string print_server_uri = 12;
|
|
}
|