1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT. 2 3 #ifndef PERFETTO_PROTOS_PROCESS_DESCRIPTOR_PROTO_H_ 4 #define PERFETTO_PROTOS_PROCESS_DESCRIPTOR_PROTO_H_ 5 6 #include <stddef.h> 7 #include <stdint.h> 8 9 #include "perfetto/protozero/message.h" 10 #include "perfetto/protozero/packed_repeated_fields.h" 11 #include "perfetto/protozero/proto_decoder.h" 12 #include "perfetto/protozero/proto_utils.h" 13 14 namespace perfetto { 15 namespace protos { 16 namespace pbzero { 17 18 enum ProcessDescriptor_ChromeProcessType : int32_t; 19 20 enum ProcessDescriptor_ChromeProcessType : int32_t { 21 ProcessDescriptor_ChromeProcessType_PROCESS_UNSPECIFIED = 0, 22 ProcessDescriptor_ChromeProcessType_PROCESS_BROWSER = 1, 23 ProcessDescriptor_ChromeProcessType_PROCESS_RENDERER = 2, 24 ProcessDescriptor_ChromeProcessType_PROCESS_UTILITY = 3, 25 ProcessDescriptor_ChromeProcessType_PROCESS_ZYGOTE = 4, 26 ProcessDescriptor_ChromeProcessType_PROCESS_SANDBOX_HELPER = 5, 27 ProcessDescriptor_ChromeProcessType_PROCESS_GPU = 6, 28 ProcessDescriptor_ChromeProcessType_PROCESS_PPAPI_PLUGIN = 7, 29 ProcessDescriptor_ChromeProcessType_PROCESS_PPAPI_BROKER = 8, 30 }; 31 32 const ProcessDescriptor_ChromeProcessType ProcessDescriptor_ChromeProcessType_MIN = ProcessDescriptor_ChromeProcessType_PROCESS_UNSPECIFIED; 33 const ProcessDescriptor_ChromeProcessType ProcessDescriptor_ChromeProcessType_MAX = ProcessDescriptor_ChromeProcessType_PROCESS_PPAPI_BROKER; 34 35 class ProcessDescriptor_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/6, /*HAS_NONPACKED_REPEATED_FIELDS=*/true> { 36 public: ProcessDescriptor_Decoder(const uint8_t * data,size_t len)37 ProcessDescriptor_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} ProcessDescriptor_Decoder(const std::string & raw)38 explicit ProcessDescriptor_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} ProcessDescriptor_Decoder(const::protozero::ConstBytes & raw)39 explicit ProcessDescriptor_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_pid()40 bool has_pid() const { return at<1>().valid(); } pid()41 int32_t pid() const { return at<1>().as_int32(); } has_cmdline()42 bool has_cmdline() const { return at<2>().valid(); } cmdline()43 ::protozero::RepeatedFieldIterator<::protozero::ConstChars> cmdline() const { return GetRepeated<::protozero::ConstChars>(2); } has_process_name()44 bool has_process_name() const { return at<6>().valid(); } process_name()45 ::protozero::ConstChars process_name() const { return at<6>().as_string(); } has_process_priority()46 bool has_process_priority() const { return at<5>().valid(); } process_priority()47 int32_t process_priority() const { return at<5>().as_int32(); } has_chrome_process_type()48 bool has_chrome_process_type() const { return at<4>().valid(); } chrome_process_type()49 int32_t chrome_process_type() const { return at<4>().as_int32(); } has_legacy_sort_index()50 bool has_legacy_sort_index() const { return at<3>().valid(); } legacy_sort_index()51 int32_t legacy_sort_index() const { return at<3>().as_int32(); } 52 }; 53 54 class ProcessDescriptor : public ::protozero::Message { 55 public: 56 using Decoder = ProcessDescriptor_Decoder; 57 enum : int32_t { 58 kPidFieldNumber = 1, 59 kCmdlineFieldNumber = 2, 60 kProcessNameFieldNumber = 6, 61 kProcessPriorityFieldNumber = 5, 62 kChromeProcessTypeFieldNumber = 4, 63 kLegacySortIndexFieldNumber = 3, 64 }; 65 using ChromeProcessType = ::perfetto::protos::pbzero::ProcessDescriptor_ChromeProcessType; 66 static const ChromeProcessType PROCESS_UNSPECIFIED = ProcessDescriptor_ChromeProcessType_PROCESS_UNSPECIFIED; 67 static const ChromeProcessType PROCESS_BROWSER = ProcessDescriptor_ChromeProcessType_PROCESS_BROWSER; 68 static const ChromeProcessType PROCESS_RENDERER = ProcessDescriptor_ChromeProcessType_PROCESS_RENDERER; 69 static const ChromeProcessType PROCESS_UTILITY = ProcessDescriptor_ChromeProcessType_PROCESS_UTILITY; 70 static const ChromeProcessType PROCESS_ZYGOTE = ProcessDescriptor_ChromeProcessType_PROCESS_ZYGOTE; 71 static const ChromeProcessType PROCESS_SANDBOX_HELPER = ProcessDescriptor_ChromeProcessType_PROCESS_SANDBOX_HELPER; 72 static const ChromeProcessType PROCESS_GPU = ProcessDescriptor_ChromeProcessType_PROCESS_GPU; 73 static const ChromeProcessType PROCESS_PPAPI_PLUGIN = ProcessDescriptor_ChromeProcessType_PROCESS_PPAPI_PLUGIN; 74 static const ChromeProcessType PROCESS_PPAPI_BROKER = ProcessDescriptor_ChromeProcessType_PROCESS_PPAPI_BROKER; set_pid(int32_t value)75 void set_pid(int32_t value) { 76 AppendVarInt(1, value); 77 } add_cmdline(const std::string & value)78 void add_cmdline(const std::string& value) { 79 AppendBytes(2, value.data(), value.size()); 80 } add_cmdline(const char * data,size_t size)81 void add_cmdline(const char* data, size_t size) { 82 AppendBytes(2, data, size); 83 } set_process_name(const std::string & value)84 void set_process_name(const std::string& value) { 85 AppendBytes(6, value.data(), value.size()); 86 } set_process_name(const char * data,size_t size)87 void set_process_name(const char* data, size_t size) { 88 AppendBytes(6, data, size); 89 } set_process_priority(int32_t value)90 void set_process_priority(int32_t value) { 91 AppendVarInt(5, value); 92 } set_chrome_process_type(::perfetto::protos::pbzero::ProcessDescriptor_ChromeProcessType value)93 void set_chrome_process_type(::perfetto::protos::pbzero::ProcessDescriptor_ChromeProcessType value) { 94 AppendTinyVarInt(4, value); 95 } set_legacy_sort_index(int32_t value)96 void set_legacy_sort_index(int32_t value) { 97 AppendVarInt(3, value); 98 } 99 }; 100 101 } // Namespace. 102 } // Namespace. 103 } // Namespace. 104 #endif // Include guard. 105