/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 4.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.java.helics;

/**
 *  log level definitions
 */
public final class helics_log_levels {
  /**
   *  don't print anything except a few catastrophic errors
   */
  public final static helics_log_levels helics_log_level_no_print = new helics_log_levels("helics_log_level_no_print", helicsJNI.helics_log_level_no_print_get());
  /**
   *  only print error level indicators
   */
  public final static helics_log_levels helics_log_level_error = new helics_log_levels("helics_log_level_error", helicsJNI.helics_log_level_error_get());
  /**
   *  only print warnings and errors
   */
  public final static helics_log_levels helics_log_level_warning = new helics_log_levels("helics_log_level_warning", helicsJNI.helics_log_level_warning_get());
  /**
   *  warning errors and summary level information
   */
  public final static helics_log_levels helics_log_level_summary = new helics_log_levels("helics_log_level_summary", helicsJNI.helics_log_level_summary_get());
  /**
   *  summary+ notices about federate and broker connections +messages about network connections
   */
  public final static helics_log_levels helics_log_level_connections = new helics_log_levels("helics_log_level_connections", helicsJNI.helics_log_level_connections_get());
  /**
   *  connections+ interface definitions
   */
  public final static helics_log_levels helics_log_level_interfaces = new helics_log_levels("helics_log_level_interfaces", helicsJNI.helics_log_level_interfaces_get());
  /**
   *  interfaces + timing message
   */
  public final static helics_log_levels helics_log_level_timing = new helics_log_levels("helics_log_level_timing", helicsJNI.helics_log_level_timing_get());
  /**
   *  timing+ data transfer notices
   */
  public final static helics_log_levels helics_log_level_data = new helics_log_levels("helics_log_level_data", helicsJNI.helics_log_level_data_get());
  /**
   *  all internal messages
   */
  public final static helics_log_levels helics_log_level_trace = new helics_log_levels("helics_log_level_trace", helicsJNI.helics_log_level_trace_get());

  public final int swigValue() {
    return swigValue;
  }

  public String toString() {
    return swigName;
  }

  public static helics_log_levels swigToEnum(int swigValue) {
    if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
      return swigValues[swigValue];
    for (int i = 0; i < swigValues.length; i++)
      if (swigValues[i].swigValue == swigValue)
        return swigValues[i];
    throw new IllegalArgumentException("No enum " + helics_log_levels.class + " with value " + swigValue);
  }

  private helics_log_levels(String swigName) {
    this.swigName = swigName;
    this.swigValue = swigNext++;
  }

  private helics_log_levels(String swigName, int swigValue) {
    this.swigName = swigName;
    this.swigValue = swigValue;
    swigNext = swigValue+1;
  }

  private helics_log_levels(String swigName, helics_log_levels swigEnum) {
    this.swigName = swigName;
    this.swigValue = swigEnum.swigValue;
    swigNext = this.swigValue+1;
  }

  private static helics_log_levels[] swigValues = { helics_log_level_no_print, helics_log_level_error, helics_log_level_warning, helics_log_level_summary, helics_log_level_connections, helics_log_level_interfaces, helics_log_level_timing, helics_log_level_data, helics_log_level_trace };
  private static int swigNext = 0;
  private final int swigValue;
  private final String swigName;
}

