//
// 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/trace_packet_defaults.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { V8CodeDefaults } from "./chrome/v8_pb";
import { file_protos_perfetto_trace_chrome_v8 } from "./chrome/v8_pb";
import type { PerfSampleDefaults } from "./profiling/profile_packet_pb";
import { file_protos_perfetto_trace_profiling_profile_packet } from "./profiling/profile_packet_pb";
import type { TrackEventDefaults } from "./track_event/track_event_pb";
import { file_protos_perfetto_trace_track_event_track_event } from "./track_event/track_event_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/trace_packet_defaults.proto.
 */
export const file_protos_perfetto_trace_trace_packet_defaults: GenFile = /*@__PURE__*/
  fileDesc("CjFwcm90b3MvcGVyZmV0dG8vdHJhY2UvdHJhY2VfcGFja2V0X2RlZmF1bHRzLnByb3RvEg9wZXJmZXR0by5wcm90b3Mi8gEKE1RyYWNlUGFja2V0RGVmYXVsdHMSGgoSdGltZXN0YW1wX2Nsb2NrX2lkGDogASgNEkEKFHRyYWNrX2V2ZW50X2RlZmF1bHRzGAsgASgLMiMucGVyZmV0dG8ucHJvdG9zLlRyYWNrRXZlbnREZWZhdWx0cxJBChRwZXJmX3NhbXBsZV9kZWZhdWx0cxgMIAEoCzIjLnBlcmZldHRvLnByb3Rvcy5QZXJmU2FtcGxlRGVmYXVsdHMSOQoQdjhfY29kZV9kZWZhdWx0cxhjIAEoCzIfLnBlcmZldHRvLnByb3Rvcy5WOENvZGVEZWZhdWx0cw", [file_protos_perfetto_trace_chrome_v8, file_protos_perfetto_trace_profiling_profile_packet, file_protos_perfetto_trace_track_event_track_event]);

/**
 * Default values for TracePacket fields that hold for a particular TraceWriter
 * packet sequence. This message contains a subset of the TracePacket fields
 * with matching IDs. When provided, these fields define the default values
 * that should be applied, at import time, to all TracePacket(s) with the same
 * |trusted_packet_sequence_id|, unless otherwise specified in each packet.
 *
 * Should be reemitted whenever incremental state is cleared on the sequence.
 *
 * @generated from message perfetto.protos.TracePacketDefaults
 */
export type TracePacketDefaults = Message<"perfetto.protos.TracePacketDefaults"> & {
  /**
   * @generated from field: optional uint32 timestamp_clock_id = 58;
   */
  timestampClockId: number;

  /**
   * Default values for TrackEvents (e.g. default track).
   *
   * @generated from field: optional perfetto.protos.TrackEventDefaults track_event_defaults = 11;
   */
  trackEventDefaults?: TrackEventDefaults;

  /**
   * Defaults for perf profiler packets (PerfSample).
   *
   * @generated from field: optional perfetto.protos.PerfSampleDefaults perf_sample_defaults = 12;
   */
  perfSampleDefaults?: PerfSampleDefaults;

  /**
   * Defaults for V8 code packets (V8JsCode, V8InternalCode, V8WasmCode,
   * V8RegexpCode)
   *
   * @generated from field: optional perfetto.protos.V8CodeDefaults v8_code_defaults = 99;
   */
  v8CodeDefaults?: V8CodeDefaults;
};

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

