//
// Copyright (C) 2023 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/android/protolog.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 { ProtoLogLevel } from "../../common/protolog_common_pb";
import { file_protos_perfetto_common_protolog_common } from "../../common/protolog_common_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/android/protolog.proto.
 */
export const file_protos_perfetto_trace_android_protolog: GenFile = /*@__PURE__*/
  fileDesc("Cixwcm90b3MvcGVyZmV0dG8vdHJhY2UvYW5kcm9pZC9wcm90b2xvZy5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIpsBCg9Qcm90b0xvZ01lc3NhZ2USEgoKbWVzc2FnZV9pZBgBIAEoBhIWCg5zdHJfcGFyYW1faWlkcxgCIAMoDRIVCg1zaW50NjRfcGFyYW1zGAMgAygSEhUKDWRvdWJsZV9wYXJhbXMYBCADKAESFgoOYm9vbGVhbl9wYXJhbXMYBSADKAUSFgoOc3RhY2t0cmFjZV9paWQYBiABKA0i0AIKFFByb3RvTG9nVmlld2VyQ29uZmlnEkMKCG1lc3NhZ2VzGAEgAygLMjEucGVyZmV0dG8ucHJvdG9zLlByb3RvTG9nVmlld2VyQ29uZmlnLk1lc3NhZ2VEYXRhEjsKBmdyb3VwcxgCIAMoCzIrLnBlcmZldHRvLnByb3Rvcy5Qcm90b0xvZ1ZpZXdlckNvbmZpZy5Hcm91cBqFAQoLTWVzc2FnZURhdGESEgoKbWVzc2FnZV9pZBgBIAEoBhIPCgdtZXNzYWdlGAIgASgJEi0KBWxldmVsGAMgASgOMh4ucGVyZmV0dG8ucHJvdG9zLlByb3RvTG9nTGV2ZWwSEAoIZ3JvdXBfaWQYBCABKA0SEAoIbG9jYXRpb24YBSABKAkaLgoFR3JvdXASCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRILCgN0YWcYAyABKAk", [file_protos_perfetto_common_protolog_common]);

/**
 * represents a single log entry 
 *
 * @generated from message perfetto.protos.ProtoLogMessage
 */
export type ProtoLogMessage = Message<"perfetto.protos.ProtoLogMessage"> & {
  /**
   * log statement identifier, created from message string and log level. 
   *
   * @generated from field: optional fixed64 message_id = 1;
   */
  messageId: bigint;

  /**
   * string parameters passed to the log call that have been interned. 
   *
   * @generated from field: repeated uint32 str_param_iids = 2;
   */
  strParamIids: number[];

  /**
   * integer parameters passed to the log call. 
   *
   * @generated from field: repeated sint64 sint64_params = 3;
   */
  sint64Params: bigint[];

  /**
   * floating point parameters passed to the log call. 
   *
   * @generated from field: repeated double double_params = 4;
   */
  doubleParams: number[];

  /**
   * boolean parameters passed to the log call. 
   *
   * @generated from field: repeated int32 boolean_params = 5;
   */
  booleanParams: number[];

  /**
   * id of the interned stacktrace string
   * (only dumped if explicitly confuigured to do so)
   *
   * @generated from field: optional uint32 stacktrace_iid = 6;
   */
  stacktraceIid: number;
};

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

/**
 * contains all the data required to fully decode the protolog messages 
 *
 * @generated from message perfetto.protos.ProtoLogViewerConfig
 */
export type ProtoLogViewerConfig = Message<"perfetto.protos.ProtoLogViewerConfig"> & {
  /**
   * @generated from field: repeated perfetto.protos.ProtoLogViewerConfig.MessageData messages = 1;
   */
  messages: ProtoLogViewerConfig_MessageData[];

  /**
   * @generated from field: repeated perfetto.protos.ProtoLogViewerConfig.Group groups = 2;
   */
  groups: ProtoLogViewerConfig_Group[];
};

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

/**
 * @generated from message perfetto.protos.ProtoLogViewerConfig.MessageData
 */
export type ProtoLogViewerConfig_MessageData = Message<"perfetto.protos.ProtoLogViewerConfig.MessageData"> & {
  /**
   * the id of the message that is logged in a ProtoLogMessage
   *
   * @generated from field: optional fixed64 message_id = 1;
   */
  messageId: bigint;

  /**
   * the string representation of the message
   *
   * @generated from field: optional string message = 2;
   */
  message: string;

  /**
   * the level of the message
   *
   * @generated from field: optional perfetto.protos.ProtoLogLevel level = 3;
   */
  level: ProtoLogLevel;

  /**
   * the id of the log group this message belongs to
   *
   * @generated from field: optional uint32 group_id = 4;
   */
  groupId: number;

  /**
   * path to the file where the message was logged
   *
   * @generated from field: optional string location = 5;
   */
  location: string;
};

/**
 * Describes the message perfetto.protos.ProtoLogViewerConfig.MessageData.
 * Use `create(ProtoLogViewerConfig_MessageDataSchema)` to create a new message.
 */
export const ProtoLogViewerConfig_MessageDataSchema: GenMessage<ProtoLogViewerConfig_MessageData> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_protolog, 1, 0);

/**
 * information about a ProtoLog log group 
 *
 * @generated from message perfetto.protos.ProtoLogViewerConfig.Group
 */
export type ProtoLogViewerConfig_Group = Message<"perfetto.protos.ProtoLogViewerConfig.Group"> & {
  /**
   * @generated from field: optional uint32 id = 1;
   */
  id: number;

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

  /**
   * @generated from field: optional string tag = 3;
   */
  tag: string;
};

/**
 * Describes the message perfetto.protos.ProtoLogViewerConfig.Group.
 * Use `create(ProtoLogViewerConfig_GroupSchema)` to create a new message.
 */
export const ProtoLogViewerConfig_GroupSchema: GenMessage<ProtoLogViewerConfig_Group> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_protolog, 1, 1);

