// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: igpsport/log.proto

package nodomain.freeyourgadget.gadgetbridge.proto.igpsport;

public final class Log {
  private Log() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  /**
   * Protobuf enum {@code LOG_SUB_OPERATE_TYPE}
   */
  public enum LOG_SUB_OPERATE_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_LOG_INVALID = 0;</code>
     */
    enum_LOG_INVALID(0),
    /**
     * <code>enum_LOG_NUMBER_GET = 16;</code>
     */
    enum_LOG_NUMBER_GET(16),
    /**
     * <code>enum_LOG_GET = 17;</code>
     */
    enum_LOG_GET(17),
    ;

    /**
     * <code>enum_LOG_INVALID = 0;</code>
     */
    public static final int enum_LOG_INVALID_VALUE = 0;
    /**
     * <code>enum_LOG_NUMBER_GET = 16;</code>
     */
    public static final int enum_LOG_NUMBER_GET_VALUE = 16;
    /**
     * <code>enum_LOG_GET = 17;</code>
     */
    public static final int enum_LOG_GET_VALUE = 17;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static LOG_SUB_OPERATE_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static LOG_SUB_OPERATE_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_LOG_INVALID;
        case 16: return enum_LOG_NUMBER_GET;
        case 17: return enum_LOG_GET;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<LOG_SUB_OPERATE_TYPE>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        LOG_SUB_OPERATE_TYPE> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<LOG_SUB_OPERATE_TYPE>() {
            @java.lang.Override
            public LOG_SUB_OPERATE_TYPE findValueByNumber(int number) {
              return LOG_SUB_OPERATE_TYPE.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return LOG_SUB_OPERATE_TYPEVerifier.INSTANCE;
    }

    private static final class LOG_SUB_OPERATE_TYPEVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new LOG_SUB_OPERATE_TYPEVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return LOG_SUB_OPERATE_TYPE.forNumber(number) != null;
            }
          };

    private final int value;

    private LOG_SUB_OPERATE_TYPE(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:LOG_SUB_OPERATE_TYPE)
  }

  public interface log_msgOrBuilder extends
      // @@protoc_insertion_point(interface_extends:log_msg)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>required .service_type_index service = 1 [default = enum_SERVICE_TYPE_INDEX_LOG];</code>
     * @return Whether the service field is set.
     */
    boolean hasService();
    /**
     * <code>required .service_type_index service = 1 [default = enum_SERVICE_TYPE_INDEX_LOG];</code>
     * @return The service.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getService();

    /**
     * <code>required .SERVICE_OPERATE_TYPE operate = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return Whether the operate field is set.
     */
    boolean hasOperate();
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return The operate.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperate();

    /**
     * <code>required .LOG_SUB_OPERATE_TYPE sub_operate = 3 [default = enum_LOG_INVALID];</code>
     * @return Whether the subOperate field is set.
     */
    boolean hasSubOperate();
    /**
     * <code>required .LOG_SUB_OPERATE_TYPE sub_operate = 3 [default = enum_LOG_INVALID];</code>
     * @return The subOperate.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.LOG_SUB_OPERATE_TYPE getSubOperate();

    /**
     * <code>optional string log_name = 4;</code>
     * @return Whether the logName field is set.
     */
    boolean hasLogName();
    /**
     * <code>optional string log_name = 4;</code>
     * @return The logName.
     */
    java.lang.String getLogName();
    /**
     * <code>optional string log_name = 4;</code>
     * @return The bytes for logName.
     */
    com.google.protobuf.ByteString
        getLogNameBytes();

    /**
     * <code>optional bytes content = 5;</code>
     * @return Whether the content field is set.
     */
    boolean hasContent();
    /**
     * <code>optional bytes content = 5;</code>
     * @return The content.
     */
    com.google.protobuf.ByteString getContent();

    /**
     * <code>optional uint32 log_num = 6;</code>
     * @return Whether the logNum field is set.
     */
    boolean hasLogNum();
    /**
     * <code>optional uint32 log_num = 6;</code>
     * @return The logNum.
     */
    int getLogNum();

    /**
     * <code>optional uint32 log_type = 7;</code>
     * @return Whether the logType field is set.
     */
    boolean hasLogType();
    /**
     * <code>optional uint32 log_type = 7;</code>
     * @return The logType.
     */
    int getLogType();
  }
  /**
   * Protobuf type {@code log_msg}
   */
  public  static final class log_msg extends
      com.google.protobuf.GeneratedMessageLite<
          log_msg, log_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:log_msg)
      log_msgOrBuilder {
    private log_msg() {
      service_ = 19;
      logName_ = "";
      content_ = com.google.protobuf.ByteString.EMPTY;
    }
    private int bitField0_;
    public static final int SERVICE_FIELD_NUMBER = 1;
    private int service_;
    /**
     * <code>required .service_type_index service = 1 [default = enum_SERVICE_TYPE_INDEX_LOG];</code>
     * @return Whether the service field is set.
     */
    @java.lang.Override
    public boolean hasService() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .service_type_index service = 1 [default = enum_SERVICE_TYPE_INDEX_LOG];</code>
     * @return The service.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getService() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.forNumber(service_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.enum_SERVICE_TYPE_INDEX_LOG : result;
    }
    /**
     * <code>required .service_type_index service = 1 [default = enum_SERVICE_TYPE_INDEX_LOG];</code>
     * @param value The service to set.
     */
    private void setService(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
      service_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>required .service_type_index service = 1 [default = enum_SERVICE_TYPE_INDEX_LOG];</code>
     */
    private void clearService() {
      bitField0_ = (bitField0_ & ~0x00000001);
      service_ = 19;
    }

    public static final int OPERATE_FIELD_NUMBER = 2;
    private int operate_;
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return Whether the operate field is set.
     */
    @java.lang.Override
    public boolean hasOperate() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return The operate.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperate() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.forNumber(operate_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.enum_SERVICE_OPERATE_TYPE_NONE : result;
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @param value The operate to set.
     */
    private void setOperate(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE value) {
      operate_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     */
    private void clearOperate() {
      bitField0_ = (bitField0_ & ~0x00000002);
      operate_ = 0;
    }

    public static final int SUB_OPERATE_FIELD_NUMBER = 3;
    private int subOperate_;
    /**
     * <code>required .LOG_SUB_OPERATE_TYPE sub_operate = 3 [default = enum_LOG_INVALID];</code>
     * @return Whether the subOperate field is set.
     */
    @java.lang.Override
    public boolean hasSubOperate() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required .LOG_SUB_OPERATE_TYPE sub_operate = 3 [default = enum_LOG_INVALID];</code>
     * @return The subOperate.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.LOG_SUB_OPERATE_TYPE getSubOperate() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.LOG_SUB_OPERATE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.LOG_SUB_OPERATE_TYPE.forNumber(subOperate_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.LOG_SUB_OPERATE_TYPE.enum_LOG_INVALID : result;
    }
    /**
     * <code>required .LOG_SUB_OPERATE_TYPE sub_operate = 3 [default = enum_LOG_INVALID];</code>
     * @param value The subOperate to set.
     */
    private void setSubOperate(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.LOG_SUB_OPERATE_TYPE value) {
      subOperate_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>required .LOG_SUB_OPERATE_TYPE sub_operate = 3 [default = enum_LOG_INVALID];</code>
     */
    private void clearSubOperate() {
      bitField0_ = (bitField0_ & ~0x00000004);
      subOperate_ = 0;
    }

    public static final int LOG_NAME_FIELD_NUMBER = 4;
    private java.lang.String logName_;
    /**
     * <code>optional string log_name = 4;</code>
     * @return Whether the logName field is set.
     */
    @java.lang.Override
    public boolean hasLogName() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional string log_name = 4;</code>
     * @return The logName.
     */
    @java.lang.Override
    public java.lang.String getLogName() {
      return logName_;
    }
    /**
     * <code>optional string log_name = 4;</code>
     * @return The bytes for logName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLogNameBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(logName_);
    }
    /**
     * <code>optional string log_name = 4;</code>
     * @param value The logName to set.
     */
    private void setLogName(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000008;
      logName_ = value;
    }
    /**
     * <code>optional string log_name = 4;</code>
     */
    private void clearLogName() {
      bitField0_ = (bitField0_ & ~0x00000008);
      logName_ = getDefaultInstance().getLogName();
    }
    /**
     * <code>optional string log_name = 4;</code>
     * @param value The bytes for logName to set.
     */
    private void setLogNameBytes(
        com.google.protobuf.ByteString value) {
      logName_ = value.toStringUtf8();
      bitField0_ |= 0x00000008;
    }

    public static final int CONTENT_FIELD_NUMBER = 5;
    private com.google.protobuf.ByteString content_;
    /**
     * <code>optional bytes content = 5;</code>
     * @return Whether the content field is set.
     */
    @java.lang.Override
    public boolean hasContent() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional bytes content = 5;</code>
     * @return The content.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getContent() {
      return content_;
    }
    /**
     * <code>optional bytes content = 5;</code>
     * @param value The content to set.
     */
    private void setContent(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000010;
      content_ = value;
    }
    /**
     * <code>optional bytes content = 5;</code>
     */
    private void clearContent() {
      bitField0_ = (bitField0_ & ~0x00000010);
      content_ = getDefaultInstance().getContent();
    }

    public static final int LOG_NUM_FIELD_NUMBER = 6;
    private int logNum_;
    /**
     * <code>optional uint32 log_num = 6;</code>
     * @return Whether the logNum field is set.
     */
    @java.lang.Override
    public boolean hasLogNum() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional uint32 log_num = 6;</code>
     * @return The logNum.
     */
    @java.lang.Override
    public int getLogNum() {
      return logNum_;
    }
    /**
     * <code>optional uint32 log_num = 6;</code>
     * @param value The logNum to set.
     */
    private void setLogNum(int value) {
      bitField0_ |= 0x00000020;
      logNum_ = value;
    }
    /**
     * <code>optional uint32 log_num = 6;</code>
     */
    private void clearLogNum() {
      bitField0_ = (bitField0_ & ~0x00000020);
      logNum_ = 0;
    }

    public static final int LOG_TYPE_FIELD_NUMBER = 7;
    private int logType_;
    /**
     * <code>optional uint32 log_type = 7;</code>
     * @return Whether the logType field is set.
     */
    @java.lang.Override
    public boolean hasLogType() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * <code>optional uint32 log_type = 7;</code>
     * @return The logType.
     */
    @java.lang.Override
    public int getLogType() {
      return logType_;
    }
    /**
     * <code>optional uint32 log_type = 7;</code>
     * @param value The logType to set.
     */
    private void setLogType(int value) {
      bitField0_ |= 0x00000040;
      logType_ = value;
    }
    /**
     * <code>optional uint32 log_type = 7;</code>
     */
    private void clearLogType() {
      bitField0_ = (bitField0_ & ~0x00000040);
      logType_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code log_msg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg, Builder> implements
        // @@protoc_insertion_point(builder_implements:log_msg)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msgOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>required .service_type_index service = 1 [default = enum_SERVICE_TYPE_INDEX_LOG];</code>
       * @return Whether the service field is set.
       */
      @java.lang.Override
      public boolean hasService() {
        return instance.hasService();
      }
      /**
       * <code>required .service_type_index service = 1 [default = enum_SERVICE_TYPE_INDEX_LOG];</code>
       * @return The service.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getService() {
        return instance.getService();
      }
      /**
       * <code>required .service_type_index service = 1 [default = enum_SERVICE_TYPE_INDEX_LOG];</code>
       * @param value The enum numeric value on the wire for service to set.
       * @return This builder for chaining.
       */
      public Builder setService(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
        copyOnWrite();
        instance.setService(value);
        return this;
      }
      /**
       * <code>required .service_type_index service = 1 [default = enum_SERVICE_TYPE_INDEX_LOG];</code>
       * @return This builder for chaining.
       */
      public Builder clearService() {
        copyOnWrite();
        instance.clearService();
        return this;
      }

      /**
       * <code>required .SERVICE_OPERATE_TYPE operate = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return Whether the operate field is set.
       */
      @java.lang.Override
      public boolean hasOperate() {
        return instance.hasOperate();
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return The operate.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperate() {
        return instance.getOperate();
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @param value The enum numeric value on the wire for operate to set.
       * @return This builder for chaining.
       */
      public Builder setOperate(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE value) {
        copyOnWrite();
        instance.setOperate(value);
        return this;
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return This builder for chaining.
       */
      public Builder clearOperate() {
        copyOnWrite();
        instance.clearOperate();
        return this;
      }

      /**
       * <code>required .LOG_SUB_OPERATE_TYPE sub_operate = 3 [default = enum_LOG_INVALID];</code>
       * @return Whether the subOperate field is set.
       */
      @java.lang.Override
      public boolean hasSubOperate() {
        return instance.hasSubOperate();
      }
      /**
       * <code>required .LOG_SUB_OPERATE_TYPE sub_operate = 3 [default = enum_LOG_INVALID];</code>
       * @return The subOperate.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.LOG_SUB_OPERATE_TYPE getSubOperate() {
        return instance.getSubOperate();
      }
      /**
       * <code>required .LOG_SUB_OPERATE_TYPE sub_operate = 3 [default = enum_LOG_INVALID];</code>
       * @param value The enum numeric value on the wire for subOperate to set.
       * @return This builder for chaining.
       */
      public Builder setSubOperate(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.LOG_SUB_OPERATE_TYPE value) {
        copyOnWrite();
        instance.setSubOperate(value);
        return this;
      }
      /**
       * <code>required .LOG_SUB_OPERATE_TYPE sub_operate = 3 [default = enum_LOG_INVALID];</code>
       * @return This builder for chaining.
       */
      public Builder clearSubOperate() {
        copyOnWrite();
        instance.clearSubOperate();
        return this;
      }

      /**
       * <code>optional string log_name = 4;</code>
       * @return Whether the logName field is set.
       */
      @java.lang.Override
      public boolean hasLogName() {
        return instance.hasLogName();
      }
      /**
       * <code>optional string log_name = 4;</code>
       * @return The logName.
       */
      @java.lang.Override
      public java.lang.String getLogName() {
        return instance.getLogName();
      }
      /**
       * <code>optional string log_name = 4;</code>
       * @return The bytes for logName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLogNameBytes() {
        return instance.getLogNameBytes();
      }
      /**
       * <code>optional string log_name = 4;</code>
       * @param value The logName to set.
       * @return This builder for chaining.
       */
      public Builder setLogName(
          java.lang.String value) {
        copyOnWrite();
        instance.setLogName(value);
        return this;
      }
      /**
       * <code>optional string log_name = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearLogName() {
        copyOnWrite();
        instance.clearLogName();
        return this;
      }
      /**
       * <code>optional string log_name = 4;</code>
       * @param value The bytes for logName to set.
       * @return This builder for chaining.
       */
      public Builder setLogNameBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setLogNameBytes(value);
        return this;
      }

      /**
       * <code>optional bytes content = 5;</code>
       * @return Whether the content field is set.
       */
      @java.lang.Override
      public boolean hasContent() {
        return instance.hasContent();
      }
      /**
       * <code>optional bytes content = 5;</code>
       * @return The content.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getContent() {
        return instance.getContent();
      }
      /**
       * <code>optional bytes content = 5;</code>
       * @param value The content to set.
       * @return This builder for chaining.
       */
      public Builder setContent(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setContent(value);
        return this;
      }
      /**
       * <code>optional bytes content = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearContent() {
        copyOnWrite();
        instance.clearContent();
        return this;
      }

      /**
       * <code>optional uint32 log_num = 6;</code>
       * @return Whether the logNum field is set.
       */
      @java.lang.Override
      public boolean hasLogNum() {
        return instance.hasLogNum();
      }
      /**
       * <code>optional uint32 log_num = 6;</code>
       * @return The logNum.
       */
      @java.lang.Override
      public int getLogNum() {
        return instance.getLogNum();
      }
      /**
       * <code>optional uint32 log_num = 6;</code>
       * @param value The logNum to set.
       * @return This builder for chaining.
       */
      public Builder setLogNum(int value) {
        copyOnWrite();
        instance.setLogNum(value);
        return this;
      }
      /**
       * <code>optional uint32 log_num = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearLogNum() {
        copyOnWrite();
        instance.clearLogNum();
        return this;
      }

      /**
       * <code>optional uint32 log_type = 7;</code>
       * @return Whether the logType field is set.
       */
      @java.lang.Override
      public boolean hasLogType() {
        return instance.hasLogType();
      }
      /**
       * <code>optional uint32 log_type = 7;</code>
       * @return The logType.
       */
      @java.lang.Override
      public int getLogType() {
        return instance.getLogType();
      }
      /**
       * <code>optional uint32 log_type = 7;</code>
       * @param value The logType to set.
       * @return This builder for chaining.
       */
      public Builder setLogType(int value) {
        copyOnWrite();
        instance.setLogType(value);
        return this;
      }
      /**
       * <code>optional uint32 log_type = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearLogType() {
        copyOnWrite();
        instance.clearLogType();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:log_msg)
    }
    private byte memoizedIsInitialized = 2;
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "service_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.internalGetVerifier(),
              "operate_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.internalGetVerifier(),
              "subOperate_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.LOG_SUB_OPERATE_TYPE.internalGetVerifier(),
              "logName_",
              "content_",
              "logNum_",
              "logType_",
            };
            java.lang.String info =
                "\u0001\u0007\u0000\u0001\u0001\u0007\u0007\u0000\u0000\u0003\u0001\u150c\u0000\u0002" +
                "\u150c\u0001\u0003\u150c\u0002\u0004\u1008\u0003\u0005\u100a\u0004\u0006\u100b\u0005" +
                "\u0007\u100b\u0006";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:log_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg DEFAULT_INSTANCE;
    static {
      log_msg defaultInstance = new log_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        log_msg.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Log.log_msg getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<log_msg> PARSER;

    public static com.google.protobuf.Parser<log_msg> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
