#ifndef _PILOTTRAYOUTTASK_H
#define _PILOTTRAYOUTTASK_H

#include "ErrorHandler.h"
#include "PilotTrayTaskControl.h"
#include "PTDeviceLight.h"
#include "IviewMonitor.h"

class PilotTrayOutTask : public ErrorHandler
{
  public:

  PilotTrayOutTask(PilotTrayTaskControl *taskParams, PilotTrayMicro *micro,
                   IviewControl *iviewControlPT, IviewControl *iviewControlZFI);
  ~PilotTrayOutTask();

  int run();


  protected:

  PilotTrayTaskControl *_taskParams;
  PilotTrayMicro *_uiObject;

  IviewControl *_iviewControlPT;
  IviewControl *_iviewControlZFI;

  DmObject *_msgObjPT;
  DmObject *_msgObjZFI;

  //Button Grabber Stuff
  IviewMonitor *_iviewMonitor;
  PTDeviceLight *_portLightPT;
  PTDeviceLight *_stbdLightPT;
  PTDeviceLight *_portCameraPT;
  PTDeviceLight *_stbdCameraPT;

  PTDeviceLight *_portCameraZFI;
  PTDeviceLight *_stbdCameraZFI;

  SEM_ID   _dmUpdateSem;         /* Data Manager wakes up task when an    */

};

#endif
