// Generated file - DO NOT MODIFY #pragma once #include #include #include #include #include #include #include #include {% if package != None %} namespace {{package.cpp_namespace()}} { {% endif %} {%- for message in messages %} class {{message.name}} { public: {{message.name}}() {} // Delete copy and move until implemented. {{message.name}}(const {{message.name}}&) = delete; {{message.name}}({{message.name}}&&) = delete; [[nodiscard]] glcr::Status ParseFromBytes(const yunq::MessageView& message); [[nodiscard]] glcr::Status ParseFromBytes(const yunq::MessageView& message, const glcr::CapBuffer&); uint64_t SerializeToBytes(glcr::ByteBuffer&, uint64_t offset) const; uint64_t SerializeToBytes(glcr::ByteBuffer&, uint64_t offset, glcr::CapBuffer&) const; {%- for field in message.fields %} {%- if field.type == Type.MESSAGE %} const {{field.cpp_type()}}& {{field.name}}() const { return {{field.name}}_; } {{field.cpp_type()}}& mutable_{{field.name}}() { return {{field.name}}_; } {%- else %} {%- if not field.repeated %} const {{field.cpp_type()}}& {{field.name}}() const { return {{field.name}}_; } void set_{{field.name}}(const {{field.cpp_type()}}& value) { {{field.name}}_ = value; } {%- else %} const glcr::Vector<{{field.cpp_type()}}>& {{field.name}}() const { return {{field.name}}_; } void add_{{field.name}}(const {{field.cpp_type()}}& value) { {{field.name}}_.PushBack(value); } {%- endif %} {%- endif %} {%- endfor %} private: {%- for field in message.fields %} {%- if not field.repeated %} {{field.cpp_type()}} {{field.name}}_; {%- else %} glcr::Vector<{{field.cpp_type()}}> {{field.name}}_; {%- endif %} {%- endfor %} // Parses everything except for caps. glcr::Status ParseFromBytesInternal(const yunq::MessageView& message); uint64_t SerializeInternal(yunq::Serializer& serializer) const; }; {%- endfor %} {% if package != None %} } // namepace {{package.cpp_namespace()}} {% endif %}