/****************************************************************************/
/* Copyright (c) 2000 MBARI                                                 */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
/* Summary  :                                                               */
/* Filename : DeviceInterface.cc                                            */
/* Author   :                                                               */
/* Project  :                                                               */
/* Version  : 1.0                                                           */
/* Created  : 02/07/2000                                                    */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/
#include <string.h>
#include <stdio.h>
#include <malloc.h>
#include "DeviceInterface.h"
#include "ourTypes.h"

DeviceInterface::DeviceInterface(const char *devName)
{
  _name = strdup(devName);

  char semName[MaxSharedObjNameLen];

  sprintf(semName, "%s_mutex", name());
  //  _protectSem = new Semaphore(semName);

  _simulated = False;
}


DeviceInterface::~DeviceInterface()
{
  free((void *)_name);
}


const char *DeviceInterface::name()
{
  return _name;
}



void DeviceInterface::take()
{
  // Get device semaphore
  _protectSem->wait();
}


void DeviceInterface::release()
{
  // Release device semaphore
  _protectSem->post();
}


Boolean DeviceInterface::simulated()
{
  return _simulated;
}




