#ifndef _LAPBOXOUTTASK_H
#define _LAPBOXOUTTASK_H

#include "ErrorHandler.h"
#include "LapBoxTaskControl.h"
#include "DeviceLight.h"
#include "IviewMonitor.h"

class LapBoxOutTask : public ErrorHandler
{
  public:

  LapBoxOutTask(LapBoxTaskControl *taskParams, LapBoxMicro *micro,
                IviewControl *iviewControlPT, IviewControl *iviewControlZFI);
                       
  ~LapBoxOutTask();

  int run();

  DmBooleanObject *enabled;  
  DmBooleanObject *panoramic;
  DmBooleanObject *autoIris;
  DmBooleanObject *portAutoIris;
  DmBooleanObject *stbdAutoIris;
  DmBooleanObject *memory;
  DmEnumObject  *sensitivity;

  protected:

  LapBoxTaskControl *_taskParams;
  LapBoxMicro *_uiObject;
  IviewControl *_iviewControlPT;
  IviewControl *_iviewControlZFI;

  DmObject *_msgObjPT;
  DmObject *_msgObjZFI;

  //Button Grabber Stuff
  IviewMonitor *_iviewMonitor;
  DeviceLight *_portLightPT;
  DeviceLight *_stbdLightPT;
  DeviceLight *_portCameraPT;
  DeviceLight *_stbdCameraPT;

  DeviceLight *_portCameraZFI;
  DeviceLight *_stbdCameraZFI;


  SEM_ID   _dmUpdateSem;         /* Data Manager wakes up task when an    */

};

#endif
