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