// C++ code Copyright (C) David R. Evans G4AMJ/NQ0I

#include <data.h>

const char* _pra_mode_name[7] = { "POLLO", "HARAD", "LEVEL", "FIXLO",
                                 "VLOBR", "XXXXX", "POLHI" };

const char* _pra_submode_name[16] = { "POLLO", "HARAD", "POLLO1", 
                                     "HARAD1", "LEVEL", "LEVEL1",
                                     "LEVEL2", "LEVEL3", "FIXLOL",
                                     "FIXLOH", "VLOBRL", "VLOBRH",
                                     "XXXXXL", "XXXXXH", "POLHIL",
                                     "POLHIH" };

const char* _sc_mode_name[N_SC_MODES] =
                          { "ENGR", "CR-2", "CR-3", "CR-4", "CR-5",
                            "CR-6", "UNK1", "CR-1", "BCR1", "IM-7",
                            "GS-3", "IM-9", "PB-3", "PB-2", "PB-1",
                            "GS-4", "UNK2", "GS-2", "IM14", "UNK3",
                            "IM12", "IM11", "IM10", "OC-1", "CR5A",
                            "GS10", "GS-8", "IM-5", "IM-4", "UV5A",
                            "IM-2", "IM13", "BROWSE" };

// *****************************  data_record  ********************

// copy constructor; should never be needed
data_record::data_record(const data_record& dr) :
                                   _record(0),
                                   _int16_record(0),
                                   _record_length(dr._record_length),
                                   _sc(dr._sc), 
                                   _time(dr._time) 
{ if (dr._record) then
    heap_check(_record = new byte [_record_length]);
  for (int n = 0; n < _record_length; n++)
    _record[n] = dr._record[n];
  if (dr._int16_record) then
    heap_check(_int16_record = new int16 [_record_length]);
  for (n = 0; n < _record_length; n++)
    _int16_record[n] = dr._int16_record[n];
}

