//
// Copyright (C) 2017 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/windowmanager.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 { WindowManagerServiceDumpProto } from "./server/windowmanagerservice_pb";
import { file_protos_perfetto_trace_android_server_windowmanagerservice } from "./server/windowmanagerservice_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/android/windowmanager.proto.
 */
export const file_protos_perfetto_trace_android_windowmanager: GenFile = /*@__PURE__*/
  fileDesc("CjFwcm90b3MvcGVyZmV0dG8vdHJhY2UvYW5kcm9pZC93aW5kb3dtYW5hZ2VyLnByb3RvEg9wZXJmZXR0by5wcm90b3Mi4wEKG1dpbmRvd01hbmFnZXJUcmFjZUZpbGVQcm90bxIUCgxtYWdpY19udW1iZXIYASABKAYSNwoFZW50cnkYAiADKAsyKC5wZXJmZXR0by5wcm90b3MuV2luZG93TWFuYWdlclRyYWNlRW50cnkSKQohcmVhbF90b19lbGFwc2VkX3RpbWVfb2Zmc2V0X25hbm9zGAMgASgGIkoKC01hZ2ljTnVtYmVyEgsKB0lOVkFMSUQQABIWCg5NQUdJQ19OVU1CRVJfTBDXkrmiBRIWCg5NQUdJQ19OVU1CRVJfSBDSgo2qBCKYAQoXV2luZG93TWFuYWdlclRyYWNlRW50cnkSHgoWZWxhcHNlZF9yZWFsdGltZV9uYW5vcxgBIAEoBhINCgV3aGVyZRgCIAEoCRJOChZ3aW5kb3dfbWFuYWdlcl9zZXJ2aWNlGAMgASgLMi4ucGVyZmV0dG8ucHJvdG9zLldpbmRvd01hbmFnZXJTZXJ2aWNlRHVtcFByb3Rv", [file_protos_perfetto_trace_android_server_windowmanagerservice]);

/**
 * Represents a file full of window manager trace entries.
 * Encoded, it should start with 0x9 0x57 0x49 0x4e 0x54 0x52 0x41 0x43 0x45
 * (.WINTRACE), such that they can be easily identified.
 *
 * @generated from message perfetto.protos.WindowManagerTraceFileProto
 */
export type WindowManagerTraceFileProto = Message<"perfetto.protos.WindowManagerTraceFileProto"> & {
  /**
   * Must be the first field, set to value in MagicNumber
   *
   * @generated from field: optional fixed64 magic_number = 1;
   */
  magicNumber: bigint;

  /**
   * @generated from field: repeated perfetto.protos.WindowManagerTraceEntry entry = 2;
   */
  entry: WindowManagerTraceEntry[];

  /**
   * offset between real-time clock and elapsed time clock in nanoseconds.
   * Calculated as: 1000000 * System.currentTimeMillis() -
   * SystemClock.elapsedRealtimeNanos()
   *
   * @generated from field: optional fixed64 real_to_elapsed_time_offset_nanos = 3;
   */
  realToElapsedTimeOffsetNanos: bigint;
};

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

/**
 * constant; MAGIC_NUMBER = (long) MAGIC_NUMBER_H << 32 |
 * MagicNumber.MAGIC_NUMBER_L (this is needed because enums have to be 32 bits
 * and there's no nice way to put 64bit constants into .proto files.
 *
 * @generated from enum perfetto.protos.WindowManagerTraceFileProto.MagicNumber
 */
export enum WindowManagerTraceFileProto_MagicNumber {
  /**
   * @generated from enum value: INVALID = 0;
   */
  INVALID = 0,

  /**
   * WINT (little-endian ASCII)
   *
   * @generated from enum value: MAGIC_NUMBER_L = 1414416727;
   */
  MAGIC_NUMBER_L = 1414416727,

  /**
   * RACE (little-endian ASCII)
   *
   * @generated from enum value: MAGIC_NUMBER_H = 1162035538;
   */
  MAGIC_NUMBER_H = 1162035538,
}

/**
 * Describes the enum perfetto.protos.WindowManagerTraceFileProto.MagicNumber.
 */
export const WindowManagerTraceFileProto_MagicNumberSchema: GenEnum<WindowManagerTraceFileProto_MagicNumber> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_windowmanager, 0, 0);

/**
 * one window manager trace entry
 *
 * @generated from message perfetto.protos.WindowManagerTraceEntry
 */
export type WindowManagerTraceEntry = Message<"perfetto.protos.WindowManagerTraceEntry"> & {
  /**
   * required: elapsed realtime in nanos since boot of when this entry was
   * logged
   *
   * @generated from field: optional fixed64 elapsed_realtime_nanos = 1;
   */
  elapsedRealtimeNanos: bigint;

  /**
   * where the trace originated
   *
   * @generated from field: optional string where = 2;
   */
  where: string;

  /**
   * @generated from field: optional perfetto.protos.WindowManagerServiceDumpProto window_manager_service = 3;
   */
  windowManagerService?: WindowManagerServiceDumpProto;
};

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

