//
// Copyright (C) 2019 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_legacy_ipc.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_legacy_ipc.proto.
 */
export const file_protos_perfetto_trace_track_event_chrome_legacy_ipc: GenFile = /*@__PURE__*/
  fileDesc("Cjlwcm90b3MvcGVyZmV0dG8vdHJhY2UvdHJhY2tfZXZlbnQvY2hyb21lX2xlZ2FjeV9pcGMucHJvdG8SD3BlcmZldHRvLnByb3RvcyLOBwoPQ2hyb21lTGVnYWN5SXBjEkQKDW1lc3NhZ2VfY2xhc3MYASABKA4yLS5wZXJmZXR0by5wcm90b3MuQ2hyb21lTGVnYWN5SXBjLk1lc3NhZ2VDbGFzcxIUCgxtZXNzYWdlX2xpbmUYAiABKA0i3gYKDE1lc3NhZ2VDbGFzcxIVChFDTEFTU19VTlNQRUNJRklFRBAAEhQKEENMQVNTX0FVVE9NQVRJT04QARIPCgtDTEFTU19GUkFNRRACEg4KCkNMQVNTX1BBR0UQAxIOCgpDTEFTU19WSUVXEAQSEAoMQ0xBU1NfV0lER0VUEAUSDwoLQ0xBU1NfSU5QVVQQBhIOCgpDTEFTU19URVNUEAcSEAoMQ0xBU1NfV09SS0VSEAgSDgoKQ0xBU1NfTkFDTBAJEhUKEUNMQVNTX0dQVV9DSEFOTkVMEAoSDwoLQ0xBU1NfTUVESUEQCxIPCgtDTEFTU19QUEFQSRAMEhAKDENMQVNTX0NIUk9NRRANEg4KCkNMQVNTX0RSQUcQDhIPCgtDTEFTU19QUklOVBAPEhMKD0NMQVNTX0VYVEVOU0lPThAQEhsKF0NMQVNTX1RFWFRfSU5QVVRfQ0xJRU5UEBESFAoQQ0xBU1NfQkxJTktfVEVTVBASEhcKE0NMQVNTX0FDQ0VTU0lCSUxJVFkQExITCg9DTEFTU19QUkVSRU5ERVIQFBIUChBDTEFTU19DSFJPTU9USU5HEBUSGAoUQ0xBU1NfQlJPV1NFUl9QTFVHSU4QFhIaChZDTEFTU19BTkRST0lEX1dFQl9WSUVXEBcSEwoPQ0xBU1NfTkFDTF9IT1NUEBgSGQoVQ0xBU1NfRU5DUllQVEVEX01FRElBEBkSDgoKQ0xBU1NfQ0FTVBAaEhkKFUNMQVNTX0dJTl9KQVZBX0JSSURHRRAbEiEKHUNMQVNTX0NIUk9NRV9VVElMSVRZX1BSSU5USU5HEBwSEwoPQ0xBU1NfT1pPTkVfR1BVEB0SEgoOQ0xBU1NfV0VCX1RFU1QQHhIXChNDTEFTU19ORVRXT1JLX0hJTlRTEB8SHwobQ0xBU1NfRVhURU5TSU9OU19HVUVTVF9WSUVXECASFAoQQ0xBU1NfR1VFU1RfVklFVxAhEh8KG0NMQVNTX01FRElBX1BMQVlFUl9ERUxFR0FURRAiEhoKFkNMQVNTX0VYVEVOU0lPTl9XT1JLRVIQIxIcChhDTEFTU19TVUJSRVNPVVJDRV9GSUxURVIQJBIbChdDTEFTU19VTkZSRUVaQUJMRV9GUkFNRRAl");

/**
 * Details about a legacy Chrome IPC message that is either sent by the event.
 * TODO(eseckler): Also use this message on the receiving side?
 *
 * @generated from message perfetto.protos.ChromeLegacyIpc
 */
export type ChromeLegacyIpc = Message<"perfetto.protos.ChromeLegacyIpc"> & {
  /**
   * Corresponds to the message class type defined in Chrome's IPCMessageStart
   * enum, e.g. FrameMsgStart,
   *
   * @generated from field: optional perfetto.protos.ChromeLegacyIpc.MessageClass message_class = 1;
   */
  messageClass: ChromeLegacyIpc_MessageClass;

  /**
   * Line number of the message definition. See Chrome's IPC_MESSAGE_ID and
   * IPC_MESSAGE_START macros.
   *
   * @generated from field: optional uint32 message_line = 2;
   */
  messageLine: number;
};

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

/**
 * @generated from enum perfetto.protos.ChromeLegacyIpc.MessageClass
 */
export enum ChromeLegacyIpc_MessageClass {
  /**
   * @generated from enum value: CLASS_UNSPECIFIED = 0;
   */
  CLASS_UNSPECIFIED = 0,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * Describes the enum perfetto.protos.ChromeLegacyIpc.MessageClass.
 */
export const ChromeLegacyIpc_MessageClassSchema: GenEnum<ChromeLegacyIpc_MessageClass> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_track_event_chrome_legacy_ipc, 0, 0);

