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

package de.mintware.barcode_scan;

public final class Protos {
  private Protos() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  /**
   * <pre>
   * protos/barcode_format.proto
   * </pre>
   *
   * Protobuf enum {@code BarcodeFormat}
   */
  public enum BarcodeFormat
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>unknown = 0;</code>
     */
    unknown(0),
    /**
     * <code>aztec = 1;</code>
     */
    aztec(1),
    /**
     * <code>code39 = 2;</code>
     */
    code39(2),
    /**
     * <code>code93 = 3;</code>
     */
    code93(3),
    /**
     * <code>ean8 = 4;</code>
     */
    ean8(4),
    /**
     * <code>ean13 = 5;</code>
     */
    ean13(5),
    /**
     * <code>code128 = 6;</code>
     */
    code128(6),
    /**
     * <code>dataMatrix = 7;</code>
     */
    dataMatrix(7),
    /**
     * <code>qr = 8;</code>
     */
    qr(8),
    /**
     * <code>interleaved2of5 = 9;</code>
     */
    interleaved2of5(9),
    /**
     * <code>upce = 10;</code>
     */
    upce(10),
    /**
     * <code>pdf417 = 11;</code>
     */
    pdf417(11),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>unknown = 0;</code>
     */
    public static final int unknown_VALUE = 0;
    /**
     * <code>aztec = 1;</code>
     */
    public static final int aztec_VALUE = 1;
    /**
     * <code>code39 = 2;</code>
     */
    public static final int code39_VALUE = 2;
    /**
     * <code>code93 = 3;</code>
     */
    public static final int code93_VALUE = 3;
    /**
     * <code>ean8 = 4;</code>
     */
    public static final int ean8_VALUE = 4;
    /**
     * <code>ean13 = 5;</code>
     */
    public static final int ean13_VALUE = 5;
    /**
     * <code>code128 = 6;</code>
     */
    public static final int code128_VALUE = 6;
    /**
     * <code>dataMatrix = 7;</code>
     */
    public static final int dataMatrix_VALUE = 7;
    /**
     * <code>qr = 8;</code>
     */
    public static final int qr_VALUE = 8;
    /**
     * <code>interleaved2of5 = 9;</code>
     */
    public static final int interleaved2of5_VALUE = 9;
    /**
     * <code>upce = 10;</code>
     */
    public static final int upce_VALUE = 10;
    /**
     * <code>pdf417 = 11;</code>
     */
    public static final int pdf417_VALUE = 11;


    @java.lang.Override
    public final int getNumber() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalArgumentException(
            "Can't get the number of an unknown enum value.");
      }
      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 BarcodeFormat valueOf(int value) {
      return forNumber(value);
    }

    public static BarcodeFormat forNumber(int value) {
      switch (value) {
        case 0: return unknown;
        case 1: return aztec;
        case 2: return code39;
        case 3: return code93;
        case 4: return ean8;
        case 5: return ean13;
        case 6: return code128;
        case 7: return dataMatrix;
        case 8: return qr;
        case 9: return interleaved2of5;
        case 10: return upce;
        case 11: return pdf417;
        default: return null;
      }
    }

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

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:BarcodeFormat)
  }

  /**
   * <pre>
   * protos/scan_result.proto
   * </pre>
   *
   * Protobuf enum {@code ResultType}
   */
  public enum ResultType
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>Barcode = 0;</code>
     */
    Barcode(0),
    /**
     * <code>Cancelled = 1;</code>
     */
    Cancelled(1),
    /**
     * <code>Error = 2;</code>
     */
    Error(2),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>Barcode = 0;</code>
     */
    public static final int Barcode_VALUE = 0;
    /**
     * <code>Cancelled = 1;</code>
     */
    public static final int Cancelled_VALUE = 1;
    /**
     * <code>Error = 2;</code>
     */
    public static final int Error_VALUE = 2;


    @java.lang.Override
    public final int getNumber() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalArgumentException(
            "Can't get the number of an unknown enum value.");
      }
      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 ResultType valueOf(int value) {
      return forNumber(value);
    }

    public static ResultType forNumber(int value) {
      switch (value) {
        case 0: return Barcode;
        case 1: return Cancelled;
        case 2: return Error;
        default: return null;
      }
    }

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

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:ResultType)
  }

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

    /**
     * <pre>
     * You can optionally set aspect ratio tolerance level
     * that is used in calculating the optimal Camera preview size.
     * On several Huawei devices you need to set this to 0.5.
     * This parameter is only supported on Android devices.
     * </pre>
     *
     * <code>double aspectTolerance = 1;</code>
     * @return The aspectTolerance.
     */
    double getAspectTolerance();

    /**
     * <pre>
     * Set to true to enable auto focus
     * This parameter is only supported on Android devices.
     * </pre>
     *
     * <code>bool useAutoFocus = 2;</code>
     * @return The useAutoFocus.
     */
    boolean getUseAutoFocus();
  }
  /**
   * <pre>
   * protos/android_configuration.proto
   * </pre>
   *
   * Protobuf type {@code AndroidConfiguration}
   */
  public  static final class AndroidConfiguration extends
      com.google.protobuf.GeneratedMessageLite<
          AndroidConfiguration, AndroidConfiguration.Builder> implements
      // @@protoc_insertion_point(message_implements:AndroidConfiguration)
      AndroidConfigurationOrBuilder {
    private AndroidConfiguration() {
    }
    public static final int ASPECTTOLERANCE_FIELD_NUMBER = 1;
    private double aspectTolerance_;
    /**
     * <pre>
     * You can optionally set aspect ratio tolerance level
     * that is used in calculating the optimal Camera preview size.
     * On several Huawei devices you need to set this to 0.5.
     * This parameter is only supported on Android devices.
     * </pre>
     *
     * <code>double aspectTolerance = 1;</code>
     * @return The aspectTolerance.
     */
    @java.lang.Override
    public double getAspectTolerance() {
      return aspectTolerance_;
    }
    /**
     * <pre>
     * You can optionally set aspect ratio tolerance level
     * that is used in calculating the optimal Camera preview size.
     * On several Huawei devices you need to set this to 0.5.
     * This parameter is only supported on Android devices.
     * </pre>
     *
     * <code>double aspectTolerance = 1;</code>
     * @param value The aspectTolerance to set.
     */
    private void setAspectTolerance(double value) {
      
      aspectTolerance_ = value;
    }
    /**
     * <pre>
     * You can optionally set aspect ratio tolerance level
     * that is used in calculating the optimal Camera preview size.
     * On several Huawei devices you need to set this to 0.5.
     * This parameter is only supported on Android devices.
     * </pre>
     *
     * <code>double aspectTolerance = 1;</code>
     */
    private void clearAspectTolerance() {
      
      aspectTolerance_ = 0D;
    }

    public static final int USEAUTOFOCUS_FIELD_NUMBER = 2;
    private boolean useAutoFocus_;
    /**
     * <pre>
     * Set to true to enable auto focus
     * This parameter is only supported on Android devices.
     * </pre>
     *
     * <code>bool useAutoFocus = 2;</code>
     * @return The useAutoFocus.
     */
    @java.lang.Override
    public boolean getUseAutoFocus() {
      return useAutoFocus_;
    }
    /**
     * <pre>
     * Set to true to enable auto focus
     * This parameter is only supported on Android devices.
     * </pre>
     *
     * <code>bool useAutoFocus = 2;</code>
     * @param value The useAutoFocus to set.
     */
    private void setUseAutoFocus(boolean value) {
      
      useAutoFocus_ = value;
    }
    /**
     * <pre>
     * Set to true to enable auto focus
     * This parameter is only supported on Android devices.
     * </pre>
     *
     * <code>bool useAutoFocus = 2;</code>
     */
    private void clearUseAutoFocus() {
      
      useAutoFocus_ = false;
    }

    public static de.mintware.barcode_scan.Protos.AndroidConfiguration parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static de.mintware.barcode_scan.Protos.AndroidConfiguration 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 de.mintware.barcode_scan.Protos.AndroidConfiguration parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static de.mintware.barcode_scan.Protos.AndroidConfiguration 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 de.mintware.barcode_scan.Protos.AndroidConfiguration parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static de.mintware.barcode_scan.Protos.AndroidConfiguration 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 de.mintware.barcode_scan.Protos.AndroidConfiguration parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static de.mintware.barcode_scan.Protos.AndroidConfiguration 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 de.mintware.barcode_scan.Protos.AndroidConfiguration parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static de.mintware.barcode_scan.Protos.AndroidConfiguration parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static de.mintware.barcode_scan.Protos.AndroidConfiguration parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static de.mintware.barcode_scan.Protos.AndroidConfiguration 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(de.mintware.barcode_scan.Protos.AndroidConfiguration prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * protos/android_configuration.proto
     * </pre>
     *
     * Protobuf type {@code AndroidConfiguration}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          de.mintware.barcode_scan.Protos.AndroidConfiguration, Builder> implements
        // @@protoc_insertion_point(builder_implements:AndroidConfiguration)
        de.mintware.barcode_scan.Protos.AndroidConfigurationOrBuilder {
      // Construct using de.mintware.barcode_scan.Protos.AndroidConfiguration.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * You can optionally set aspect ratio tolerance level
       * that is used in calculating the optimal Camera preview size.
       * On several Huawei devices you need to set this to 0.5.
       * This parameter is only supported on Android devices.
       * </pre>
       *
       * <code>double aspectTolerance = 1;</code>
       * @return The aspectTolerance.
       */
      @java.lang.Override
      public double getAspectTolerance() {
        return instance.getAspectTolerance();
      }
      /**
       * <pre>
       * You can optionally set aspect ratio tolerance level
       * that is used in calculating the optimal Camera preview size.
       * On several Huawei devices you need to set this to 0.5.
       * This parameter is only supported on Android devices.
       * </pre>
       *
       * <code>double aspectTolerance = 1;</code>
       * @param value The aspectTolerance to set.
       * @return This builder for chaining.
       */
      public Builder setAspectTolerance(double value) {
        copyOnWrite();
        instance.setAspectTolerance(value);
        return this;
      }
      /**
       * <pre>
       * You can optionally set aspect ratio tolerance level
       * that is used in calculating the optimal Camera preview size.
       * On several Huawei devices you need to set this to 0.5.
       * This parameter is only supported on Android devices.
       * </pre>
       *
       * <code>double aspectTolerance = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearAspectTolerance() {
        copyOnWrite();
        instance.clearAspectTolerance();
        return this;
      }

      /**
       * <pre>
       * Set to true to enable auto focus
       * This parameter is only supported on Android devices.
       * </pre>
       *
       * <code>bool useAutoFocus = 2;</code>
       * @return The useAutoFocus.
       */
      @java.lang.Override
      public boolean getUseAutoFocus() {
        return instance.getUseAutoFocus();
      }
      /**
       * <pre>
       * Set to true to enable auto focus
       * This parameter is only supported on Android devices.
       * </pre>
       *
       * <code>bool useAutoFocus = 2;</code>
       * @param value The useAutoFocus to set.
       * @return This builder for chaining.
       */
      public Builder setUseAutoFocus(boolean value) {
        copyOnWrite();
        instance.setUseAutoFocus(value);
        return this;
      }
      /**
       * <pre>
       * Set to true to enable auto focus
       * This parameter is only supported on Android devices.
       * </pre>
       *
       * <code>bool useAutoFocus = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearUseAutoFocus() {
        copyOnWrite();
        instance.clearUseAutoFocus();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:AndroidConfiguration)
    }
    @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 de.mintware.barcode_scan.Protos.AndroidConfiguration();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "aspectTolerance_",
              "useAutoFocus_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0000\u0002\u0007" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<de.mintware.barcode_scan.Protos.AndroidConfiguration> parser = PARSER;
          if (parser == null) {
            synchronized (de.mintware.barcode_scan.Protos.AndroidConfiguration.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<de.mintware.barcode_scan.Protos.AndroidConfiguration>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:AndroidConfiguration)
    private static final de.mintware.barcode_scan.Protos.AndroidConfiguration DEFAULT_INSTANCE;
    static {
      AndroidConfiguration defaultInstance = new AndroidConfiguration();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        AndroidConfiguration.class, defaultInstance);
    }

    public static de.mintware.barcode_scan.Protos.AndroidConfiguration getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    /**
     * <pre>
     * Strings which are displayed to the user
     * </pre>
     *
     * <code>map&lt;string, string&gt; strings = 1;</code>
     */
    int getStringsCount();
    /**
     * <pre>
     * Strings which are displayed to the user
     * </pre>
     *
     * <code>map&lt;string, string&gt; strings = 1;</code>
     */
    boolean containsStrings(
        java.lang.String key);
    /**
     * Use {@link #getStringsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, java.lang.String>
    getStrings();
    /**
     * <pre>
     * Strings which are displayed to the user
     * </pre>
     *
     * <code>map&lt;string, string&gt; strings = 1;</code>
     */
    java.util.Map<java.lang.String, java.lang.String>
    getStringsMap();
    /**
     * <pre>
     * Strings which are displayed to the user
     * </pre>
     *
     * <code>map&lt;string, string&gt; strings = 1;</code>
     */

    java.lang.String getStringsOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * <pre>
     * Strings which are displayed to the user
     * </pre>
     *
     * <code>map&lt;string, string&gt; strings = 1;</code>
     */

    java.lang.String getStringsOrThrow(
        java.lang.String key);

    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @return A list containing the restrictFormat.
     */
    java.util.List<de.mintware.barcode_scan.Protos.BarcodeFormat> getRestrictFormatList();
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @return The count of restrictFormat.
     */
    int getRestrictFormatCount();
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @param index The index of the element to return.
     * @return The restrictFormat at the given index.
     */
    de.mintware.barcode_scan.Protos.BarcodeFormat getRestrictFormat(int index);
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @return A list containing the enum numeric values on the wire for restrictFormat.
     */
    java.util.List<java.lang.Integer>
    getRestrictFormatValueList();
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of restrictFormat at the given index.
     */
    int getRestrictFormatValue(int index);

    /**
     * <pre>
     * Index of the camera which should used. -1 uses the default camera
     * </pre>
     *
     * <code>int32 useCamera = 3;</code>
     * @return The useCamera.
     */
    int getUseCamera();

    /**
     * <pre>
     * Android specific configuration
     * </pre>
     *
     * <code>.AndroidConfiguration android = 4;</code>
     * @return Whether the android field is set.
     */
    boolean hasAndroid();
    /**
     * <pre>
     * Android specific configuration
     * </pre>
     *
     * <code>.AndroidConfiguration android = 4;</code>
     * @return The android.
     */
    de.mintware.barcode_scan.Protos.AndroidConfiguration getAndroid();

    /**
     * <pre>
     * Set to true to automatically enable flash on camera start
     * </pre>
     *
     * <code>bool autoEnableFlash = 5;</code>
     * @return The autoEnableFlash.
     */
    boolean getAutoEnableFlash();
  }
  /**
   * <pre>
   * protos/configuration.proto
   * </pre>
   *
   * Protobuf type {@code Configuration}
   */
  public  static final class Configuration extends
      com.google.protobuf.GeneratedMessageLite<
          Configuration, Configuration.Builder> implements
      // @@protoc_insertion_point(message_implements:Configuration)
      ConfigurationOrBuilder {
    private Configuration() {
      restrictFormat_ = emptyIntList();
    }
    public static final int STRINGS_FIELD_NUMBER = 1;
    private static final class StringsDefaultEntryHolder {
      static final com.google.protobuf.MapEntryLite<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntryLite
              .<java.lang.String, java.lang.String>newDefaultInstance(
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapFieldLite<
        java.lang.String, java.lang.String> strings_ =
            com.google.protobuf.MapFieldLite.emptyMapField();
    private com.google.protobuf.MapFieldLite<java.lang.String, java.lang.String>
    internalGetStrings() {
      return strings_;
    }
    private com.google.protobuf.MapFieldLite<java.lang.String, java.lang.String>
    internalGetMutableStrings() {
      if (!strings_.isMutable()) {
        strings_ = strings_.mutableCopy();
      }
      return strings_;
    }
    @java.lang.Override

    public int getStringsCount() {
      return internalGetStrings().size();
    }
    /**
     * <pre>
     * Strings which are displayed to the user
     * </pre>
     *
     * <code>map&lt;string, string&gt; strings = 1;</code>
     */
    @java.lang.Override

    public boolean containsStrings(
        java.lang.String key) {
      key.getClass();
      return internalGetStrings().containsKey(key);
    }
    /**
     * Use {@link #getStringsMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.String> getStrings() {
      return getStringsMap();
    }
    /**
     * <pre>
     * Strings which are displayed to the user
     * </pre>
     *
     * <code>map&lt;string, string&gt; strings = 1;</code>
     */
    @java.lang.Override

    public java.util.Map<java.lang.String, java.lang.String> getStringsMap() {
      return java.util.Collections.unmodifiableMap(
          internalGetStrings());
    }
    /**
     * <pre>
     * Strings which are displayed to the user
     * </pre>
     *
     * <code>map&lt;string, string&gt; strings = 1;</code>
     */
    @java.lang.Override

    public java.lang.String getStringsOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      key.getClass();
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetStrings();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <pre>
     * Strings which are displayed to the user
     * </pre>
     *
     * <code>map&lt;string, string&gt; strings = 1;</code>
     */
    @java.lang.Override

    public java.lang.String getStringsOrThrow(
        java.lang.String key) {
      key.getClass();
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetStrings();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }
    /**
     * <pre>
     * Strings which are displayed to the user
     * </pre>
     *
     * <code>map&lt;string, string&gt; strings = 1;</code>
     */
    private java.util.Map<java.lang.String, java.lang.String>
    getMutableStringsMap() {
      return internalGetMutableStrings();
    }

    public static final int RESTRICTFORMAT_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.IntList restrictFormat_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, de.mintware.barcode_scan.Protos.BarcodeFormat> restrictFormat_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, de.mintware.barcode_scan.Protos.BarcodeFormat>() {
              @java.lang.Override
              public de.mintware.barcode_scan.Protos.BarcodeFormat convert(java.lang.Integer from) {
                de.mintware.barcode_scan.Protos.BarcodeFormat result = de.mintware.barcode_scan.Protos.BarcodeFormat.forNumber(from);
                return result == null ? de.mintware.barcode_scan.Protos.BarcodeFormat.UNRECOGNIZED : result;
              }
            };
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @return A list containing the restrictFormat.
     */
    @java.lang.Override
    public java.util.List<de.mintware.barcode_scan.Protos.BarcodeFormat> getRestrictFormatList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, de.mintware.barcode_scan.Protos.BarcodeFormat>(restrictFormat_, restrictFormat_converter_);
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @return The count of restrictFormat.
     */
    @java.lang.Override
    public int getRestrictFormatCount() {
      return restrictFormat_.size();
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @param index The index of the element to return.
     * @return The restrictFormat at the given index.
     */
    @java.lang.Override
    public de.mintware.barcode_scan.Protos.BarcodeFormat getRestrictFormat(int index) {
      return restrictFormat_converter_.convert(restrictFormat_.getInt(index));
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @return A list containing the enum numeric values on the wire for restrictFormat.
     */
    @java.lang.Override
    public java.util.List<java.lang.Integer>
    getRestrictFormatValueList() {
      return restrictFormat_;
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of restrictFormat at the given index.
     */
    @java.lang.Override
    public int getRestrictFormatValue(int index) {
      return restrictFormat_.getInt(index);
    }
    private int restrictFormatMemoizedSerializedSize;
    private void ensureRestrictFormatIsMutable() {
      if (!restrictFormat_.isModifiable()) {
        restrictFormat_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(restrictFormat_);
      }
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @param index The index to set the value at.
     * @param value The restrictFormat to set.
     */
    private void setRestrictFormat(
        int index, de.mintware.barcode_scan.Protos.BarcodeFormat value) {
      value.getClass();
  ensureRestrictFormatIsMutable();
      restrictFormat_.setInt(index, value.getNumber());
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @param value The restrictFormat to add.
     */
    private void addRestrictFormat(de.mintware.barcode_scan.Protos.BarcodeFormat value) {
      value.getClass();
  ensureRestrictFormatIsMutable();
      restrictFormat_.addInt(value.getNumber());
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @param values The restrictFormat to add.
     */
    private void addAllRestrictFormat(
        java.lang.Iterable<? extends de.mintware.barcode_scan.Protos.BarcodeFormat> values) {
      ensureRestrictFormatIsMutable();
      for (de.mintware.barcode_scan.Protos.BarcodeFormat value : values) {
        restrictFormat_.addInt(value.getNumber());
      }
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     */
    private void clearRestrictFormat() {
      restrictFormat_ = emptyIntList();
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @param value The enum numeric value on the wire for restrictFormat to set.
     */
    private void setRestrictFormatValue(
        int index, int value) {
      ensureRestrictFormatIsMutable();
      restrictFormat_.setInt(index, value);
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @param value The enum numeric value on the wire for restrictFormat to add.
     */
    private void addRestrictFormatValue(int value) {
      ensureRestrictFormatIsMutable();
      restrictFormat_.addInt(value);
    }
    /**
     * <pre>
     * Restricts the barcode format which should be read
     * </pre>
     *
     * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
     * @param values The enum numeric values on the wire for restrictFormat to add.
     */
    private void addAllRestrictFormatValue(
        java.lang.Iterable<java.lang.Integer> values) {
      ensureRestrictFormatIsMutable();
      for (int value : values) {
        restrictFormat_.addInt(value);
      }
    }

    public static final int USECAMERA_FIELD_NUMBER = 3;
    private int useCamera_;
    /**
     * <pre>
     * Index of the camera which should used. -1 uses the default camera
     * </pre>
     *
     * <code>int32 useCamera = 3;</code>
     * @return The useCamera.
     */
    @java.lang.Override
    public int getUseCamera() {
      return useCamera_;
    }
    /**
     * <pre>
     * Index of the camera which should used. -1 uses the default camera
     * </pre>
     *
     * <code>int32 useCamera = 3;</code>
     * @param value The useCamera to set.
     */
    private void setUseCamera(int value) {
      
      useCamera_ = value;
    }
    /**
     * <pre>
     * Index of the camera which should used. -1 uses the default camera
     * </pre>
     *
     * <code>int32 useCamera = 3;</code>
     */
    private void clearUseCamera() {
      
      useCamera_ = 0;
    }

    public static final int ANDROID_FIELD_NUMBER = 4;
    private de.mintware.barcode_scan.Protos.AndroidConfiguration android_;
    /**
     * <pre>
     * Android specific configuration
     * </pre>
     *
     * <code>.AndroidConfiguration android = 4;</code>
     */
    @java.lang.Override
    public boolean hasAndroid() {
      return android_ != null;
    }
    /**
     * <pre>
     * Android specific configuration
     * </pre>
     *
     * <code>.AndroidConfiguration android = 4;</code>
     */
    @java.lang.Override
    public de.mintware.barcode_scan.Protos.AndroidConfiguration getAndroid() {
      return android_ == null ? de.mintware.barcode_scan.Protos.AndroidConfiguration.getDefaultInstance() : android_;
    }
    /**
     * <pre>
     * Android specific configuration
     * </pre>
     *
     * <code>.AndroidConfiguration android = 4;</code>
     */
    private void setAndroid(de.mintware.barcode_scan.Protos.AndroidConfiguration value) {
      value.getClass();
  android_ = value;
      
      }
    /**
     * <pre>
     * Android specific configuration
     * </pre>
     *
     * <code>.AndroidConfiguration android = 4;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeAndroid(de.mintware.barcode_scan.Protos.AndroidConfiguration value) {
      value.getClass();
  if (android_ != null &&
          android_ != de.mintware.barcode_scan.Protos.AndroidConfiguration.getDefaultInstance()) {
        android_ =
          de.mintware.barcode_scan.Protos.AndroidConfiguration.newBuilder(android_).mergeFrom(value).buildPartial();
      } else {
        android_ = value;
      }
      
    }
    /**
     * <pre>
     * Android specific configuration
     * </pre>
     *
     * <code>.AndroidConfiguration android = 4;</code>
     */
    private void clearAndroid() {  android_ = null;
      
    }

    public static final int AUTOENABLEFLASH_FIELD_NUMBER = 5;
    private boolean autoEnableFlash_;
    /**
     * <pre>
     * Set to true to automatically enable flash on camera start
     * </pre>
     *
     * <code>bool autoEnableFlash = 5;</code>
     * @return The autoEnableFlash.
     */
    @java.lang.Override
    public boolean getAutoEnableFlash() {
      return autoEnableFlash_;
    }
    /**
     * <pre>
     * Set to true to automatically enable flash on camera start
     * </pre>
     *
     * <code>bool autoEnableFlash = 5;</code>
     * @param value The autoEnableFlash to set.
     */
    private void setAutoEnableFlash(boolean value) {
      
      autoEnableFlash_ = value;
    }
    /**
     * <pre>
     * Set to true to automatically enable flash on camera start
     * </pre>
     *
     * <code>bool autoEnableFlash = 5;</code>
     */
    private void clearAutoEnableFlash() {
      
      autoEnableFlash_ = false;
    }

    public static de.mintware.barcode_scan.Protos.Configuration parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static de.mintware.barcode_scan.Protos.Configuration 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 de.mintware.barcode_scan.Protos.Configuration parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static de.mintware.barcode_scan.Protos.Configuration 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 de.mintware.barcode_scan.Protos.Configuration parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static de.mintware.barcode_scan.Protos.Configuration 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 de.mintware.barcode_scan.Protos.Configuration parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static de.mintware.barcode_scan.Protos.Configuration 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 de.mintware.barcode_scan.Protos.Configuration parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static de.mintware.barcode_scan.Protos.Configuration parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static de.mintware.barcode_scan.Protos.Configuration parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static de.mintware.barcode_scan.Protos.Configuration 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(de.mintware.barcode_scan.Protos.Configuration prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * protos/configuration.proto
     * </pre>
     *
     * Protobuf type {@code Configuration}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          de.mintware.barcode_scan.Protos.Configuration, Builder> implements
        // @@protoc_insertion_point(builder_implements:Configuration)
        de.mintware.barcode_scan.Protos.ConfigurationOrBuilder {
      // Construct using de.mintware.barcode_scan.Protos.Configuration.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      @java.lang.Override

      public int getStringsCount() {
        return instance.getStringsMap().size();
      }
      /**
       * <pre>
       * Strings which are displayed to the user
       * </pre>
       *
       * <code>map&lt;string, string&gt; strings = 1;</code>
       */
      @java.lang.Override

      public boolean containsStrings(
          java.lang.String key) {
        key.getClass();
        return instance.getStringsMap().containsKey(key);
      }

      public Builder clearStrings() {
        copyOnWrite();
        instance.getMutableStringsMap().clear();
        return this;
      }
      /**
       * <pre>
       * Strings which are displayed to the user
       * </pre>
       *
       * <code>map&lt;string, string&gt; strings = 1;</code>
       */

      public Builder removeStrings(
          java.lang.String key) {
        key.getClass();
        copyOnWrite();
        instance.getMutableStringsMap().remove(key);
        return this;
      }
      /**
       * Use {@link #getStringsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String> getStrings() {
        return getStringsMap();
      }
      /**
       * <pre>
       * Strings which are displayed to the user
       * </pre>
       *
       * <code>map&lt;string, string&gt; strings = 1;</code>
       */
      @java.lang.Override
      public java.util.Map<java.lang.String, java.lang.String> getStringsMap() {
        return java.util.Collections.unmodifiableMap(
            instance.getStringsMap());
      }
      /**
       * <pre>
       * Strings which are displayed to the user
       * </pre>
       *
       * <code>map&lt;string, string&gt; strings = 1;</code>
       */
      @java.lang.Override

      public java.lang.String getStringsOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        key.getClass();
        java.util.Map<java.lang.String, java.lang.String> map =
            instance.getStringsMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <pre>
       * Strings which are displayed to the user
       * </pre>
       *
       * <code>map&lt;string, string&gt; strings = 1;</code>
       */
      @java.lang.Override

      public java.lang.String getStringsOrThrow(
          java.lang.String key) {
        key.getClass();
        java.util.Map<java.lang.String, java.lang.String> map =
            instance.getStringsMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }
      /**
       * <pre>
       * Strings which are displayed to the user
       * </pre>
       *
       * <code>map&lt;string, string&gt; strings = 1;</code>
       */
      public Builder putStrings(
          java.lang.String key,
          java.lang.String value) {
        key.getClass();
        value.getClass();
        copyOnWrite();
        instance.getMutableStringsMap().put(key, value);
        return this;
      }
      /**
       * <pre>
       * Strings which are displayed to the user
       * </pre>
       *
       * <code>map&lt;string, string&gt; strings = 1;</code>
       */
      public Builder putAllStrings(
          java.util.Map<java.lang.String, java.lang.String> values) {
        copyOnWrite();
        instance.getMutableStringsMap().putAll(values);
        return this;
      }

      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @return A list containing the restrictFormat.
       */
      @java.lang.Override
      public java.util.List<de.mintware.barcode_scan.Protos.BarcodeFormat> getRestrictFormatList() {
        return instance.getRestrictFormatList();
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @return The count of restrictFormat.
       */
      @java.lang.Override
      public int getRestrictFormatCount() {
        return instance.getRestrictFormatCount();
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @param index The index of the element to return.
       * @return The restrictFormat at the given index.
       */
      @java.lang.Override
      public de.mintware.barcode_scan.Protos.BarcodeFormat getRestrictFormat(int index) {
        return instance.getRestrictFormat(index);
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @param index The index to set the value at.
       * @param value The restrictFormat to set.
       * @return This builder for chaining.
       */
      public Builder setRestrictFormat(
          int index, de.mintware.barcode_scan.Protos.BarcodeFormat value) {
        copyOnWrite();
        instance.setRestrictFormat(index, value);
        return this;
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @param value The restrictFormat to add.
       * @return This builder for chaining.
       */
      public Builder addRestrictFormat(de.mintware.barcode_scan.Protos.BarcodeFormat value) {
        copyOnWrite();
        instance.addRestrictFormat(value);
        return this;
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @param values The restrictFormat to add.
       * @return This builder for chaining.
       */
      public Builder addAllRestrictFormat(
          java.lang.Iterable<? extends de.mintware.barcode_scan.Protos.BarcodeFormat> values) {
        copyOnWrite();
        instance.addAllRestrictFormat(values);  return this;
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRestrictFormat() {
        copyOnWrite();
        instance.clearRestrictFormat();
        return this;
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @return A list containing the enum numeric values on the wire for restrictFormat.
       */
      @java.lang.Override
      public java.util.List<java.lang.Integer>
      getRestrictFormatValueList() {
        return java.util.Collections.unmodifiableList(
            instance.getRestrictFormatValueList());
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @param index The index of the value to return.
       * @return The enum numeric value on the wire of restrictFormat at the given index.
       */
      @java.lang.Override
      public int getRestrictFormatValue(int index) {
        return instance.getRestrictFormatValue(index);
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @param index The index to set the value at.
       * @param value The enum numeric value on the wire for restrictFormat to set.
       * @return This builder for chaining.
       */
      public Builder setRestrictFormatValue(
          int index, int value) {
        copyOnWrite();
        instance.setRestrictFormatValue(index, value);
        return this;
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @param value The enum numeric value on the wire for restrictFormat to add.
       * @return This builder for chaining.
       */
      public Builder addRestrictFormatValue(int value) {
        instance.addRestrictFormatValue(value);
        return this;
      }
      /**
       * <pre>
       * Restricts the barcode format which should be read
       * </pre>
       *
       * <code>repeated .BarcodeFormat restrictFormat = 2;</code>
       * @param values The enum numeric values on the wire for restrictFormat to add.
       * @return This builder for chaining.
       */
      public Builder addAllRestrictFormatValue(
          java.lang.Iterable<java.lang.Integer> values) {
        copyOnWrite();
        instance.addAllRestrictFormatValue(values);
        return this;
      }

      /**
       * <pre>
       * Index of the camera which should used. -1 uses the default camera
       * </pre>
       *
       * <code>int32 useCamera = 3;</code>
       * @return The useCamera.
       */
      @java.lang.Override
      public int getUseCamera() {
        return instance.getUseCamera();
      }
      /**
       * <pre>
       * Index of the camera which should used. -1 uses the default camera
       * </pre>
       *
       * <code>int32 useCamera = 3;</code>
       * @param value The useCamera to set.
       * @return This builder for chaining.
       */
      public Builder setUseCamera(int value) {
        copyOnWrite();
        instance.setUseCamera(value);
        return this;
      }
      /**
       * <pre>
       * Index of the camera which should used. -1 uses the default camera
       * </pre>
       *
       * <code>int32 useCamera = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearUseCamera() {
        copyOnWrite();
        instance.clearUseCamera();
        return this;
      }

      /**
       * <pre>
       * Android specific configuration
       * </pre>
       *
       * <code>.AndroidConfiguration android = 4;</code>
       */
      @java.lang.Override
      public boolean hasAndroid() {
        return instance.hasAndroid();
      }
      /**
       * <pre>
       * Android specific configuration
       * </pre>
       *
       * <code>.AndroidConfiguration android = 4;</code>
       */
      @java.lang.Override
      public de.mintware.barcode_scan.Protos.AndroidConfiguration getAndroid() {
        return instance.getAndroid();
      }
      /**
       * <pre>
       * Android specific configuration
       * </pre>
       *
       * <code>.AndroidConfiguration android = 4;</code>
       */
      public Builder setAndroid(de.mintware.barcode_scan.Protos.AndroidConfiguration value) {
        copyOnWrite();
        instance.setAndroid(value);
        return this;
        }
      /**
       * <pre>
       * Android specific configuration
       * </pre>
       *
       * <code>.AndroidConfiguration android = 4;</code>
       */
      public Builder setAndroid(
          de.mintware.barcode_scan.Protos.AndroidConfiguration.Builder builderForValue) {
        copyOnWrite();
        instance.setAndroid(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Android specific configuration
       * </pre>
       *
       * <code>.AndroidConfiguration android = 4;</code>
       */
      public Builder mergeAndroid(de.mintware.barcode_scan.Protos.AndroidConfiguration value) {
        copyOnWrite();
        instance.mergeAndroid(value);
        return this;
      }
      /**
       * <pre>
       * Android specific configuration
       * </pre>
       *
       * <code>.AndroidConfiguration android = 4;</code>
       */
      public Builder clearAndroid() {  copyOnWrite();
        instance.clearAndroid();
        return this;
      }

      /**
       * <pre>
       * Set to true to automatically enable flash on camera start
       * </pre>
       *
       * <code>bool autoEnableFlash = 5;</code>
       * @return The autoEnableFlash.
       */
      @java.lang.Override
      public boolean getAutoEnableFlash() {
        return instance.getAutoEnableFlash();
      }
      /**
       * <pre>
       * Set to true to automatically enable flash on camera start
       * </pre>
       *
       * <code>bool autoEnableFlash = 5;</code>
       * @param value The autoEnableFlash to set.
       * @return This builder for chaining.
       */
      public Builder setAutoEnableFlash(boolean value) {
        copyOnWrite();
        instance.setAutoEnableFlash(value);
        return this;
      }
      /**
       * <pre>
       * Set to true to automatically enable flash on camera start
       * </pre>
       *
       * <code>bool autoEnableFlash = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearAutoEnableFlash() {
        copyOnWrite();
        instance.clearAutoEnableFlash();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:Configuration)
    }
    @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 de.mintware.barcode_scan.Protos.Configuration();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "strings_",
              StringsDefaultEntryHolder.defaultEntry,
              "restrictFormat_",
              "useCamera_",
              "android_",
              "autoEnableFlash_",
            };
            java.lang.String info =
                "\u0000\u0005\u0000\u0000\u0001\u0005\u0005\u0001\u0001\u0000\u00012\u0002,\u0003" +
                "\u0004\u0004\t\u0005\u0007";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<de.mintware.barcode_scan.Protos.Configuration> parser = PARSER;
          if (parser == null) {
            synchronized (de.mintware.barcode_scan.Protos.Configuration.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<de.mintware.barcode_scan.Protos.Configuration>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:Configuration)
    private static final de.mintware.barcode_scan.Protos.Configuration DEFAULT_INSTANCE;
    static {
      Configuration defaultInstance = new Configuration();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Configuration.class, defaultInstance);
    }

    public static de.mintware.barcode_scan.Protos.Configuration getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    /**
     * <pre>
     * Represents the type of the result
     * </pre>
     *
     * <code>.ResultType type = 1;</code>
     * @return The enum numeric value on the wire for type.
     */
    int getTypeValue();
    /**
     * <pre>
     * Represents the type of the result
     * </pre>
     *
     * <code>.ResultType type = 1;</code>
     * @return The type.
     */
    de.mintware.barcode_scan.Protos.ResultType getType();

    /**
     * <pre>
     * The barcode itself if the result type is barcode.
     * If the result type is error it contains the error message
     * </pre>
     *
     * <code>string rawContent = 2;</code>
     * @return The rawContent.
     */
    java.lang.String getRawContent();
    /**
     * <pre>
     * The barcode itself if the result type is barcode.
     * If the result type is error it contains the error message
     * </pre>
     *
     * <code>string rawContent = 2;</code>
     * @return The bytes for rawContent.
     */
    com.google.protobuf.ByteString
        getRawContentBytes();

    /**
     * <pre>
     * The barcode format
     * </pre>
     *
     * <code>.BarcodeFormat format = 3;</code>
     * @return The enum numeric value on the wire for format.
     */
    int getFormatValue();
    /**
     * <pre>
     * The barcode format
     * </pre>
     *
     * <code>.BarcodeFormat format = 3;</code>
     * @return The format.
     */
    de.mintware.barcode_scan.Protos.BarcodeFormat getFormat();

    /**
     * <pre>
     * If the format is unknown, this field holds additional information
     * </pre>
     *
     * <code>string formatNote = 4;</code>
     * @return The formatNote.
     */
    java.lang.String getFormatNote();
    /**
     * <pre>
     * If the format is unknown, this field holds additional information
     * </pre>
     *
     * <code>string formatNote = 4;</code>
     * @return The bytes for formatNote.
     */
    com.google.protobuf.ByteString
        getFormatNoteBytes();
  }
  /**
   * Protobuf type {@code ScanResult}
   */
  public  static final class ScanResult extends
      com.google.protobuf.GeneratedMessageLite<
          ScanResult, ScanResult.Builder> implements
      // @@protoc_insertion_point(message_implements:ScanResult)
      ScanResultOrBuilder {
    private ScanResult() {
      rawContent_ = "";
      formatNote_ = "";
    }
    public static final int TYPE_FIELD_NUMBER = 1;
    private int type_;
    /**
     * <pre>
     * Represents the type of the result
     * </pre>
     *
     * <code>.ResultType type = 1;</code>
     * @return The enum numeric value on the wire for type.
     */
    @java.lang.Override
    public int getTypeValue() {
      return type_;
    }
    /**
     * <pre>
     * Represents the type of the result
     * </pre>
     *
     * <code>.ResultType type = 1;</code>
     * @return The type.
     */
    @java.lang.Override
    public de.mintware.barcode_scan.Protos.ResultType getType() {
      de.mintware.barcode_scan.Protos.ResultType result = de.mintware.barcode_scan.Protos.ResultType.forNumber(type_);
      return result == null ? de.mintware.barcode_scan.Protos.ResultType.UNRECOGNIZED : result;
    }
    /**
     * <pre>
     * Represents the type of the result
     * </pre>
     *
     * <code>.ResultType type = 1;</code>
     * @param value The enum numeric value on the wire for type to set.
     */
    private void setTypeValue(int value) {
        type_ = value;
    }
    /**
     * <pre>
     * Represents the type of the result
     * </pre>
     *
     * <code>.ResultType type = 1;</code>
     * @param value The type to set.
     */
    private void setType(de.mintware.barcode_scan.Protos.ResultType value) {
      type_ = value.getNumber();
      
    }
    /**
     * <pre>
     * Represents the type of the result
     * </pre>
     *
     * <code>.ResultType type = 1;</code>
     */
    private void clearType() {
      
      type_ = 0;
    }

    public static final int RAWCONTENT_FIELD_NUMBER = 2;
    private java.lang.String rawContent_;
    /**
     * <pre>
     * The barcode itself if the result type is barcode.
     * If the result type is error it contains the error message
     * </pre>
     *
     * <code>string rawContent = 2;</code>
     * @return The rawContent.
     */
    @java.lang.Override
    public java.lang.String getRawContent() {
      return rawContent_;
    }
    /**
     * <pre>
     * The barcode itself if the result type is barcode.
     * If the result type is error it contains the error message
     * </pre>
     *
     * <code>string rawContent = 2;</code>
     * @return The bytes for rawContent.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRawContentBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(rawContent_);
    }
    /**
     * <pre>
     * The barcode itself if the result type is barcode.
     * If the result type is error it contains the error message
     * </pre>
     *
     * <code>string rawContent = 2;</code>
     * @param value The rawContent to set.
     */
    private void setRawContent(
        java.lang.String value) {
      value.getClass();
  
      rawContent_ = value;
    }
    /**
     * <pre>
     * The barcode itself if the result type is barcode.
     * If the result type is error it contains the error message
     * </pre>
     *
     * <code>string rawContent = 2;</code>
     */
    private void clearRawContent() {
      
      rawContent_ = getDefaultInstance().getRawContent();
    }
    /**
     * <pre>
     * The barcode itself if the result type is barcode.
     * If the result type is error it contains the error message
     * </pre>
     *
     * <code>string rawContent = 2;</code>
     * @param value The bytes for rawContent to set.
     */
    private void setRawContentBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      rawContent_ = value.toStringUtf8();
      
    }

    public static final int FORMAT_FIELD_NUMBER = 3;
    private int format_;
    /**
     * <pre>
     * The barcode format
     * </pre>
     *
     * <code>.BarcodeFormat format = 3;</code>
     * @return The enum numeric value on the wire for format.
     */
    @java.lang.Override
    public int getFormatValue() {
      return format_;
    }
    /**
     * <pre>
     * The barcode format
     * </pre>
     *
     * <code>.BarcodeFormat format = 3;</code>
     * @return The format.
     */
    @java.lang.Override
    public de.mintware.barcode_scan.Protos.BarcodeFormat getFormat() {
      de.mintware.barcode_scan.Protos.BarcodeFormat result = de.mintware.barcode_scan.Protos.BarcodeFormat.forNumber(format_);
      return result == null ? de.mintware.barcode_scan.Protos.BarcodeFormat.UNRECOGNIZED : result;
    }
    /**
     * <pre>
     * The barcode format
     * </pre>
     *
     * <code>.BarcodeFormat format = 3;</code>
     * @param value The enum numeric value on the wire for format to set.
     */
    private void setFormatValue(int value) {
        format_ = value;
    }
    /**
     * <pre>
     * The barcode format
     * </pre>
     *
     * <code>.BarcodeFormat format = 3;</code>
     * @param value The format to set.
     */
    private void setFormat(de.mintware.barcode_scan.Protos.BarcodeFormat value) {
      format_ = value.getNumber();
      
    }
    /**
     * <pre>
     * The barcode format
     * </pre>
     *
     * <code>.BarcodeFormat format = 3;</code>
     */
    private void clearFormat() {
      
      format_ = 0;
    }

    public static final int FORMATNOTE_FIELD_NUMBER = 4;
    private java.lang.String formatNote_;
    /**
     * <pre>
     * If the format is unknown, this field holds additional information
     * </pre>
     *
     * <code>string formatNote = 4;</code>
     * @return The formatNote.
     */
    @java.lang.Override
    public java.lang.String getFormatNote() {
      return formatNote_;
    }
    /**
     * <pre>
     * If the format is unknown, this field holds additional information
     * </pre>
     *
     * <code>string formatNote = 4;</code>
     * @return The bytes for formatNote.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getFormatNoteBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(formatNote_);
    }
    /**
     * <pre>
     * If the format is unknown, this field holds additional information
     * </pre>
     *
     * <code>string formatNote = 4;</code>
     * @param value The formatNote to set.
     */
    private void setFormatNote(
        java.lang.String value) {
      value.getClass();
  
      formatNote_ = value;
    }
    /**
     * <pre>
     * If the format is unknown, this field holds additional information
     * </pre>
     *
     * <code>string formatNote = 4;</code>
     */
    private void clearFormatNote() {
      
      formatNote_ = getDefaultInstance().getFormatNote();
    }
    /**
     * <pre>
     * If the format is unknown, this field holds additional information
     * </pre>
     *
     * <code>string formatNote = 4;</code>
     * @param value The bytes for formatNote to set.
     */
    private void setFormatNoteBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      formatNote_ = value.toStringUtf8();
      
    }

    public static de.mintware.barcode_scan.Protos.ScanResult parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static de.mintware.barcode_scan.Protos.ScanResult 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 de.mintware.barcode_scan.Protos.ScanResult parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static de.mintware.barcode_scan.Protos.ScanResult 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 de.mintware.barcode_scan.Protos.ScanResult parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static de.mintware.barcode_scan.Protos.ScanResult 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 de.mintware.barcode_scan.Protos.ScanResult parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static de.mintware.barcode_scan.Protos.ScanResult 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 de.mintware.barcode_scan.Protos.ScanResult parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static de.mintware.barcode_scan.Protos.ScanResult parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static de.mintware.barcode_scan.Protos.ScanResult parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static de.mintware.barcode_scan.Protos.ScanResult 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(de.mintware.barcode_scan.Protos.ScanResult prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code ScanResult}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          de.mintware.barcode_scan.Protos.ScanResult, Builder> implements
        // @@protoc_insertion_point(builder_implements:ScanResult)
        de.mintware.barcode_scan.Protos.ScanResultOrBuilder {
      // Construct using de.mintware.barcode_scan.Protos.ScanResult.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Represents the type of the result
       * </pre>
       *
       * <code>.ResultType type = 1;</code>
       * @return The enum numeric value on the wire for type.
       */
      @java.lang.Override
      public int getTypeValue() {
        return instance.getTypeValue();
      }
      /**
       * <pre>
       * Represents the type of the result
       * </pre>
       *
       * <code>.ResultType type = 1;</code>
       * @param value The type to set.
       * @return This builder for chaining.
       */
      public Builder setTypeValue(int value) {
        copyOnWrite();
        instance.setTypeValue(value);
        return this;
      }
      /**
       * <pre>
       * Represents the type of the result
       * </pre>
       *
       * <code>.ResultType type = 1;</code>
       * @return The type.
       */
      @java.lang.Override
      public de.mintware.barcode_scan.Protos.ResultType getType() {
        return instance.getType();
      }
      /**
       * <pre>
       * Represents the type of the result
       * </pre>
       *
       * <code>.ResultType type = 1;</code>
       * @param value The enum numeric value on the wire for type to set.
       * @return This builder for chaining.
       */
      public Builder setType(de.mintware.barcode_scan.Protos.ResultType value) {
        copyOnWrite();
        instance.setType(value);
        return this;
      }
      /**
       * <pre>
       * Represents the type of the result
       * </pre>
       *
       * <code>.ResultType type = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }

      /**
       * <pre>
       * The barcode itself if the result type is barcode.
       * If the result type is error it contains the error message
       * </pre>
       *
       * <code>string rawContent = 2;</code>
       * @return The rawContent.
       */
      @java.lang.Override
      public java.lang.String getRawContent() {
        return instance.getRawContent();
      }
      /**
       * <pre>
       * The barcode itself if the result type is barcode.
       * If the result type is error it contains the error message
       * </pre>
       *
       * <code>string rawContent = 2;</code>
       * @return The bytes for rawContent.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getRawContentBytes() {
        return instance.getRawContentBytes();
      }
      /**
       * <pre>
       * The barcode itself if the result type is barcode.
       * If the result type is error it contains the error message
       * </pre>
       *
       * <code>string rawContent = 2;</code>
       * @param value The rawContent to set.
       * @return This builder for chaining.
       */
      public Builder setRawContent(
          java.lang.String value) {
        copyOnWrite();
        instance.setRawContent(value);
        return this;
      }
      /**
       * <pre>
       * The barcode itself if the result type is barcode.
       * If the result type is error it contains the error message
       * </pre>
       *
       * <code>string rawContent = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRawContent() {
        copyOnWrite();
        instance.clearRawContent();
        return this;
      }
      /**
       * <pre>
       * The barcode itself if the result type is barcode.
       * If the result type is error it contains the error message
       * </pre>
       *
       * <code>string rawContent = 2;</code>
       * @param value The bytes for rawContent to set.
       * @return This builder for chaining.
       */
      public Builder setRawContentBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setRawContentBytes(value);
        return this;
      }

      /**
       * <pre>
       * The barcode format
       * </pre>
       *
       * <code>.BarcodeFormat format = 3;</code>
       * @return The enum numeric value on the wire for format.
       */
      @java.lang.Override
      public int getFormatValue() {
        return instance.getFormatValue();
      }
      /**
       * <pre>
       * The barcode format
       * </pre>
       *
       * <code>.BarcodeFormat format = 3;</code>
       * @param value The format to set.
       * @return This builder for chaining.
       */
      public Builder setFormatValue(int value) {
        copyOnWrite();
        instance.setFormatValue(value);
        return this;
      }
      /**
       * <pre>
       * The barcode format
       * </pre>
       *
       * <code>.BarcodeFormat format = 3;</code>
       * @return The format.
       */
      @java.lang.Override
      public de.mintware.barcode_scan.Protos.BarcodeFormat getFormat() {
        return instance.getFormat();
      }
      /**
       * <pre>
       * The barcode format
       * </pre>
       *
       * <code>.BarcodeFormat format = 3;</code>
       * @param value The enum numeric value on the wire for format to set.
       * @return This builder for chaining.
       */
      public Builder setFormat(de.mintware.barcode_scan.Protos.BarcodeFormat value) {
        copyOnWrite();
        instance.setFormat(value);
        return this;
      }
      /**
       * <pre>
       * The barcode format
       * </pre>
       *
       * <code>.BarcodeFormat format = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearFormat() {
        copyOnWrite();
        instance.clearFormat();
        return this;
      }

      /**
       * <pre>
       * If the format is unknown, this field holds additional information
       * </pre>
       *
       * <code>string formatNote = 4;</code>
       * @return The formatNote.
       */
      @java.lang.Override
      public java.lang.String getFormatNote() {
        return instance.getFormatNote();
      }
      /**
       * <pre>
       * If the format is unknown, this field holds additional information
       * </pre>
       *
       * <code>string formatNote = 4;</code>
       * @return The bytes for formatNote.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getFormatNoteBytes() {
        return instance.getFormatNoteBytes();
      }
      /**
       * <pre>
       * If the format is unknown, this field holds additional information
       * </pre>
       *
       * <code>string formatNote = 4;</code>
       * @param value The formatNote to set.
       * @return This builder for chaining.
       */
      public Builder setFormatNote(
          java.lang.String value) {
        copyOnWrite();
        instance.setFormatNote(value);
        return this;
      }
      /**
       * <pre>
       * If the format is unknown, this field holds additional information
       * </pre>
       *
       * <code>string formatNote = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearFormatNote() {
        copyOnWrite();
        instance.clearFormatNote();
        return this;
      }
      /**
       * <pre>
       * If the format is unknown, this field holds additional information
       * </pre>
       *
       * <code>string formatNote = 4;</code>
       * @param value The bytes for formatNote to set.
       * @return This builder for chaining.
       */
      public Builder setFormatNoteBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setFormatNoteBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ScanResult)
    }
    @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 de.mintware.barcode_scan.Protos.ScanResult();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "rawContent_",
              "format_",
              "formatNote_",
            };
            java.lang.String info =
                "\u0000\u0004\u0000\u0000\u0001\u0004\u0004\u0000\u0000\u0000\u0001\f\u0002\u0208" +
                "\u0003\f\u0004\u0208";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<de.mintware.barcode_scan.Protos.ScanResult> parser = PARSER;
          if (parser == null) {
            synchronized (de.mintware.barcode_scan.Protos.ScanResult.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<de.mintware.barcode_scan.Protos.ScanResult>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:ScanResult)
    private static final de.mintware.barcode_scan.Protos.ScanResult DEFAULT_INSTANCE;
    static {
      ScanResult defaultInstance = new ScanResult();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        ScanResult.class, defaultInstance);
    }

    public static de.mintware.barcode_scan.Protos.ScanResult getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
