/** * @fileoverview Handwritten code of ConformanceRequest. */ goog.module('proto.conformance.ConformanceRequest'); const Kernel = goog.require('protobuf.runtime.Kernel'); const WireFormat = goog.require('proto.conformance.WireFormat'); /** * Handwritten code of conformance.ConformanceRequest. * This is used to send request from the conformance test runner to the testee. * Check //third_party/protobuf/testing/protobuf/conformance/conformance.proto * for more details. * @final */ class ConformanceRequest { /** * @param {!ArrayBuffer} bytes * @private */ constructor(bytes) { /** @private @const {!Kernel} */ this.accessor_ = Kernel.fromArrayBuffer(bytes); } /** * Create a request instance with the given bytes data. * @param {!ArrayBuffer} bytes * @return {!ConformanceRequest} */ static deserialize(bytes) { return new ConformanceRequest(bytes); } /** * Gets the protobuf_payload. * @return {!ArrayBuffer} */ getProtobufPayload() { return this.accessor_.getBytesWithDefault(1).toArrayBuffer(); } /** * Gets the requested_output_format. * @return {!WireFormat} */ getRequestedOutputFormat() { return /** @type {!WireFormat} */ (this.accessor_.getInt32WithDefault(3)); } /** * Gets the message_type. * @return {string} */ getMessageType() { return this.accessor_.getStringWithDefault(4); } /** * Gets the oneof case for payload field. * This implementation assumes only one field in a oneof group is set. * @return {!ConformanceRequest.PayloadCase} */ getPayloadCase() { if (this.accessor_.hasFieldNumber(1)) { return /** @type {!ConformanceRequest.PayloadCase} */ ( ConformanceRequest.PayloadCase.PROTOBUF_PAYLOAD); } else if (this.accessor_.hasFieldNumber(2)) { return /** @type {!ConformanceRequest.PayloadCase} */ ( ConformanceRequest.PayloadCase.JSON_PAYLOAD); } else if (this.accessor_.hasFieldNumber(8)) { return /** @type {!ConformanceRequest.PayloadCase} */ ( ConformanceRequest.PayloadCase.TEXT_PAYLOAD); } else { return /** @type {!ConformanceRequest.PayloadCase} */ ( ConformanceRequest.PayloadCase.PAYLOAD_NOT_SET); } } } /** * @enum {number} */ ConformanceRequest.PayloadCase = { PAYLOAD_NOT_SET: 0, PROTOBUF_PAYLOAD: 1, JSON_PAYLOAD: 2, TEXT_PAYLOAD: 8, }; exports = ConformanceRequest;