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

package com.apogee.driver;

public class CameraStatusRegs {
  private long swigCPtr;
  protected boolean swigCMemOwn;

  public CameraStatusRegs(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

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

  protected void finalize() {
    delete();
  }

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

  public CameraStatusRegs() {
    this(jlibapogeeJNI.new_CameraStatusRegs__SWIG_0(), true);
  }

  public CameraStatusRegs(SWIGTYPE_p_CameraStatusRegs__AdvStatus adv) {
    this(jlibapogeeJNI.new_CameraStatusRegs__SWIG_1(SWIGTYPE_p_CameraStatusRegs__AdvStatus.getCPtr(adv)), true);
  }

  public CameraStatusRegs(SWIGTYPE_p_CameraStatusRegs__BasicStatus basic) {
    this(jlibapogeeJNI.new_CameraStatusRegs__SWIG_2(SWIGTYPE_p_CameraStatusRegs__BasicStatus.getCPtr(basic)), true);
  }

  public int GetTempHeatSink() {
    return jlibapogeeJNI.CameraStatusRegs_GetTempHeatSink(swigCPtr, this);
  }

  public int GetTempCcd() {
    return jlibapogeeJNI.CameraStatusRegs_GetTempCcd(swigCPtr, this);
  }

  public int GetCoolerDrive() {
    return jlibapogeeJNI.CameraStatusRegs_GetCoolerDrive(swigCPtr, this);
  }

  public int GetInputVoltage() {
    return jlibapogeeJNI.CameraStatusRegs_GetInputVoltage(swigCPtr, this);
  }

  public int GetTdiCounter() {
    return jlibapogeeJNI.CameraStatusRegs_GetTdiCounter(swigCPtr, this);
  }

  public int GetSequenceCounter() {
    return jlibapogeeJNI.CameraStatusRegs_GetSequenceCounter(swigCPtr, this);
  }

  public int GetStatus() {
    return jlibapogeeJNI.CameraStatusRegs_GetStatus(swigCPtr, this);
  }

  public int GetuFrame() {
    return jlibapogeeJNI.CameraStatusRegs_GetuFrame(swigCPtr, this);
  }

  public int GetMostRecentFrame() {
    return jlibapogeeJNI.CameraStatusRegs_GetMostRecentFrame(swigCPtr, this);
  }

  public int GetReadyFrame() {
    return jlibapogeeJNI.CameraStatusRegs_GetReadyFrame(swigCPtr, this);
  }

  public int GetCurrentFrame() {
    return jlibapogeeJNI.CameraStatusRegs_GetCurrentFrame(swigCPtr, this);
  }

  public long GetFetchCount() {
    return jlibapogeeJNI.CameraStatusRegs_GetFetchCount(swigCPtr, this);
  }

  public boolean GetDataAvailFlag() {
    return jlibapogeeJNI.CameraStatusRegs_GetDataAvailFlag(swigCPtr, this);
  }

  public void QueryStatusRegs(int[] StatusReg, int[] HeatsinkTempReg, int[] CcdTempReg, int[] CoolerDriveReg, int[] VoltageReg, int[] TdiCounter, int[] SequenceCounter, int[] MostRecentFrame, int[] ReadyFrame, int[] CurrentFrame) {
    jlibapogeeJNI.CameraStatusRegs_QueryStatusRegs(swigCPtr, this, StatusReg, HeatsinkTempReg, CcdTempReg, CoolerDriveReg, VoltageReg, TdiCounter, SequenceCounter, MostRecentFrame, ReadyFrame, CurrentFrame);
  }

  public String GetStatusStr() {
    return jlibapogeeJNI.CameraStatusRegs_GetStatusStr(swigCPtr, this);
  }

  public void Update(SWIGTYPE_p_CameraStatusRegs__AdvStatus adv) {
    jlibapogeeJNI.CameraStatusRegs_Update__SWIG_0(swigCPtr, this, SWIGTYPE_p_CameraStatusRegs__AdvStatus.getCPtr(adv));
  }

  public void Update(SWIGTYPE_p_CameraStatusRegs__BasicStatus basic) {
    jlibapogeeJNI.CameraStatusRegs_Update__SWIG_1(swigCPtr, this, SWIGTYPE_p_CameraStatusRegs__BasicStatus.getCPtr(basic));
  }

}
