#include <stdio.h>
#include <stdlib.h>
#include "DataManager.h"
#include "DmErrno.h"
#include "vspDm.h"

void makeObjects(const char *dmPrefix);

main(int argc, char **argv)
{

  // Initialize Data Manager
  Errno ret;  
  if ((ret = dm_init(NULL)) != OK)
  {
    char buf[100];
    
    sprintDmError(ret, "dm_init() error", buf);
    fprintf(stderr, "%s\n", buf);
    exit(1);
  }


  makeObjects("TIBURON.CAMERA_IBC.VSP0.");
  makeObjects("TIBURON.SONAR_IBC.VSP3.");

  exit(1);
}


void makeObjects(const char *dmPrefix)
{
  char itemName[MaxDmNameLen];
  strcpy(itemName, dmPrefix);
  
  char *namePtr = itemName + strlen(itemName);
  
  strcpy(namePtr, VSP_BAUD_DM);
  new DmNat16Object(itemName);

  strcpy(namePtr, VSP_DATA_BITS_DM);
  new DmNat16Object(itemName);

  strcpy(namePtr, VSP_STOP_BITS_DM);
  new DmNat16Object(itemName);

  strcpy(namePtr, VSP_PARITY_DM);
  new DmNat16Object(itemName);

  strcpy(namePtr, VSP_HANDSHAKE_DM);
  new DmBooleanObject(itemName);

  strcpy(namePtr, VSP_PROTOCOL_DM);
  new DmNat16Object(itemName);

  strcpy(namePtr, VSP_BREAK_DM);
  new DmNat16Object(itemName);

  return;
}
