//
// Copyright (C) 2020 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/trace/track_event/chrome_process_descriptor.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/track_event/chrome_process_descriptor.proto.
 */
export const file_protos_perfetto_trace_track_event_chrome_process_descriptor: GenFile = /*@__PURE__*/
  fileDesc("CkFwcm90b3MvcGVyZmV0dG8vdHJhY2UvdHJhY2tfZXZlbnQvY2hyb21lX3Byb2Nlc3NfZGVzY3JpcHRvci5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIuULChdDaHJvbWVQcm9jZXNzRGVzY3JpcHRvchJKCgxwcm9jZXNzX3R5cGUYASABKA4yNC5wZXJmZXR0by5wcm90b3MuQ2hyb21lUHJvY2Vzc0Rlc2NyaXB0b3IuUHJvY2Vzc1R5cGUSGAoQcHJvY2Vzc19wcmlvcml0eRgCIAEoBRIZChFsZWdhY3lfc29ydF9pbmRleBgDIAEoBRIdChVob3N0X2FwcF9wYWNrYWdlX25hbWUYBCABKAkSFgoOY3Jhc2hfdHJhY2VfaWQYBSABKAQikQoKC1Byb2Nlc3NUeXBlEhcKE1BST0NFU1NfVU5TUEVDSUZJRUQQABITCg9QUk9DRVNTX0JST1dTRVIQARIUChBQUk9DRVNTX1JFTkRFUkVSEAISEwoPUFJPQ0VTU19VVElMSVRZEAMSEgoOUFJPQ0VTU19aWUdPVEUQBBIaChZQUk9DRVNTX1NBTkRCT1hfSEVMUEVSEAUSDwoLUFJPQ0VTU19HUFUQBhIYChRQUk9DRVNTX1BQQVBJX1BMVUdJThAHEhgKFFBST0NFU1NfUFBBUElfQlJPS0VSEAgSGwoXUFJPQ0VTU19TRVJWSUNFX05FVFdPUksQCRIbChdQUk9DRVNTX1NFUlZJQ0VfVFJBQ0lORxAKEhsKF1BST0NFU1NfU0VSVklDRV9TVE9SQUdFEAsSGQoVUFJPQ0VTU19TRVJWSUNFX0FVRElPEAwSIAocUFJPQ0VTU19TRVJWSUNFX0RBVEFfREVDT0RFUhANEhwKGFBST0NFU1NfU0VSVklDRV9VVElMX1dJThAOEiIKHlBST0NFU1NfU0VSVklDRV9QUk9YWV9SRVNPTFZFUhAPEhcKE1BST0NFU1NfU0VSVklDRV9DRE0QEBIhCh1QUk9DRVNTX1NFUlZJQ0VfVklERU9fQ0FQVFVSRRAREhwKGFBST0NFU1NfU0VSVklDRV9VTlpJUFBFUhASEh0KGVBST0NFU1NfU0VSVklDRV9NSVJST1JJTkcQExIfChtQUk9DRVNTX1NFUlZJQ0VfRklMRVBBVENIRVIQFBIXChNQUk9DRVNTX1NFUlZJQ0VfVFRTEBUSHAoYUFJPQ0VTU19TRVJWSUNFX1BSSU5USU5HEBYSHgoaUFJPQ0VTU19TRVJWSUNFX1FVQVJBTlRJTkUQFxIkCiBQUk9DRVNTX1NFUlZJQ0VfQ1JPU19MT0NBTFNFQVJDSBAYEjAKLFBST0NFU1NfU0VSVklDRV9DUk9TX0FTU0lTVEFOVF9BVURJT19ERUNPREVSEBkSHAoYUFJPQ0VTU19TRVJWSUNFX0ZJTEVVVElMEBoSIwofUFJPQ0VTU19TRVJWSUNFX1BSSU5UQ09NUE9TSVRPUhAbEiAKHFBST0NFU1NfU0VSVklDRV9QQUlOVFBSRVZJRVcQHBIlCiFQUk9DRVNTX1NFUlZJQ0VfU1BFRUNIUkVDT0dOSVRJT04QHRIcChhQUk9DRVNTX1NFUlZJQ0VfWFJERVZJQ0UQHhIcChhQUk9DRVNTX1NFUlZJQ0VfUkVBRElDT04QHxIlCiFQUk9DRVNTX1NFUlZJQ0VfTEFOR1VBR0VERVRFQ1RJT04QIBIbChdQUk9DRVNTX1NFUlZJQ0VfU0hBUklORxAhEh8KG1BST0NFU1NfU0VSVklDRV9NRURJQVBBUlNFUhAiEiMKH1BST0NFU1NfU0VSVklDRV9RUkNPREVHRU5FUkFUT1IQIxIhCh1QUk9DRVNTX1NFUlZJQ0VfUFJPRklMRUlNUE9SVBAkEhcKE1BST0NFU1NfU0VSVklDRV9JTUUQJRIdChlQUk9DRVNTX1NFUlZJQ0VfUkVDT1JESU5HECYSIgoeUFJPQ0VTU19TRVJWSUNFX1NIQVBFREVURUNUSU9OECcSHgoaUFJPQ0VTU19SRU5ERVJFUl9FWFRFTlNJT04QKBIkCiBQUk9DRVNTX1NFUlZJQ0VfTUVESUFfRk9VTkRBVElPThAp");

/**
 * Describes the attributes for a Chrome process. Must be paired with a
 * ProcessDescriptor in the same TrackDescriptor.
 *
 * Next id: 6.
 *
 * @generated from message perfetto.protos.ChromeProcessDescriptor
 */
export type ChromeProcessDescriptor = Message<"perfetto.protos.ChromeProcessDescriptor"> & {
  /**
   * @generated from field: optional perfetto.protos.ChromeProcessDescriptor.ProcessType process_type = 1;
   */
  processType: ChromeProcessDescriptor_ProcessType;

  /**
   * @generated from field: optional int32 process_priority = 2;
   */
  processPriority: number;

  /**
   * To support old UI. New UI should determine default sorting by process_type.
   *
   * @generated from field: optional int32 legacy_sort_index = 3;
   */
  legacySortIndex: number;

  /**
   * Name of the hosting app for WebView. Used to match renderer processes to
   * their hosting apps.
   *
   * @generated from field: optional string host_app_package_name = 4;
   */
  hostAppPackageName: string;

  /**
   * The ID to link crashes to trace.
   * Notes:
   * * The ID is per process. So, each trace may contain many IDs, and you need
   *   to look for the ID from crashed process to find the crash report.
   * * Having a "chrome-trace-id" in crash doesn't necessarily mean we can
   *   get an uploaded trace, since uploads could have failed.
   * * On the other hand, if there was a crash during the session and trace was
   *   uploaded, it is very likely to find a crash report with the trace ID.
   * * This is not crash ID or trace ID. It is just a random 64-bit number
   *   recorded in both traces and crashes. It is possible to have collisions,
   *   though very rare.
   *
   * @generated from field: optional uint64 crash_trace_id = 5;
   */
  crashTraceId: bigint;
};

/**
 * Describes the message perfetto.protos.ChromeProcessDescriptor.
 * Use `create(ChromeProcessDescriptorSchema)` to create a new message.
 */
export const ChromeProcessDescriptorSchema: GenMessage<ChromeProcessDescriptor> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_track_event_chrome_process_descriptor, 0);

/**
 * See chromium's content::ProcessType.
 *
 * @generated from enum perfetto.protos.ChromeProcessDescriptor.ProcessType
 */
export enum ChromeProcessDescriptor_ProcessType {
  /**
   * @generated from enum value: PROCESS_UNSPECIFIED = 0;
   */
  PROCESS_UNSPECIFIED = 0,

  /**
   * @generated from enum value: PROCESS_BROWSER = 1;
   */
  PROCESS_BROWSER = 1,

  /**
   * @generated from enum value: PROCESS_RENDERER = 2;
   */
  PROCESS_RENDERER = 2,

  /**
   * @generated from enum value: PROCESS_UTILITY = 3;
   */
  PROCESS_UTILITY = 3,

  /**
   * @generated from enum value: PROCESS_ZYGOTE = 4;
   */
  PROCESS_ZYGOTE = 4,

  /**
   * @generated from enum value: PROCESS_SANDBOX_HELPER = 5;
   */
  PROCESS_SANDBOX_HELPER = 5,

  /**
   * @generated from enum value: PROCESS_GPU = 6;
   */
  PROCESS_GPU = 6,

  /**
   * @generated from enum value: PROCESS_PPAPI_PLUGIN = 7;
   */
  PROCESS_PPAPI_PLUGIN = 7,

  /**
   * @generated from enum value: PROCESS_PPAPI_BROKER = 8;
   */
  PROCESS_PPAPI_BROKER = 8,

  /**
   * @generated from enum value: PROCESS_SERVICE_NETWORK = 9;
   */
  PROCESS_SERVICE_NETWORK = 9,

  /**
   * @generated from enum value: PROCESS_SERVICE_TRACING = 10;
   */
  PROCESS_SERVICE_TRACING = 10,

  /**
   * @generated from enum value: PROCESS_SERVICE_STORAGE = 11;
   */
  PROCESS_SERVICE_STORAGE = 11,

  /**
   * @generated from enum value: PROCESS_SERVICE_AUDIO = 12;
   */
  PROCESS_SERVICE_AUDIO = 12,

  /**
   * @generated from enum value: PROCESS_SERVICE_DATA_DECODER = 13;
   */
  PROCESS_SERVICE_DATA_DECODER = 13,

  /**
   * @generated from enum value: PROCESS_SERVICE_UTIL_WIN = 14;
   */
  PROCESS_SERVICE_UTIL_WIN = 14,

  /**
   * @generated from enum value: PROCESS_SERVICE_PROXY_RESOLVER = 15;
   */
  PROCESS_SERVICE_PROXY_RESOLVER = 15,

  /**
   * @generated from enum value: PROCESS_SERVICE_CDM = 16;
   */
  PROCESS_SERVICE_CDM = 16,

  /**
   * @generated from enum value: PROCESS_SERVICE_VIDEO_CAPTURE = 17;
   */
  PROCESS_SERVICE_VIDEO_CAPTURE = 17,

  /**
   * @generated from enum value: PROCESS_SERVICE_UNZIPPER = 18;
   */
  PROCESS_SERVICE_UNZIPPER = 18,

  /**
   * @generated from enum value: PROCESS_SERVICE_MIRRORING = 19;
   */
  PROCESS_SERVICE_MIRRORING = 19,

  /**
   * @generated from enum value: PROCESS_SERVICE_FILEPATCHER = 20;
   */
  PROCESS_SERVICE_FILEPATCHER = 20,

  /**
   * @generated from enum value: PROCESS_SERVICE_TTS = 21;
   */
  PROCESS_SERVICE_TTS = 21,

  /**
   * @generated from enum value: PROCESS_SERVICE_PRINTING = 22;
   */
  PROCESS_SERVICE_PRINTING = 22,

  /**
   * @generated from enum value: PROCESS_SERVICE_QUARANTINE = 23;
   */
  PROCESS_SERVICE_QUARANTINE = 23,

  /**
   * @generated from enum value: PROCESS_SERVICE_CROS_LOCALSEARCH = 24;
   */
  PROCESS_SERVICE_CROS_LOCALSEARCH = 24,

  /**
   * @generated from enum value: PROCESS_SERVICE_CROS_ASSISTANT_AUDIO_DECODER = 25;
   */
  PROCESS_SERVICE_CROS_ASSISTANT_AUDIO_DECODER = 25,

  /**
   * @generated from enum value: PROCESS_SERVICE_FILEUTIL = 26;
   */
  PROCESS_SERVICE_FILEUTIL = 26,

  /**
   * @generated from enum value: PROCESS_SERVICE_PRINTCOMPOSITOR = 27;
   */
  PROCESS_SERVICE_PRINTCOMPOSITOR = 27,

  /**
   * @generated from enum value: PROCESS_SERVICE_PAINTPREVIEW = 28;
   */
  PROCESS_SERVICE_PAINTPREVIEW = 28,

  /**
   * @generated from enum value: PROCESS_SERVICE_SPEECHRECOGNITION = 29;
   */
  PROCESS_SERVICE_SPEECHRECOGNITION = 29,

  /**
   * @generated from enum value: PROCESS_SERVICE_XRDEVICE = 30;
   */
  PROCESS_SERVICE_XRDEVICE = 30,

  /**
   * @generated from enum value: PROCESS_SERVICE_READICON = 31;
   */
  PROCESS_SERVICE_READICON = 31,

  /**
   * @generated from enum value: PROCESS_SERVICE_LANGUAGEDETECTION = 32;
   */
  PROCESS_SERVICE_LANGUAGEDETECTION = 32,

  /**
   * @generated from enum value: PROCESS_SERVICE_SHARING = 33;
   */
  PROCESS_SERVICE_SHARING = 33,

  /**
   * @generated from enum value: PROCESS_SERVICE_MEDIAPARSER = 34;
   */
  PROCESS_SERVICE_MEDIAPARSER = 34,

  /**
   * @generated from enum value: PROCESS_SERVICE_QRCODEGENERATOR = 35;
   */
  PROCESS_SERVICE_QRCODEGENERATOR = 35,

  /**
   * @generated from enum value: PROCESS_SERVICE_PROFILEIMPORT = 36;
   */
  PROCESS_SERVICE_PROFILEIMPORT = 36,

  /**
   * @generated from enum value: PROCESS_SERVICE_IME = 37;
   */
  PROCESS_SERVICE_IME = 37,

  /**
   * @generated from enum value: PROCESS_SERVICE_RECORDING = 38;
   */
  PROCESS_SERVICE_RECORDING = 38,

  /**
   * @generated from enum value: PROCESS_SERVICE_SHAPEDETECTION = 39;
   */
  PROCESS_SERVICE_SHAPEDETECTION = 39,

  /**
   * @generated from enum value: PROCESS_RENDERER_EXTENSION = 40;
   */
  PROCESS_RENDERER_EXTENSION = 40,

  /**
   * @generated from enum value: PROCESS_SERVICE_MEDIA_FOUNDATION = 41;
   */
  PROCESS_SERVICE_MEDIA_FOUNDATION = 41,
}

/**
 * Describes the enum perfetto.protos.ChromeProcessDescriptor.ProcessType.
 */
export const ChromeProcessDescriptor_ProcessTypeSchema: GenEnum<ChromeProcessDescriptor_ProcessType> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_track_event_chrome_process_descriptor, 0, 0);

