1 // DO NOT EDIT. Autogenerated by Perfetto cppgen_plugin 2 #ifndef PERFETTO_SRC_PERFETTO_CMD_PERFETTO_CMD_STATE_PROTO_CPP_H_ 3 #define PERFETTO_SRC_PERFETTO_CMD_PERFETTO_CMD_STATE_PROTO_CPP_H_ 4 5 #include <stdint.h> 6 #include <bitset> 7 #include <vector> 8 #include <string> 9 #include <type_traits> 10 11 #include "perfetto/protozero/cpp_message_obj.h" 12 #include "perfetto/protozero/copyable_ptr.h" 13 #include "perfetto/base/export.h" 14 15 namespace perfetto { 16 namespace gen { 17 class PerfettoCmdState; 18 class PerfettoCmdState_PerSessionState; 19 } // namespace perfetto 20 } // namespace gen 21 22 namespace protozero { 23 class Message; 24 } // namespace protozero 25 26 namespace perfetto { 27 namespace gen { 28 29 class PERFETTO_EXPORT_COMPONENT PerfettoCmdState : public ::protozero::CppMessageObj { 30 public: 31 using PerSessionState = PerfettoCmdState_PerSessionState; 32 enum FieldNumbers { 33 kFirstTraceTimestampFieldNumber = 1, 34 kLastTraceTimestampFieldNumber = 2, 35 kTotalBytesUploadedFieldNumber = 3, 36 kSessionStateFieldNumber = 4, 37 }; 38 39 PerfettoCmdState(); 40 ~PerfettoCmdState() override; 41 PerfettoCmdState(PerfettoCmdState&&) noexcept; 42 PerfettoCmdState& operator=(PerfettoCmdState&&); 43 PerfettoCmdState(const PerfettoCmdState&); 44 PerfettoCmdState& operator=(const PerfettoCmdState&); 45 bool operator==(const PerfettoCmdState&) const; 46 bool operator!=(const PerfettoCmdState& other) const { return !(*this == other); } 47 48 bool ParseFromArray(const void*, size_t) override; 49 std::string SerializeAsString() const override; 50 std::vector<uint8_t> SerializeAsArray() const override; 51 void Serialize(::protozero::Message*) const; 52 has_first_trace_timestamp()53 bool has_first_trace_timestamp() const { return _has_field_[1]; } first_trace_timestamp()54 uint64_t first_trace_timestamp() const { return first_trace_timestamp_; } set_first_trace_timestamp(uint64_t value)55 void set_first_trace_timestamp(uint64_t value) { first_trace_timestamp_ = value; _has_field_.set(1); } 56 has_last_trace_timestamp()57 bool has_last_trace_timestamp() const { return _has_field_[2]; } last_trace_timestamp()58 uint64_t last_trace_timestamp() const { return last_trace_timestamp_; } set_last_trace_timestamp(uint64_t value)59 void set_last_trace_timestamp(uint64_t value) { last_trace_timestamp_ = value; _has_field_.set(2); } 60 has_total_bytes_uploaded()61 bool has_total_bytes_uploaded() const { return _has_field_[3]; } total_bytes_uploaded()62 uint64_t total_bytes_uploaded() const { return total_bytes_uploaded_; } set_total_bytes_uploaded(uint64_t value)63 void set_total_bytes_uploaded(uint64_t value) { total_bytes_uploaded_ = value; _has_field_.set(3); } 64 session_state()65 const std::vector<PerfettoCmdState_PerSessionState>& session_state() const { return session_state_; } mutable_session_state()66 std::vector<PerfettoCmdState_PerSessionState>* mutable_session_state() { return &session_state_; } 67 int session_state_size() const; 68 void clear_session_state(); 69 PerfettoCmdState_PerSessionState* add_session_state(); 70 71 private: 72 uint64_t first_trace_timestamp_{}; 73 uint64_t last_trace_timestamp_{}; 74 uint64_t total_bytes_uploaded_{}; 75 std::vector<PerfettoCmdState_PerSessionState> session_state_; 76 77 // Allows to preserve unknown protobuf fields for compatibility 78 // with future versions of .proto files. 79 std::string unknown_fields_; 80 81 std::bitset<5> _has_field_{}; 82 }; 83 84 85 class PERFETTO_EXPORT_COMPONENT PerfettoCmdState_PerSessionState : public ::protozero::CppMessageObj { 86 public: 87 enum FieldNumbers { 88 kSessionNameFieldNumber = 1, 89 kTotalBytesUploadedFieldNumber = 3, 90 kLastTraceTimestampFieldNumber = 2, 91 }; 92 93 PerfettoCmdState_PerSessionState(); 94 ~PerfettoCmdState_PerSessionState() override; 95 PerfettoCmdState_PerSessionState(PerfettoCmdState_PerSessionState&&) noexcept; 96 PerfettoCmdState_PerSessionState& operator=(PerfettoCmdState_PerSessionState&&); 97 PerfettoCmdState_PerSessionState(const PerfettoCmdState_PerSessionState&); 98 PerfettoCmdState_PerSessionState& operator=(const PerfettoCmdState_PerSessionState&); 99 bool operator==(const PerfettoCmdState_PerSessionState&) const; 100 bool operator!=(const PerfettoCmdState_PerSessionState& other) const { return !(*this == other); } 101 102 bool ParseFromArray(const void*, size_t) override; 103 std::string SerializeAsString() const override; 104 std::vector<uint8_t> SerializeAsArray() const override; 105 void Serialize(::protozero::Message*) const; 106 has_session_name()107 bool has_session_name() const { return _has_field_[1]; } session_name()108 const std::string& session_name() const { return session_name_; } set_session_name(const std::string & value)109 void set_session_name(const std::string& value) { session_name_ = value; _has_field_.set(1); } 110 has_total_bytes_uploaded()111 bool has_total_bytes_uploaded() const { return _has_field_[3]; } total_bytes_uploaded()112 uint64_t total_bytes_uploaded() const { return total_bytes_uploaded_; } set_total_bytes_uploaded(uint64_t value)113 void set_total_bytes_uploaded(uint64_t value) { total_bytes_uploaded_ = value; _has_field_.set(3); } 114 has_last_trace_timestamp()115 bool has_last_trace_timestamp() const { return _has_field_[2]; } last_trace_timestamp()116 uint64_t last_trace_timestamp() const { return last_trace_timestamp_; } set_last_trace_timestamp(uint64_t value)117 void set_last_trace_timestamp(uint64_t value) { last_trace_timestamp_ = value; _has_field_.set(2); } 118 119 private: 120 std::string session_name_{}; 121 uint64_t total_bytes_uploaded_{}; 122 uint64_t last_trace_timestamp_{}; 123 124 // Allows to preserve unknown protobuf fields for compatibility 125 // with future versions of .proto files. 126 std::string unknown_fields_; 127 128 std::bitset<4> _has_field_{}; 129 }; 130 131 } // namespace perfetto 132 } // namespace gen 133 134 #endif // PERFETTO_SRC_PERFETTO_CMD_PERFETTO_CMD_STATE_PROTO_CPP_H_ 135