// Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT. #ifndef PERFETTO_PROTOS_PROCESS_DESCRIPTOR_PROTO_H_ #define PERFETTO_PROTOS_PROCESS_DESCRIPTOR_PROTO_H_ #include #include #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 { enum ProcessDescriptor_ChromeProcessType : int32_t; enum ProcessDescriptor_ChromeProcessType : int32_t { ProcessDescriptor_ChromeProcessType_PROCESS_UNSPECIFIED = 0, ProcessDescriptor_ChromeProcessType_PROCESS_BROWSER = 1, ProcessDescriptor_ChromeProcessType_PROCESS_RENDERER = 2, ProcessDescriptor_ChromeProcessType_PROCESS_UTILITY = 3, ProcessDescriptor_ChromeProcessType_PROCESS_ZYGOTE = 4, ProcessDescriptor_ChromeProcessType_PROCESS_SANDBOX_HELPER = 5, ProcessDescriptor_ChromeProcessType_PROCESS_GPU = 6, ProcessDescriptor_ChromeProcessType_PROCESS_PPAPI_PLUGIN = 7, ProcessDescriptor_ChromeProcessType_PROCESS_PPAPI_BROKER = 8, }; const ProcessDescriptor_ChromeProcessType ProcessDescriptor_ChromeProcessType_MIN = ProcessDescriptor_ChromeProcessType_PROCESS_UNSPECIFIED; const ProcessDescriptor_ChromeProcessType ProcessDescriptor_ChromeProcessType_MAX = ProcessDescriptor_ChromeProcessType_PROCESS_PPAPI_BROKER; class ProcessDescriptor_Decoder : public ::protozero::TypedProtoDecoder { public: ProcessDescriptor_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} explicit ProcessDescriptor_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast(raw.data()), raw.size()) {} explicit ProcessDescriptor_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} bool has_pid() const { return at<1>().valid(); } int32_t pid() const { return at<1>().as_int32(); } bool has_cmdline() const { return at<2>().valid(); } ::protozero::RepeatedFieldIterator<::protozero::ConstChars> cmdline() const { return GetRepeated<::protozero::ConstChars>(2); } bool has_process_name() const { return at<6>().valid(); } ::protozero::ConstChars process_name() const { return at<6>().as_string(); } bool has_process_priority() const { return at<5>().valid(); } int32_t process_priority() const { return at<5>().as_int32(); } bool has_chrome_process_type() const { return at<4>().valid(); } int32_t chrome_process_type() const { return at<4>().as_int32(); } bool has_legacy_sort_index() const { return at<3>().valid(); } int32_t legacy_sort_index() const { return at<3>().as_int32(); } }; class ProcessDescriptor : public ::protozero::Message { public: using Decoder = ProcessDescriptor_Decoder; enum : int32_t { kPidFieldNumber = 1, kCmdlineFieldNumber = 2, kProcessNameFieldNumber = 6, kProcessPriorityFieldNumber = 5, kChromeProcessTypeFieldNumber = 4, kLegacySortIndexFieldNumber = 3, }; using ChromeProcessType = ::perfetto::protos::pbzero::ProcessDescriptor_ChromeProcessType; static const ChromeProcessType PROCESS_UNSPECIFIED = ProcessDescriptor_ChromeProcessType_PROCESS_UNSPECIFIED; static const ChromeProcessType PROCESS_BROWSER = ProcessDescriptor_ChromeProcessType_PROCESS_BROWSER; static const ChromeProcessType PROCESS_RENDERER = ProcessDescriptor_ChromeProcessType_PROCESS_RENDERER; static const ChromeProcessType PROCESS_UTILITY = ProcessDescriptor_ChromeProcessType_PROCESS_UTILITY; static const ChromeProcessType PROCESS_ZYGOTE = ProcessDescriptor_ChromeProcessType_PROCESS_ZYGOTE; static const ChromeProcessType PROCESS_SANDBOX_HELPER = ProcessDescriptor_ChromeProcessType_PROCESS_SANDBOX_HELPER; static const ChromeProcessType PROCESS_GPU = ProcessDescriptor_ChromeProcessType_PROCESS_GPU; static const ChromeProcessType PROCESS_PPAPI_PLUGIN = ProcessDescriptor_ChromeProcessType_PROCESS_PPAPI_PLUGIN; static const ChromeProcessType PROCESS_PPAPI_BROKER = ProcessDescriptor_ChromeProcessType_PROCESS_PPAPI_BROKER; void set_pid(int32_t value) { AppendVarInt(1, value); } void add_cmdline(const std::string& value) { AppendBytes(2, value.data(), value.size()); } void add_cmdline(const char* data, size_t size) { AppendBytes(2, data, size); } void set_process_name(const std::string& value) { AppendBytes(6, value.data(), value.size()); } void set_process_name(const char* data, size_t size) { AppendBytes(6, data, size); } void set_process_priority(int32_t value) { AppendVarInt(5, value); } void set_chrome_process_type(::perfetto::protos::pbzero::ProcessDescriptor_ChromeProcessType value) { AppendTinyVarInt(4, value); } void set_legacy_sort_index(int32_t value) { AppendVarInt(3, value); } }; } // Namespace. } // Namespace. } // Namespace. #endif // Include guard.