//
// 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/source_location.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 { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/track_event/source_location.proto.
 */
export const file_protos_perfetto_trace_track_event_source_location: GenFile = /*@__PURE__*/
  fileDesc("Cjdwcm90b3MvcGVyZmV0dG8vdHJhY2UvdHJhY2tfZXZlbnQvc291cmNlX2xvY2F0aW9uLnByb3RvEg9wZXJmZXR0by5wcm90b3MiTQoaVW5zeW1ib2xpemVkU291cmNlTG9jYXRpb24SCwoDaWlkGAEgASgEEhIKCm1hcHBpbmdfaWQYAiABKAQSDgoGcmVsX3BjGAMgASgEIlwKDlNvdXJjZUxvY2F0aW9uEgsKA2lpZBgBIAEoBBIRCglmaWxlX25hbWUYAiABKAkSFQoNZnVuY3Rpb25fbmFtZRgDIAEoCRITCgtsaW5lX251bWJlchgEIAEoDQ");

/**
 * A source location, represented as a native symbol.
 * This is similar to `message Frame` from
 * protos/perfetto/trace/profiling/profile_common.proto, but for abitrary
 * source code locations (for example in track event args), not stack frames.
 *
 * @generated from message perfetto.protos.UnsymbolizedSourceLocation
 */
export type UnsymbolizedSourceLocation = Message<"perfetto.protos.UnsymbolizedSourceLocation"> & {
  /**
   * @generated from field: optional uint64 iid = 1;
   */
  iid: bigint;

  /**
   * @generated from field: optional uint64 mapping_id = 2;
   */
  mappingId: bigint;

  /**
   * @generated from field: optional uint64 rel_pc = 3;
   */
  relPc: bigint;
};

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

/**
 * @generated from message perfetto.protos.SourceLocation
 */
export type SourceLocation = Message<"perfetto.protos.SourceLocation"> & {
  /**
   * @generated from field: optional uint64 iid = 1;
   */
  iid: bigint;

  /**
   * @generated from field: optional string file_name = 2;
   */
  fileName: string;

  /**
   * @generated from field: optional string function_name = 3;
   */
  functionName: string;

  /**
   * @generated from field: optional uint32 line_number = 4;
   */
  lineNumber: number;
};

/**
 * Describes the message perfetto.protos.SourceLocation.
 * Use `create(SourceLocationSchema)` to create a new message.
 */
export const SourceLocationSchema: GenMessage<SourceLocation> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_track_event_source_location, 1);

