/**
 * @fileoverview
 * @enhanceable
 * @public
 */
// GENERATED CODE -- DO NOT EDIT!

var jspb = require('google-protobuf');
var goog = jspb;
var global = Function('return this')();

var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');
var google_protobuf_empty_pb = require('google-protobuf/google/protobuf/empty_pb.js');
var common_common_pb = require('../common/common_pb.js');
goog.exportSymbol('proto.api.AdrAlgorithmListItem', null, global);
goog.exportSymbol('proto.api.CodecRuntime', null, global);
goog.exportSymbol('proto.api.CreateDeviceProfileRequest', null, global);
goog.exportSymbol('proto.api.CreateDeviceProfileResponse', null, global);
goog.exportSymbol('proto.api.DeleteDeviceProfileRequest', null, global);
goog.exportSymbol('proto.api.DeviceProfile', null, global);
goog.exportSymbol('proto.api.DeviceProfileListItem', null, global);
goog.exportSymbol('proto.api.GetDeviceProfileRequest', null, global);
goog.exportSymbol('proto.api.GetDeviceProfileResponse', null, global);
goog.exportSymbol('proto.api.ListDeviceProfileAdrAlgorithmsResponse', null, global);
goog.exportSymbol('proto.api.ListDeviceProfilesRequest', null, global);
goog.exportSymbol('proto.api.ListDeviceProfilesResponse', null, global);
goog.exportSymbol('proto.api.UpdateDeviceProfileRequest', null, global);

/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.DeviceProfile = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.DeviceProfile, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.DeviceProfile.displayName = 'proto.api.DeviceProfile';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.DeviceProfile.prototype.toObject = function(opt_includeInstance) {
  return proto.api.DeviceProfile.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.DeviceProfile} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.DeviceProfile.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: msg.getId(),
    tenantId: msg.getTenantId(),
    name: msg.getName(),
    region: msg.getRegion(),
    macVersion: msg.getMacVersion(),
    regParamsRevision: msg.getRegParamsRevision(),
    adrAlgorithmId: msg.getAdrAlgorithmId(),
    payloadCodecRuntime: msg.getPayloadCodecRuntime(),
    payloadCodecScript: msg.getPayloadCodecScript(),
    flushQueueOnActivate: msg.getFlushQueueOnActivate(),
    uplinkInterval: msg.getUplinkInterval(),
    deviceStatusReqInterval: msg.getDeviceStatusReqInterval(),
    supportsOtaa: msg.getSupportsOtaa(),
    supportsClassB: msg.getSupportsClassB(),
    supportsClassC: msg.getSupportsClassC(),
    classBTimeout: msg.getClassBTimeout(),
    classBPingSlotPeriod: msg.getClassBPingSlotPeriod(),
    classBPingSlotDr: msg.getClassBPingSlotDr(),
    classBPingSlotFreq: msg.getClassBPingSlotFreq(),
    classCTimeout: msg.getClassCTimeout(),
    abpRx1Delay: msg.getAbpRx1Delay(),
    abpRx1DrOffset: msg.getAbpRx1DrOffset(),
    abpRx2Dr: msg.getAbpRx2Dr(),
    abpRx2Freq: msg.getAbpRx2Freq(),
    tagsMap: (f = msg.getTagsMap(true)) ? f.toArray() : []
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.DeviceProfile}
 */
proto.api.DeviceProfile.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.DeviceProfile;
  return proto.api.DeviceProfile.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.DeviceProfile} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.DeviceProfile}
 */
proto.api.DeviceProfile.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setTenantId(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 4:
      var value = /** @type {!proto.common.Region} */ (reader.readEnum());
      msg.setRegion(value);
      break;
    case 5:
      var value = /** @type {!proto.common.MacVersion} */ (reader.readEnum());
      msg.setMacVersion(value);
      break;
    case 6:
      var value = /** @type {!proto.common.RegParamsRevision} */ (reader.readEnum());
      msg.setRegParamsRevision(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setAdrAlgorithmId(value);
      break;
    case 8:
      var value = /** @type {!proto.api.CodecRuntime} */ (reader.readEnum());
      msg.setPayloadCodecRuntime(value);
      break;
    case 9:
      var value = /** @type {string} */ (reader.readString());
      msg.setPayloadCodecScript(value);
      break;
    case 10:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setFlushQueueOnActivate(value);
      break;
    case 11:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setUplinkInterval(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setDeviceStatusReqInterval(value);
      break;
    case 13:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setSupportsOtaa(value);
      break;
    case 14:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setSupportsClassB(value);
      break;
    case 15:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setSupportsClassC(value);
      break;
    case 16:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setClassBTimeout(value);
      break;
    case 17:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setClassBPingSlotPeriod(value);
      break;
    case 18:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setClassBPingSlotDr(value);
      break;
    case 19:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setClassBPingSlotFreq(value);
      break;
    case 20:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setClassCTimeout(value);
      break;
    case 21:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setAbpRx1Delay(value);
      break;
    case 22:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setAbpRx1DrOffset(value);
      break;
    case 23:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setAbpRx2Dr(value);
      break;
    case 24:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setAbpRx2Freq(value);
      break;
    case 25:
      var value = msg.getTagsMap();
      reader.readMessage(value, function(message, reader) {
        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString);
         });
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.DeviceProfile} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.DeviceProfile.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.DeviceProfile.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.DeviceProfile.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = this.getTenantId();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = this.getName();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = this.getRegion();
  if (f !== 0.0) {
    writer.writeEnum(
      4,
      f
    );
  }
  f = this.getMacVersion();
  if (f !== 0.0) {
    writer.writeEnum(
      5,
      f
    );
  }
  f = this.getRegParamsRevision();
  if (f !== 0.0) {
    writer.writeEnum(
      6,
      f
    );
  }
  f = this.getAdrAlgorithmId();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = this.getPayloadCodecRuntime();
  if (f !== 0.0) {
    writer.writeEnum(
      8,
      f
    );
  }
  f = this.getPayloadCodecScript();
  if (f.length > 0) {
    writer.writeString(
      9,
      f
    );
  }
  f = this.getFlushQueueOnActivate();
  if (f) {
    writer.writeBool(
      10,
      f
    );
  }
  f = this.getUplinkInterval();
  if (f !== 0) {
    writer.writeUint32(
      11,
      f
    );
  }
  f = this.getDeviceStatusReqInterval();
  if (f !== 0) {
    writer.writeUint32(
      12,
      f
    );
  }
  f = this.getSupportsOtaa();
  if (f) {
    writer.writeBool(
      13,
      f
    );
  }
  f = this.getSupportsClassB();
  if (f) {
    writer.writeBool(
      14,
      f
    );
  }
  f = this.getSupportsClassC();
  if (f) {
    writer.writeBool(
      15,
      f
    );
  }
  f = this.getClassBTimeout();
  if (f !== 0) {
    writer.writeUint32(
      16,
      f
    );
  }
  f = this.getClassBPingSlotPeriod();
  if (f !== 0) {
    writer.writeUint32(
      17,
      f
    );
  }
  f = this.getClassBPingSlotDr();
  if (f !== 0) {
    writer.writeUint32(
      18,
      f
    );
  }
  f = this.getClassBPingSlotFreq();
  if (f !== 0) {
    writer.writeUint32(
      19,
      f
    );
  }
  f = this.getClassCTimeout();
  if (f !== 0) {
    writer.writeUint32(
      20,
      f
    );
  }
  f = this.getAbpRx1Delay();
  if (f !== 0) {
    writer.writeUint32(
      21,
      f
    );
  }
  f = this.getAbpRx1DrOffset();
  if (f !== 0) {
    writer.writeUint32(
      22,
      f
    );
  }
  f = this.getAbpRx2Dr();
  if (f !== 0) {
    writer.writeUint32(
      23,
      f
    );
  }
  f = this.getAbpRx2Freq();
  if (f !== 0) {
    writer.writeUint32(
      24,
      f
    );
  }
  f = this.getTagsMap(true);
  if (f && f.getLength() > 0) {
    f.serializeBinary(25, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.DeviceProfile} The clone.
 */
proto.api.DeviceProfile.prototype.cloneMessage = function() {
  return /** @type {!proto.api.DeviceProfile} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional string id = 1;
 * @return {string}
 */
proto.api.DeviceProfile.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 1, ""));
};


/** @param {string} value  */
proto.api.DeviceProfile.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string tenant_id = 2;
 * @return {string}
 */
proto.api.DeviceProfile.prototype.getTenantId = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 2, ""));
};


/** @param {string} value  */
proto.api.DeviceProfile.prototype.setTenantId = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string name = 3;
 * @return {string}
 */
proto.api.DeviceProfile.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 3, ""));
};


/** @param {string} value  */
proto.api.DeviceProfile.prototype.setName = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional common.Region region = 4;
 * @return {!proto.common.Region}
 */
proto.api.DeviceProfile.prototype.getRegion = function() {
  return /** @type {!proto.common.Region} */ (jspb.Message.getFieldProto3(this, 4, 0));
};


/** @param {!proto.common.Region} value  */
proto.api.DeviceProfile.prototype.setRegion = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional common.MacVersion mac_version = 5;
 * @return {!proto.common.MacVersion}
 */
proto.api.DeviceProfile.prototype.getMacVersion = function() {
  return /** @type {!proto.common.MacVersion} */ (jspb.Message.getFieldProto3(this, 5, 0));
};


/** @param {!proto.common.MacVersion} value  */
proto.api.DeviceProfile.prototype.setMacVersion = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional common.RegParamsRevision reg_params_revision = 6;
 * @return {!proto.common.RegParamsRevision}
 */
proto.api.DeviceProfile.prototype.getRegParamsRevision = function() {
  return /** @type {!proto.common.RegParamsRevision} */ (jspb.Message.getFieldProto3(this, 6, 0));
};


/** @param {!proto.common.RegParamsRevision} value  */
proto.api.DeviceProfile.prototype.setRegParamsRevision = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional string adr_algorithm_id = 7;
 * @return {string}
 */
proto.api.DeviceProfile.prototype.getAdrAlgorithmId = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 7, ""));
};


/** @param {string} value  */
proto.api.DeviceProfile.prototype.setAdrAlgorithmId = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional CodecRuntime payload_codec_runtime = 8;
 * @return {!proto.api.CodecRuntime}
 */
proto.api.DeviceProfile.prototype.getPayloadCodecRuntime = function() {
  return /** @type {!proto.api.CodecRuntime} */ (jspb.Message.getFieldProto3(this, 8, 0));
};


/** @param {!proto.api.CodecRuntime} value  */
proto.api.DeviceProfile.prototype.setPayloadCodecRuntime = function(value) {
  jspb.Message.setField(this, 8, value);
};


/**
 * optional string payload_codec_script = 9;
 * @return {string}
 */
proto.api.DeviceProfile.prototype.getPayloadCodecScript = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 9, ""));
};


/** @param {string} value  */
proto.api.DeviceProfile.prototype.setPayloadCodecScript = function(value) {
  jspb.Message.setField(this, 9, value);
};


/**
 * optional bool flush_queue_on_activate = 10;
 * Note that Boolean fields may be set to 0/1 when serialized from a Java server.
 * You should avoid comparisons like {@code val === true/false} in those cases.
 * @return {boolean}
 */
proto.api.DeviceProfile.prototype.getFlushQueueOnActivate = function() {
  return /** @type {boolean} */ (jspb.Message.getFieldProto3(this, 10, false));
};


/** @param {boolean} value  */
proto.api.DeviceProfile.prototype.setFlushQueueOnActivate = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional uint32 uplink_interval = 11;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getUplinkInterval = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 11, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setUplinkInterval = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional uint32 device_status_req_interval = 12;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getDeviceStatusReqInterval = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 12, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setDeviceStatusReqInterval = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional bool supports_otaa = 13;
 * Note that Boolean fields may be set to 0/1 when serialized from a Java server.
 * You should avoid comparisons like {@code val === true/false} in those cases.
 * @return {boolean}
 */
proto.api.DeviceProfile.prototype.getSupportsOtaa = function() {
  return /** @type {boolean} */ (jspb.Message.getFieldProto3(this, 13, false));
};


/** @param {boolean} value  */
proto.api.DeviceProfile.prototype.setSupportsOtaa = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional bool supports_class_b = 14;
 * Note that Boolean fields may be set to 0/1 when serialized from a Java server.
 * You should avoid comparisons like {@code val === true/false} in those cases.
 * @return {boolean}
 */
proto.api.DeviceProfile.prototype.getSupportsClassB = function() {
  return /** @type {boolean} */ (jspb.Message.getFieldProto3(this, 14, false));
};


/** @param {boolean} value  */
proto.api.DeviceProfile.prototype.setSupportsClassB = function(value) {
  jspb.Message.setField(this, 14, value);
};


/**
 * optional bool supports_class_c = 15;
 * Note that Boolean fields may be set to 0/1 when serialized from a Java server.
 * You should avoid comparisons like {@code val === true/false} in those cases.
 * @return {boolean}
 */
proto.api.DeviceProfile.prototype.getSupportsClassC = function() {
  return /** @type {boolean} */ (jspb.Message.getFieldProto3(this, 15, false));
};


/** @param {boolean} value  */
proto.api.DeviceProfile.prototype.setSupportsClassC = function(value) {
  jspb.Message.setField(this, 15, value);
};


/**
 * optional uint32 class_b_timeout = 16;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getClassBTimeout = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 16, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setClassBTimeout = function(value) {
  jspb.Message.setField(this, 16, value);
};


/**
 * optional uint32 class_b_ping_slot_period = 17;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getClassBPingSlotPeriod = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 17, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setClassBPingSlotPeriod = function(value) {
  jspb.Message.setField(this, 17, value);
};


/**
 * optional uint32 class_b_ping_slot_dr = 18;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getClassBPingSlotDr = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 18, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setClassBPingSlotDr = function(value) {
  jspb.Message.setField(this, 18, value);
};


/**
 * optional uint32 class_b_ping_slot_freq = 19;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getClassBPingSlotFreq = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 19, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setClassBPingSlotFreq = function(value) {
  jspb.Message.setField(this, 19, value);
};


/**
 * optional uint32 class_c_timeout = 20;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getClassCTimeout = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 20, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setClassCTimeout = function(value) {
  jspb.Message.setField(this, 20, value);
};


/**
 * optional uint32 abp_rx1_delay = 21;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getAbpRx1Delay = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 21, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setAbpRx1Delay = function(value) {
  jspb.Message.setField(this, 21, value);
};


/**
 * optional uint32 abp_rx1_dr_offset = 22;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getAbpRx1DrOffset = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 22, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setAbpRx1DrOffset = function(value) {
  jspb.Message.setField(this, 22, value);
};


/**
 * optional uint32 abp_rx2_dr = 23;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getAbpRx2Dr = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 23, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setAbpRx2Dr = function(value) {
  jspb.Message.setField(this, 23, value);
};


/**
 * optional uint32 abp_rx2_freq = 24;
 * @return {number}
 */
proto.api.DeviceProfile.prototype.getAbpRx2Freq = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 24, 0));
};


/** @param {number} value  */
proto.api.DeviceProfile.prototype.setAbpRx2Freq = function(value) {
  jspb.Message.setField(this, 24, value);
};


/**
 * map<string, string> tags = 25;
 * @param {boolean=} opt_noLazyCreate Do not create the map if
 * empty, instead returning `undefined`
 * @return {!jspb.Map<string,string>}
 */
proto.api.DeviceProfile.prototype.getTagsMap = function(opt_noLazyCreate) {
  return /** @type {!jspb.Map<string,string>} */ (
      jspb.Message.getMapField(this, 25, opt_noLazyCreate,
      null));
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.DeviceProfileListItem = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.DeviceProfileListItem, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.DeviceProfileListItem.displayName = 'proto.api.DeviceProfileListItem';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.DeviceProfileListItem.prototype.toObject = function(opt_includeInstance) {
  return proto.api.DeviceProfileListItem.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.DeviceProfileListItem} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.DeviceProfileListItem.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: msg.getId(),
    createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
    updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
    name: msg.getName(),
    region: msg.getRegion(),
    macVersion: msg.getMacVersion(),
    regParamsRevision: msg.getRegParamsRevision(),
    supportsOtaa: msg.getSupportsOtaa(),
    supportsClassB: msg.getSupportsClassB(),
    supportsClassC: msg.getSupportsClassC()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.DeviceProfileListItem}
 */
proto.api.DeviceProfileListItem.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.DeviceProfileListItem;
  return proto.api.DeviceProfileListItem.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.DeviceProfileListItem} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.DeviceProfileListItem}
 */
proto.api.DeviceProfileListItem.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setCreatedAt(value);
      break;
    case 3:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setUpdatedAt(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 5:
      var value = /** @type {!proto.common.Region} */ (reader.readEnum());
      msg.setRegion(value);
      break;
    case 6:
      var value = /** @type {!proto.common.MacVersion} */ (reader.readEnum());
      msg.setMacVersion(value);
      break;
    case 7:
      var value = /** @type {!proto.common.RegParamsRevision} */ (reader.readEnum());
      msg.setRegParamsRevision(value);
      break;
    case 8:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setSupportsOtaa(value);
      break;
    case 9:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setSupportsClassB(value);
      break;
    case 10:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setSupportsClassC(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.DeviceProfileListItem} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.DeviceProfileListItem.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.DeviceProfileListItem.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.DeviceProfileListItem.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = this.getCreatedAt();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
  f = this.getUpdatedAt();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
  f = this.getName();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = this.getRegion();
  if (f !== 0.0) {
    writer.writeEnum(
      5,
      f
    );
  }
  f = this.getMacVersion();
  if (f !== 0.0) {
    writer.writeEnum(
      6,
      f
    );
  }
  f = this.getRegParamsRevision();
  if (f !== 0.0) {
    writer.writeEnum(
      7,
      f
    );
  }
  f = this.getSupportsOtaa();
  if (f) {
    writer.writeBool(
      8,
      f
    );
  }
  f = this.getSupportsClassB();
  if (f) {
    writer.writeBool(
      9,
      f
    );
  }
  f = this.getSupportsClassC();
  if (f) {
    writer.writeBool(
      10,
      f
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.DeviceProfileListItem} The clone.
 */
proto.api.DeviceProfileListItem.prototype.cloneMessage = function() {
  return /** @type {!proto.api.DeviceProfileListItem} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional string id = 1;
 * @return {string}
 */
proto.api.DeviceProfileListItem.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 1, ""));
};


/** @param {string} value  */
proto.api.DeviceProfileListItem.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional google.protobuf.Timestamp created_at = 2;
 * @return {proto.google.protobuf.Timestamp}
 */
proto.api.DeviceProfileListItem.prototype.getCreatedAt = function() {
  return /** @type{proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));
};


/** @param {proto.google.protobuf.Timestamp|undefined} value  */
proto.api.DeviceProfileListItem.prototype.setCreatedAt = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


proto.api.DeviceProfileListItem.prototype.clearCreatedAt = function() {
  this.setCreatedAt(undefined);
};


/**
 * Returns whether this field is set.
 * @return{!boolean}
 */
proto.api.DeviceProfileListItem.prototype.hasCreatedAt = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional google.protobuf.Timestamp updated_at = 3;
 * @return {proto.google.protobuf.Timestamp}
 */
proto.api.DeviceProfileListItem.prototype.getUpdatedAt = function() {
  return /** @type{proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));
};


/** @param {proto.google.protobuf.Timestamp|undefined} value  */
proto.api.DeviceProfileListItem.prototype.setUpdatedAt = function(value) {
  jspb.Message.setWrapperField(this, 3, value);
};


proto.api.DeviceProfileListItem.prototype.clearUpdatedAt = function() {
  this.setUpdatedAt(undefined);
};


/**
 * Returns whether this field is set.
 * @return{!boolean}
 */
proto.api.DeviceProfileListItem.prototype.hasUpdatedAt = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional string name = 4;
 * @return {string}
 */
proto.api.DeviceProfileListItem.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 4, ""));
};


/** @param {string} value  */
proto.api.DeviceProfileListItem.prototype.setName = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional common.Region region = 5;
 * @return {!proto.common.Region}
 */
proto.api.DeviceProfileListItem.prototype.getRegion = function() {
  return /** @type {!proto.common.Region} */ (jspb.Message.getFieldProto3(this, 5, 0));
};


/** @param {!proto.common.Region} value  */
proto.api.DeviceProfileListItem.prototype.setRegion = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional common.MacVersion mac_version = 6;
 * @return {!proto.common.MacVersion}
 */
proto.api.DeviceProfileListItem.prototype.getMacVersion = function() {
  return /** @type {!proto.common.MacVersion} */ (jspb.Message.getFieldProto3(this, 6, 0));
};


/** @param {!proto.common.MacVersion} value  */
proto.api.DeviceProfileListItem.prototype.setMacVersion = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional common.RegParamsRevision reg_params_revision = 7;
 * @return {!proto.common.RegParamsRevision}
 */
proto.api.DeviceProfileListItem.prototype.getRegParamsRevision = function() {
  return /** @type {!proto.common.RegParamsRevision} */ (jspb.Message.getFieldProto3(this, 7, 0));
};


/** @param {!proto.common.RegParamsRevision} value  */
proto.api.DeviceProfileListItem.prototype.setRegParamsRevision = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional bool supports_otaa = 8;
 * Note that Boolean fields may be set to 0/1 when serialized from a Java server.
 * You should avoid comparisons like {@code val === true/false} in those cases.
 * @return {boolean}
 */
proto.api.DeviceProfileListItem.prototype.getSupportsOtaa = function() {
  return /** @type {boolean} */ (jspb.Message.getFieldProto3(this, 8, false));
};


/** @param {boolean} value  */
proto.api.DeviceProfileListItem.prototype.setSupportsOtaa = function(value) {
  jspb.Message.setField(this, 8, value);
};


/**
 * optional bool supports_class_b = 9;
 * Note that Boolean fields may be set to 0/1 when serialized from a Java server.
 * You should avoid comparisons like {@code val === true/false} in those cases.
 * @return {boolean}
 */
proto.api.DeviceProfileListItem.prototype.getSupportsClassB = function() {
  return /** @type {boolean} */ (jspb.Message.getFieldProto3(this, 9, false));
};


/** @param {boolean} value  */
proto.api.DeviceProfileListItem.prototype.setSupportsClassB = function(value) {
  jspb.Message.setField(this, 9, value);
};


/**
 * optional bool supports_class_c = 10;
 * Note that Boolean fields may be set to 0/1 when serialized from a Java server.
 * You should avoid comparisons like {@code val === true/false} in those cases.
 * @return {boolean}
 */
proto.api.DeviceProfileListItem.prototype.getSupportsClassC = function() {
  return /** @type {boolean} */ (jspb.Message.getFieldProto3(this, 10, false));
};


/** @param {boolean} value  */
proto.api.DeviceProfileListItem.prototype.setSupportsClassC = function(value) {
  jspb.Message.setField(this, 10, value);
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.CreateDeviceProfileRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.CreateDeviceProfileRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.CreateDeviceProfileRequest.displayName = 'proto.api.CreateDeviceProfileRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.CreateDeviceProfileRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.CreateDeviceProfileRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.CreateDeviceProfileRequest} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.CreateDeviceProfileRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    deviceProfile: (f = msg.getDeviceProfile()) && proto.api.DeviceProfile.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.CreateDeviceProfileRequest}
 */
proto.api.CreateDeviceProfileRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.CreateDeviceProfileRequest;
  return proto.api.CreateDeviceProfileRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.CreateDeviceProfileRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.CreateDeviceProfileRequest}
 */
proto.api.CreateDeviceProfileRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.DeviceProfile;
      reader.readMessage(value,proto.api.DeviceProfile.deserializeBinaryFromReader);
      msg.setDeviceProfile(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.CreateDeviceProfileRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.CreateDeviceProfileRequest.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.CreateDeviceProfileRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.CreateDeviceProfileRequest.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getDeviceProfile();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.DeviceProfile.serializeBinaryToWriter
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.CreateDeviceProfileRequest} The clone.
 */
proto.api.CreateDeviceProfileRequest.prototype.cloneMessage = function() {
  return /** @type {!proto.api.CreateDeviceProfileRequest} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional DeviceProfile device_profile = 1;
 * @return {proto.api.DeviceProfile}
 */
proto.api.CreateDeviceProfileRequest.prototype.getDeviceProfile = function() {
  return /** @type{proto.api.DeviceProfile} */ (
    jspb.Message.getWrapperField(this, proto.api.DeviceProfile, 1));
};


/** @param {proto.api.DeviceProfile|undefined} value  */
proto.api.CreateDeviceProfileRequest.prototype.setDeviceProfile = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


proto.api.CreateDeviceProfileRequest.prototype.clearDeviceProfile = function() {
  this.setDeviceProfile(undefined);
};


/**
 * Returns whether this field is set.
 * @return{!boolean}
 */
proto.api.CreateDeviceProfileRequest.prototype.hasDeviceProfile = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.CreateDeviceProfileResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.CreateDeviceProfileResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.CreateDeviceProfileResponse.displayName = 'proto.api.CreateDeviceProfileResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.CreateDeviceProfileResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.CreateDeviceProfileResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.CreateDeviceProfileResponse} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.CreateDeviceProfileResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: msg.getId()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.CreateDeviceProfileResponse}
 */
proto.api.CreateDeviceProfileResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.CreateDeviceProfileResponse;
  return proto.api.CreateDeviceProfileResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.CreateDeviceProfileResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.CreateDeviceProfileResponse}
 */
proto.api.CreateDeviceProfileResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.CreateDeviceProfileResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.CreateDeviceProfileResponse.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.CreateDeviceProfileResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.CreateDeviceProfileResponse.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.CreateDeviceProfileResponse} The clone.
 */
proto.api.CreateDeviceProfileResponse.prototype.cloneMessage = function() {
  return /** @type {!proto.api.CreateDeviceProfileResponse} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional string id = 1;
 * @return {string}
 */
proto.api.CreateDeviceProfileResponse.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 1, ""));
};


/** @param {string} value  */
proto.api.CreateDeviceProfileResponse.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.GetDeviceProfileRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.GetDeviceProfileRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.GetDeviceProfileRequest.displayName = 'proto.api.GetDeviceProfileRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.GetDeviceProfileRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.GetDeviceProfileRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.GetDeviceProfileRequest} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.GetDeviceProfileRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: msg.getId()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.GetDeviceProfileRequest}
 */
proto.api.GetDeviceProfileRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.GetDeviceProfileRequest;
  return proto.api.GetDeviceProfileRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.GetDeviceProfileRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.GetDeviceProfileRequest}
 */
proto.api.GetDeviceProfileRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.GetDeviceProfileRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.GetDeviceProfileRequest.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.GetDeviceProfileRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.GetDeviceProfileRequest.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.GetDeviceProfileRequest} The clone.
 */
proto.api.GetDeviceProfileRequest.prototype.cloneMessage = function() {
  return /** @type {!proto.api.GetDeviceProfileRequest} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional string id = 1;
 * @return {string}
 */
proto.api.GetDeviceProfileRequest.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 1, ""));
};


/** @param {string} value  */
proto.api.GetDeviceProfileRequest.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.GetDeviceProfileResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.GetDeviceProfileResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.GetDeviceProfileResponse.displayName = 'proto.api.GetDeviceProfileResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.GetDeviceProfileResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.GetDeviceProfileResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.GetDeviceProfileResponse} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.GetDeviceProfileResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    deviceProfile: (f = msg.getDeviceProfile()) && proto.api.DeviceProfile.toObject(includeInstance, f),
    createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
    updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.GetDeviceProfileResponse}
 */
proto.api.GetDeviceProfileResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.GetDeviceProfileResponse;
  return proto.api.GetDeviceProfileResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.GetDeviceProfileResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.GetDeviceProfileResponse}
 */
proto.api.GetDeviceProfileResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.DeviceProfile;
      reader.readMessage(value,proto.api.DeviceProfile.deserializeBinaryFromReader);
      msg.setDeviceProfile(value);
      break;
    case 2:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setCreatedAt(value);
      break;
    case 3:
      var value = new google_protobuf_timestamp_pb.Timestamp;
      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
      msg.setUpdatedAt(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.GetDeviceProfileResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.GetDeviceProfileResponse.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.GetDeviceProfileResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.GetDeviceProfileResponse.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getDeviceProfile();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.DeviceProfile.serializeBinaryToWriter
    );
  }
  f = this.getCreatedAt();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
  f = this.getUpdatedAt();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.GetDeviceProfileResponse} The clone.
 */
proto.api.GetDeviceProfileResponse.prototype.cloneMessage = function() {
  return /** @type {!proto.api.GetDeviceProfileResponse} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional DeviceProfile device_profile = 1;
 * @return {proto.api.DeviceProfile}
 */
proto.api.GetDeviceProfileResponse.prototype.getDeviceProfile = function() {
  return /** @type{proto.api.DeviceProfile} */ (
    jspb.Message.getWrapperField(this, proto.api.DeviceProfile, 1));
};


/** @param {proto.api.DeviceProfile|undefined} value  */
proto.api.GetDeviceProfileResponse.prototype.setDeviceProfile = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


proto.api.GetDeviceProfileResponse.prototype.clearDeviceProfile = function() {
  this.setDeviceProfile(undefined);
};


/**
 * Returns whether this field is set.
 * @return{!boolean}
 */
proto.api.GetDeviceProfileResponse.prototype.hasDeviceProfile = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional google.protobuf.Timestamp created_at = 2;
 * @return {proto.google.protobuf.Timestamp}
 */
proto.api.GetDeviceProfileResponse.prototype.getCreatedAt = function() {
  return /** @type{proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));
};


/** @param {proto.google.protobuf.Timestamp|undefined} value  */
proto.api.GetDeviceProfileResponse.prototype.setCreatedAt = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


proto.api.GetDeviceProfileResponse.prototype.clearCreatedAt = function() {
  this.setCreatedAt(undefined);
};


/**
 * Returns whether this field is set.
 * @return{!boolean}
 */
proto.api.GetDeviceProfileResponse.prototype.hasCreatedAt = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional google.protobuf.Timestamp updated_at = 3;
 * @return {proto.google.protobuf.Timestamp}
 */
proto.api.GetDeviceProfileResponse.prototype.getUpdatedAt = function() {
  return /** @type{proto.google.protobuf.Timestamp} */ (
    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));
};


/** @param {proto.google.protobuf.Timestamp|undefined} value  */
proto.api.GetDeviceProfileResponse.prototype.setUpdatedAt = function(value) {
  jspb.Message.setWrapperField(this, 3, value);
};


proto.api.GetDeviceProfileResponse.prototype.clearUpdatedAt = function() {
  this.setUpdatedAt(undefined);
};


/**
 * Returns whether this field is set.
 * @return{!boolean}
 */
proto.api.GetDeviceProfileResponse.prototype.hasUpdatedAt = function() {
  return jspb.Message.getField(this, 3) != null;
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.UpdateDeviceProfileRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.UpdateDeviceProfileRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.UpdateDeviceProfileRequest.displayName = 'proto.api.UpdateDeviceProfileRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.UpdateDeviceProfileRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.UpdateDeviceProfileRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.UpdateDeviceProfileRequest} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.UpdateDeviceProfileRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    deviceProfile: (f = msg.getDeviceProfile()) && proto.api.DeviceProfile.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.UpdateDeviceProfileRequest}
 */
proto.api.UpdateDeviceProfileRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.UpdateDeviceProfileRequest;
  return proto.api.UpdateDeviceProfileRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.UpdateDeviceProfileRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.UpdateDeviceProfileRequest}
 */
proto.api.UpdateDeviceProfileRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.DeviceProfile;
      reader.readMessage(value,proto.api.DeviceProfile.deserializeBinaryFromReader);
      msg.setDeviceProfile(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.UpdateDeviceProfileRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.UpdateDeviceProfileRequest.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.UpdateDeviceProfileRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.UpdateDeviceProfileRequest.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getDeviceProfile();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.DeviceProfile.serializeBinaryToWriter
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.UpdateDeviceProfileRequest} The clone.
 */
proto.api.UpdateDeviceProfileRequest.prototype.cloneMessage = function() {
  return /** @type {!proto.api.UpdateDeviceProfileRequest} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional DeviceProfile device_profile = 1;
 * @return {proto.api.DeviceProfile}
 */
proto.api.UpdateDeviceProfileRequest.prototype.getDeviceProfile = function() {
  return /** @type{proto.api.DeviceProfile} */ (
    jspb.Message.getWrapperField(this, proto.api.DeviceProfile, 1));
};


/** @param {proto.api.DeviceProfile|undefined} value  */
proto.api.UpdateDeviceProfileRequest.prototype.setDeviceProfile = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


proto.api.UpdateDeviceProfileRequest.prototype.clearDeviceProfile = function() {
  this.setDeviceProfile(undefined);
};


/**
 * Returns whether this field is set.
 * @return{!boolean}
 */
proto.api.UpdateDeviceProfileRequest.prototype.hasDeviceProfile = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.DeleteDeviceProfileRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.DeleteDeviceProfileRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.DeleteDeviceProfileRequest.displayName = 'proto.api.DeleteDeviceProfileRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.DeleteDeviceProfileRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.DeleteDeviceProfileRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.DeleteDeviceProfileRequest} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.DeleteDeviceProfileRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: msg.getId()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.DeleteDeviceProfileRequest}
 */
proto.api.DeleteDeviceProfileRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.DeleteDeviceProfileRequest;
  return proto.api.DeleteDeviceProfileRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.DeleteDeviceProfileRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.DeleteDeviceProfileRequest}
 */
proto.api.DeleteDeviceProfileRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.DeleteDeviceProfileRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.DeleteDeviceProfileRequest.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.DeleteDeviceProfileRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.DeleteDeviceProfileRequest.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.DeleteDeviceProfileRequest} The clone.
 */
proto.api.DeleteDeviceProfileRequest.prototype.cloneMessage = function() {
  return /** @type {!proto.api.DeleteDeviceProfileRequest} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional string id = 1;
 * @return {string}
 */
proto.api.DeleteDeviceProfileRequest.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 1, ""));
};


/** @param {string} value  */
proto.api.DeleteDeviceProfileRequest.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.ListDeviceProfilesRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.ListDeviceProfilesRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.ListDeviceProfilesRequest.displayName = 'proto.api.ListDeviceProfilesRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.ListDeviceProfilesRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.ListDeviceProfilesRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.ListDeviceProfilesRequest} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.ListDeviceProfilesRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    limit: msg.getLimit(),
    offset: msg.getOffset(),
    search: msg.getSearch(),
    tenantId: msg.getTenantId()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.ListDeviceProfilesRequest}
 */
proto.api.ListDeviceProfilesRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.ListDeviceProfilesRequest;
  return proto.api.ListDeviceProfilesRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.ListDeviceProfilesRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.ListDeviceProfilesRequest}
 */
proto.api.ListDeviceProfilesRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setLimit(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setOffset(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setSearch(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setTenantId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.ListDeviceProfilesRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.ListDeviceProfilesRequest.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.ListDeviceProfilesRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.ListDeviceProfilesRequest.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getLimit();
  if (f !== 0) {
    writer.writeUint32(
      1,
      f
    );
  }
  f = this.getOffset();
  if (f !== 0) {
    writer.writeUint32(
      2,
      f
    );
  }
  f = this.getSearch();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = this.getTenantId();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.ListDeviceProfilesRequest} The clone.
 */
proto.api.ListDeviceProfilesRequest.prototype.cloneMessage = function() {
  return /** @type {!proto.api.ListDeviceProfilesRequest} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional uint32 limit = 1;
 * @return {number}
 */
proto.api.ListDeviceProfilesRequest.prototype.getLimit = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 1, 0));
};


/** @param {number} value  */
proto.api.ListDeviceProfilesRequest.prototype.setLimit = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional uint32 offset = 2;
 * @return {number}
 */
proto.api.ListDeviceProfilesRequest.prototype.getOffset = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 2, 0));
};


/** @param {number} value  */
proto.api.ListDeviceProfilesRequest.prototype.setOffset = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string search = 3;
 * @return {string}
 */
proto.api.ListDeviceProfilesRequest.prototype.getSearch = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 3, ""));
};


/** @param {string} value  */
proto.api.ListDeviceProfilesRequest.prototype.setSearch = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string tenant_id = 4;
 * @return {string}
 */
proto.api.ListDeviceProfilesRequest.prototype.getTenantId = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 4, ""));
};


/** @param {string} value  */
proto.api.ListDeviceProfilesRequest.prototype.setTenantId = function(value) {
  jspb.Message.setField(this, 4, value);
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.ListDeviceProfilesResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.api.ListDeviceProfilesResponse.repeatedFields_, null);
};
goog.inherits(proto.api.ListDeviceProfilesResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.ListDeviceProfilesResponse.displayName = 'proto.api.ListDeviceProfilesResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.api.ListDeviceProfilesResponse.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.ListDeviceProfilesResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.ListDeviceProfilesResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.ListDeviceProfilesResponse} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.ListDeviceProfilesResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    totalCount: msg.getTotalCount(),
    resultList: jspb.Message.toObjectList(msg.getResultList(),
    proto.api.DeviceProfileListItem.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.ListDeviceProfilesResponse}
 */
proto.api.ListDeviceProfilesResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.ListDeviceProfilesResponse;
  return proto.api.ListDeviceProfilesResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.ListDeviceProfilesResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.ListDeviceProfilesResponse}
 */
proto.api.ListDeviceProfilesResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setTotalCount(value);
      break;
    case 2:
      var value = new proto.api.DeviceProfileListItem;
      reader.readMessage(value,proto.api.DeviceProfileListItem.deserializeBinaryFromReader);
      msg.getResultList().push(value);
      msg.setResultList(msg.getResultList());
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.ListDeviceProfilesResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.ListDeviceProfilesResponse.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.ListDeviceProfilesResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.ListDeviceProfilesResponse.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getTotalCount();
  if (f !== 0) {
    writer.writeUint32(
      1,
      f
    );
  }
  f = this.getResultList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      proto.api.DeviceProfileListItem.serializeBinaryToWriter
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.ListDeviceProfilesResponse} The clone.
 */
proto.api.ListDeviceProfilesResponse.prototype.cloneMessage = function() {
  return /** @type {!proto.api.ListDeviceProfilesResponse} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional uint32 total_count = 1;
 * @return {number}
 */
proto.api.ListDeviceProfilesResponse.prototype.getTotalCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 1, 0));
};


/** @param {number} value  */
proto.api.ListDeviceProfilesResponse.prototype.setTotalCount = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated DeviceProfileListItem result = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!proto.api.DeviceProfileListItem>}
 */
proto.api.ListDeviceProfilesResponse.prototype.getResultList = function() {
  return /** @type{!Array.<!proto.api.DeviceProfileListItem>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.api.DeviceProfileListItem, 2));
};


/** @param {Array.<!proto.api.DeviceProfileListItem>} value  */
proto.api.ListDeviceProfilesResponse.prototype.setResultList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


proto.api.ListDeviceProfilesResponse.prototype.clearResultList = function() {
  this.setResultList([]);
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.api.ListDeviceProfileAdrAlgorithmsResponse.repeatedFields_, null);
};
goog.inherits(proto.api.ListDeviceProfileAdrAlgorithmsResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.ListDeviceProfileAdrAlgorithmsResponse.displayName = 'proto.api.ListDeviceProfileAdrAlgorithmsResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.ListDeviceProfileAdrAlgorithmsResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.ListDeviceProfileAdrAlgorithmsResponse} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    totalCount: msg.getTotalCount(),
    resultList: jspb.Message.toObjectList(msg.getResultList(),
    proto.api.AdrAlgorithmListItem.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.ListDeviceProfileAdrAlgorithmsResponse}
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.ListDeviceProfileAdrAlgorithmsResponse;
  return proto.api.ListDeviceProfileAdrAlgorithmsResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.ListDeviceProfileAdrAlgorithmsResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.ListDeviceProfileAdrAlgorithmsResponse}
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setTotalCount(value);
      break;
    case 2:
      var value = new proto.api.AdrAlgorithmListItem;
      reader.readMessage(value,proto.api.AdrAlgorithmListItem.deserializeBinaryFromReader);
      msg.getResultList().push(value);
      msg.setResultList(msg.getResultList());
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.ListDeviceProfileAdrAlgorithmsResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getTotalCount();
  if (f !== 0) {
    writer.writeUint32(
      1,
      f
    );
  }
  f = this.getResultList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      proto.api.AdrAlgorithmListItem.serializeBinaryToWriter
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.ListDeviceProfileAdrAlgorithmsResponse} The clone.
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.prototype.cloneMessage = function() {
  return /** @type {!proto.api.ListDeviceProfileAdrAlgorithmsResponse} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional uint32 total_count = 1;
 * @return {number}
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.prototype.getTotalCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldProto3(this, 1, 0));
};


/** @param {number} value  */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.prototype.setTotalCount = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated AdrAlgorithmListItem result = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!proto.api.AdrAlgorithmListItem>}
 */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.prototype.getResultList = function() {
  return /** @type{!Array.<!proto.api.AdrAlgorithmListItem>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.api.AdrAlgorithmListItem, 2));
};


/** @param {Array.<!proto.api.AdrAlgorithmListItem>} value  */
proto.api.ListDeviceProfileAdrAlgorithmsResponse.prototype.setResultList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


proto.api.ListDeviceProfileAdrAlgorithmsResponse.prototype.clearResultList = function() {
  this.setResultList([]);
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.api.AdrAlgorithmListItem = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.AdrAlgorithmListItem, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.api.AdrAlgorithmListItem.displayName = 'proto.api.AdrAlgorithmListItem';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.AdrAlgorithmListItem.prototype.toObject = function(opt_includeInstance) {
  return proto.api.AdrAlgorithmListItem.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.api.AdrAlgorithmListItem} msg The msg instance to transform.
 * @return {!Object}
 */
proto.api.AdrAlgorithmListItem.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: msg.getId(),
    name: msg.getName()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.AdrAlgorithmListItem}
 */
proto.api.AdrAlgorithmListItem.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.AdrAlgorithmListItem;
  return proto.api.AdrAlgorithmListItem.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.AdrAlgorithmListItem} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.AdrAlgorithmListItem}
 */
proto.api.AdrAlgorithmListItem.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Class method variant: serializes the given message to binary data
 * (in protobuf wire format), writing to the given BinaryWriter.
 * @param {!proto.api.AdrAlgorithmListItem} message
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.AdrAlgorithmListItem.serializeBinaryToWriter = function(message, writer) {
  message.serializeBinaryToWriter(writer);
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.AdrAlgorithmListItem.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  this.serializeBinaryToWriter(writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the message to binary data (in protobuf wire format),
 * writing to the given BinaryWriter.
 * @param {!jspb.BinaryWriter} writer
 */
proto.api.AdrAlgorithmListItem.prototype.serializeBinaryToWriter = function (writer) {
  var f = undefined;
  f = this.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = this.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * Creates a deep clone of this proto. No data is shared with the original.
 * @return {!proto.api.AdrAlgorithmListItem} The clone.
 */
proto.api.AdrAlgorithmListItem.prototype.cloneMessage = function() {
  return /** @type {!proto.api.AdrAlgorithmListItem} */ (jspb.Message.cloneMessage(this));
};


/**
 * optional string id = 1;
 * @return {string}
 */
proto.api.AdrAlgorithmListItem.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 1, ""));
};


/** @param {string} value  */
proto.api.AdrAlgorithmListItem.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.api.AdrAlgorithmListItem.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldProto3(this, 2, ""));
};


/** @param {string} value  */
proto.api.AdrAlgorithmListItem.prototype.setName = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * @enum {number}
 */
proto.api.CodecRuntime = {
  NONE: 0,
  CAYENNE_LPP: 1,
  JS: 2
};

goog.object.extend(exports, proto.api);
