//
// 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_thread_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_thread_descriptor.proto.
 */
export const file_protos_perfetto_trace_track_event_chrome_thread_descriptor: GenFile = /*@__PURE__*/
  fileDesc("CkBwcm90b3MvcGVyZmV0dG8vdHJhY2UvdHJhY2tfZXZlbnQvY2hyb21lX3RocmVhZF9kZXNjcmlwdG9yLnByb3RvEg9wZXJmZXR0by5wcm90b3MihwoKFkNocm9tZVRocmVhZERlc2NyaXB0b3ISRwoLdGhyZWFkX3R5cGUYASABKA4yMi5wZXJmZXR0by5wcm90b3MuQ2hyb21lVGhyZWFkRGVzY3JpcHRvci5UaHJlYWRUeXBlEhkKEWxlZ2FjeV9zb3J0X2luZGV4GAIgASgFIogJCgpUaHJlYWRUeXBlEhYKElRIUkVBRF9VTlNQRUNJRklFRBAAEg8KC1RIUkVBRF9NQUlOEAESDQoJVEhSRUFEX0lPEAISGQoVVEhSRUFEX1BPT0xfQkdfV09SS0VSEAMSGQoVVEhSRUFEX1BPT0xfRkdfV09SS0VSEAQSGwoXVEhSRUFEX1BPT0xfRkdfQkxPQ0tJTkcQBRIbChdUSFJFQURfUE9PTF9CR19CTE9DS0lORxAGEhcKE1RIUkVBRF9QT09MX1NFUlZJQ0UQBxIVChFUSFJFQURfQ09NUE9TSVRPUhAIEhkKFVRIUkVBRF9WSVpfQ09NUE9TSVRPUhAJEhwKGFRIUkVBRF9DT01QT1NJVE9SX1dPUktFUhAKEhkKFVRIUkVBRF9TRVJWSUNFX1dPUktFUhALEhoKFlRIUkVBRF9ORVRXT1JLX1NFUlZJQ0UQDBITCg9USFJFQURfQ0hJTERfSU8QDRIVChFUSFJFQURfQlJPV1NFUl9JTxAOEhcKE1RIUkVBRF9CUk9XU0VSX01BSU4QDxIYChRUSFJFQURfUkVOREVSRVJfTUFJThAQEhcKE1RIUkVBRF9VVElMSVRZX01BSU4QERITCg9USFJFQURfR1BVX01BSU4QEhIaChZUSFJFQURfQ0FDSEVfQkxPQ0tGSUxFEBMSEAoMVEhSRUFEX01FRElBEBQSHQoZVEhSRUFEX0FVRElPX09VVFBVVERFVklDRRAVEhwKGFRIUkVBRF9BVURJT19JTlBVVERFVklDRRAWEhUKEVRIUkVBRF9HUFVfTUVNT1JZEBcSFAoQVEhSRUFEX0dQVV9WU1lOQxAYEhsKF1RIUkVBRF9EWEFfVklERU9ERUNPREVSEBkSGwoXVEhSRUFEX0JST1dTRVJfV0FUQ0hET0cQGhIZChVUSFJFQURfV0VCUlRDX05FVFdPUksQGxIXChNUSFJFQURfV0lORE9XX09XTkVSEBwSGwoXVEhSRUFEX1dFQlJUQ19TSUdOQUxJTkcQHRIYChRUSFJFQURfV0VCUlRDX1dPUktFUhAeEhUKEVRIUkVBRF9QUEFQSV9NQUlOEB8SFwoTVEhSRUFEX0dQVV9XQVRDSERPRxAgEhIKDlRIUkVBRF9TV0FQUEVSECESGgoWVEhSRUFEX0dBTUVQQURfUE9MTElORxAiEhQKEFRIUkVBRF9XRUJDUllQVE8QIxITCg9USFJFQURfREFUQUJBU0UQJBIYChRUSFJFQURfUFJPWFlSRVNPTFZFUhAlEhYKElRIUkVBRF9ERVZUT09MU0FEQhAmEh8KG1RIUkVBRF9ORVRXT1JLQ09ORklHV0FUQ0hFUhAnEhgKFFRIUkVBRF9XQVNBUElfUkVOREVSECgSHgoaVEhSRUFEX0xPQURFUl9MT0NLX1NBTVBMRVIQKRIXChNUSFJFQURfTUVNT1JZX0lORlJBEDISHAoYVEhSRUFEX1NBTVBMSU5HX1BST0ZJTEVSEDMSGQoVVEhSRUFEX0NPTVBPU0lUT1JfR1BVEDQ");

/**
 * Describes a Chrome thread's attributes. Emitted as part of a TrackDescriptor,
 * usually by the thread's trace writer. Must be paired with a ThreadDescriptor
 * in the same TrackDescriptor.
 *
 * Next id: 3.
 *
 * @generated from message perfetto.protos.ChromeThreadDescriptor
 */
export type ChromeThreadDescriptor = Message<"perfetto.protos.ChromeThreadDescriptor"> & {
  /**
   * @generated from field: optional perfetto.protos.ChromeThreadDescriptor.ThreadType thread_type = 1;
   */
  threadType: ChromeThreadDescriptor_ThreadType;

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

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

/**
 * @generated from enum perfetto.protos.ChromeThreadDescriptor.ThreadType
 */
export enum ChromeThreadDescriptor_ThreadType {
  /**
   * @generated from enum value: THREAD_UNSPECIFIED = 0;
   */
  THREAD_UNSPECIFIED = 0,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /**
   * @generated from enum value: THREAD_MEMORY_INFRA = 50;
   */
  THREAD_MEMORY_INFRA = 50,

  /**
   * @generated from enum value: THREAD_SAMPLING_PROFILER = 51;
   */
  THREAD_SAMPLING_PROFILER = 51,

  /**
   * @generated from enum value: THREAD_COMPOSITOR_GPU = 52;
   */
  THREAD_COMPOSITOR_GPU = 52,
}

/**
 * Describes the enum perfetto.protos.ChromeThreadDescriptor.ThreadType.
 */
export const ChromeThreadDescriptor_ThreadTypeSchema: GenEnum<ChromeThreadDescriptor_ThreadType> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_track_event_chrome_thread_descriptor, 0, 0);

