// Generated file - DO NOT MODIFY #pragma once #include #include #include #include #include "{{file}}.h" {% if package != None %} namespace {{package.cpp_namespace()}} { {% endif %} {% for interface in interfaces -%} class {{interface.name}}Client { public: {{interface.name}}Client(z_cap_t {{interface.name}}_cap) : endpoint_({{interface.name}}_cap) {} {{interface.name}}Client(const {{interface.name}}Client&) = delete; {{interface.name}}Client({{interface.name}}Client&& other) : endpoint_(other.endpoint_) {other.endpoint_ = 0;}; ~{{interface.name}}Client(); z_cap_t Capability() { return endpoint_; } {% for method in interface.methods %} {% if method.request == None %} [[nodiscard]] glcr::Status {{method.name}}({{method.response}}& response); {% elif method.response == None %} [[nodiscard]] glcr::Status {{method.name}}(const {{method.request}}& request); {% else %} [[nodiscard]] glcr::Status {{method.name}}(const {{method.request}}& request, {{method.response}}& response); {% endif %} {% endfor %} private: z_cap_t endpoint_; uint64_t kBufferSize = 0x1000; glcr::ByteBuffer buffer_{kBufferSize}; uint64_t kCapBufferSize = 0x10; glcr::CapBuffer cap_buffer_{kCapBufferSize}; }; {%- endfor %} {% if package != None %} } // namepace {{package.cpp_namespace()}} {% endif %}