/* ###
 * IP: Apache License 2.0 with LLVM Exceptions
 */
/* ----------------------------------------------------------------------------
 * 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 SWIG;

public class SBBreakpointLocation {
  private transient long swigCPtr;
  protected transient boolean swigCMemOwn;

  protected SBBreakpointLocation(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  protected static long getCPtr(SBBreakpointLocation obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  @SuppressWarnings("deprecation")
  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        lldbJNI.delete_SBBreakpointLocation(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public SBBreakpointLocation() {
    this(lldbJNI.new_SBBreakpointLocation__SWIG_0(), true);
  }

  public SBBreakpointLocation(SBBreakpointLocation rhs) {
    this(lldbJNI.new_SBBreakpointLocation__SWIG_1(SBBreakpointLocation.getCPtr(rhs), rhs), true);
  }

  public int GetID() {
    return lldbJNI.SBBreakpointLocation_GetID(swigCPtr, this);
  }

  public boolean IsValid() {
    return lldbJNI.SBBreakpointLocation_IsValid(swigCPtr, this);
  }

  public SBAddress GetAddress() {
    return new SBAddress(lldbJNI.SBBreakpointLocation_GetAddress(swigCPtr, this), true);
  }

  public java.math.BigInteger GetLoadAddress() {
    return lldbJNI.SBBreakpointLocation_GetLoadAddress(swigCPtr, this);
  }

  public void SetEnabled(boolean enabled) {
    lldbJNI.SBBreakpointLocation_SetEnabled(swigCPtr, this, enabled);
  }

  public boolean IsEnabled() {
    return lldbJNI.SBBreakpointLocation_IsEnabled(swigCPtr, this);
  }

  public long GetHitCount() {
    return lldbJNI.SBBreakpointLocation_GetHitCount(swigCPtr, this);
  }

  public long GetIgnoreCount() {
    return lldbJNI.SBBreakpointLocation_GetIgnoreCount(swigCPtr, this);
  }

  public void SetIgnoreCount(long n) {
    lldbJNI.SBBreakpointLocation_SetIgnoreCount(swigCPtr, this, n);
  }

  public void SetCondition(String condition) {
    lldbJNI.SBBreakpointLocation_SetCondition(swigCPtr, this, condition);
  }

  public String GetCondition() {
    return lldbJNI.SBBreakpointLocation_GetCondition(swigCPtr, this);
  }

  public boolean GetAutoContinue() {
    return lldbJNI.SBBreakpointLocation_GetAutoContinue(swigCPtr, this);
  }

  public void SetAutoContinue(boolean auto_continue) {
    lldbJNI.SBBreakpointLocation_SetAutoContinue(swigCPtr, this, auto_continue);
  }

  public void SetScriptCallbackFunction(String callback_function_name) {
    lldbJNI.SBBreakpointLocation_SetScriptCallbackFunction__SWIG_0(swigCPtr, this, callback_function_name);
  }

  public SBError SetScriptCallbackFunction(String callback_function_name, SBStructuredData extra_args) {
    return new SBError(lldbJNI.SBBreakpointLocation_SetScriptCallbackFunction__SWIG_1(swigCPtr, this, callback_function_name, SBStructuredData.getCPtr(extra_args), extra_args), true);
  }

  public SBError SetScriptCallbackBody(String script_body_text) {
    return new SBError(lldbJNI.SBBreakpointLocation_SetScriptCallbackBody(swigCPtr, this, script_body_text), true);
  }

  public void SetCommandLineCommands(SBStringList commands) {
    lldbJNI.SBBreakpointLocation_SetCommandLineCommands(swigCPtr, this, SBStringList.getCPtr(commands), commands);
  }

  public boolean GetCommandLineCommands(SBStringList commands) {
    return lldbJNI.SBBreakpointLocation_GetCommandLineCommands(swigCPtr, this, SBStringList.getCPtr(commands), commands);
  }

  public void SetThreadID(java.math.BigInteger sb_thread_id) {
    lldbJNI.SBBreakpointLocation_SetThreadID(swigCPtr, this, sb_thread_id);
  }

  public java.math.BigInteger GetThreadID() {
    return lldbJNI.SBBreakpointLocation_GetThreadID(swigCPtr, this);
  }

  public void SetThreadIndex(long index) {
    lldbJNI.SBBreakpointLocation_SetThreadIndex(swigCPtr, this, index);
  }

  public long GetThreadIndex() {
    return lldbJNI.SBBreakpointLocation_GetThreadIndex(swigCPtr, this);
  }

  public void SetThreadName(String thread_name) {
    lldbJNI.SBBreakpointLocation_SetThreadName(swigCPtr, this, thread_name);
  }

  public String GetThreadName() {
    return lldbJNI.SBBreakpointLocation_GetThreadName(swigCPtr, this);
  }

  public void SetQueueName(String queue_name) {
    lldbJNI.SBBreakpointLocation_SetQueueName(swigCPtr, this, queue_name);
  }

  public String GetQueueName() {
    return lldbJNI.SBBreakpointLocation_GetQueueName(swigCPtr, this);
  }

  public boolean IsResolved() {
    return lldbJNI.SBBreakpointLocation_IsResolved(swigCPtr, this);
  }

  public boolean GetDescription(SBStream description, DescriptionLevel level) {
    return lldbJNI.SBBreakpointLocation_GetDescription(swigCPtr, this, SBStream.getCPtr(description), description, level.swigValue());
  }

  public SBBreakpoint GetBreakpoint() {
    return new SBBreakpoint(lldbJNI.SBBreakpointLocation_GetBreakpoint(swigCPtr, this), true);
  }

  public String __repr__() {
    return lldbJNI.SBBreakpointLocation___repr__(swigCPtr, this);
  }

}
