#include <stdlib.h>
#include <unistd.h>
#include "IviewControlMonitor.h"


main(int argc, char **argv)
{
  if (argc != 2)
  {
    fprintf(stderr, "usage: %s controlName\n", argv[0]);
    exit(1);
  }
  
  dm_init(NULL);
  
  const char *controlName = argv[1];

  IviewControlMonitor *monitor = NULL;
  
  while (TRUE)
  {
    if (!monitor)
    {
      monitor = new IviewControlMonitor(controlName);
      if (monitor->error())
      {
	monitor->prtErrorMsg();
	delete monitor;
	monitor = NULL;
      }
    }
    
    if (monitor)
    {
      unsigned short devices;
      if (monitor->getDevices(&devices) == IviewSuccess)
      {
	fprintf(stderr, "Devices used by %s: ", controlName);
	if (devices & IviewPortLight)
	  fprintf(stderr, "PortLight ");
	if (devices & IviewPortCamera)
	  fprintf(stderr, "PortCamera ");
	if (devices & IviewStbdLight)
	  fprintf(stderr, "StbdLight " );
	if (devices & IviewStbdCamera)
	  fprintf(stderr, "StbdCamera " );

	fprintf(stderr, "\n");
      }
      else
      {
	monitor->prtErrorMsg();
	delete monitor;
	monitor = NULL;
      }
    }
    sleep(2);
  }

  exit(0);
}
