blob: 183a5002c6521f9e78a3b64b24c2b223b852233f [file] [log] [blame] [edit]
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// IMPORTANT: This file should only ever be modified by modifying the
// corresponding .proto file and then running
// `dart runtime/vm/protos/tools/compile_perfetto_protos.dart` from the SDK root
// directory.
// Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT.
#ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_TRACE_PROTO_H_
#define PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_TRACE_PROTO_H_
#include <stddef.h>
#include <stdint.h>
#include "perfetto/protozero/field_writer.h"
#include "perfetto/protozero/message.h"
#include "perfetto/protozero/packed_repeated_fields.h"
#include "perfetto/protozero/proto_decoder.h"
#include "perfetto/protozero/proto_utils.h"
namespace perfetto {
namespace protos {
namespace pbzero {
class TracePacket;
class Trace_Decoder : public ::protozero::TypedProtoDecoder<
/*MAX_FIELD_ID=*/1,
/*HAS_NONPACKED_REPEATED_FIELDS=*/true> {
public:
Trace_Decoder(const uint8_t* data, size_t len)
: TypedProtoDecoder(data, len) {}
explicit Trace_Decoder(const std::string& raw)
: TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()),
raw.size()) {}
explicit Trace_Decoder(const ::protozero::ConstBytes& raw)
: TypedProtoDecoder(raw.data, raw.size) {}
bool has_packet() const { return at<1>().valid(); }
::protozero::RepeatedFieldIterator<::protozero::ConstBytes> packet() const {
return GetRepeated<::protozero::ConstBytes>(1);
}
};
class Trace : public ::protozero::Message {
public:
using Decoder = Trace_Decoder;
enum : int32_t {
kPacketFieldNumber = 1,
};
static constexpr const char* GetName() { return ".perfetto.protos.Trace"; }
using FieldMetadata_Packet = ::protozero::proto_utils::FieldMetadata<
1,
::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
::protozero::proto_utils::ProtoSchemaType::kMessage,
TracePacket,
Trace>;
static constexpr FieldMetadata_Packet kPacket{};
template <typename T = TracePacket>
T* add_packet() {
return BeginNestedMessage<T>(1);
}
};
} // namespace pbzero
} // namespace protos
} // namespace perfetto
#endif // Include guard.