#ifndef _CAMERAINTERFACEDM_H
#define _CAMERAINTERFACEDM_H

#include "DataManager.h"

enum CameraZoomMode {
  ZoomPosition,
  ZoomRate 
};


/*
CLASS 
CameraInterfaceDm

DESCRIPTION
Zoom, focus and iris DataManager items

AUTHOR
Tom O'Reilly
*/

class CameraInterfaceDm {

public:

  ///////////////////////////////////////////////////////////////////
  // Constructor. 
  // [input] zoomMode: CameraZoomMode (ZoomRate or ZoomPosition)
  // [input] dmPrefix: DataManager prefix (e.g., "VENTANA.HDTV.")
  CameraInterfaceDm(CameraZoomMode zoomMode, const char *dmPrefix);

  ~CameraInterfaceDm();

  DmInt16Object *zoomMode;
  DmInt16Object *zoomSetpoint;
  DmInt16Object *zoom;
  
  DmInt16Object *focusSetpoint;
  DmInt16Object *focus;

  DmInt16Object *irisSetpoint;
  DmInt16Object *iris;

  DmFlt64Object *fieldWidth;
  DmFlt64Object *focalDistance;
  DmFlt64Object *zoomAngle;
};


#endif
